Results 1 -
6 of
6
Semantic foundations of concurrent constraint programming
, 1990
"... Concurrent constraint programming [Sar89,SR90] is a sim-ple and powerful model of concurrent computation based on the notions of store-as-constraint and process as information transducer. The store-as-valuation conception of von Neu-mann computing is replaced by the notion that the store is a constr ..."
Abstract
-
Cited by 236 (23 self)
- Add to MetaCart
Concurrent constraint programming [Sar89,SR90] is a sim-ple and powerful model of concurrent computation based on the notions of store-as-constraint and process as information transducer. The store-as-valuation conception of von Neu-mann computing is replaced by the notion that the store is a constraint (a finite representation of a possibly infinite set of valuations) which provides partial information about the possible values that variables can take. Instead of “reading” and “writing ” the values of variables, processes may now ask (check if a constraint is entailed by the store) and tell (augment the store with a new constraint). This is a very general paradigm which subsumes (among others) nonde-terminate data-flow and the (concurrent) (constraint) logic programming languages. This paper develops the basic ideas involved in giving a coherent semantic account of these languages. Our first con-tribution is to give a simple and general formulation of the notion that a constraint system is a system of partial infor-mation (a la the information systems of Scott). Parameter passing and hiding is handled by borrowing ideas from the cylindric algebras of Henkin, Monk and Tarski to introduce diagonal elements and “cylindrification ” operations (which mimic the projection of information induced by existential quantifiers). The se;ond contribution is to introduce the notion of determinate concurrent constraint programming languages. The combinators treated are ask, tell, parallel composition, hiding and recursion. We present a simple model for this language based on the specification-oriented methodology of [OH86]. The crucial insight is to focus on observing the resting points of a process—those stores in which the pro-cess quiesces without producing more information. It turns out that for the determinate language, the set of resting points of a process completely characterizes its behavior on all inputs, since each process can be identified with a closure operator over the underlying constraint system. Very nat-ural definitions of parallel composition, communication and hiding are given. For example, the parallel composition of two agents can be characterized by just the intersection of the sets of constraints associated with them. We also give a complete axiomatization of equality in this model, present
On the Logic of TLA+
- Computers and Informatics
, 2003
"... TLA+ is a language intended for the high-level specification of reactive, distributed, and in particular asynchronous systems. Combining the linear-time temporal logic TLA and classical set-theory, it provides an expressive specification formalism and supports assertional verification. ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
TLA+ is a language intended for the high-level specification of reactive, distributed, and in particular asynchronous systems. Combining the linear-time temporal logic TLA and classical set-theory, it provides an expressive specification formalism and supports assertional verification.
Composing Invariants
, 2003
"... We explore the question of the composition of invariance speci cations in a context of formal methods applied to concurrent and reactive systems. Depending on how compositionality is stated and how invariants are de ned, invariance speci cations may or may not be compositional. ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
We explore the question of the composition of invariance speci cations in a context of formal methods applied to concurrent and reactive systems. Depending on how compositionality is stated and how invariants are de ned, invariance speci cations may or may not be compositional.
Ideal stream algebra
- Lecture Notes in Computer Science 1546
, 1998
"... We provide some mathematical properties of behaviours of systems, where the individual elements of a behaviour are modeled by ideals of a suitable partial order. It is well-known that the associated ideal completion provides a simple way of constructing algebraic cpos. An ideal can be viewed as a ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We provide some mathematical properties of behaviours of systems, where the individual elements of a behaviour are modeled by ideals of a suitable partial order. It is well-known that the associated ideal completion provides a simple way of constructing algebraic cpos. An ideal can be viewed as a set of consistent finite or compact approximations of an object which itself may even be infinite. A special case is the domain of streams where the finite approximations are the finite prefixes of a stream. We introduce a special way of characterising behaviours through sets of relevant approximations. This is a generalisation of the technique used earlier for the case of streams. Given a set P ` M of a partial order (M;), we define ide P: = fQ: Q ` P directedg; where Q
Mathematical Models for Computing Science August 1994
- In: Towards a Pan-European Telecommunication Service Infrastructure (Lecture Notes in Computer Science
, 1994
"... ion and Quantification 44 6.1 Transistor nets implement logic gates : : : : : : : : : : : : : : : 48 6.2 Combinational logic implements natural numbers : : : : : : : : : 48 6.3 Sequential circuits implement combinational : : : : : : : : : : : : 49 6.4 From transistors to sequential circuits : : : : ..."
Abstract
- Add to MetaCart
ion and Quantification 44 6.1 Transistor nets implement logic gates : : : : : : : : : : : : : : : 48 6.2 Combinational logic implements natural numbers : : : : : : : : : 48 6.3 Sequential circuits implement combinational : : : : : : : : : : : : 49 6.4 From transistors to sequential circuits : : : : : : : : : : : : : : : 50 6.5 Functions implement relations : : : : : : : : : : : : : : : : : : : 51 6.6 Sequential programs implement parallel : : : : : : : : : : : : : : 53 7 Failures and Preconditions 53 7.1 Short circuit in a transistor network : : : : : : : : : : : : : : : : 57 7.2 Cycles in combinational circuits : : : : : : : : : : : : : : : : : : 59 7.3 Undefined expressions in assignments : : : : : : : : : : : : : : : 60 7.4 Inconsistency in functional programs : : : : : : : : : : : : : : : : 60 7.5 Non-deterministic deadlock in communicating processes : : : : : 61 Introduction A scientific theory is a predicate, usually expressed in the notations of mathematics, which describe...
Concurrency in the lambda-calculus: Higher-order Concurrent Constraint Programming (Extended Abstract)
, 1991
"... of Preliminary Report) December 4, 1991 Abstract We introduce higher-order versions of the determinate and non-determinate concurrent constraint (cc) programming languages [Sar89]. Thereby, we propose a simple conceptual and semantic framework for the joint exploration of (concurrent) functional a ..."
Abstract
- Add to MetaCart
of Preliminary Report) December 4, 1991 Abstract We introduce higher-order versions of the determinate and non-determinate concurrent constraint (cc) programming languages [Sar89]. Thereby, we propose a simple conceptual and semantic framework for the joint exploration of (concurrent) functional and (concurrent) (higher-order) (constraint) logic programming languages. 1 Introduction and overview The concurrent constraint (cc) programming paradigm is based on a set of very simple ideas, arising from concurrent logic programming and constraint logic programming. The basic references are [Sar89, SR90, SRP91, JSS91]; we summarize here briefly. Imperative languages may be thought of as based on the notion of store-as-valuation: a state of the computation is described by a valuation which assigns a unique value to each variable of interest. In constraint-based computation, this notion is replaced by that of store-as-constraint---the store is seen to contain pieces of partial information ...

