TAPAs: A Tool for the Analysis of Process Algebras

  • Francesco Calzolai
  • Rocco De Nicola
  • Michele Loreti
  • Francesco Tiezzi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5100)


Process algebras are formalisms for modelling concurrent systems that permit mathematical reasoning with respect to a set of desired properties. TAPAs is a tool that can be used to support the use of process algebras to specify and analyze concurrent systems. It does not aim at guaranteeing high performances, but has been developed as a support to teaching. Systems are described as process algebras terms that are then mapped to labelled transition systems (LTSs). Properties are verified either by checking equivalence of concrete and abstract systems descriptions, or by model checking temporal formulae over the obtained LTS. A key feature of TAPAs, that makes it particularly suitable for teaching, is that it maintains a consistent double representation of each system both as a term and as a graph. Another useful didactical feature is the exhibition of counterexamples in case equivalences are not verified or the proposed formulae are not satisfied.


concurrency property verification process algebras bisimulation behavioural equivalences modal logics 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    TAPAs: a Tool for the Analysis of Process Algebras,
  2. 2.
    Alur, R., Henzinger, T.: The NCSU Concurrency Workbench. In: CAV 1996. LNCS, vol. 1102, pp. 394–397. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  3. 3.
    Baeten, J.C.M., Weijland, W.P.: Process algebra. Cambridge Tracts in Theoretical Computer Science, vol. 18. Cambridge University Press, Cambridge (1990)CrossRefzbMATHGoogle Scholar
  4. 4.
    Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60(1-3), 109–137 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Bowman, H., Gomez, R.: Concurrency Theory: Calculi. an Automata for Modelling Untimed and Timed Concurrent Systems. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  6. 6.
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Clarke, E.M., Emerson, E.A.: Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Proceedings of Logic of Programs, pp. 52–71. Springer, Heidelberg (1982)CrossRefGoogle Scholar
  8. 8.
    Cleaveland, R., Madelaine, E., Sims, S.: A front-end generator for verification tools. In: Brinksma, E., Steffen, B., Cleaveland, W.R., Larsen, K.G., Margaria, T. (eds.) TACAS 1995. LNCS, vol. 1019, pp. 153–173. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  9. 9.
    De Nicola, R., Hennessy, M.: Testing equivalences for processes. Theor. Comput. Sci. 34, 83–133 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    De Nicola, R., Vaandrager, F.W.: Action versus state based logics for transition systems. In: Guessarian, I. (ed.) Semantics of Systems of Concurrent Processes. LNCS, vol. 469, pp. 407–419. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  11. 11.
    Fokkink, W.: Introduction to Process Algebra. Springer, Heidelberg (2000)CrossRefzbMATHGoogle Scholar
  12. 12.
    Garavel, H., Lang, F., Mateescu, R.: An overview of CADP 2001. In: European Association for Software Science and Technology (EASST). Newsletter, vol. 4, pp. 13–24 (2002)Google Scholar
  13. 13.
    Hennessy, M., Milner, R.: Algebraic laws for nondeterminism and concurrency. J. ACM 32(1), 137–161 (1985)MathSciNetCrossRefzbMATHGoogle Scholar
  14. 14.
    Hoare, C.A.R.: A model for communicating sequential processes. In: On the Construction of Programs, pp. 229–254. Cambridge University Press, Cambridge (1980)Google Scholar
  15. 15.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)zbMATHGoogle Scholar
  16. 16.
    Kozen, D.: Results on the propositional μ-calculus. Theor. Comput. Sci. 27, 333–354 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. John Wiley and Sons Inc., Chichester (2006)zbMATHGoogle Scholar
  18. 18.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)CrossRefzbMATHGoogle Scholar
  19. 19.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Inc., Upper Saddle River (1989)zbMATHGoogle Scholar
  20. 20.
    Moller, F., Stevens, P.: Edinburgh Concurrency Workbench User Manual,
  21. 21.
    Olderog, E.-R.: Operational Petri net semantics for CCSP. In: Rozenberg, G. (ed.) APN 1987. LNCS, vol. 266, pp. 196–223. Springer, Heidelberg (1987)CrossRefGoogle Scholar
  22. 22.
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  23. 23.
    Schneider, S.A.: Concurrent and Real-Time Systems: The CSP Approach. Wiley & Sons, Chichester (1999)Google Scholar
  24. 24.
    van Glabbeek, R.J., Vaandrager, F.W.: Bundle event structures and CCSP. In: Amadio, R., Lugiez, D. (eds.) CONCUR 2003. LNCS, vol. 2761, pp. 57–71. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  25. 25.
    van Eijk, P.H.J., Vissers, C.A., Diaz, M.: The Formal Description Technique LOTOS. Elsevier Science Publishers B.V., Amsterdam (1989)zbMATHGoogle Scholar
  26. 26.
    van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. J. ACM 43(3), 555–600 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  27. 27.
    Winskel, G.: Topics in Concurrency. Lecture notes, University of Cambridge (2008),

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Francesco Calzolai
    • 1
  • Rocco De Nicola
    • 1
  • Michele Loreti
    • 1
  • Francesco Tiezzi
    • 1
  1. 1.Dipartimento di Sistemi e InformaticaUniversità degli Studi di FirenzeFirenzeItaly

Personalised recommendations