Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The states of the transition systems in the current chapter are not enclosed in circles to accommodate wide labels with process definitions.
- 2.
A congruence is an equivalence relation that is preserved by some operations; for example, if X and Y are equivalent (\(X \equiv Y\)), then the maps of X and Y under any function f are also equivalent (\(f(X) \equiv f(Y )\)).
References
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)
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)
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)
Baeten, J.C.M., Basten, T., Reniers, M.A. (eds.): Process Algebra: Equational Theories of Communicating Processes. Cambridge University Press, Cambridge (2009)
Baeten, J.C.M., Middelburg, C.A.: Process Algebra with Timing. Springer, Berlin/New York (2010)
Baeten, J.C.M., Weijland, W.P.: Process Algebra. Cambridge Tracts in Theoretical Computer Science, vol. 18. Cambridge University Press, Cambridge/New York (1990)
Bekič, H.: Towards a mathematical theory of processes. Tech. Rep. 25.125, IBM Laboratory, Wien (1971). Published in [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)
Bergstra, J.A., Klop, J.W.: Fixed point semantics in process algebra. Tech. Rep. IW 208, Mathematical Center, Amsterdam (1982)
Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control 60(1–3), 109–137 (1984)
Bergstra, J.A., Ponse, A., Smolka, S.A. (eds.): Handbook of Process Algebra. Elsevier, Amsterdam/New York (2001)
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)
Bowman, H., Gomez, R. (eds.): Concurrency Theory: Calculi and Automata for Modelling Untimed and Timed Concurrent Systems. Springer, London (2010)
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:1989
Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. J. ACM 31(3), 560–599 (1984)
Cadp: Construction and analysis of distributed processes. http://www.inrialpes.fr/vasy/cadp/
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)
D’Argenio, P.R., Katoen, J.P.: A theory of stochastic systems. part II: process algebra. Inf. Comput. 203(1), 39–74 (2005)
Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)
Dummit, D.S., Foote, R.M.: Abstract Algebra, 3rd edn. Wiley, New York (2003)
van Eijk, P.H.J., Vissers, C.A., Diaz, M. (eds.): The Formal Description Technique LOTOS. Elsevier, Amsterdam (1989)
FDR2 by formal systems (Europe). http://www.fsel.com
Feller, W.: An Introduction to Probability Theory and Its Applications, 3rd edn. Wiley, New York (1968)
Fokkink, W.: Introduction to Process Algebra. Springer, Berlin/New York (2000)
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)
Hennessy, M.: Algebraic Theory of Processes. MIT, Cambridge (1988)
Hillston, J.: A Compositional Approach to Performance Modelling. Cambridge University Press, Cambridge/New York (1996). Available online at http://www.dcs.ed.ac.uk/pepa/book.pdf
Hoare, C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666—677 (1978)
Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (1985). Updated version available online at http://www.usingcsp.com/
LTSA: Labelled transition system analyser. http://www.doc.ic.ac.uk/ltsa/
Magee, J., Kramer, J.: Concurrency: State Models and Java Programs. Wiley, Chichester/ New York (1999)
Milner, R.: A Calculus of Communicating Systems. Lecture Notes in Computer Science, vol. 92. Springer, Berlin/New York (1980)
Milner, R.: Communication and Concurrency. Prentice Hall, New York (1989)
Milner, R.: Communicating and Mobile Systems: The π-Calculus. Cambridge University Press, Cambridge (1999)
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)
The Occam language. http://www.wotug.org/occam/
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)
Ouaknine, J., Schneider, S.: Timed CSP: a retrospective. Electron. Notes Theor. Comput. Sci. 162, 273–276 (2006)
Ouaknine, J., Worrell, J.: Timed CSP = closed timed safety automata. Electron. Notes Theor. Comput. Sci. 68(2), 142–159 (2002)
Ouaknine, J., Worrell, J.: Timed CSP = closed timed epsilon-automata. Nord. J. Comput. 10(2), 99–133 (2003)
PAT: process analysis toolkit. http://www.comp.nus.edu.sg/~pat/
Pinter, C.C.: A Book of Abstract Algebra, 2nd edn. Dover, Mineola (2010)
Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice-Hall, New York (1997)
Schneider, S.: Concurrent and Real-time Systems: The CSP Approach. Wiley, New York/ Chichester (1999). Available online at http://www.cs.rhul.ac.uk/books/concurrency/
Schneider, S.: Concurrent and Real-Time Systems: The CSP Approach. Wiley, Chichester/ New York (2000)
Seidel, K.: Probabilistic communicating processes. Theor. Comput. Sci. 152(2), 219–249 (1995)
Shiryaev, A.N.: Probability, 2nd edn. Springer, Heidelberg (1995)
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)
Varadhan, S.R.S.: Probability Theory. Courant Institute of Mathematical Sciences, New York (2001)
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)
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Furia, C.A., Mandrioli, D., Morzenti, A., Rossi, M. (2012). Algebraic Formalisms. In: Modeling Time in Computing. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-32332-4_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-32332-4_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-32331-7
Online ISBN: 978-3-642-32332-4
eBook Packages: Computer ScienceComputer Science (R0)