Skip to main content
Log in

On the diversity of asynchronous communication

  • Original Article
  • Published:
Formal Aspects of Computing

Abstract

Asynchronous communication is often viewed as a single entity, the counterpart of synchronous communication. Although the basic concept of asynchronous communication is the decoupling of send and receive events, there is actually room for a variety of additional specification of the communication, for instance in terms of ordering. Yet, these different asynchronous communications are used interchangeably and seldom distinguished. This paper is a contribution to the study of these models, their differences, and how they are related. In this paper, the variety of point-to-point asynchronous communication paradigms is considered with two approaches. In the first and theoretical one, communication models are specified as properties on the ordering of events in distributed executions. In the second and more practical approach that involves composition of peers, they are modeled with transition systems and message histories as part of a framework. The described framework enables to model peer composition and compatibility properties. Besides, an implemented tool chain based on the TLA+ formalism and model checking is also proposed and illustrated. The conformance of the two approaches is highlighted. A hierarchy is established between the studied communication models. From the execution viewpoint, it completes existing work in the area by introducing more asynchronous communication models and showing their differences. The framework is shown to offer abstract implementations of the communication models. Both the correctness and the completeness of the descriptions in the framework are studied. This reveals necessary restrictions on the behavior of the peers so that the communication models are actually implementable.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ait-Bachir A, Dumas M, Fauvet MC (2008) BESERIAL: behavioural service analyser. In: Business process management international conference. Demo session., LNCS 5240, pp 374–377

  2. Berry G, Boudol G (1992) The chemical abstract machine. Theor Comput Sci 96(1): 217–248

    Article  MathSciNet  MATH  Google Scholar 

  3. Basu S, Bultan T, Ouederni M (2012) Synchronizability for verification of asynchronously communicating systems. In: 13th international conference on verification, model checking, and abstract interpretation, VMCAI’12. Springer-Verlag, pp 56–71

  4. Brogi A, Canal C, Pimentel E, Vallecillo A (2004) Formalizing web service choreographies. Electron Notes Theor Comput Sci 105: 73–94

    Article  MATH  Google Scholar 

  5. Benatallah B, Casati F, Toumani F (2004) Analysis and management of web service protocols. In: Conceptual modeling–ER 2004, Lecture Notes in Computer Science, vol 3288. Springer, pp 524–541

  6. Birman KP (1996) Building secure and reliable network applications. Manning

  7. Birman KP, Joseph TA (1987) Reliable communication in the presence of failures. ACM Trans Comput Syst 5(1): 47–76

    Article  Google Scholar 

  8. Babaoğlu Ö, Marzullo K (1993) Consistent global states of distributed systems: fundamental concepts and mechanisms. In: Mullender SJ (ed) Distributed systems, 2nd edn. ACM Press Frontier Series, pp 55–96

  9. Boudol G (1992) Asynchrony and the Pi-calculus. Research Report RR-1702, INRIA

  10. Beauxis R, Palamidessi C, Valencia FD (2008) On the asynchronous nature of the asynchronous \({\pi}\)-calculus. In: De Nicola R, Degano P, Meseguer J (eds) Concurrency, graphs and models, Lecture notes in computer science. Springer, pp 473–492

  11. Brand D, Zafiropulo P (1983) On communicating finite-state machines. J ACM 30(2): 323–342

    Article  MathSciNet  MATH  Google Scholar 

  12. Charron-Bost B, Mattern F, Tel G (1996) Synchronous, asynchronous, and causally ordered communication. Distrib Comput 9(4): 173–191

    Article  MathSciNet  Google Scholar 

  13. Coulouris G, Dollimore J, Kindberg T. (1994) Distributed systems: concepts and design, 2nd edn. Addison Wesley

  14. Cristian F, Fetzer C (1999) The timed asynchronous distributed system model. IEEE Trans Parallel Distrib Syst 10(6): 642–657

    Article  Google Scholar 

  15. Cardelli L, Gordon AD (1998) Mobile ambients. In: First international conference on foundations of software science and computation structure, FoSSaCS ’98. Springer-Verlag, pp 140–155

  16. Charpentier M (1997) A Unity mapping operator for distributed programs. In: Fitzgerald J, Jones CB, Lucas P (eds) 4th Int’l symposium of formal methods europe (FME’97), Lecture notes in computer science, vol 1313. Springer-Verlag, pp 665–684

  17. Chevrou F, Hurault A, Mauran P, Quéinnec P (2016) Mechanized refinement of communication models with TLA+. In: International ABZ Conference. Springer-Verlag, p 6

  18. Chevrou F, Hurault A, Quéinnec P (2015) Automated verification of asynchronous communicating systems with TLA+. In: Electronic communications of the EASST (PostProceedings of the 15th international workshop on automated verification of critical systems), vol 72

  19. Chandy KM, Lamport L (1985) Distributed snapshots: determining global states of distributed systems. ACM Trans Comput Syst 3(1): 63–75

    Article  Google Scholar 

  20. Chae HS, Lee J-S, Bae JH (2008) An approach to checking behavioral compatibility between web services. Int J Softw Eng Knowl Eng 18(2): 223–241

    Article  Google Scholar 

  21. Cleaveland R, Parrow J, Steffen B (1993) The concurrency workbench: A semantics-based tool for the verification of concurrent systems. ACM Trans Program Lang Syst 15(1): 36–72

    Article  Google Scholar 

  22. Canal C, Pimentel E, Troya JM (2001) Compatibility and inheritance in software architectures. Sci Comput Program 41(2): 105–138

    Article  MathSciNet  MATH  Google Scholar 

  23. Durán F, Ouederni M, Salaún G (2012) A generic framework for n-protocol compatibility checking. Sci Comput Program 77(7-8): 870–886

    Article  MATH  Google Scholar 

  24. Défago X, Schiper A, Urbán P (2004) Total order broadcast and multicast algorithms: taxonomy and survey. ACM Comput Surv 36: 372–421

    Article  Google Scholar 

  25. Deng S, Wu Z, Zhou M, Li Y, Wu J (2006) Modeling service compatibility with pi-calculus for choreography. In: 25th International conference on conceptual modeling, Conceptual Modeling-ER 2006. Springer-Verlag, pp 26–39

  26. Fournet C, Gonthier G (1996) The reflexive cham and the join-calculus. In: 23rd ACM symposium on principles of programming languages, POPL ’96. ACM, pp 372–385

  27. Fournet C, Gonthier G, Lévy J-J, Maranget L, Rémy D. (1996) A calculus of mobile agents. In: Montanari U, Sassone V (eds) CONCUR, Lecture Notes in Computer Science, vol 1119, pp 406–421

  28. Filliâtre J-C (2013) One logic to use them all. In: 24th international conference on automated deduction (CADE-24), Lecture Notes in Artificial Intelligence, vol 7898, Lake Placid. Springer, pp 1–20

  29. Foster H, Uchitel S, Magee J, Kramer J (2004) Compatibility verification for web service choreography. In: IEEE international conference on web services, pp 738

  30. Gardiner P, Goldsmith M, Hulance J, Jackson D, Roscoe B, Scattergood B, Armstrong P (2010) FDR2 user manual. Technical report, Oxford University

  31. Garavel H, Lang F, Mateescu R, Serwe W (2013) CADP 2011: a toolbox for the construction and analysis of distributed processes. Int J Softw Tools Technol Transf 15(2):89–107

  32. Holzmann GJ (2004) The spin model checker: primer and reference manual. Addison-Wesley

  33. Honda K, Tokoro M (1991) An object calculus for asynchronous communication. In: Proceedings of the European conference on object-oriented programming, ECOOP ’91. Springer-Verlag, pp 133–147

  34. Kshemkalyani AD, Singhal M (1998) Necessary and sufficient conditions on information for causal message ordering and their optimal implementation. Distribut Comput 11(2): 91–111

    Article  Google Scholar 

  35. Kshemkalyani AD, Singhal M (2011) Distributed computing: principles, algorithms, and systems. Cambridge University Press

  36. Lamport L (1978) Time, clocks and the ordering of events in a distributed system. Commun ACM 21(7): 558–565

    Article  MATH  Google Scholar 

  37. Lamport L(2002) Specifying systems. Addison Wesley

  38. Lamport L(2009) The PlusCal algorithm language. In: Leucker M, Morgan C (eds) Theoretical aspects of computing, Lecture notes in computer science, vol 5684. Springer, pp 36–60

  39. Li X, Fan Y, Sheng QZ, Maamar Z, Zhu H (2011) A Petri net approach to analyzing behavioral compatibility and similarity of web services. IEEE Trans Syst Man Cybern 41(3): 510–521

    Article  Google Scholar 

  40. Lohmann N, Wolf K (2011) Decidability results for choreography realization. In: 9th International conference on service-oriented computing, ICSOC’11. Springer-Verlag, pp 92–107

  41. Lynch NA (1996) Distributed algorithms. Morgan Kaufmann Publishers Inc.

  42. Martens A (2003) On compatibility of web services. Petri Net Newsletter, pp 12–20

  43. Mattern F (1989) Virtual time and global state in distributed systems. In: Cosnard M, Robert Y, Quinton P, Raynal M (eds) Int’l workshop on parallel and distributed algorithms. Elsevier Science Publishers, pp 215–226

  44. Meyer B (1992) Applying “design by contract”. Computer 25(10): 40–51

    Article  Google Scholar 

  45. Milner R (1982) A calculus of communicating systems. Springer-Verlag New York, Inc.,

  46. Milner R (1999) Communicating and mobile systems: the \({\pi}\)-calculus. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  47. Misra J (1983) Detecting termination of distributed computations using markers. In: Proceedings of the second annual ACM symposium on principles of distributed computing, PODC ’83. ACM, pp 290–294

  48. Manna Z, Pnueli A (1992) The temporal logic of reactive and concurrent systems–specification. Springer-Verlag

  49. Ouederni M, Salaün G, Bultan T (2013) Compatibility checking for asynchronously communicating software. In: International symposium on formal aspects of component software (FACS 2013), LNCS, vol 8348, pp 310–328

  50. Palamidessi C (2003) Comparing the expressive power of the synchronous and the asynchronous pi-calculi. Math Struct Comput Sci 13(5): 685–719

    Article  MathSciNet  Google Scholar 

  51. Peterson LL, Buchholz NC, Schlichting RD (1989) Preserving and using context information in interprocess communication. ACM Trans Comput Syst 7(3): 217–246

    Article  Google Scholar 

  52. Prakash R, Raynal M, Singhal M (1997) An adaptive causal ordering algorithm suited to mobile computing environments. J Parallel Distrib Comput 41(2): 190–204

    Article  Google Scholar 

  53. Raynal M (2010) Communication and agreement abstractions for fault-tolerant asynchronous distributed systems. Synthesis Lectures on Distributed Computing Theory. Morgan and Claypool Publishers,

  54. Raynal M (2013) Distributed algorithms for message-passing systems. Springer

  55. Raynal M, Schiper A, Toueg S (1991) The causal ordering abstraction and a simple way to implement it. Inf Process Lett 39: 343–350

    Article  MathSciNet  MATH  Google Scholar 

  56. Sighireanu M, Chaudet C, Garavel H, Herbert M, Mateescu R, Vivien B (2000) LOTOS NT user manual

  57. Schwarz R, Mattern F (1994) Detecting causal relationships in distributed computations: in search of the holy grail. Distrib Comput 7(3): 149–174

    Article  MATH  Google Scholar 

  58. Tel G (2000) Introduction to distributed algorithms, 2nd edn. Cambridge University Press

  59. Tan W, Fan Y, Zhou M (2009) A Petri net-based method for compatibility analysis and composition of web services in business process execution language. IEEE Trans Autom Sci Eng 6(1): 94–106

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Philippe Quéinnec.

Additional information

Stephan Merz, Jun Pang, and Jin Song Dong

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chevrou, F., Hurault, A. & Quéinnec, P. On the diversity of asynchronous communication. Form Asp Comp 28, 847–879 (2016). https://doi.org/10.1007/s00165-016-0379-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00165-016-0379-x

Keywords

Navigation