Results 1  10
of
19
Temporal Concurrent Constraint Programming: Denotation, Logic and Applications
, 2002
"... The tcc model is a formalism for reactive concurrent constraint programming. We present a model of temporal concurrent constraint programming which adds to tcc the capability of modeling asynchronous and nondeterministic timed behavior. We call this tcc extension the ntcc calculus. We also give a d ..."
Abstract

Cited by 68 (24 self)
 Add to MetaCart
The tcc model is a formalism for reactive concurrent constraint programming. We present a model of temporal concurrent constraint programming which adds to tcc the capability of modeling asynchronous and nondeterministic timed behavior. We call this tcc extension the ntcc calculus. We also give a denotational semantics for the strongestpostcondition of ntcc processes and, based on this semantics, we develop a proof system for lineartemporal properties of these processes. The expressiveness of ntcc is illustrated by modeling cells, timed systems such as RCX controllers, multiagent systems such as the Predator /Prey game, and musical applications such as generation of rhythms patterns and controlled improvisation. 1
Proving Concurrent Constraint Programs Correct
, 1994
"... We develop a compositional proofsystem 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 59 (14 self)
 Add to MetaCart
We develop a compositional proofsystem 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 storeasvaluation 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...
Confluence and Semantics of Constraint Simplification Rules
 CONSTRAINTS JOURNAL
, 1999
"... Constraint Simplification Rules (CSR) is a subset of the Constraint Handling Rules (CHR) language. CHR is a powerful specialpurpose declarative programming language for writing constraint solvers. The CSR subset of CHR forms essentially a committedchoice language consisting of guarded rules with ..."
Abstract

Cited by 30 (15 self)
 Add to MetaCart
Constraint Simplification Rules (CSR) is a subset of the Constraint Handling Rules (CHR) language. CHR is a powerful specialpurpose declarative programming language for writing constraint solvers. The CSR subset of CHR forms essentially a committedchoice language consisting of guarded rules with multiple heads that replace constraints by simpler ones until they are solved. This paper gives declarative and operational semantics as well as soundness and completeness results for CSR programs. In this paper, we introduce a notion of confluence for CSR programs. Confluence is an essential syntactical property of any constraint solver. It ensures that the solver will always compute the same result for a given set of constraints independent of which rules are applied. It also means that it does not matter for the result in which order the constraints arrive at the constraint solver. We give a decidable, sufficient and necessary syntactic condition for confluence of terminating CSR progra...
Abstracting Synchronization in Concurrent Constraint Programming
 In Proc. 5th Int'l Symposium on Programming Language Implementation and Logic Programming
, 1994
"... ing Synchronization in Concurrent Constraint Programming ? Enea Zaffanella 1 Roberto Giacobazzi 2 Giorgio Levi 1 1 Dipartimento di Informatica, Universit`a di Pisa Corso Italia 40, 56125 Pisa (zaffanel,levi)@di.unipi.it 2 LIX, Laboratoire d'Informatique, ' Ecole Polytechnique 91128 Palaisea ..."
Abstract

Cited by 13 (5 self)
 Add to MetaCart
ing Synchronization in Concurrent Constraint Programming ? Enea Zaffanella 1 Roberto Giacobazzi 2 Giorgio Levi 1 1 Dipartimento di Informatica, Universit`a di Pisa Corso Italia 40, 56125 Pisa (zaffanel,levi)@di.unipi.it 2 LIX, Laboratoire d'Informatique, ' Ecole Polytechnique 91128 Palaiseau cedex giaco@lix.polytechnique.fr Abstract. Because of synchronization based on blocking ask, some of the most important techniques for data flow analysis of (sequential) constraint logic programs (clp) are no longer applicable to cc languages. In particular, the generalized approach to the semantics, intended to factorize the (standard) semantics so as to make explicit the domaindependent features (i.e. operators and semantic objects which may be influenced by abstraction) becomes useless for relevant applications. A possible solution to this problem is based on a more abstract (nonstandard) semantics: the success semantics, which models non suspended computations only. With a program tr...
On Confluence of Constraint Handling Rules
 IN 2ND INTERNATIONAL CONFERENCE ON PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING, CP'96, LNCS 1118
, 1996
"... We introduce the notion of confluence for Constraint Handling Rules (CHR), a powerful language for writing constraint solvers. With CHR one simplifies and solves constraints by applying rules. Confluence guarantees that a CHR program will always compute the same result for a given set of constrain ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
We introduce the notion of confluence for Constraint Handling Rules (CHR), a powerful language for writing constraint solvers. With CHR one simplifies and solves constraints by applying rules. Confluence guarantees that a CHR program will always compute the same result for a given set of constraints independent of which rules are applied. We give a decidable, sufficient and necessary syntactic condition for confluence. Confluence turns out to be an essential syntactical property of CHR programs for two reasons. First, confluence implies correctness (as will be shown in this paper). In a correct CHR program, application of CHR rules preserves logical equivalence of the simplified constraints. Secondly, even when the program is already correct, confluence is highly desirable. Otherwise, given some constraints, one computation may detect their inconsistency while another one may just simplify them into a still complex constraint. As a sideeffect, the paper also gives soundness and com...
Proving Correctness of Constraint Logic Programs with Dynamic Scheduling
, 1996
"... A general framework based on Hoare logic is introduced for specifying and reasoning about Constraint Logic Programs with dynamic scheduling. The framework consists of a mixed formalism of programs in a ccplike language, on the one hand, and correctness properties of the Hoare logic, on the other ha ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
A general framework based on Hoare logic is introduced for specifying and reasoning about Constraint Logic Programs with dynamic scheduling. The framework consists of a mixed formalism of programs in a ccplike language, on the one hand, and correctness properties of the Hoare logic, on the other hand. In this formalism delay conditions are viewed as a specific class of correctness properties. In the construction of the proofsystem we follow the lines of a previous proofsystem we developed for concurrent constraint programming, which was sound, but not complete (for ccp). Due to the different kind of choice used in CLP, on the contrary, the system considered here is both sound and complete. Keywords: Dynamic scheduling, concurrent constraint programming, partial correctness, strongest postcondition. Corresponding author: M. Gabbrielli Dipartimento di Informatica Universit`a di Pisa Corso Italia 40, 56125 Pisa, Italy Tel: +3950887264 Fax: +3950887226 gabbri@di.unipi.it This w...
A Compositional Model for Confluent Dynamic DataFlow Networks
, 2000
"... . We introduce a statebased language for programming dynamically changing networks which consist of processes that communicate asynchronously. For this language we introduce an operational semantics and a notion of observable which includes both partial correctness and absence of deadlock. Our ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
. We introduce a statebased language for programming dynamically changing networks which consist of processes that communicate asynchronously. For this language we introduce an operational semantics and a notion of observable which includes both partial correctness and absence of deadlock. Our main result is a compositional characterization of this notion of observable for a confluent sublanguage. 1 Introduction The goal of this paper is to develop a compositional semantics of a confluent subset of the language MaC (Mobile asynchronous Channels). MaC is an imperative programming language for describing the behavior of dynamic networks of asynchronously communicating processes. A program in MaC consists of a (finite) number of generic process descriptions. Processes can be created dynamically and have an independent activity that proceeds in parallel with all the other processes in the system. They possess some internal data, which they store in variables. The value of a varia...
A Confluent Calculus for Concurrent Constraint Programming with Guarded Choice
 Principles and Practice of Constraint Programming, Proceedings First International Conference, CP'95
, 1995
"... . Confluence is an important and desirable property as it allows the program to be understood by considering any desired scheduling rule, rather than having to consider all possible schedulings. Unfortunately, the usual operational semantics for concurrent constraint programs is not confluent as dif ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
. Confluence is an important and desirable property as it allows the program to be understood by considering any desired scheduling rule, rather than having to consider all possible schedulings. Unfortunately, the usual operational semantics for concurrent constraint programs is not confluent as different process schedulings give rise to different sets of possible outcomes. We show that it is possible to give a natural confluent calculus for concurrent constraint programs, if the syntactic domain is extended by a blind choice operator and a special constant standing for a discarded branch. This has application to program analysis. 1 Introduction Concurrent constraint programming (ccp) [16, 15] is a recent programmingparadigm which elegantly combines logical concepts and concurrency mechanisms. The computational model of ccp is based on the notion of a constraint system, which consists of a set of constraints and an entailment relation. Processes interact through a common store. Commun...
Domain independent ask approximations in CCP
 Proceedings of the International Conference on Principles and Practice of Constraint Programming, number 976 in LNCS
, 1995
"... The main difficulty in the definition of a static analysis framework for CC programs is probably related to the correct approximation of the entailment relation between constraints. This approximation is needed for the abstract evaluation of the ask guards and directly influences the overall precisi ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
The main difficulty in the definition of a static analysis framework for CC programs is probably related to the correct approximation of the entailment relation between constraints. This approximation is needed for the abstract evaluation of the ask guards and directly influences the overall precision of the analysis. In this paper we provide a and the concrete domains of computation. The solution is domain independent in the sense that it can be applied to the class of downward closed observations. Properties falling in this class (e.g. freeness) have already been studied in the context of the analysis of sequential logic programs. We believe that the same abstract domains can be usefully applied to the CC context to provide meaningful ask approximations. 1
On confluence of nonterminating CHR programs
, 2007
"... Abstract. Confluence is an important property for any kind of rewrite system including CHR, which is a generalpurpose declarative committedchoice language consisting of multiheaded guarded rules. CHR can yield a confluence problem, because of nondeterminism in the choice of rules using the abstra ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
Abstract. Confluence is an important property for any kind of rewrite system including CHR, which is a generalpurpose declarative committedchoice language consisting of multiheaded guarded rules. CHR can yield a confluence problem, because of nondeterminism in the choice of rules using the abstract semantics. Confluence in CHR is an ongoing research topic, because it provides numerous benefits for implementations. However, for nonterminating CHR programs confluence is generally undecidable. In this paper we apply the socalled Strong ChurchRosser property to CHR. This allows determination of confluence for a subset of nonterminating CHR programs. 1