A fully abstract model for concurrent constraint programming

  • Frank S. de Boer
  • Catuscia Palamidessi
CAAP Colloquium On Trees In Algebra And Programming
Part of the Lecture Notes in Computer Science book series (LNCS, volume 493)

Abstract

Recent results [5] have shown that concurrent Logic programming has a very simple model, based on linear sequences, which is fully abstract with respect to the parallel operator and finite observables. This is intrinsically related to the asynchronous and monotonic nature of the communication mechanism, which consists of asking and telling constraints on a common store. We consider here a paradigm for (asynchronous) concurrent programming, based on the above mechanism, and provided with the standard operators of choice, parallelism, prefixing, and hiding of local variables. It comes out that linear sequences still suffice for a compositional description of all the operators. Moreover, we consider the problem of full abstraction. Since our notion of observables implies the removal of silent steps, the presence of the choice operator induces the same problems (for compositionality) as bisimulation in CCS. We show that in our framework this problem has a simple solution which consists of introducing a semantical distinction between the various ways in which deadlock and failure might occur. The resulting semantics is fully abstract and still based on linear sequences.

Keywords

Logic Program Termination Mode Choice Operator Existential Quantifier Constraint Logic Programming 
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.

References

  1. [1]
    J.W. de Bakker and J.N. Kok. Uniform abstraction, atomicity and contractions in the comparative semantics of Concurrent Prolog. In Proc. of the International Conference on Fifth Generation Computer Systems, pages 347–355, Tokyo, Japan, 1988. OHMSHA, LTD. Extended Abstract, full version available as CWI report CS-8834.Google Scholar
  2. [2]
    J.W. de Bakker and J.N. Kok. Comparative metric semantics for Concurrent Prolog. Theoretical Computer Science, 75(1/2):15–44, 1990.Google Scholar
  3. [3]
    F.S. de Boer, J.N. Kok, C. Palamidessi, and J.J.M.M. Rutten. Control flow versus logic: a denotational and a declarative model for Guarded Horn Clauses. In A. Kreczmar and G. Mirkowska, editors, Proc. of the Symposium on Mathematical Foundations of Computer Science, volume 379 of Lecture Notes in Computer Science, pages 165–176. Springer-Verlag, 1989.Google Scholar
  4. [4]
    F.S. de Boer, J.N. Kok, C. Palamidessi, and J.J.M.M. Rutten. Semantic models for a version of PARLOG. In Giorgio Levi and Maurizio Martelli, editors, Proc. of the Sixth International Conference on Logic Programming, Series in Logic Programming, pages 621–636, Lisboa, 1989. The MIT Press. Extended version to appear in Theoretical Computer Science.Google Scholar
  5. [5]
    F.S. de Boer and C. Palamidessi. Concurrent logic languages: Asynchronism and language comparison. In Proc. of the North American Conference on Logic Programming, Series in Logic Programming, pages 175–194. The MIT Press, 1990. Full version available as technical report TR 6/90, Dipartimento di Informatica, Università di Pisa.Google Scholar
  6. [6]
    F.S. de Boer and C. Palamidessi. On the asynchronous nature of communication in concurrent logic languages: A fully abstract model based on sequences. In J.C.M. Baeten and J.W. Klop, editors, Proc. of Concur 90, volume 458 of Lecture Notes in Computer Science, pages 99–114, Amsterdam, 1990. Springer-Verlag. Full version available as report at the Technische Universiteit Eindhoven.Google Scholar
  7. [7]
    M. Falaschi, M. Gabbrielli, G. Levi, and M. Murakami. Nested Guarded Horn Clauses: a language provided with a complete set of Unfolding Rules. In Proc. of the Japanese National Conference on Logic Programming '89, 1989.Google Scholar
  8. [8]
    M. Gabbrielli and G. Levi. Unfolding and fixpoint semantics for concurrent constraint logic programs. In H. Kirchner and W. Wechler, editors, Proc. of the Second Int. Conf. on Algebraic and Logic Programming, Lecture Notes in Computer Science, pages 204–216, Nancy, France, 1990. Springer-Verlag.Google Scholar
  9. [9]
    H. Gaifman, M. J. Maher, and E. Shapiro. Reactive Behaviour semantics for Concurrent Constraint Logic Programs. In E. Lusk and R. Overbeck, editors, North American Conference on Logic Programming, 1989.Google Scholar
  10. [10]
    R. Gerth, M. Codish, Y. Lichtenstein, and E. Shapiro. Fully abstract denotational semantics for Concurrent Prolog. In Proc. of the Third IEEE Symposium on Logic In Computer Science, pages 320–335. IEEE Computer Society Press, New York, 1988.Google Scholar
  11. [11]
    J. Jaffar and J.-L. Lassez. Constraint Logic Programming. In 14th ACM Principles of Programming Languages Conference, pages 111–119, Munich, F.R.G., 1987. ACM, New York.Google Scholar
  12. [12]
    J.N. Kok. A compositional semantics for Concurrent Prolog. In R. Cori and M. Wirsing, editors, Proc. Fifth Symposium on Theoretical Aspects of Computer Science, volume 294 of Lecture Notes in Computer Science, pages 373–388. Springer-Verlag, 1988.Google Scholar
  13. [13]
    M. J. Maher. Logic semantics for a class of committed-choice programs. In Jean-Louis Lassez, editor, Proc. of the Fourth International Conference on Logic Programming, Series in Logic Programming, pages 858–876, Melbourne, 1987. The MIT Press.Google Scholar
  14. [14]
    V.A. Saraswat. Partial Correctness Semantics for CP(ø,|,&). In Proc. of the Conference on Foundations of Software Computing and Theoretical Computer Science, volume 206 of Lecture Notes in Computer Science, pages 347–368. Springer-Verlag, 1985.Google Scholar
  15. [15]
    V.A. Saraswat. A somewhat logical formulation of CLP synchronization primitives. In Robert A. Kowalski and Kenneth A. Bowen, editors, Proc. of the Fifth International Conference on Logic Programming, Series in Logic Programming, pages 1298–1314, Seattle, USA, 1988. The MIT Press.Google Scholar
  16. [16]
    V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, january 1989. Published by The MIT Press, U.S.A., 1990.Google Scholar
  17. [17]
    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.Google Scholar
  18. [18]
    M. Rinard V.A. Saraswat and P. Panangaden. A fully abstract semantics for concurrent constraint programming. In Proc. of the eighteenth ACM Symposium on Principles of Programming Languages. ACM, New York, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Frank S. de Boer
    • 1
    • 3
  • Catuscia Palamidessi
    • 2
    • 3
  1. 1.Technische Universiteit EindhovenEindhovenThe Netherlands
  2. 2.Department of Computer ScienceUniversity of UtrechtUtrechtThe Netherlands
  3. 3.Centre for Mathematics and Computer ScienceAmsterdamThe Netherlands

Personalised recommendations