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.
The systems allows to optimize CCP programs while preserving their intended meaning. Furthermore, since it preserves the deadlock behaviour of programs, it can be used for proving deadlock freeness of a class of queries in a given program.
The work of the third author was partially supported by the MURST 40% project: Tecniche speciali per la verifica, l'analisi, la sintesi e la trasformazione di programmi”.
Preview
Unable to display preview. Download preview PDF.
References
N. Bensaou and I. Guessarian. Transforming Constraint Logic Programs. In F. Turini, editor, Proc. Fourth Workshop on Logic Program Synthesis and Transformation, 1994.
R.M. Burstall and J. Darlington. A transformation system for developing recursive programs. Journal of the ACM, 24(1):44–67, January 1977.
K.L. Clark and S. Sickel. Predicate logic: a calculus for deriving programs. In Proceedings of IJCAI'77, pages 419–120, 1977.
F.S. de Boer, M. Gabbrielli, E. Marchiori, and C. Palamidessi. Proving concurrent constraint programs correct. ACM Transactions on Programming Languages and Systems, 1998. to appear.
S. Etalle and M. Gabbrielli. Transformations of CLP modules. Theoretical Computer Science, 166(1):101–146, 1996.
S. Etalle and M. Gabbrielli. Partial evaluation of concurrent constraint languages. ACM Computing Surveys, 1998. to appear.
S. Etalle, M. Gabbrielli, and E. Marchiori. A Transformation System for CLP with Dynamic Scheduling and CCP. In ACM-SIGPLAN Symposium on Partial Evaluation and Semantic Based Program Manipulation. ACM Press, 1997.
N. De Francesco and A. Santone. Unfold/fold transformation of concurrent processes. In H. Kuchen and S.Doaitse Swierstra, editors, Proc. 8th Int'l Symp. on Programming Languages: Implementations, Logics and Programs, volume 1140, pages 167–181. Springer-Verlag, 1996.
C.J. Hogger. Derivation of logic programs. Journal of the ACM, 28(2):372–392, April 1981.
N. JØrgensen, K. Marriot, and S. Michaylov. Some Global Compile-Time Optimizations for CLP(R). In Proc. 1991 Int'l Symposium on Logic Programming, pages 420–434, 1991.
H. Komorowski. Partial evaluation as a means for inferencing data structures in an applicative language: A theory and implementation in the case of Prolog. In Proc. Ninth ACM Symposium on Principles of Programming Languages, pages 255–267. ACM, 1982.
J. W. Lloyd. Foundations of Logic Programming. Symbolic Computation — Artificial Intelligence. Springer-Verlag, Berlin, 1987. Second edition.
M.J. Maher. A transformation system for deductive databases with perfect model semantics. Theoretical Computer Science, 110(2):377–403, March 1993.
R. Milner. Communication and Concurrency. Prentice-Hall, 1989.
T Mogensen and P Sestoft. Partial evaluation. In A. Kent and J.G. Williams, editors, Encyclopedia of Computer Science and Technology, volume 37, pages 247–279. M. Dekker, 1997.
A. Pettorossi and M. Proietti. Transformation of logic programs: Foundations and techniques. Journal of Logic Programming, 19,20:261–320, 1994.
D. Sahlin. Partial Evaluation of AKL. In Proceedings of the First International Conference on Concurrent Constraint Programming, 1995.
V. A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, January 1989.
V.A. Saraswat and M. Rinard. Concurrent constraint programming. In Proc. of the Seventeenth ACM Symposium on Principles of Programming Languages, pages 232–245. ACM, New York, 1990.
V.A. Saraswat, M. Rinard, and P. Panangaden. Semantics foundations of concurrent constraint programming. In Proc. Eighteenth Annual ACM Symp. on Principles of Programming Languages. ACM Press, 1991.
G. Smolka. The Oz programming model. In Jan van Leeuwen, editor, Computer Science Today, number 1000 in LNCS. Springer-Verlag, 1995. see www.ps.uni-sb.de/oz/.
H. Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Stenåke Tärnlund, editor, Proc. Second Int'l Conf. on Logic Programming, pages 127–139, 1984.
K. Ueda and K. Furukawa. Transformation rules for GHC Programs. In Proc. Int'l Conf. on Fifth Generation Computer Systems, pages 582–591. Institute for New Generation Computer Technology, Tokyo, 1988.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Etalle, S., Gabbrielli, M., Meo, M.C. (1998). Unfold/fold transformations of CCP programs. In: Sangiorgi, D., de Simone, R. (eds) CONCUR'98 Concurrency Theory. CONCUR 1998. Lecture Notes in Computer Science, vol 1466. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055633
Download citation
DOI: https://doi.org/10.1007/BFb0055633
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64896-3
Online ISBN: 978-3-540-68455-8
eBook Packages: Springer Book Archive