A Calculus for Reconfiguration

  • Authors:
  • Sonia Fagorzi;Elena Zucca

  • Affiliations:
  • DISI, University of Genova, Genova, Italy;DISI, University of Genova, Genova, Italy

  • Venue:
  • Electronic Notes in Theoretical Computer Science (ENTCS)
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a simple calculus, called R-calculus (for ''reconfiguration''), intended to provide a kernel model for a computational paradigm in which standard execution (that is, execution of a single computation described by a fragment of code) can be interleaved with operations at the meta-level which can manipulate in various ways the context in which this computation takes place. Formally, this is achieved by introducing as basic terms of the calculus configurations, which are, roughly speaking, pairs consisting of an (open, mutually recursive) collection of named components and a term representing a program running in the context of these components. The R-calculus has been originally developed as a formal model for programming-in-the large, where computations correspond to applications running in some context of software components, and operations at the meta-level correspond to the possibility of dynamically loading, updating or in general manipulat- ing these software components without stopping the application. However, the calculus can also encode programming-in-the-small issues, because configurations combine the features of lambda- abstractions (first-class functions), records, environments with mutually recursive definitions, and modules. We state confluence of the calculus and define a call-by-need strategy which leads to a generalization, including reconfiguration features, of call-by-need lambda-calculi.