Formal Methods in System Design

, Volume 52, Issue 3, pp 260–276 | Cite as

Automated verification of automata communicating via FIFO and bag buffers

  • Lakhdar Akroun
  • Gwen Salaün


This article presents new results for the automated verification of automata communicating asynchronously via FIFO or bag buffers. The analysis of such systems is possible by comparing bounded asynchronous compositions using equivalence checking. When the composition exhibits the same behavior for a specific buffer bound, the behavior remains the same for larger bounds. This enables one to check temporal properties on the system for that bound and this ensures that the system will preserve them whatever larger bounds are used for buffers. In this article, we present several decidability results and a semi-algorithm for this problem considering FIFO and bag buffers, respectively, as communication model. We also study various equivalence notions used for comparing the bounded asynchronous systems.


Labeled transition systems Asynchronous communication Equivalence checking 


  1. 1.
    Brand D, Zafiropulo P (1983) On communicating finite-state machines. J ACM 30(2):323–342MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Basu S, Bultan T (2014) Automatic verification of interactions in asynchronous systems with unbounded buffers. In: Proceedings of ASE’14, pp 743–754Google Scholar
  3. 3.
    Akroun L, Salaün G, Ye L (2016) Automated analysis of asynchronously communicating systems. In: Proceedings of SPIN’16, Vol. 9641 of LNCS, Springer, pp 1–18Google Scholar
  4. 4.
    Barbanera F, van Bakel S, de Liguoro U (2017) Orchestrated session compliance. J Log Algebraic Meth Progr 86(1):30–76MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Beauxis R, Palamidessi C, Valencia FD (2008) On the asynchronous nature of the asynchronous pi-calculus. In: Concurrency, Graphs and Models, Vol. 5065 of LNCS, Springer, pp 473–492Google Scholar
  6. 6.
    Garavel H, Thivolle D (2009) Verification of GALS Systems by Combining Synchronous Languages and Process Calculi. In: Proceedings of SPIN’09, Vol. 5578 of LNCS, Springer, pp 241–260Google Scholar
  7. 7.
    Ravn AP, Srba J, Vighio S (2011) Modelling and verification of web services business activity protocol. In: Proceedings of TACAS’11, Vol. 6605 of LNCS, Springer, pp 357–371Google Scholar
  8. 8.
    Clemente L, Herbreteau F, Sutre G (2014) Decidable topologies for communicating automata with FIFO and bag channels. In: Proceedings of CONCUR’14, Vol. 8704 of LNCS, Springer, pp 281–296Google Scholar
  9. 9.
    Milner R (1989) Communication and concurrency. Prentice-Hall, Inc., Upper Saddle RiverzbMATHGoogle Scholar
  10. 10.
    van Glabbeek RJ (2001) The linear time–branching time spectrum I, vol 1. Handbook of process algebra. Elsevier, AmsterdamzbMATHGoogle Scholar
  11. 11.
    Garavel H, Lang F, Mateescu R, Serwe W (2011) CADP 2010: A toolbox for the construction and analysis of distributed processes. In: Proceedings of TACAS’11, Vol. 6605 of LNCS, Springer, pp 372–387Google Scholar
  12. 12.
    Nicola RD, Vaandrager FW (1990) Action versus state based logics for transition systems. In: Semantics of concurrency, Vol. 469 of LNCS, Springer, pp 407–419Google Scholar
  13. 13.
    Jancar P, Esparza J, Moller F (1999) Petri nets and regular processes. J Comput Syst Sci 59(3):476–503MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Finkel A, McKenzie P (1997) Verifying identical communicating processes is undecidable. Theor Comput Sci 174(1–2):217–230MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Fokkink W (2000) Introduction to process algebra, texts in theoretical computer science. An EATCS series. Springer, BerlinCrossRefGoogle Scholar
  16. 16.
    Jéron T, Jard C (1993) Testing for unboundedness of FIFO channels. Theor Comput Sci 113(1):93–117MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Ouederni M, Salaün G, Bultan T (2013) Compatibility checking for asynchronously communicating software. In: Proceedings of FACS’13, Vol. 8348 of LNCS, Springer, pp 310–328Google Scholar
  18. 18.
    Leue S, Mayr R, Wei W (2004) A scalable incomplete test for message buffer overflow in promela models. In: Proceedings SPIN’04, Vol. 2989 of LNCS, Springer, pp 216–233Google Scholar
  19. 19.
    Leue S, Stefanescu A, Wei W (2008) dependency analysis for control flow cycles in reactive communicating processes. In: Proceedings of SPIN’08, Vol. 5156 of LNCS, Springer, pp 176–195Google Scholar
  20. 20.
    Fu X, Bultan T, Su J (2004) Analysis of interacting BPEL web services. In: Proceedings of WWW’04, ACM Press, pp 621–630Google Scholar
  21. 21.
    Deniélou PM, Yoshida N (2012) Multiparty session types meet communicating automata. In: Proceedings of ESOP’12, Vol. 7211 of LNCS, Springer, pp 194–213Google Scholar
  22. 22.
    Fu X, Bultan T, Su J (2004) Conversation protocols: a formalism for specification and verification of reactive electronic services. Theor Comput Sci 328(1–2):19–37MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Bracciali A, Brogi A, Canal C (2005) A formal approach to component adaptation. J Softw Syst 74(1):45–54CrossRefGoogle Scholar
  24. 24.
    Canal C, Poizat P, Salaün G (2006) Synchronizing behavioural mismatch in software composition. In: Proceedings of FMOODS’06, Vol. 4037 of LNCS, Springer, pp 63–77Google Scholar
  25. 25.
    Brogi A, Popescu R (2006) Automated generation of BPEL adapters. In: Proceedings of ICSOC’06, Vol. 4294 of LNCS, Springer, pp 27–39Google Scholar
  26. 26.
    Cubo J, Salaün G, Canal C, Pimentel E, Poizat P (2007) A model-based approach to the verification and adaptation of WF/.NET components, In: Proceedings of FACS’07, Vol. 215 of ENTCS, Elsevier, pp 39–55Google Scholar
  27. 27.
    Canal C, Poizat P, Salaün G (2008) Model-based adaptation of behavioural mismatching components. IEEE Trans Softw Eng 34(4):546–563CrossRefGoogle Scholar
  28. 28.
    Cámara J, Martín JA, Salaün G, Canal C, Pimentel E (2010) Semi-automatic specification of behavioural service adaptation contracts. Electr Notes Theor Comput Sci 264(1):19–34CrossRefGoogle Scholar
  29. 29.
    van der Aalst WMP, Mooij AJ, Stahl C, Wolf K (2009) Service interaction: patterns, formalization, and analysis. In: Proceedings of SFM’09, Vol. 5569 of LNCS, Springer, pp 42–88Google Scholar
  30. 30.
    Seguel R, Eshuis R, Grefen PWPJ (2010) Generating minimal protocol adaptors for loosely coupled services. In: Proceedings of ICWS’10, IEEE computer society, pp 417–424Google Scholar
  31. 31.
    Gierds C, Mooij AJ, Wolf K (2012) Reducing adapter synthesis to controller synthesis. IEEE T Serv Comput 5(1):72–85CrossRefGoogle Scholar
  32. 32.
    Bennaceur A, Chilton C, Isberner M, Jonsson B (2013) Automated mediator synthesis: combining behavioural and ontological reasoning. In: Proceedings of SEFM’13, Vol. 8137 of LNCS, Springer, pp 274–288Google Scholar
  33. 33.
    Salaün G, Bultan T, Roohi N (2012) Realizability of choreographies using process algebra encodings. IEEE Trans Serv Comput 5(3):290–304CrossRefGoogle Scholar
  34. 34.
    Bultan T, Ferguson C, Fu X (2009) A tool for choreography analysis using collaboration diagrams. In: Proceedings of ICWS’09, IEEE, pp 856–863Google Scholar
  35. 35.
    Gössler G, Salaün G (2011) Realizability of choreographies for services interacting asynchronously. In: Proceedings of FACS’11, Vol. 7253 of LNCS, Springer, pp 151–167Google Scholar
  36. 36.
    Güdemann M, Salaün G, Ouederni M (2012) Counterexample Guided Synthesis of Monitors for Realizability Enforcement. In: Proceedings of ATVA’12, Vol. 7561 of LNCS, Springer, pp 238–253Google Scholar
  37. 37.
    Salaün G, Bordeaux L, Schaerf M (2004) Describing and reasoning on web services using process algebra. In: Proceedings of ICWS’04, IEEE Computer Society, pp 43–50Google Scholar
  38. 38.
    Poizat P, Salaün G (2007) Adaptation of open component-based systems. In: Proceedings of FMOODS’07, Vol. 4468 of LNCS, Springer, pp 141–156Google Scholar
  39. 39.
    Martín JA, Pimentel E (2011) Contracts for security adaptation. J Log Algebr Progr 80(3–5):154–179CrossRefzbMATHGoogle Scholar
  40. 40.
    Mateescu R, Poizat P, Salaün G (2008) Adaptation of service protocols using process algebra and on-the-fly reduction techniques. In: Proceedings of ICSOC’08, Vol. 5364 of LNCS, Springer, pp 84–99Google Scholar
  41. 41.
    Gouda MG, Manning EG, Yu Y-T (1984) On the progress of communications between two finite state machines. Inf Control 63(3):200–216MathSciNetCrossRefzbMATHGoogle Scholar
  42. 42.
    Abdulla PA, Bouajjani A, Jonsson B (1998) On-the-fly analysis of systems with unbounded, lossy FIFO channels. In: Proceedings CAV’98, Vol. 1427 of LNCS, Springer, pp 305–318Google Scholar
  43. 43.
    Cécé G, Finkel A (2005) Verification of programs with half-duplex communication. Inf Comput 202(2):166–190MathSciNetCrossRefzbMATHGoogle Scholar
  44. 44.
    Genest B, Muscholl A, Seidl H, Zeitoun M (2006) Infinite-state high-level MSCs: model-checking and realizability. J Comput Syst Sci 72(4):617–647MathSciNetCrossRefzbMATHGoogle Scholar
  45. 45.
    Darondeau P, Genest B, Thiagarajan PS, Yang S (2010) Quasi-static scheduling of communicating tasks. Inf Comput 208(10):1154–1168MathSciNetCrossRefzbMATHGoogle Scholar
  46. 46.
    Deniélou PM, Yoshida N (2010) Buffered communication analysis in distributed multiparty sessions. In: Proceedings CONCUR’10, Vol. 6269 of LNCS, Springer, pp 343–357Google Scholar
  47. 47.
    Bouajjani A, Emmi M (2012) Bounded phase analysis of message-passing programs. In: Proceedings of TACAS’12, Vol. 7214 of LNCS, Springer, pp 451–465Google Scholar
  48. 48.
    Canal C, Salaün G (2016) Stability-based adaptation of asynchronously communicating software. In: Proceedings of SEFM’16, Vol. 9763 of LNCS, Springer, pp 321–336Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2017

Authors and Affiliations

  1. 1.Inria, LIG, CNRSUniversity of Grenoble AlpesGrenobleFrance

Personalised recommendations