Results 1 - 10
of
51
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
Proving Concurrent Constraint Programs Correct
, 1994
"... We develop a compositional proof-system for the partial correctness of concurrent constraint programs. Soundness and (relative) completeness of the system are proved with respect to a denotational semantics based on the notion of strongest postcondition. The strongest postcondition semantics provide ..."
Abstract
-
Cited by 52 (13 self)
- Add to MetaCart
We develop a compositional proof-system for the partial correctness of concurrent constraint programs. Soundness and (relative) completeness of the system are proved with respect to a denotational semantics based on the notion of strongest postcondition. The strongest postcondition semantics provides a justification of the declarative nature of concurrent constraint programs, since it allows to view programs as theories in the specification logic. 1 Introduction Concurrent constraint programming ([24, 25, 26]) (ccp, for short) is a concurrent programming paradigm which derives from replacing the store-as-valuation conception of von Neumann computing by the storeas -constraint model. Its computational model is based on a global store, represented by a constraint, which expresses some partial information on the values of the variables involved in the computation. The concurrent execution of different processes, which interact through the common store, refines the partial information of...
Calculating Sized Types
- Higher-Order and Symbolic Computation
, 2001
"... Many program optimizations and analyses, such as array-bounds checking, termination analysis, etc, depend on knowing the size of a function's input and output. However, size information can be dicult to compute. Firstly, accurate size computation requires detecting a size relation between different ..."
Abstract
-
Cited by 48 (9 self)
- Add to MetaCart
Many program optimizations and analyses, such as array-bounds checking, termination analysis, etc, depend on knowing the size of a function's input and output. However, size information can be dicult to compute. Firstly, accurate size computation requires detecting a size relation between different inputs of a function. Secondly, different optimizations and analyses may require slightly different size information, and thus slightly different computation. Literature in size computation has mainly concentrated on size checking, instead of size inference. In this paper, we provide a generic framework on which di erent size variants can be expressed and computed. We also describe an effective algorithm for inferring, instead of checking, size information. Size information are expressed in terms of Presburger formulae, and our algorithm utilizes the Omega Calculator to compute as exact a size information as possible, within the linear arithmetic capability.
Step by Step - Building Representations in Algebraic Logic
- Journal of Symbolic Logic
, 1995
"... We consider the problem of finding and classifying representations in algebraic logic. This is approached by letting two players build a representation using a game. Homogeneous and universal representations are characterised according to the outcome of certain games. The Lyndon conditions defini ..."
Abstract
-
Cited by 28 (15 self)
- Add to MetaCart
We consider the problem of finding and classifying representations in algebraic logic. This is approached by letting two players build a representation using a game. Homogeneous and universal representations are characterised according to the outcome of certain games. The Lyndon conditions defining representable relation algebras (for the finite case) and a similar schema for cylindric algebras are derived. Countable relation algebras with homogeneous representations are characterised by first order formulas. Equivalence games are defined, and are used to establish whether an algebra is !-categorical. We have a simple proof that the perfect extension of a representable relation algebra is completely representable. An important open problem from algebraic logic is addressed by devising another twoplayer game, and using it to derive equational axiomatisations for the classes of all representable relation algebras and representable cylindric algebras. Other instances of this ap...
Compositional Analysis for Concurrent Constraint Programming
- In Proc. Eighth IEEE Symp. on Logic In Computer Science
, 1993
"... We propose a framework for the analysis of concurrent constraint programming (ccp). Our approach is based on simple denotational semantics which approximate the usual semantics in the sense that they give a superset of the input-output relation of a ccp program. Analyses based on these semantics can ..."
Abstract
-
Cited by 25 (9 self)
- Add to MetaCart
We propose a framework for the analysis of concurrent constraint programming (ccp). Our approach is based on simple denotational semantics which approximate the usual semantics in the sense that they give a superset of the input-output relation of a ccp program. Analyses based on these semantics can be easily and efficiently implemented using standard techniques from the analysis of logic programs. 1 Introduction Concurrent constraint programming (ccp) [12, 13, 14] is a new programming paradigm which elegantly combines logical concepts and concurrency mechanisms. The computational model of ccp is based on the notion of constraint system, which consists of a set of constraints and an entailment (implication) relation. Processes interact through a common store. Communication is achieved by telling (adding) a given constraint to the store, and by This work has been partially supported by ESPRIT BRA 6707, ParForce. y Dipartimento di Elettronica e Informatica, Universit`a di Padova,...
Confluence in Concurrent Constraint Programming
- IN ALAGAR AND NIVAT, EDITORS, PROCEEDINGS OF AMAST '95, LNCS 936
, 1996
"... Concurrent constraint programming (ccp), like most of the concurrent paradigms, has a mechanism of global choice which makes computations dependent on the scheduling of processes. This is one of the main reasons why the formal semantics of ccp is more complicated than the one of its deterministic an ..."
Abstract
-
Cited by 22 (9 self)
- Add to MetaCart
Concurrent constraint programming (ccp), like most of the concurrent paradigms, has a mechanism of global choice which makes computations dependent on the scheduling of processes. This is one of the main reasons why the formal semantics of ccp is more complicated than the one of its deterministic and local-choice sublanguages. In this paper we study various subsets of ccp obtained by adding some restriction on the notion of choice, or by requiring confluency, i.e. independency from the scheduling strategy. We show that it is possible to define simple denotational semantics for these subsets, for various notions of observables. Finally, as an application of our results we develop a framework for the compositional analysis of full ccp. The basic idea is to approximate an arbitrary ccp program by a program in the restricted language, and then analyze the latter, by applying the standard techniques of abstract interpretation to its denotational semantics.
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 19 (2 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 first-order 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 block-structured imperative languages. CR Classification: F3.1, F3.2, D1.3, D3.3 Key words: Concurrent constraint programming, simula...
Complete Representations in Algebraic Logic
- JOURNAL OF SYMBOLIC LOGIC
"... A boolean algebra is shown to be completely representable if and only if it is atomic, whereas it is shown that neither the class of completely representable relation algebras nor the class of completely representable cylindric algebras of any fixed dimension (at least 3) are elementary. ..."
Abstract
-
Cited by 18 (9 self)
- Add to MetaCart
A boolean algebra is shown to be completely representable if and only if it is atomic, whereas it is shown that neither the class of completely representable relation algebras nor the class of completely representable cylindric algebras of any fixed dimension (at least 3) are elementary.
Expressive Power and Complexity in Algebraic Logic
- Journal of Logic and Computation
, 1997
"... Two complexity problems in algebraic logic are surveyed: the satisfaction problem and the network satisfaction problem. Various complexity results are collected here and some new ones are derived. Many examples are given. The network satisfaction problem for most cylindric algebras of dimension four ..."
Abstract
-
Cited by 17 (2 self)
- Add to MetaCart
Two complexity problems in algebraic logic are surveyed: the satisfaction problem and the network satisfaction problem. Various complexity results are collected here and some new ones are derived. Many examples are given. The network satisfaction problem for most cylindric algebras of dimension four or more is shown to be intractable. Complexity is tied-in with the expressivity of a relation algebra. Expressivity and complexity are analysed in the context of homogeneous representations. The model-theoretic notion of interpretation is used to generalise known complexity results to a range of other algebraic logics. In particular a number of relation algebras are shown to have intractable network satisfaction problems. 1 Introduction A basic problem in theoretical computing and applied logic is to select and evaluate the ideal formalism to represent and reason about a given application. Many different formalisms are adopted: classical first-order logic, modal and temporal logics (either...
A Relation-Algebraic Approach to the Region Connection Calculus
- Fundamenta Informaticae
, 2001
"... We explore the relation--algebraic aspects of the region connection calculus (RCC) of Randell et al. (1992a). In particular, we present a refinement of the RCC8 table which shows that the axioms provide for more relations than are listed in the present table. We also show that each RCC model leads ..."
Abstract
-
Cited by 17 (0 self)
- Add to MetaCart
We explore the relation--algebraic aspects of the region connection calculus (RCC) of Randell et al. (1992a). In particular, we present a refinement of the RCC8 table which shows that the axioms provide for more relations than are listed in the present table. We also show that each RCC model leads to a Boolean algebra. Finally, we prove that a refined version of the RCC5 table has as models all atomless Boolean algebras B with the natural ordering as the "part -- of" relation, and that the table is closed under first order definable relations iff B is homogeneous. 1 Introduction Qualitative reasoning (QR) has its origins in the exploration of properties of physical systems when numerical information is not sufficient -- or not present -- to explain the situation at hand (Weld and Kleer, 1990). Furthermore, it is a tool to represent the abstractions of researchers who are constructing numerical systems which model the physical world. Thus, it fills a gap in data modeling which often l...

