Synonyms
Definition
Process Algebras are mathematically rigorous languages with well-defined semantics that permit describing and verifying properties of concurrent communicating systems. They can be seen as models of processes, regarded as agents that act and interact continuously with other similar agents and with their common environment. The agents may be real-world objects (even people), or they may be artifacts, embodied perhaps in computer hardware or software systems. Many different approaches (operational, denotational, algebraic) are taken for describing the meaning of processes. However, the operational approach is the reference one. By relying on the so-called Structural Operational Semantics (SOS), labeled transition systems are built and composed by using the different operators of the many different process algebras. Behavioral equivalences are used to abstract from unwanted details and identify those systems that react...
Bibliography
Abadi M, Gordon AD (1999) A calculus for cryptographic protocols: the spi calculus. Inform Comput 148(1):1–70
Aceto L, Gordon AD (eds) (2005) Proceedings of the workshop “Essays on algebraic process calculi” (APC 25), Bertinoro, Italy. Electronic notes in theoretical computer science vol 162. Elsevier, Amsterdam
Agha G (1986) Actors: a model of concurrent computing in distributed systems. MIT Press, Cambridge
Aldini A, Bernardo M, Corradini F (2010) A process algebraic approach to software architecture design. Springer, New York
Baeten JCM, Weijland WP (1990) Process algebra. Cambridge University Press, Cambridge
Bergstra JA, Klop JW (1984) Process algebra for synchronous communication. Inform Control 60(1–3):109–137
Bergstra JA, Ponse A, Smolka SA (eds) (2001) Handbook of process algebra. Elsevier, Amsterdam
Berry G, Gonthier G (1992) The esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2):87–152
Bettini L, Bono V, Nicola R, Ferrari G, Gorla D, Loreti M, Moggi E, Pugliese R, Tuosto E, Venneri B (2003) The klaim project: theory and practice. In: Global computing: programming environments, languages, security and analysis of systems, Lecture notes in computer science, vol 2874. Springer-Verlag, Heidelberg, pp 88–150
Bowman H, Gomez R (2006) Concurrency theory: calculi and automata for modelling untimed and timed concurrent systems. Springer, London
Brookes SD, Hoare CAR, Roscoe AW (1984) A theory of communicating sequential processes. J ACM 31(3):560–599
Calzolai F, De Nicola R, Loreti M, Tiezzi F (2008) Tapas: a tool for the analysis of process algebras. In: Transactions on Petri nets and other models of concurrency, vol 1, pp 54–70
Cardelli L, Gordon AD (2000) Mobile ambients. Theor Comput Sci 240(1):177–213
Clarke EM, Emerson EA (1982) Design and synthesis of synchronization skeletons using branching-time temporal logic. In: Proceedings of logic of programs, Lecture notes in computer science, vol 131. Springer-Verlag, Heidelberg, pp 52–71
Cleaveland R, Sims S (1996) The ncsu concurrency workbench. In: CAV, Lecture notes in computer science, vol 1102. Springer-Verlag, Heidelberg, pp 394–397
Conway JH (1971) Regular algebra and finite machines. Chapman and Hall, London
De Nicola R, Ferrari GL, Pugliese R (1998) Klaim: a kernel language for agents interaction and mobility. IEEE Trans Software Eng 24(5):315–330
Fokkink W (2000) Introduction to process algebra. Springer-Verlag, Heidelberg
Fournet C, Gonthier G (2000) The join calculus: a language for distributed mobile programming. In: Barthe G, Dybjer P, Pinto L, and Saraiva J (eds) APPSEM, Lecture notes in computer science, vol 2395, Springer, Heidelberg, pp 268–332
Gadducci F, Montanari U (2000) The tile model. In: Plotkin G, Stirling C, Tofte M (eds) Proof, language and interaction: essays in honour of Robin Milner. MIT Press, Cambridge, pp 133–166
Garavel H, Lang F, Mateescu R (2002) An overview of CADP 2001. In: European Association for Software Science and Technology (EASST), vol 4. Newsletter, pp 13–24
Gelernter D, Carriero N (1992) Coordination languages and their significance. Commun ACM 35(2):96–107
Groote JF, Mathijssen AHJ, Reniers MA, Usenko YS, van Weerdenburg MJ (2009) Analysis of distributed systems with mcrl2. In: Alexander M, Gardner W (eds) Process algebra for parallel and distributed processing. Chapman Hall, Boca Raton, FL, pp 99–128
Hennessy M (1988) Algebraic theory of processes. The MIT Press, Cambridge
Hennessy M (2007) A distributed pi-calculus. Cambridge University Press, Cambridge
Hoare CAR (1981) A calculus of total correctness for communicating processes. Sci Comput Program 1(1–2):49–72
Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Upper Saddle River
Kozen D (1983) Results on the propositional -calculus. Theor Comput Sci 27:333–354
Larsen KG, Aceto L, Ingolfsdottir A, Srba J (2007) Reactive systems: modelling, specification and verification. Cambridge University Press, Cambridge
Mazurkiewicz A (1995) Introduction to trace theory. In: Rozenberg G, Diekert V (ed) The book of traces. World Scientific, Singapore, pp 3–67
Milner R (1980) A calculus of communicating systems. Lecture notes in computer science, vol 92. Springer-Verlag, Heidelberg
Milner R (1989) Communication and concurrency. Prentice-Hall, Upper Saddle River
Milner R (1999) Communicating and mobile systems: the pi-calculus. Cambridge University Press, Cambridge
Milner R (2009) The space and motion of communicating agents. Cambridge University Press, Cambridge
Moller F, Stevens P (1999) Edinburgh Concurrency Workbench user manual. Available from http://homepages.inf.ed.ac.uk/perdita/cwb/. Accessed January 2011
Olderog ER (1991) Nets, terms and formulas. Cambridge University Press, Cambridge
Plotkin GD (2004) A structural approach to operational semantics. J Log Algebr Program 60–61:17–139
Pratt V (1986) Modeling concurrency with partial orders. Int J Parallel Process 1:3371
Reisig W (1985) Petri nets: an introduction. Monographs in theoretical computer science. An EATCS Series, vol 4. Springer-Verlag, Berlin
Roscoe AW (1994) Model-checking csp. In: A classical mind: essays in honour of C.A.R. Hoare. Prentice-Hall, Upper Saddle River
Roscoe AW (1998) The theory and practice of concurrency. Prentice-Hall, Upper Saddle River
Sangiorgi D, Walker D (2001) The π-Calculus: a theory of mobile processes. Cambridge University Press, Cambridge
Schneider SA (1999) Concurrent and real time systems: the CSP approach. John Wiley, Chichester
Winskel G (1989) An introduction to event structures. In: de Bakker JW, de Roever WP, Rozenberg G (eds) Linear time, branching time and partial order in logics and models for concurrency – Rex workshop, Lecture notes in computer science, vol 354. Springer, Heidelberg, pp 364–397
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media, LLC
About this entry
Cite this entry
De Nicola, R. (2011). Process Algebras. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_450
Download citation
DOI: https://doi.org/10.1007/978-0-387-09766-4_450
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-387-09765-7
Online ISBN: 978-0-387-09766-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering