Encyclopedia of Parallel Computing

2011 Edition
| Editors: David Padua

Pi-Calculus

  • Davide Sangiorgi
  • Davide Sangiorgi
Reference work entry
DOI: https://doi.org/10.1007/978-0-387-09766-4_202

Synonyms

Definition

The π-calculus is a process calculus that models mobile systems, i.e., systems with a dynamically changing communication topology. It refines the constructs of the calculus of communicating systems (CCS) by allowing the exchange of communication links. Ideas from the λ-calculus have also been influential.

Discussion

Introduction

A widely recognized practice for understanding programming languages, be they sequential or concurrent, is to distill small “core languages,” or “calculi,” that embody the essential ingredients of the languages. This is useful to develop the theory of the programming language (e.g., techniques for static analysis, behavioral specification, and verification), to study implementations, to devise new or better programming language constructs.

A well-known calculus in the realm of sequential languages is the λ-calculus. Invented by Church in the 1930s, it is a pure calculus of functions. Everything in the λ-calculus...

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

Bibliography

  1. 1.
    Abadi M, Gordon AD (1999) A calculus for cryptographic protocols: the spi calculus. Inf Comput 148(1):1–70zbMATHMathSciNetGoogle Scholar
  2. 2.
    Blanchet B, Abadi M, Fournet C (2008) Automated verification of selected equivalences for security protocols. J Log Algebr Program 75(1):3–51zbMATHMathSciNetGoogle Scholar
  3. 3.
    Boreale M, De Nicola R (1995) Testing equivalence for mobile processes. Inf Comput 120:279–303zbMATHGoogle Scholar
  4. 4.
    Carbone M, Honda K, Yoshida N (2007) Structured communication-centred programming for web services. In: Proceedings of the ESOP 2007, vol 4421, Lecture Notes in Computer Science. Springer, Heidelberg, pp 2–17, 2007Google Scholar
  5. 5.
    Cardelli L, Gordon AD (1998) Mobile ambients. In: Proceedings of the FoSSaCS’98, vol 1378, Lecture Notes in Computer Science. Springer, Heidelberg, pp 140–155, 1998Google Scholar
  6. 6.
    Fournet C, Gonthier G, Lévy J-J, Maranget L, Rémy D (1996) A calculus of mobile agents. In: Proceedings of the CONCUR’96, vol 1119, Lecture Notes in Computer Science. Springer, Heidelberg, pp 406–421, 1996Google Scholar
  7. 7.
    Fournet C, Gonthier G (2002) The join calculus: a language for distributed mobile programming. In: Summer School APPSEM 2000, vol 2395, Lecture Notes in Computer Science. Springer, Heidelberg, pp 268–332Google Scholar
  8. 8.
    Hennessy M, Riely J (1998) Resource access control in systems of mobile agents. In: Proceedings of the HLCL ’98: High-Level Concurrent Languages, vol 16.3, ENTCS. Elsevier Science, 1998Google Scholar
  9. 9.
    Hennessy M (2007) A distributed pi-calculus. Cambridge University Press, New YorkzbMATHGoogle Scholar
  10. 10.
    Kobayashi N (2006) A new type system for deadlock-free processes. In: Proceedings of the CONCUR’06, vol 4137, Lecture Notes in Computer Science. Springer, Bonn, pp 233–247, 2006Google Scholar
  11. 11.
    Milner R (1999) Communicating and mobile systems: the 14-Calculus. Cambridge University Press, CambridgeGoogle Scholar
  12. 12.
    Milner R, Parrow J, Walker D (1993) A calculus of mobile processes, (Parts I and II). Inf Comput 100:1–77MathSciNetGoogle Scholar
  13. 13.
    Milner R, Parrow J, Walker D (1992) Modal logics for mobile processes. Theor Comput Sci 114:149–171MathSciNetGoogle Scholar
  14. 14.
    Pierce BC, Turner DN (2000) Pict: a programming language based on the pi-calculus. In: Proof, Language and Interaction: Essays in Honour of Robin Milner. MIT Press, CambridgeGoogle Scholar
  15. 15.
    Priami C, Quaglia P, Romanel A (2009) Blenx static and dynamic semantics. In: Proceedings of the CONCUR’09, vol 5710, Lecture Notes in Computer Science. Springer, Bologna, pp 37–52, 2009Google Scholar
  16. 16.
    Regev A, Panina EM, Silverman W, Cardelli L, Shapiro EY (2004) Bioambients: an abstraction for biological compartments. Theor Comput Sci 325(1):141–167zbMATHMathSciNetGoogle Scholar
  17. 17.
    Sangiorgi D (1995) On the bisimulation proof method. In: Proceedings of the MFCS’95, vol 969, Lecture Notes in Computer Science. Springer, pp 479–488, 1995Google Scholar
  18. 18.
    Sangiorgi D, Walker D (2001) The 1​ ∕ ​4-calculus: a theory of mobile processes. Cambridge University Press, CambridgeGoogle Scholar
  19. 19.
    Smolka G (1994) The definition of kernel Oz. Research Report RR-94-23, Deutsches Forschungszentrum für Künstliche Intelligenz, Kaiserslautern, GermanyGoogle Scholar
  20. 20.
    Vasconcelos VT (2009) Fundamentals of session types. In: SFM 2009 School, vol 5569, Lecture Notes in Computer Science. Springer, Heidelberg, pp 158–186Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  • Davide Sangiorgi
    • 1
  • Davide Sangiorgi
    • 1
  1. 1.Dipartimento di Scienze dell’InformazioneUniversita’ di BolognaBolognaItaly