Back to Search Start Over

Transformations of CCP programs

Authors :
Etalle, Sandro
Gabbrielli, Maurizio
Meo, Maria Chiara
Source :
ACM Transactions on Programming Languages & Systems. May, 2001, Vol. 23 Issue 3, p304, 92 p.
Publication Year :
2001

Abstract

We introduce a transformation system for concurrent constraint programming (CCP). We define suitable applicability conditions for the transformations that guarantee the input/output CCP semantics is also preserved when distinguishing deadlocked computations from successful ones and when considering intermediate results of (possibly) nonterminating computations. The system allows us to optimize CCP programs while preserving their intended meaning: In addition to the usual benefits for sequential declarative languages, the transformation of concurrent programs can also lead to the elimination of communication channels and of synchronization points, to the transformation of nondeterministic computations into deterministic ones, and to the crucial saving of computational space. Furthermore, since the transformation system preserves the deadlock behavior of programs, it can be used for proving deadlock-freeness of a given program with respect to a class of queries. To this aim, it is sometimes sufficient to apply our transformations and to specialize the resulting program with respect to the given queries in such a way that the obtained program is trivially deadlock-free. Categories and Subject Descriptors: D.3.2 [Programming Languages]: Language Classifications--concurrent, distributed, and parallel languages; I.2.2 [Artificial Intelligence]: Automatic Programming--Program transformation; F.3.2 [Logics and Meanings of Programs]: Semantics of Programming Languages--algebraic approaches to semantics; D.1.3 [Programming Techniques]: Concurrent Programming General Terms: Languages, Theory Additional Key Words and Phrases: Concurrent constraint programming, deadlock-freeness, optimization

Details

ISSN :
01640925
Volume :
23
Issue :
3
Database :
Gale General OneFile
Journal :
ACM Transactions on Programming Languages & Systems
Publication Type :
Academic Journal
Accession number :
edsgcl.83699109