On the asynchronous nature of communication in concurrent logic languages: A fully abstract model based on sequences
Selected Presentations First Online: 16 June 2005
Part of the
Lecture Notes in Computer Science
book series (LNCS, volume 458) 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.
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
Part of this work was supported by the ESPRIT BRA projects “Integration” and “SPEC”.
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.
, 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
M. Hirata. Parallel list processing language oc and its self-description.
, 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.
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.
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.
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.