[go: up one dir, main page]

Skip to main content

Process Algebras

  • Reference work entry
Encyclopedia of Parallel Computing
  • 504 Accesses

Synonyms

Process calculi; Process description languages

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...

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Bibliography

  1. Abadi M, Gordon AD (1999) A calculus for cryptographic protocols: the spi calculus. Inform Comput 148(1):1–70

    MATH  MathSciNet  Google Scholar 

  2. 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

    Google Scholar 

  3. Agha G (1986) Actors: a model of concurrent computing in distributed systems. MIT Press, Cambridge

    Google Scholar 

  4. Aldini A, Bernardo M, Corradini F (2010) A process algebraic approach to software architecture design. Springer, New York

    MATH  Google Scholar 

  5. Baeten JCM, Weijland WP (1990) Process algebra. Cambridge University Press, Cambridge

    Google Scholar 

  6. Bergstra JA, Klop JW (1984) Process algebra for synchronous communication. Inform Control 60(1–3):109–137

    MATH  MathSciNet  Google Scholar 

  7. Bergstra JA, Ponse A, Smolka SA (eds) (2001) Handbook of process algebra. Elsevier, Amsterdam

    MATH  Google Scholar 

  8. Berry G, Gonthier G (1992) The esterel synchronous programming language: design, semantics, implementation. Sci Comput Program 19(2):87–152

    MATH  Google Scholar 

  9. 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

    Google Scholar 

  10. Bowman H, Gomez R (2006) Concurrency theory: calculi and automata for modelling untimed and timed concurrent systems. Springer, London

    MATH  Google Scholar 

  11. Brookes SD, Hoare CAR, Roscoe AW (1984) A theory of communicating sequential processes. J ACM 31(3):560–599

    MATH  MathSciNet  Google Scholar 

  12. 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

    Google Scholar 

  13. Cardelli L, Gordon AD (2000) Mobile ambients. Theor Comput Sci 240(1):177–213

    MATH  MathSciNet  Google Scholar 

  14. 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

    Google Scholar 

  15. Cleaveland R, Sims S (1996) The ncsu concurrency workbench. In: CAV, Lecture notes in computer science, vol 1102. Springer-Verlag, Heidelberg, pp 394–397

    Google Scholar 

  16. Conway JH (1971) Regular algebra and finite machines. Chapman and Hall, London

    MATH  Google Scholar 

  17. 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

    Google Scholar 

  18. Fokkink W (2000) Introduction to process algebra. Springer-Verlag, Heidelberg

    MATH  Google Scholar 

  19. 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

    Google Scholar 

  20. 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

    Google Scholar 

  21. 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

    Google Scholar 

  22. Gelernter D, Carriero N (1992) Coordination languages and their significance. Commun ACM 35(2):96–107

    Google Scholar 

  23. 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

    Google Scholar 

  24. Hennessy M (1988) Algebraic theory of processes. The MIT Press, Cambridge

    MATH  Google Scholar 

  25. Hennessy M (2007) A distributed pi-calculus. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  26. Hoare CAR (1981) A calculus of total correctness for communicating processes. Sci Comput Program 1(1–2):49–72

    MATH  MathSciNet  Google Scholar 

  27. Hoare CAR (1985) Communicating sequential processes. Prentice-Hall, Upper Saddle River

    MATH  Google Scholar 

  28. Kozen D (1983) Results on the propositional -calculus. Theor Comput Sci 27:333–354

    MATH  MathSciNet  Google Scholar 

  29. Larsen KG, Aceto L, Ingolfsdottir A, Srba J (2007) Reactive systems: modelling, specification and verification. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  30. Mazurkiewicz A (1995) Introduction to trace theory. In: Rozenberg G, Diekert V (ed) The book of traces. World Scientific, Singapore, pp 3–67

    Google Scholar 

  31. Milner R (1980) A calculus of communicating systems. Lecture notes in computer science, vol 92. Springer-Verlag, Heidelberg

    MATH  Google Scholar 

  32. Milner R (1989) Communication and concurrency. Prentice-Hall, Upper Saddle River

    MATH  Google Scholar 

  33. Milner R (1999) Communicating and mobile systems: the pi-calculus. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  34. Milner R (2009) The space and motion of communicating agents. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  35. Moller F, Stevens P (1999) Edinburgh Concurrency Workbench user manual. Available from http://homepages.inf.ed.ac.uk/perdita/cwb/. Accessed January 2011

  36. Olderog ER (1991) Nets, terms and formulas. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  37. Plotkin GD (2004) A structural approach to operational semantics. J Log Algebr Program 60–61:17–139

    MathSciNet  Google Scholar 

  38. Pratt V (1986) Modeling concurrency with partial orders. Int J Parallel Process 1:3371

    Google Scholar 

  39. Reisig W (1985) Petri nets: an introduction. Monographs in theoretical computer science. An EATCS Series, vol 4. Springer-Verlag, Berlin

    Google Scholar 

  40. Roscoe AW (1994) Model-checking csp. In: A classical mind: essays in honour of C.A.R. Hoare. Prentice-Hall, Upper Saddle River

    Google Scholar 

  41. Roscoe AW (1998) The theory and practice of concurrency. Prentice-Hall, Upper Saddle River

    Google Scholar 

  42. Sangiorgi D, Walker D (2001) The π-Calculus: a theory of mobile processes. Cambridge University Press, Cambridge

    Google Scholar 

  43. Schneider SA (1999) Concurrent and real time systems: the CSP approach. John Wiley, Chichester

    Google Scholar 

  44. 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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics