Results 1 - 10
of
16
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...
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 non-deterministic timed behavior. We call this tcc extension the ntcc calculus. We also give a d ..."
Abstract
-
Cited by 44 (18 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 non-deterministic timed behavior. We call this tcc extension the ntcc calculus. We also give a denotational semantics for the strongest-postcondition of ntcc processes and, based on this semantics, we develop a proof system for linear-temporal properties of these processes. The expressiveness of ntcc is illustrated by modeling cells, timed systems such as RCX controllers, multi-agent systems such as the Predator /Prey game, and musical applications such as generation of rhythms patterns and controlled improvisation. 1
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 special-purpose declarative programming language for writing constraint solvers. The CSR subset of CHR forms essentially a committed-choice language consisting of guarded rules with ..."
Abstract
-
Cited by 28 (14 self)
- Add to MetaCart
Constraint Simplification Rules (CSR) is a subset of the Constraint Handling Rules (CHR) language. CHR is a powerful special-purpose declarative programming language for writing constraint solvers. The CSR subset of CHR forms essentially a committed-choice 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 12 (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 domain-dependent 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 (non-standard) 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 side-effect, the paper also gives soundness and com...
A Compositional Model for Confluent Dynamic Data-Flow Networks
, 2000
"... . We introduce a state-based 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 state-based 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 sub-language. 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...
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 ccp-like language, on the one hand, and correctness properties of the Hoare logic, on the other ha ..."
Abstract
-
Cited by 6 (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 ccp-like 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 proof-system we follow the lines of a previous proof-system 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: +39-50-887264 Fax: +39-50-887226 gabbri@di.unipi.it This w...
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 non-terminating CHR programs
, 2007
"... Abstract. Confluence is an important property for any kind of rewrite system including CHR, which is a general-purpose declarative committedchoice language consisting of multi-headed guarded rules. CHR can yield a confluence problem, because of non-determinism 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 general-purpose declarative committedchoice language consisting of multi-headed guarded rules. CHR can yield a confluence problem, because of non-determinism 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 non-terminating CHR programs confluence is generally undecidable. In this paper we apply the so-called Strong Church-Rosser property to CHR. This allows determination of confluence for a subset of non-terminating CHR programs. 1

