The failure of failures in a paradigm for asynchronous communication

  • F. S. de Boer
  • J. N. Kok
  • C. Palamidessi
  • J. J. M. M. Rutten
Selected Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 527)


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.


Compositional Model Atomic Action Asynchronous Communication Compositional Semantic Abstract Semantic 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BC89]
    A. Brogi and P. Ciancarini. The concurrent language Shared Prolog. Technical Report TR-8/89, Dipartimento di Informatica, Università di Pisa, 1989.Google Scholar
  2. [BHR84]
    S.D. Brookes, C.A.R. Hoare, and W. Roscoe. A theory of communicating sequential processes. J. Assoc. Comput. Mach., 31:560–599, 1984.Google Scholar
  3. [BK88]
    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.Google Scholar
  4. [BKO88]
    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.Google Scholar
  5. [dBK90]
    J.W. de Bakker and J.N. Kok. Comparative metric semantics for Concurrent Prolog. Theoretical Computer Science, 75:15–43, 1990.Google Scholar
  6. [dBP90a]
    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.Google Scholar
  7. [dBP90b]
    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.Google Scholar
  8. [dBP91]
    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.Google Scholar
  9. [dBZ82]
    J.W. de Bakker and J.I. Zucker. Processes and the denotational semantics of concurrency. Information and Control, 54:70–120, 1982.Google Scholar
  10. [EHLR80]
    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.Google Scholar
  11. [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. IEEE Computer Society Press, New York, 1988.Google Scholar
  12. [Gel86]
    D. Gelenter. Generative communication in linda. ACM TOPLAS, 7(1):80–112, 1986.Google Scholar
  13. [GMS89]
    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.Google Scholar
  14. [HdBR90]
    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.Google Scholar
  15. [Hoa78]
    C.A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–677, 1978.Google Scholar
  16. [JHJ90]
    M.B. Josephs, C.A.R. Hoare, and He Jifeng. A theory of asynchronous processes. Technical report, Oxford University Computing Laboratories, 1990.Google Scholar
  17. [JJH90]
    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.Google Scholar
  18. [JK89]
    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.Google Scholar
  19. [Jon85]
    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.Google Scholar
  20. [Kah74]
    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.Google Scholar
  21. [Kok87]
    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.Google Scholar
  22. [Kok89]
    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.Google Scholar
  23. [Mil80]
    R. Milner. A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer-Verlag, New York, 1980.Google Scholar
  24. [Mil83]
    Robin Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267–310, 1983.Google Scholar
  25. [Sar89]
    V.A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, january 1989. To be published by the MIT Press.Google Scholar
  26. [Sha83]
    E.Y. Shapiro. A subset of concurrent prolog and its interpreter. Technical Report TR-003, ICOT, 1983.Google Scholar
  27. [Sha89]
    E.Y. Shapiro. The family of concurrent logic programming languages. ACM Computing Surveys, 21(3):412–510, 1989.Google Scholar
  28. [SR90]
    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.Google Scholar
  29. [vG87]
    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.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • F. S. de Boer
    • 1
  • J. N. Kok
    • 2
  • C. Palamidessi
    • 2
    • 3
  • J. J. M. M. Rutten
    • 3
  1. 1.Department of Computer ScienceTechnical University EindhovenEindhovenThe Netherlands
  2. 2.Department of Computer ScienceUtrecht UniversityUtrechtThe Netherlands
  3. 3.Centre for Mathematics and Computer ScienceAmsterdamThe Netherlands

Personalised recommendations