Transformations of CCP programs

Sandro Etalle, Maurizio Gabbrielli, Maria Chiara Meo

    Research output: Contribution to journalArticleAcademicpeer-review

    15 Citations (Scopus)

    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) non-terminating 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.
    Original languageUndefined
    Pages (from-to)304-395
    Number of pages92
    JournalACM Transactions on Programming Languages and Systems (TOPLAS)
    Volume23
    Issue number3
    DOIs
    Publication statusPublished - May 2001

    Keywords

    • Constraint programming
    • deadlock-freeness
    • Optimization
    • IR-55803
    • EWI-932

    Cite this