Algebraic Formalisms

  • Carlo A. Furia
  • Dino Mandrioli
  • Angelo Morzenti
  • Matteo Rossi
Part of the Monographs in Theoretical Computer Science. An EATCS Series book series (EATCS)


In this chapter, we describe the fundamental features of process algebras. Process algebras are essentially operational notations that also support some features typical of descriptive notations, such as the possibility to reason about system specifications in a deductive fashion. The presentation in the chapter targets Communicating Sequential Processes (CSP), a popular process algebra, and gradually introduces features that affect its modeling capabilities, with the usual focus on timing behavior according to the dimensions introduced in Chap. 3. The presentation starts with classic CSP and their trace semantics, continues by analyzing finer-grained semantics (such as those based on transition systems), then discusses extensions of CSP supporting the description of quantitative time and of probabilistic behavior, and concludes with a brief overview of verification tools for CSP.


Transition System Parallel Composition Process Algebra Silent Event Communicate Sequential Process 
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.


  1. 1.
    Baeten, J.C.M.: The total order assumption. In: Purushothaman, S., Zwarico, A.E. (eds.) Proceedings of the First North American Process Algebra Workshop (NAPAW’92), Workshops in Computing, pp. 231–240. Springer, London/New York (1993)Google Scholar
  2. 2.
    Baeten, J.C.M.: Over thirty years of process algebra: past, present and future. In: Aceto, L., Ésik, Z., Fokkink, W.J., Ingólfsdóttir, A. (eds.) Process Algebra: Open Problems and Future Directions. BRICS Notes Series, vol. NS–03–3, pp. 7–12 (2003)Google Scholar
  3. 3.
    Baeten, J.C.M.: A brief history of process algebra. Tech. Rep. CSR 04–02, Department of Mathematics and Computer Science, Technische Universiteit Eindhoven (2004)Google Scholar
  4. 4.
    Baeten, J.C.M., Basten, T., Reniers, M.A. (eds.): Process Algebra: Equational Theories of Communicating Processes. Cambridge University Press, Cambridge (2009)Google Scholar
  5. 5.
    Baeten, J.C.M., Middelburg, C.A.: Process Algebra with Timing. Springer, Berlin/New York (2010)Google Scholar
  6. 6.
    Baeten, J.C.M., Weijland, W.P.: Process Algebra. Cambridge Tracts in Theoretical Computer Science, vol. 18. Cambridge University Press, Cambridge/New York (1990)Google Scholar
  7. 7.
    Bekič, H.: Towards a mathematical theory of processes. Tech. Rep. 25.125, IBM Laboratory, Wien (1971). Published in [8]Google Scholar
  8. 8.
    Bekič, H.: Programming languages and their definition. In: Jones, C.B. (ed.) Selected Papers by Hans Bekič. Lecture Notes in Computer Science, vol. 177. Springer (1984)Google Scholar
  9. 9.
    Bergstra, J.A., Klop, J.W.: Fixed point semantics in process algebra. Tech. Rep. IW 208, Mathematical Center, Amsterdam (1982)Google Scholar
  10. 10.
    Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control 60(1–3), 109–137 (1984)Google Scholar
  11. 11.
    Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam/New York (2001)Google Scholar
  12. 12.
    Bolognesi, T., Lucidi, F.: Timed process algebras with urgent interactions and a unique powerful binary operator. In: de Bakker, J.W., Huizing, C., de Roever, W.P., Rozenberg, G. (eds.) Real-Time: Theory in Practice, REX Workshop. Lecture Notes in Computer Science, vol. 600, pp. 124–148. Springer, Berlin/New York (1991)Google Scholar
  13. 13.
    Bowman, H., Gomez, R. (eds.): Concurrency Theory: Calculi and Automata for Modelling Untimed and Timed Concurrent Systems. Springer, London (2010)Google Scholar
  14. 14.
    Brinksma, E. (ed.): Information Processing Systems – Open Systems Interconnection – LOTOS – A Formal Description Technique Based on the Temporal Ordering of Observational Behaviour. ISO (1989). ISO 8807:1989Google Scholar
  15. 15.
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)Google Scholar
  16. 16.
    Cadp: Construction and analysis of distributed processes.
  17. 17.
    Clark, A., Gilmore, S., Hillston, J., Tribastone, M.: Stochastic process algebras. In: Bernardo, M., Hillston, J. (eds.) Formal Methods for Performance Evaluation. Lecture Notes in Computer Science, vol. 4486, pp. 132–179. Springer, Berlin/Heidelberg/New York (2007)Google Scholar
  18. 18.
    D’Argenio, P.R., Katoen, J.P.: A theory of stochastic systems. part II: process algebra. Inf. Comput. 203(1), 39–74 (2005)Google Scholar
  19. 19.
    Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)Google Scholar
  20. 20.
    Dummit, D.S., Foote, R.M.: Abstract Algebra, 3rd edn. Wiley, New York (2003)Google Scholar
  21. 21.
    van Eijk, P.H.J., Vissers, C.A., Diaz, M. (eds.): The Formal Description Technique LOTOS. Elsevier, Amsterdam (1989)Google Scholar
  22. 22.
    FDR2 by formal systems (Europe).
  23. 23.
    Feller, W.: An Introduction to Probability Theory and Its Applications, 3rd edn. Wiley, New York (1968)Google Scholar
  24. 24.
    Fokkink, W.: Introduction to Process Algebra. Springer, Berlin/New York (2000)Google Scholar
  25. 25.
    Hansson, H., Jonsson, B.: A calculus for communicating systems with time and probabitilies. In: IEEE Real-Time Systems Symposium, Lake Buena Vista, pp. 278–287 (1990)Google Scholar
  26. 26.
    Hennessy, M.: Algebraic Theory of Processes. MIT, Cambridge (1988)Google Scholar
  27. 27.
    Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge/New York (1996). Available online at
  28. 28.
    Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666—677 (1978)Google Scholar
  29. 29.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (1985). Updated version available online at
  30. 30.
    LTSA: Labelled transition system analyser.
  31. 31.
    Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. Wiley, Chichester/ New York (1999)Google Scholar
  32. 32.
    Milner, R.: A Calculus of Communicating Systems. Lecture Notes in Computer Science, vol. 92. Springer, Berlin/New York (1980)Google Scholar
  33. 33.
    Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)Google Scholar
  34. 34.
    Milner, R.: Communicating and Mobile Systems: The π-Calculus. Cambridge University Press, Cambridge (1999)Google Scholar
  35. 35.
    Nicollin, X., Sifakis, J.: An overview and synthesis of timed process algebras. In: Larsen, K.G., Skou, A. (eds.) Proceedings of the 3rd International Workshop on Computer Aided Verification (CAV’91). Lecture Notes in Computer Science, vol. 575, pp. 376–398. Springer, Berlin (1991)Google Scholar
  36. 36.
    The Occam language.
  37. 37.
    Ouaknine, J.: Digitisation and full abstraction for dense-time model checking. In: Katoen, J.P., Stevens, P. (eds.) Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’02), Grenoble. Lecture Notes in Computer Science, vol. 2280, pp. 37–51. Springer (2002)Google Scholar
  38. 38.
    Ouaknine, J., Schneider, S.: Timed CSP: a retrospective. Electron. Notes Theor. Comput. Sci. 162, 273–276 (2006)Google Scholar
  39. 39.
    Ouaknine, J., Worrell, J.: Timed CSP = closed timed safety automata. Electron. Notes Theor. Comput. Sci. 68(2), 142–159 (2002)Google Scholar
  40. 40.
    Ouaknine, J., Worrell, J.: Timed CSP = closed timed epsilon-automata. Nord. J. Comput. 10(2), 99–133 (2003)Google Scholar
  41. 41.
    PAT: process analysis toolkit.
  42. 42.
    Pinter, C.C.: A Book of Abstract Algebra, 2nd edn. Dover, Mineola (2010)Google Scholar
  43. 43.
    Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, New York (1997)Google Scholar
  44. 44.
    Schneider, S.: Concurrent and Real-time Systems: The CSP Approach. Wiley, New York/ Chichester (1999). Available online at
  45. 45.
    Schneider, S.: Concurrent and Real-Time Systems: The CSP Approach. Wiley, Chichester/ New York (2000)Google Scholar
  46. 46.
    Seidel, K.: Probabilistic communicating processes. Theor. Comput. Sci. 152(2), 219–249 (1995)Google Scholar
  47. 47.
    Shiryaev, A.N.: Probability, 2nd edn. Springer, Heidelberg (1995)Google Scholar
  48. 48.
    Ulidowski, I., Yuen, S.: Extending process languages with time. In: Johnson, M. (ed.) Proceedings of the 6th International Conference on Algebraic Methodology and Software Technology (AMAST’97), Sydney. Lecture Notes in Computer Science, vol. 1349, pp. 524–538. Springer (1997)Google Scholar
  49. 49.
    Varadhan, S.R.S.: Probability Theory. Courant Institute of Mathematical Sciences, New York (2001)Google Scholar
  50. 50.
    Vissers, C.A., Scollo, G., van Sinderen, M., Brinksma, E.: Specification styles in distributed systems design and verification. Theor. Comput. Sci. 89(1), 179–206 (1991)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Carlo A. Furia
    • 1
  • Dino Mandrioli
    • 2
  • Angelo Morzenti
    • 2
  • Matteo Rossi
    • 2
  1. 1.Department of Computer ScienceZürichSwitzerland
  2. 2.Dipartimento di Elettronica e InformazionePolitecnico di MilanoMilanItaly

Personalised recommendations