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 does 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 difficulty posed by these operations is that they are non-monotonic. We provide 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 constructive operational semantics (implemented by us as an interpreter) for which the model is fully abstract. We show that the model is expressive by defining combinators from the synchronous languages. We show that Timed Default cc is compositional and supports the properties of multiform time, orthogonal pre-emption and executable specifications. In addition, Timed Default cc programs can be read as logical formulae (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 synchronous languages, Timed Default cc programs can be compiled into finite state automata. In addition, the translation can be specified compositionally. This enables separate compilation of Timed Default cc programs and run-time tradeoffs between partial compilation and interpretation. A preliminary version of this paper was published as Saraswat et al. (1995). Here we present a complete treatment of hiding, along with a detailed treatment of the model. © 1996 Academic Press Limited.
CITATION STYLE
Saraswat, V., Jagadeesan, R., & Gupta, V. (1996). Timed default concurrent constraint programming. Journal of Symbolic Computation, 22(5–6), 475–520. https://doi.org/10.1006/jsco.1996.0064
Mendeley helps you to discover research relevant for your work.