On the asynchronous nature of communication in concurrent logic languages: A fully abstract model based on sequences

  • Frank S. de Boer
  • Catuscia Palamidessi
Selected Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 458)


The main contribution of this paper is to show that the nature of the communication mechanism of concurrent logic languages is essentially different from imperative concurrent languages. We show this by defining a compositional model based on sequences of input-output substitutions. This is to be contrasted with the compositionality in languages like CCS and TCSP, which requires more complicated structures, like trees and failure sets. Moreover, we prove that this model is fully abstract, namely that the information encoded by these sequences is necessary.

Regarding fully abstractness, our observation criterium consists of all the possible finite results, namely the computed answer substitution together with the termination mode (success, failure, or suspension). The operations we consider are parallel composition of goals and disjoint union of programs. We define a compositional operational semantics delivering sequences of input-output substitutions. Starting from this we obtain a fully abstract denotational semantics by requiring some closure conditions on sequences, that essentially model the monotonic nature of communication in concurrent logic languages. The correctness of this model is proved by refining the operational semantics in order to embody these closure conditions.

Key words and phrases

operational semantics denotational semantics concurrent logic languages substitutions sequences compositionality fully abstractness 

1985 Mathematics Subject Classification

68Q55 68Q10 

1987 Computing Reviews Categories

D.1.3 D.3.1 F.1.2 F.3.2 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Apt88]
    K.R. Apt. Introduction to logic programming (revised and extended version. Technical Report CS-R8826, Centre for Mathematics and Computer Science, Amsterdam, 1988. To appear as a chapter in Handbook of Theoretical Computer Science, North-Holland (J. van Leeuwen, editor).Google Scholar
  2. [BHR84]
    S.D. Brookes, C.A.R. Hoare, and W. Roscoe. A theory of communicating sequential processes. JACM, 31:499–560, 1984.Google Scholar
  3. [dBK88]
    J.W. de Bakker and J.N. Kok. Uniform abstraction, atomicity and contractions in the comparative semantics of concurrent prolog. In Proc. Fifth Generation Computer Systems, pages 347–355, Tokyo, Japan, 1988. Extended Abstract, full version available as CWI report CS-8834. To appear on Theoretical Computer Science.Google Scholar
  4. [dBKPR89a]
    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 Proc. of the Symposium on Mathematical Foundations of Computer Science, LNCS, pages 165–176, 1989.Google Scholar
  5. [dBKPR89b]
    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. of the Sixt International Conference on Logic Programming, pages 621–636, Lisboa, 1989. MIT Press. Extended version to appear in Theoretical Computer Science.Google Scholar
  6. [Ede85]
    E. Eder. Properties of substitutions and unifications. Journal Symbolic Computation, 1:31–46, 1985.Google Scholar
  7. [GCLS88]
    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, 1988.Google Scholar
  8. [GL90]
    M. Gabbrielli and G. Levi. An unfolding reactive semantics for concurrent constraint programming. Technical Report TR../90, Dipartimento di Informatica, Pisa, 1990.Google Scholar
  9. [GMS89]
    H. Gaifman, M.J. Maher, and E. Shapiro. Rehactive behaviour semantics for concurrent constraint logic languages. In Proc. of the North American Conference on Logic Programming, 1989.Google Scholar
  10. [Hir87]
    M. Hirata. Parallel list processing language oc and its self-description. Computing Software, 4(3):41–64, 1987. In Japanese.Google Scholar
  11. [JL87]
    J. Jaffar and J.-L. Lassez. Constraint logic programming. In Proc. ACM Symp. on Principles of Programming Languages, pages 111–119, 1987.Google Scholar
  12. [Kok88]
    J.N. Kok. A compositional semantics for concurrent prolog. In R. Cori and M. Wirsing, editors, Proc. 5th Theoretical Aspects of Computer Science, number 294 in LNCS, pages 373–388. Springer Verlag, 1988.Google Scholar
  13. [Llo87]
    J.W. Lloyd. Foundations of Logic Programming. Springer Verlag, 1987. Second edition.Google Scholar
  14. [LMM88]
    J.-L. Lassez, M.J. Maher, and K. Marriot. Unification revisited. In J. Minker, editor, Foundations of deductive databases and logic programming, Los Altos, 1988. Morgan Kaufmann.Google Scholar
  15. [Mah87]
    M. J. Maher. Logic semantics for a class of committed choice programs. In J.-L. Lassez, editor, Proc. of the Fourth Int. Conference on Logic Programming, pages 877–893, Melbourne, 1987. MTI Press.Google Scholar
  16. [Mil80]
    R. Milner. A Calculus of Communicating Systems. Numbers 92 in LNCS. Springer Verlag, New York, 1980.Google Scholar
  17. [Sar85]
    V.A. Saraswat. Partial correctness semantics for cp(↓, |, &). In Proc. of the Conf. on Foundations of Software Computing and Theoretical Computer Science, number 206 in LNCS, pages 347–368, 1985.Google Scholar
  18. [Sar89]
    V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, january 1989. To be published by MTI Press.Google Scholar
  19. [Sha89]
    E.Y. Shapiro. The family of concurrent logic languages. ACM Computing Surveys, 21(3):412–510, 1989.Google Scholar
  20. [SR89]
    V.A. Saraswat and M. Rinard. Concurrent constraint programming. Technical report, Carnegie-Mellon University, 1989.Google Scholar
  21. [Ued88]
    K. Ueda. Guarded horn clauses, a parallel logic programming language with the concept of a guard. In M. Nivat and K. Fuchi, editors, Programming of Future Generation Computers, pages 441–456, Amsterdam, 1988. North Holland.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Frank S. de Boer
    • 1
  • Catuscia Palamidessi
    • 2
  1. 1.Technische Universiteit EindhovenEindhovenThe Netherlands
  2. 2.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations