Advertisement

Unfolding and fixpoint semantics of concurrent constraint logic programs

  • Maurizio Gabbrielli
  • Giorgio Levi
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 463)

Abstract

We present a new semantics for a language in the family of concurrent constraint logic languages. The semantics can be based on a notion of clause unfolding, since the language is closed under this transformation. The unfolding semantics is obtained as limit of an infinite unfolding process. Unfolding is also used to define an immediate consequences operator, and, therefore, a fixpoint semantics in the typical logic programming style. The result of both the unfolding and the fixpoint semantics is a set of reactive behaviors, which are trees abstractly representing all the possible computations of a program, including deadlocks and finite failures. The semantics can be made more abstract by defining a suitable notion of equivalence on reactive behaviors. In our approach this can be done by reasoning on constraints only, thus generalizing the typical behavior of constraint logic programming.

Keywords

Logic Program Logic Programming Operational Semantic Constraint System Procedure Call 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    L. Beckman. Towards a formal semantics for concurrent logic programming languages. In E. Shapiro, editor, Proc. Third ICLP, volume 225 of LNCS, pages 335–349. Springer-Verlag, 1986.Google Scholar
  2. [2]
    R. M. Burstall and J. Darlington. A transformation system for developing recursive programs. JACM, 24(1), 1977.Google Scholar
  3. [3]
    K.L. Clark and S. Gregory. PARLOG: parallel programming in logic. ACM Trans. on Programming Languages and Systems, 8:1–49, 1986.Google Scholar
  4. [4]
    P.L. Courien. Categorical combinators, sequential algorithms and functional programming. In Research Notes in Theoretical Computer Science. Pitman, 1986.Google Scholar
  5. [5]
    J.W. de Bakker and J.N. Kok. Uniform abstraction, atomicity and contractions in the comparative semantics of Concurrent Prolog. In Proc. Int'l Conf. FGCS, pages 347–355, Tokyo, Japan, 1988. ICOT.Google Scholar
  6. [6]
    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. Symp. on Mathematical Foundations of Computer Science, volume 379 of LNCS, pages 165–176. Springer-Verlag, 1989.Google Scholar
  7. [7]
    F.S. de Boer, J.N. Kok, C. Palamidessi, and J.J.M.M. Rutten. Semantic models for a version of PARLOG. In G. Levi and M. Martelli, editors, Proc. Sixth ICLP, Series in Logic Programming, pages 621–636, Lisboa, 1989. The MIT Press. Extended version to appear in Theoretical Computer Science.Google Scholar
  8. [8]
    F.S. de Boer and C. Palamidessi. Concurrent logic languages: Asynchronism and language comparison. In Proc. NACLP'90. The MIT Press, 1990.Google Scholar
  9. [9]
    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 Proc. of Concur 90, The Netherlands, 1990.Google Scholar
  10. [10]
    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. Japanese Nat'l Conf. on Logic Programming '89, 1989.Google Scholar
  11. [11]
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A new declarative semantics for logic languages. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth ICLP, pages 993–1005. The MIT Press, 1988.Google Scholar
  12. [12]
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. Declarative modeling of the operational behavior of logic languages. TCS, 69(3):289–318, 1989.Google Scholar
  13. [13]
    M. Falaschi, G. Levi, M. Martelli, and C. Palamidessi. A model-theoretic reconstruction of the operational semantics of logic programs. Technical Report TR 3/89, Dip. Informatica, Univ. di Pisa, Pisa, 1989.Google Scholar
  14. [14]
    H. Fujita, A. Okumura, and K. Furukawa. Partial evaluation of GHC programs based on the UR-Set with constraints. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth ICLP, pages 924–941. The MIT Press, 1988.Google Scholar
  15. [15]
    K. Furukawa, A. Okumura, and M. Murakami. Unfolding rules for GHC programs. New Generation Computing, 6:143–158, 1988.Google Scholar
  16. [16]
    M. Gabbrielli and G. Levi. An unfolding reactive semantics for concurrent constraint programming. Technical report, Dip. di Informatica, Univ. di Pisa, Pisa, 1990.Google Scholar
  17. [17]
    H. Gaifman, M. J. Maher, and E. Shapiro. Reactive Behaviour semantics for Concurrent Constraint Logic Programs. In E. Lusk and R. Overbeck, editors, Proc. NACLP'89, 1989.Google Scholar
  18. [18]
    R. Gerth, M. Codish, Y. Lichtenstein, and E. Shapiro. Fully abstract denotational semantics for Concurrent Prolog. In Proc. third LICS, pages 320–335. IEEE Computer Society Press, 1988.Google Scholar
  19. [19]
    H.Tamaki and T. Sato. Unfold/Fold Transformations of Logic Programs. In Sten-Åke Tarnlund, editor, Proc. Second ICLP, pages 127–139, 1984.Google Scholar
  20. [20]
    J. Jaffar and J.-L. Lassez. Constraint Logic Programming. In Proc. fourteenth POPL, pages 111–119. ACM, 1987.Google Scholar
  21. [21]
    J. L. Lassez, M. J. Maher, and K. Marriott. Unification Revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming. Morgann Kaufmann, 1988.Google Scholar
  22. [22]
    G. Levi. Models, Unfolding Rules and Fixpoint Semantics. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth ICLP, pages 1649–1665. The MIT Press, 1988.Google Scholar
  23. [23]
    G. Levi and P. Mancarella. The unfolding semantics of logic programs. Technical Report TR-13/38, Dip. di Informatica, Univ. di Pisa, 1988.Google Scholar
  24. [24]
    G. Levi and C. Palamidessi. The declarative semantics of logical read-only variables. In Proc. IEEE Symp. on Logic Programming, pages 128–137. IEEE Computer Society Press, 1985.Google Scholar
  25. [25]
    G. Levi and C. Palamidessi. An approach to the declarative semantics of synchronization in logic languages. In J.-L. Lassez, editor, Proc. Fourth ICLP, pages 877–893. The MIT Press, 1987.Google Scholar
  26. [26]
    M. J. Maher. Logic semantics for a class of committed-choice programs. In J.-L. Lassez, editor, Proc. Fourth ICLP, pages 858–876. The MIT Press, 1987.Google Scholar
  27. [27]
    R. Milner. Lectures on a calculus for communicating systems. In S. Brookes, A. Roscoe, and G. Winskell, editors, Seminar on Concurrency, volume 197 of LNCS. Springer-Verlag, 1984.Google Scholar
  28. [28]
    M. Murakami. A declarative semantics of parallel logic programs with perpetual processes. In Proc. Int'l Conf. FGCS, pages 374–381. ICOT, 1988.Google Scholar
  29. [29]
    V. A. Saraswat. A somewhat logical formulation of CLP synchronization primitives. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth ICLP, pages 1298–1314. The MIT Press, 1988.Google Scholar
  30. [30]
    V.A. Saraswat. GHC: operational semantics, problems and relationship with CP(↓,|). In IEEE Int'l Symp. on Logic Programming, pages 347–358. IEEE, 1987.Google Scholar
  31. [31]
    V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, January 1989.Google Scholar
  32. [32]
    V.A. Saraswat and M. Rinard. Concurrent constraint programming. In Proc. seventeenth POPL. ACM, 1990.Google Scholar
  33. [33]
    E. Y. Shapiro. Concurrent Prolog: A progress report. Computer, 19(8):44–58, 1986.Google Scholar
  34. [34]
    K. Ueda. Guarded Horn Clauses. In E. Y. Shapiro, editor, Concurrent Prolog: Collected Papers. The MIT Press, 1987.Google Scholar
  35. [35]
    K. Ueda and K. Furukawa. Transformation rules for GHC Programs. In Proc. Int'l Conf. FGCS, pages 582–591. ICOT, 1988.Google Scholar
  36. [36]
    M.H. van Emden and R.A. Kowalski. The semantics of predicate logic as a programming language. JACM, 23(4):733–742, 1976.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Maurizio Gabbrielli
    • 1
  • Giorgio Levi
    • 1
  1. 1.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations