Skip to main content
Log in

Automated verification of automata communicating via FIFO and bag buffers

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

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.

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.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. http://convecs.inria.fr/people/Gwen.Salaun/Tools/stabc.zip.

References

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

    Article  MathSciNet  MATH  Google Scholar 

  2. Basu S, Bultan T (2014) Automatic verification of interactions in asynchronous systems with unbounded buffers. In: Proceedings of ASE’14, pp 743–754

  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–18

  4. Barbanera F, van Bakel S, de Liguoro U (2017) Orchestrated session compliance. J Log Algebraic Meth Progr 86(1):30–76

    Article  MathSciNet  MATH  Google Scholar 

  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–492

  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–260

  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–371

  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–296

  9. Milner R (1989) Communication and concurrency. Prentice-Hall, Inc., Upper Saddle River

    MATH  Google Scholar 

  10. van Glabbeek RJ (2001) The linear time–branching time spectrum I, vol 1. Handbook of process algebra. Elsevier, Amsterdam

    MATH  Google Scholar 

  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–387

  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–419

  13. Jancar P, Esparza J, Moller F (1999) Petri nets and regular processes. J Comput Syst Sci 59(3):476–503

    Article  MathSciNet  MATH  Google Scholar 

  14. Finkel A, McKenzie P (1997) Verifying identical communicating processes is undecidable. Theor Comput Sci 174(1–2):217–230

    Article  MathSciNet  MATH  Google Scholar 

  15. Fokkink W (2000) Introduction to process algebra, texts in theoretical computer science. An EATCS series. Springer, Berlin

    Book  Google Scholar 

  16. Jéron T, Jard C (1993) Testing for unboundedness of FIFO channels. Theor Comput Sci 113(1):93–117

    Article  MathSciNet  MATH  Google Scholar 

  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–328

  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–233

  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–195

  20. Fu X, Bultan T, Su J (2004) Analysis of interacting BPEL web services. In: Proceedings of WWW’04, ACM Press, pp 621–630

  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–213

  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–37

    Article  MathSciNet  MATH  Google Scholar 

  23. Bracciali A, Brogi A, Canal C (2005) A formal approach to component adaptation. J Softw Syst 74(1):45–54

    Article  Google Scholar 

  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–77

  25. Brogi A, Popescu R (2006) Automated generation of BPEL adapters. In: Proceedings of ICSOC’06, Vol. 4294 of LNCS, Springer, pp 27–39

  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–55

  27. Canal C, Poizat P, Salaün G (2008) Model-based adaptation of behavioural mismatching components. IEEE Trans Softw Eng 34(4):546–563

    Article  Google Scholar 

  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–34

    Article  Google Scholar 

  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–88

  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–424

  31. Gierds C, Mooij AJ, Wolf K (2012) Reducing adapter synthesis to controller synthesis. IEEE T Serv Comput 5(1):72–85

    Article  Google Scholar 

  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–288

  33. Salaün G, Bultan T, Roohi N (2012) Realizability of choreographies using process algebra encodings. IEEE Trans Serv Comput 5(3):290–304

    Article  Google Scholar 

  34. Bultan T, Ferguson C, Fu X (2009) A tool for choreography analysis using collaboration diagrams. In: Proceedings of ICWS’09, IEEE, pp 856–863

  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–167

  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–253

  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–50

  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–156

  39. Martín JA, Pimentel E (2011) Contracts for security adaptation. J Log Algebr Progr 80(3–5):154–179

    Article  MATH  Google Scholar 

  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–99

  41. Gouda MG, Manning EG, Yu Y-T (1984) On the progress of communications between two finite state machines. Inf Control 63(3):200–216

    Article  MathSciNet  MATH  Google Scholar 

  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–318

  43. Cécé G, Finkel A (2005) Verification of programs with half-duplex communication. Inf Comput 202(2):166–190

    Article  MathSciNet  MATH  Google Scholar 

  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–647

    Article  MathSciNet  MATH  Google Scholar 

  45. Darondeau P, Genest B, Thiagarajan PS, Yang S (2010) Quasi-static scheduling of communicating tasks. Inf Comput 208(10):1154–1168

    Article  MathSciNet  MATH  Google Scholar 

  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–357

  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–465

  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–336

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gwen Salaün.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Akroun, L., Salaün, G. Automated verification of automata communicating via FIFO and bag buffers. Form Methods Syst Des 52, 260–276 (2018). https://doi.org/10.1007/s10703-017-0285-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10703-017-0285-8

Keywords

Navigation