Abstract
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.
Part of this work was supported by the ESPRIT BRA projects “Integration” and “SPEC”.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
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).
S.D. Brookes, C.A.R. Hoare, and W. Roscoe. A theory of communicating sequential processes. JACM, 31:499–560, 1984.
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.
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.
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.
E. Eder. Properties of substitutions and unifications. Journal Symbolic Computation, 1:31–46, 1985.
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.
M. Gabbrielli and G. Levi. An unfolding reactive semantics for concurrent constraint programming. Technical Report TR../90, Dipartimento di Informatica, Pisa, 1990.
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.
M. Hirata. Parallel list processing language oc and its self-description. Computing Software, 4(3):41–64, 1987. In Japanese.
J. Jaffar and J.-L. Lassez. Constraint logic programming. In Proc. ACM Symp. on Principles of Programming Languages, pages 111–119, 1987.
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.
J.W. Lloyd. Foundations of Logic Programming. Springer Verlag, 1987. Second edition.
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.
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.
R. Milner. A Calculus of Communicating Systems. Numbers 92 in LNCS. Springer Verlag, New York, 1980.
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.
V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, january 1989. To be published by MTI Press.
E.Y. Shapiro. The family of concurrent logic languages. ACM Computing Surveys, 21(3):412–510, 1989.
V.A. Saraswat and M. Rinard. Concurrent constraint programming. Technical report, Carnegie-Mellon University, 1989.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1990 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Boer, F.S., Palamidessi, C. (1990). On the asynchronous nature of communication in concurrent logic languages: A fully abstract model based on sequences. In: Baeten, J.C.M., Klop, J.W. (eds) CONCUR '90 Theories of Concurrency: Unification and Extension. CONCUR 1990. Lecture Notes in Computer Science, vol 458. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0039054
Download citation
DOI: https://doi.org/10.1007/BFb0039054
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-53048-0
Online ISBN: 978-3-540-46395-5
eBook Packages: Springer Book Archive