Results 1 
8 of
8
Semantic foundations of concurrent constraint programming
, 1990
"... Concurrent constraint programming [Sar89,SR90] is a simple and powerful model of concurrent computation based on the notions of storeasconstraint and process as information transducer. The storeasvaluation conception of von Neumann computing is replaced by the notion that the store is a constr ..."
Abstract

Cited by 252 (26 self)
 Add to MetaCart
Concurrent constraint programming [Sar89,SR90] is a simple and powerful model of concurrent computation based on the notions of storeasconstraint and process as information transducer. The storeasvaluation conception of von Neumann 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) nondeterminate dataflow 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 contribution is to give a simple and general formulation of the notion that a constraint system is a system of partial information (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 specificationoriented methodology of [OH86]. The crucial insight is to focus on observing the resting points of a process—those stores in which the process 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 natural 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
A Logical View Of Concurrent Constraint Programming
, 1995
"... . Concurrent Constraint Programming (CCP) has been the subject of growing interest as the focus of a new paradigm for concurrent computation. Like logic programming it claims close relations to logic. In fact CCP languages are logics in a certain sense that we make precise in this paper. In recent ..."
Abstract

Cited by 21 (4 self)
 Add to MetaCart
. Concurrent Constraint Programming (CCP) has been the subject of growing interest as the focus of a new paradigm for concurrent computation. Like logic programming it claims close relations to logic. In fact CCP languages are logics in a certain sense that we make precise in this paper. In recent work it was shown that the denotational semantics of determinate concurrent constraint programming languages forms a fibred categorical structure called a hyperdoctrine, which is used as the basis of the categorical formulation of firstorder logic. What this shows is that the combinators of determinate CCP can be viewed as logical connectives. In this paper we extend these ideas to the operational semantics of such languages and thus make available similar analogies for a much broader variety of languages including indeterminate CCP languages and concurrent blockstructured imperative languages. CR Classification: F3.1, F3.2, D1.3, D3.3 Key words: Concurrent constraint programming, simula...
Must Preorder in NonDeterministic Untyped λcalculus
 IN CAAP '92, VOLUME 581 OF LNCS
, 1992
"... This paper studies the interplay between functional application and nondeterministic choice in the context of untyped λcalculus. We introduce an operational semantics which is based on the idea of must preorder, coming from the theory of process algebras. To characterize this relation, we build a ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
This paper studies the interplay between functional application and nondeterministic choice in the context of untyped λcalculus. We introduce an operational semantics which is based on the idea of must preorder, coming from the theory of process algebras. To characterize this relation, we build a model using the classical inverse limit construction, and we prove it fully abstract using a generalization of Böhm trees.
Topological Models for Higher Order Control Flow
 PROCEEDINGS OF THE 9TH INTERNATIONAL CONFERENCE ON MATHEMATICAL FOUNDATIONS OF PROGRAMMING SEMANTICS, VOLUME 802 OF LECTURE NOTES IN COMPUTER SCIENCE
, 1993
"... Semantic models are presented for two simple imperative languages with higher order constructs. In the first language the interesting notion is that of second order assignment x := s, for x a procedure variable and s a statement. The second language extends this idea by a form of higher order commun ..."
Abstract

Cited by 7 (3 self)
 Add to MetaCart
Semantic models are presented for two simple imperative languages with higher order constructs. In the first language the interesting notion is that of second order assignment x := s, for x a procedure variable and s a statement. The second language extends this idea by a form of higher order communication, with statements c ! s and c ? x, for c a channel. We develop operational and denotational models for both languages, and study their relationships. Both in the definitions and the comparisons of the semantic models, convenient use is made of some tools from (metric) topology. The operational models are based on (SOSstyle) transition systems; the denotational definitions use domains specified as solutions of domain equations in a category of 1bounded complete ultrametric spaces. In establishing the connection between the two kinds of models, fruitful use is made of Rutten's processes as terms technique. Another new tool consists in the use of metric transition systems, with a metric defined on the configurations of the system. In addition to higher order programming notions, we use higher order definitional techniques, e.g., in defining the semantic mappings as fixed points of (contractive) higher order operators. By Banach's theorem, such fixed points are unique, yielding another important proof principle for our paper.
NonDeterministic Extensions of Untyped λcalculus
 INFO. AND COMP
, 1995
"... The main concern of this paper is the study of the interplay between functionality and non determinism. Indeed the first question we ask is whether the analysis of parallelism in terms of sequentiality and non determinism, which is usual in the algebraic treatment of concurrency, remains correct in ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The main concern of this paper is the study of the interplay between functionality and non determinism. Indeed the first question we ask is whether the analysis of parallelism in terms of sequentiality and non determinism, which is usual in the algebraic treatment of concurrency, remains correct in presence of functional application and abstraction. We identify non determinism in the setting of λcalculus with the absence of the ChurchRosser property plus the inconsistency of the equational theory obtained by the symmetric closure of the reduction relation. We argue in favour of a distinction between non determinism and parallelism, due to the conjunctive nature of the former in contrast to the disjunctive character of the latter. This is the basis of our analysis of the operational and denotational semantics of non deterministiccalculus, which is the classical calculus plus a choice operator, and of our election of bounded indeterminacy as the semantical counterpart of conjunctive non determinism. This leads to operational semantics based on...
A Hyperdoctrinal View of Constraint Systems
 In Lecture Notes in Computer Science 666
, 1993
"... We study a relationship between logic and computation via concurrent constraint programming. In previous papers it has been shown how a simple language for specifying asynchronous concurrent processes can be interpreted in terms of constraints. In the present paper we show that the programming inter ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
We study a relationship between logic and computation via concurrent constraint programming. In previous papers it has been shown how a simple language for specifying asynchronous concurrent processes can be interpreted in terms of constraints. In the present paper we show that the programming interpretation via closure operators is intimately related to the logic of the constraints. More precisely we show how the usual hyperdoctrinal description of first order logic can be functorially related to another hyperdoctrine built out of closure operators. The logical connectives map onto constructions on closure operators that turn out to model programming constructs, specifically conjunction becomes parallel composition and existential quantification becomes hiding of local variables. 1 Introduction In this paper we develop a category theoretic view of the relationship between concurrent constraint programming and logic. One may think of this as an explication of the relationship between ...
Towards a Calculus of Communicating Functions
, 1992
"... We enrich a typed calculus with pairs by two communication primitives for sending and receiving typed values along typed channels. The resulting language is a conservative extension of the underlying  calculus which then allows strongly typed nonterminating computations. ..."
Abstract
 Add to MetaCart
We enrich a typed calculus with pairs by two communication primitives for sending and receiving typed values along typed channels. The resulting language is a conservative extension of the underlying  calculus which then allows strongly typed nonterminating computations.