A confluent calculus for concurrent constraint programming with guarded choice

  • Kim Marriott
  • Martin Odersky
Concurrent Constraint Programming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 976)


Confluence is an important and desirable property as it allows the program to be understood by considering any desired scheduling rule, rather than having to consider all possible schedulings. Unfortunately, the usual operational semantics for concurrent constraint programs is not confluent as different process schedulings give rise to different sets of possible outcomes. We show that it is possible to give a natural confluent calculus for concurrent constraint programs, if the syntactic domain is extended by a blind choice operator and a special constant standing for a discarded branch. This has application to program analysis.


Logic Program Canonical Form Operational Semantic Parallel Composition Reduction Sequence 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    H. P. Barendregt. The Lambda Calculus: its Syntax and Semantics, volume 103 of Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, revised edition, 1984.Google Scholar
  2. 2.
    M. Codish, M. Falaschi, and K. Marriott. Suspension analyses for concurrent logic programs. ACM Transactions on Programming Languages and Systems, 16(3):649–686, 1994.CrossRefGoogle Scholar
  3. 3.
    M. Codish, M. Falaschi, K. Marriott, and W. Winsborough. Efficient analysis of concurrent constraint logic programs. In Proc. 20th International Colloquium on Automata, Languages, and Programming, pages 633–644. Springer Verlag, 1993. LNCS 700.Google Scholar
  4. 4.
    C. Codognet, P. Codognet, and M. Corsini. Abstract interpretation for concurrent logic languages. In Proc. North American Conf. on Logic Programming, pages 215–232, 1990.Google Scholar
  5. 5.
    M. Falaschi, M. Gabbrielli, K. Marriott, and C. Palamidessi. Compositional analysis for concurrent constraint programming. In Proc. 8th IEEE Symposium on Logic In Computer Science, pages 210–221, 1993.Google Scholar
  6. 6.
    M. Falaschi, M. Gabbrielli, K. Marriott, and C. Palamidessi. Confluence and concurrent constraint programming. In to appear in Proc. AMAST, 1995.Google Scholar
  7. 7.
    Leon Henkin, J.Donald Monk, and Alfred Tarski. Cylindric Algebras, volume 64 of Studies in Logic and the Foundations of Mathematics. North Holland, 1971.Google Scholar
  8. 8.
    Gérard Huet. Confluent reductions: Abstract properties and applications to term rewriting systems. Journal of the ACM, 27(4):797–821, 1980.CrossRefGoogle Scholar
  9. 9.
    Jan Willem Klop. Combinatory Reduction Systems. PhD thesis, Mathematisch Centrum, Kruislaan 413, 1098 SJ Amsterdam, 1980. Mathematical Centre Tracts n. 127.Google Scholar
  10. 10.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, Berlin, second edition, 1987.Google Scholar
  11. 11.
    M. Maher. Logic semantics for a class of committed-choice programs. In Proc. Fouth Int. Conf. on Logic Programming, pages 858–876, 1987.Google Scholar
  12. 12.
    U. Montanari, F. Rossi, and V. Saraswat. CC programs with both in-and non-determinism: A concurrent semantics. In Second Int. Workshop on Principles and Practice of Constraint Programming (PPCP'94), pages 151–161. Springer Verlag, 1994. LNCS 874.Google Scholar
  13. 13.
    Joachim Niehren. Funktionale Berechnung in einem uniform nebenläufigen Kalkül mit logischen Variablen. PhD thesis, Universität des Saarlandes, 1994.Google Scholar
  14. 14.
    Joachim Niehren and Gert Smolka. A confluent relational calculus for higher-order programming with constraints. In Jean-Pierre Jouannaud, editor, 1st International Conference on Constraints in Computational Logics, Lecture Notes in Computer Science, vol. 845, pages 89–104, München, Germany, 7–9 September 1994. Springer-Verlag.Google Scholar
  15. 15.
    Vijay Saraswat, Martin Rinard, and Prakash Panangaden. The semantic foundations of concurrent constraint programming. In Conference Record of the Eighteenth Annual ACM Symposium on Principles of Programming Languages, Orlando, Florida, pages 333–352. ACM Press, January 1991.Google Scholar
  16. 16.
    Vijay A. Saraswat and Martin Rinard. Concurrent constraint programming. In Proceedings of the Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 232–245, San Francisco, California, January 1990.Google Scholar
  17. 17.
    E. Zaffanella, G. Levi, and R. Giacobazzi. Abstracting synchronization in concurrent constraint programming. In Proc. 5th Int'l Symposium on Programming Language Implementation and Logic Programming. Springer Verlag, 1994. LNCS 844.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Kim Marriott
    • 1
  • Martin Odersky
    • 2
  1. 1.Monash UniversityClaytonAustralia
  2. 2.Universität KarlsruheKarlsruheGermany

Personalised recommendations