A transformation system for CLP with dynamic scheduling and CCP

  • Authors:
  • Sandro Etalle;Maurizio Gabbrielli;Elena Marchiori

  • Affiliations:
  • WINS, University of Amsterdam, Kruislaan 403 1098SJ Amsterdam, The Netherlands;Dipartimento di Informatica, Università di Pisa, Corso Italia 40, 56125 Pisa, Italy;Dipartimento di Matematica Applicata e informatica, Università Ca' Foscari di Venezia, Via Torino 153, Venezia-Mestre, Italy

  • Venue:
  • PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
  • Year:
  • 1997

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we study unfold/fold transformations for constraint logic programs (CLP) with dynamic scheduling and for concurrent constraint programming (CCP). We define suitable applicability conditions for these transformations which guarantee that the original and the transformed program have the same results of successful derivations and the same deadlock free queries.The possible applications of these results are twofold. On one hand we can use the unfold/fold system to optimize CLP and CCP programs while preserving their intended meaning and in particular without the risk of introducing deadlocks. On the other hand, unfold/fold transformations can be used for proving deadlock freeness of a class of queries in a given program: to this aim it is 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. As shown by several interesting examples, this yields a methodology for proving deadlock freeness which is simple and powerful at the same time.