Abstract
We develop a general framework for a variety of concurrent languages all based on asynchronous communication, like data flow, concurrent logic, concurrent constraint languages and CSP with asynchronous channels. The main characteristic of these languages is that processes interact by reading and modifying the state of some common data structure. We abstract from the specific features of the various communication mechanisms by means of a uniform language where actions are interpreted as partially defined transformations on an abstract set of states. Suspension is modelled by an action being undefined in a state. The languages listed above can be seen as instances of our paradigm, and can be obtained by fixing a specific set of states and interpretation of the actions.
The computational model of our paradigm is described by a transition system in the style of Plotkin's SOS. A compositional model is presented that is based on traces (of pairs of states). This sharply contrasts with the synchronous case, where some additional branching information is needed to describe deadlock. In particular, we show that our model is more abstract than the standard failure set semantics (that is known to be fully abstract for the classical synchronous paradigms).
We also investigate the problem of full abstraction, with respect to various observation criteria. To tackle this problem, we have to consider the particular features of the specific languages. We study some cases, for which we give a fully abstract semantics.
Part of this work was carried out in the context of ESPRIT Basic Research Action (3020) Integration. The research of F.S. de Boer was partially supported by the Dutch REX (Research and Education in Concurrent Systems) project and the Basic Research Action SPEC.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Brogi and P. Ciancarini. The concurrent language Shared Prolog. Technical Report TR-8/89, Dipartimento di Informatica, Università di Pisa, 1989.
S.D. Brookes, C.A.R. Hoare, and W. Roscoe. A theory of communicating sequential processes. J. Assoc. Comput. Mach., 31:560–599, 1984.
J.A. Bergstra and J.W. Klop. A complete inference system for regular processes with silent moves. In F.R. Drake and J.K. Truss, editors, Proceedings Logic Colloquium 1986, pages 21–81, Hull, 1988. North-Holland.
J.A. Bergstra, J.W. Klop, and E.-R. Olderog. Readies and failures in the algebra of communicating systems. SIAM J. Comp., 17(6):1134–1177, 1988.
J.W. de Bakker and J.N. Kok. Comparative metric semantics for Concurrent Prolog. Theoretical Computer Science, 75:15–43, 1990.
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.
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, The Netherlands, 1990. Springer-Verlag. Full version available as report at the Technische Universiteit Eindhoven.
F.S. de Boer and C. Palamidessi. A fully abstract model for concurrent constraint programming. In S. Abramsky and T.S.E. Maibaum, editors, Proc. of TAPSOFT/CAAP, volume 493 of Lecture Notes in Computer Science. Springer-Verlag, 1991. Revised and Extended version in Technical Report CS-9110, Department of Computer Science, University of Utrecht, The Netherlands.
J.W. de Bakker and J.I. Zucker. Processes and the denotational semantics of concurrency. Information and Control, 54:70–120, 1982.
D. Erman, F. HayesRoth, V. Lesser, and D. Reddy. The Hearsay2 speech understanding system: Integrating knowledge to resolve uncertainty. ACM Computing Surveys, 12:213–253, 1980.
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.
D. Gelenter. Generative communication in linda. ACM TOPLAS, 7(1):80–112, 1986.
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.
E. Horita, J.W. de Bakker, and J.J.M.M. Rutten. Fully abstract denotational models for nonuniform concurrent languages. Technical Report CS-R9027, Centre for Mathematics and Computer Science, Amsterdam, 1990.
C.A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.
M.B. Josephs, C.A.R. Hoare, and He Jifeng. A theory of asynchronous processes. Technical report, Oxford University Computing Laboratories, 1990.
He Jifeng, M.B. Josephs, and C.A.R. Hoare. A theory of synchrony and asynchrony. In Proc. of IFIP Working Conference on Programming Concepts and Methods, pages 459–478, 1990.
B. Jonsson and J.N. Kok. Comparing two fully abstract dataflow models. In Proc. Parallel Architectures and Languages Europe (PARLE), number 379 in Lecture Notes in Computer Science, pages 217–235, 1989.
B. Jonsson. A model and a proof system for asynchronous processes. In Proc. of the 4th ACM Symp. on Principles of Distributed Computing, pages 49–58, 1985.
G. Kahn. The semantics of a simple language for parallel programming. In Information Processing 74: Proc. of IFIP Congress, pages 471–475, New York, 1974. North-Holland.
J.N. Kok. A fully abstract semantics for data flow nets. In J.W. de Bakker, A.J. Nijman, and P.C. Treleaven, editors, Proc. Parallel Architectures and Languages Europe (PARLE), volume 259 of Lecture Notes in Computer Science, pages 351–368. Springer Verlag, 1987.
J.N. Kok. Traces, histories and streams in the semantics of nondeterministic dataflow. In Proceedings Massive Parallelism: Hardware, Programming and Applications, 1989. Also available as report 91, Abo Akademi, Finland, 1989.
R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, New York, 1980.
Robin Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267–310, 1983.
V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, january 1989. To be published by the MIT Press.
E.Y. Shapiro. A subset of concurrent prolog and its interpreter. Technical Report TR-003, ICOT, 1983.
E.Y. Shapiro. The family of concurrent logic programming languages. ACM Computing Surveys, 21(3):412–510, 1989.
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.
R.J. van Glabbeek. Bounded nondeterminism and the approximation induction principle in process algebra. In F.J. Brandenburg, G. Vidal-Naquet, and M. Wirsing, editors, Proceedings STACS 1987, volume 247 of Lecture Notes in Computer Science, pages 336–347. Springer-Verlag, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
de Boer, F.S., Kok, J.N., Palamidessi, C., Rutten, J.J.M.M. (1991). The failure of failures in a paradigm for asynchronous communication. In: Baeten, J.C.M., Groote, J.F. (eds) CONCUR '91. CONCUR 1991. Lecture Notes in Computer Science, vol 527. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54430-5_84
Download citation
DOI: https://doi.org/10.1007/3-540-54430-5_84
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54430-2
Online ISBN: 978-3-540-38357-4
eBook Packages: Springer Book Archive