Checking Asynchronously Communicating Components Using Symbolic Transition Systems

  • Olivier Maréchal
  • Pascal Poizat
  • Jean-Claude Royer
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3291)


Explicit behavioural interface description languages (BIDLs, protocols) are now recognized as a mandatory feature of component languages in order to address component reuse, coordination, adaptation and verification issues. Such protocol languages often deal with synchronous communication. However, in the context of distributed systems, components communicating asynchronously through mailboxes are much more relevant. In this paper, we advocate for the use of Symbolic Transition Systems as a protocol language which may deal also with this kind of communication. We then present how this generic formalism, specialized with different mailbox protocols, may be used to address verification issues related to the component mailboxes.


State Machine Mutual Exclusion Label Transition System Process Algebra Synchronous Communication 
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. 1.
    The Fractal Composition Framework (June 2002),
  2. 2.
    Abdulla, P.A., Annichini, A., Bensalem, S., Bouajjani, A., Habermehl, P., Lakhnech, Y.: Verification of infinite-state systems by combining abstraction and reachability analysis. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 146–159. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Aiguier, M., Barbier, F., Poizat, P.: A Logic with Temporal Glue for Mixed Specifications. In: FOCLASA 2003 – Foundations of Coordination Languages and Software Architectures. Electronic Notes in Theoretical Computer Science, vol. 97, pp. 155–174. Springer, Heidelberg (2005)Google Scholar
  4. 4.
    Aldrich, J., Chambers, C., Notkin, D.: ArchJava: connecting software architecture to implementation. In: Proceedings of the 24th International Conference on Software Engineering (ICSE 2002), pp. 187–197. ACM Press, New York (2002)CrossRefGoogle Scholar
  5. 5.
    Allen, R., Douence, R., Garlan, D.: Specifying and Analyzing Dynamic Software Architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, pp. 21–37. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  6. 6.
    Arnold, A., Point, G., Griffault, A., Rauzy, A.: The altarica formalism for describing concurrent systems. FUNDINF: Fundamenta Informatica 34, 109–124 (2000)Google Scholar
  7. 7.
    Arnold, A.: Finite Transition Systems. International Series in Computer Science. Prentice-Hall, Englewood Cliffs (1994)zbMATHGoogle Scholar
  8. 8.
    Astesiano, E., Krieg-Bruckner, B., Kreowski, H.-J. (eds.): Algebraic Foundations of System Specification. IFIP State-of-the-Art Reports. Springer, Heidelberg (1999) ISBN 3-540- 63772-9Google Scholar
  9. 9.
    Attiogbé, C., Poizat, P., Salaün, G.: Integration of Formal Datatypes within State Diagrams. In: FASE 2003 - Fundamental Approaches to Software Engineering, LNCS. vol. 2621, pp. 344–355. Springer, Heidelberg (2003)Google Scholar
  10. 10.
    Baude, F., Caromel, D., Morel, M.: From Distributed Objects to Hierarchical Grid Components. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 1226–1242. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam (2001)zbMATHGoogle Scholar
  12. 12.
    Brand, D., Zafiropulo, P.: On communicating finite-state machines. Journal of the ACM 30(2), 323–342 (1983)zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Calder, M., Maharaj, S., Shankland, C.: A Modal Logic for Full LOTOS Based on Symbolic Transition Systems. The Computer Journal 45(1), 55–61 (2002)zbMATHCrossRefGoogle Scholar
  14. 14.
    Choppy, C., Poizat, P., Royer, J.-C.: A Global Semantics for Views. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 165–180. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  15. 15.
    Choppy, C., Poizat, P., Royer, J.-C.: Formal Specification of Mixed Components with Korrigan. In: Proceedings of the 8th Asia-Pacific Software Engineering Conference, APSEC 2001, pp. 169–176. IEEE, Los Alamitos (2001)CrossRefGoogle Scholar
  16. 16.
    Choppy, C., Poizat, P., Royer, J.-C.: Specification of Mixed Systems in KORRIGAN with the Support of a UML-Inspired Graphical Notation. In: Hussmann, H. (ed.) FASE 2001. LNCS, vol. 2029, pp. 124–139. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  17. 17.
    Emmerich, W., Kaveh, N.: F2: Component technologies: Java beans, COM, CORBA, RMI, EJB and the CORBA component model. In: Gruhn, V. (ed.) Proceedings of the Joint 8th European Software Engeneering Conference and 9th ACM SIGSOFT Symposium on the Foundation of Software Engeneering (ESEC/FSE 2001). SOFTWARE ENGINEERING NOTES, vol. 26(5), pp. 311–312. ACM Press, New York (2001)Google Scholar
  18. 18.
    Griffioen, W.O.D., Korver, H.P.: The bakery protocol:A comparative case-study in formal verification. In: van Vliet, J.C. (ed.) CSN 1995 (Computer Science in the Netherlands). Stichting Mathematisch Centrum, pp. 109–121 (1995)Google Scholar
  19. 19.
    Groote, J.F., Monin, F., van de Pol, J.: Checking Verifications of protocols and Distributed Systems by Computer. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 629–655. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  20. 20.
    Harel, D.: Statecharts: A visual formulation for complex systems. Science of Computer Programming 8(3), 231–274 (1987)zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    Hennessy, M., Lin, H.: Symbolic Bisimulations. Theoretical Computer Science 138(2), 353–389 (1995)zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    Ingolfsdottir, A., Lin, H.: A Symbolic Approach to Value-passing Processes. chapter Handbook of Process Algebra. Elsevier, Amsterdam (2001)Google Scholar
  23. 23.
    Jéron, T., Jard, C.: Testing for unboundedness of fifo channels. Theoretical Computer Science 113, 93–117 (1993)zbMATHCrossRefMathSciNetGoogle Scholar
  24. 24.
    Kalibera, T., Tuma, P.: Distributed Component System Based on Architecture Description: The SOFA Experience. In: Meersman, R., Tari, Z., et al. (eds.) CoopIS 2002, DOA 2002, and ODBASE 2002. LNCS, vol. 2519, pp. 981–994. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  25. 25.
    Leue, S., Mayr, R., Wei, W.: A scalable incomplete test for the boundedness of uml rt models. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 327–341. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  26. 26.
    Luckham, D.C., Kenney, J.L., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using rapide. IEEE Transactions on Software Engineering 21(4), 336–355 (1995)CrossRefGoogle Scholar
  27. 27.
    Maréchal, O., Poizat, P., Royer, J.-C.: Checking Asynchronously Communicating Components Using Symbolic Transition Systems. Technical Report 04-06, Ecoles des Mines de Nantes (2004), extended version of the DOA 2004 paper
  28. 28.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  29. 29.
    Murata, T.: Petri nets: properties, analysis, and applications. Proceedings of the IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  30. 30.
    Noyé, J., Pavel, S., Royer, J.-C.: A PVS Experiment with Asynchronous Communicating Components. In: 17th Workshop on Algebraic Development Techniques, Barcelona, Spain (2004),
  31. 31.
    Poizat, P., Royer, J.-C., Salaün, G.: Formal Methods for Component Description, Coordination and Adaptation. In: WCAT 2004 - Int. Workshop on Coordination and Adaptation Techniques for Software Entities (2004)Google Scholar
  32. 32.
    Romkey, J.: SLIP Protocol Specification. Web document,
  33. 33.
    Royer, J.-C.: The GAT Approach to Specify Mixed Systems. Informatica 27(1), 89–103 (2003)zbMATHMathSciNetGoogle Scholar
  34. 34.
    Royer, J.-C.: A framework for the gat temporal logic. In: ISCA (ed.) Proceedings of the 13th IASSE 2004 Conference (2004)Google Scholar
  35. 35.
    Royer, J.-C., Xu, M.: Analysing Mailboxes of Asynchronous Communicating Components. In: Meersman, R., Tari, Z., Schmidt, D.C. (eds.) CoopIS 2003, DOA 2003, and ODBASE 2003. LNCS, vol. 2888, pp. 1421–1438. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  36. 36.
    von Bochmann, G.: A General Transition Model for Protocols and Communication Services. IEEE Transactions on Communications 28(4), 643–650 (1980)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Olivier Maréchal
    • 1
  • Pascal Poizat
    • 2
  • Jean-Claude Royer
    • 1
  1. 1.OBASCO GroupÉcole des Mines de Nantes INRIANantes Cedex 3
  2. 2.LaMIUMR 8042 CNRS – Université d’Évry Val d’Essonne, Genopole – Tour Évry 2Évry Cedex

Personalised recommendations