vix.ing · top · new · best · stats · spec

Transformations of CCP programs

2001/07/10 by Sandro Etalle, Maurizio Gabbrielli, Etalle, Sandro +3
Computer Science · #Artificial Intelligence (cs.AI) #D.1.3 #D.3.2 #FOS: Computer and information sciences #Formal Methods in Verification #I.2.2 #Logic in Computer Science (cs.LO) #Logic, Reasoning, and Knowledge #Logic, programming, and type systems #Programming Languages (cs.PL) #cs.AI #cs.LO #cs.PL

paper · pdf · doi:10.48550/arxiv.cs/0107014

To appear in ACM TOPLAS

arxiv created 2001/07/10 · openalex publication_date 2001/07/10 · arxiv updated 2009/11/30 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

We introduce a transformation system for concurrent constraint programming (CCP). We define suitable applicability conditions for the transformations which guarantee that the input/output CCP semantics is preserved also when distinguishing deadlocked computations from successful ones and when considering intermediate results of (possibly) non-terminating computations. The system allows us to optimize CCP programs while preserving their intended meaning: In addition to the usual benefits that one has 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 non-deterministic 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 wrt a class of queries. To this aim it is sometimes sufficient to apply our transformations and to specialize the resulting program wrt the given queries in such a way that the obtained program is trivially deadlock free.

Related