Skip to main content

Pi-Calculus

  • Reference work entry
Encyclopedia of Parallel Computing

Synonyms

Calculus of mobile processes

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 via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 1,600.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 1,799.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Bibliography

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

    MATH  MathSciNet  Google Scholar 

  2. Blanchet B, Abadi M, Fournet C (2008) Automated verification of selected equivalences for security protocols. J Log Algebr Program 75(1):3–51

    MATH  MathSciNet  Google Scholar 

  3. Boreale M, De Nicola R (1995) Testing equivalence for mobile processes. Inf Comput 120:279–303

    MATH  Google Scholar 

  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, 2007

    Google Scholar 

  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, 1998

    Google Scholar 

  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, 1996

    Google Scholar 

  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–332

    Google Scholar 

  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, 1998

    Google Scholar 

  9. Hennessy M (2007) A distributed pi-calculus. Cambridge University Press, New York

    MATH  Google Scholar 

  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, 2006

    Google Scholar 

  11. Milner R (1999) Communicating and mobile systems: the 14-Calculus. Cambridge University Press, Cambridge

    Google Scholar 

  12. Milner R, Parrow J, Walker D (1993) A calculus of mobile processes, (Parts I and II). Inf Comput 100:1–77

    MathSciNet  Google Scholar 

  13. Milner R, Parrow J, Walker D (1992) Modal logics for mobile processes. Theor Comput Sci 114:149–171

    MathSciNet  Google Scholar 

  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, Cambridge

    Google Scholar 

  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, 2009

    Google Scholar 

  16. Regev A, Panina EM, Silverman W, Cardelli L, Shapiro EY (2004) Bioambients: an abstraction for biological compartments. Theor Comput Sci 325(1):141–167

    MATH  MathSciNet  Google Scholar 

  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, 1995

    Google Scholar 

  18. Sangiorgi D, Walker D (2001) The 1​ ∕ ​4-calculus: a theory of mobile processes. Cambridge University Press, Cambridge

    Google Scholar 

  19. Smolka G (1994) The definition of kernel Oz. Research Report RR-94-23, Deutsches Forschungszentrum für Künstliche Intelligenz, Kaiserslautern, Germany

    Google Scholar 

  20. Vasconcelos VT (2009) Fundamentals of session types. In: SFM 2009 School, vol 5569, Lecture Notes in Computer Science. Springer, Heidelberg, pp 158–186

    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

Sangiorgi, D., Sangiorgi, D. (2011). Pi-Calculus. In: Padua, D. (eds) Encyclopedia of Parallel Computing. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-09766-4_202

Download citation

Publish with us

Policies and ethics