Timed Default Concurrent Constraint Programming
Journal of symbolic computation
Synchronous programming (Berry (1989) ) is a powerful approach to programming reactive systems. Following the idea that \processes are relations extended over time" (Abramsky (1993) ), we propose a simple but powerful model for timed, determinate computation, extending the closure-operator model for untimed concurrent constraint programming (CCP). In (Saraswat et al. 1994a) we had proposed a model for this called tcc| here we extend the model of tcc to express strong time-outs: if an event A
... s not happen through time t, cause event B to happen at time t. Such constructs arise naturally in practice (e.g. in modeling transistors) and are supported in synchronous programming languages. The fundamental conceptual di culty posed by these operations is that they are nonmonotonic. We provide a compositional semantics to the non-monotonic version of concurrent constraint programming (Default cc) obtained by changing the underlying logic from intuitionistic logic to Reiter's default logic. This allows us to use the same construction (uniform extension through time) to develop Timed Default cc as we had used to develop tcc from cc. Indeed the smooth embedding of cc processes into Default cc processes lifts to a smooth embedding of tcc processes into Timed Default cc processes. We identify a basic set of combinators (that constitute the Timed Default cc programming framework), and provide a constructive operational semantics (implemented by us as an interpreter) for which the model is fully abstract. We show that the model is expressive by de ning combinators from the synchronous languages. We show that Timed Default cc is compositional and supports the properties of multiform time, orthogonal preemption and executable speci cations. In addition, Timed Default cc programs can be read as logical formulas (in an intuitionistic temporal logic) | we show that this logic is sound and complete for reasoning about (in)equivalence of Timed Default cc programs. Like the synchronouslanguages, Timed Default cc programscan be compiled into nite state automata. In addition, the translation can be speci ed compositionally. This enables separate compilation of Timed Default cc programs and run-time tradeo s between partial compilation and interpretation. A preliminary version of this paper was published as . Here we present a complete treatment of hiding, along with a detailed treatment of the model.