Hubbry Logo
search
logo

Π-calculus

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
Π-calculus

In theoretical computer science, the π-calculus (or pi-calculus) is a process calculus. The π-calculus allows channel names to be communicated along the channels themselves, and in this matter, it is able to describe concurrent computations whose network configuration may change during the computation.

The π-calculus has few terms and is a small, yet expressive language (see § Syntax). Functional programs can be encoded into the π-calculus, and the encoding emphasises the dialogue nature of computation, drawing connections with game semantics. Extensions of the π-calculus, such as the spi calculus and applied π, have been successful in reasoning about cryptographic protocols[citation needed]. Beside the original use in describing concurrent systems, the π-calculus has also been used to reason through business processes, molecular biology. and autonomous agents in artificial intelligence.

The π-calculus belongs to the family of process calculi, mathematical formalisms for describing and analyzing properties of concurrent computation. In fact, the π-calculus, like the λ-calculus, is so minimal that it does not contain primitives such as numbers, booleans, data structures, variables, functions, or even the usual control flow statements (such as if-then-else, while).

Central to the π-calculus is the notion of name. The simplicity of the calculus lies in the dual role that names play as communication channels and variables.

The process constructs available in the calculus are the following (a precise definition is given in the following section):

Although the minimalism of the π-calculus prevents us from writing programs in the normal sense, it is easy to extend the calculus. In particular, it is easy to define both control structures such as recursion, loops and sequential composition and datatypes such as first-order functions, truth values, lists and integers. Moreover, extensions of the π-calculus have been proposed which take into account distribution or public-key cryptography. The applied π-calculus due to Abadi and Fournet [1] put these various extensions on a formal footing by extending the π-calculus with arbitrary datatypes.

Below is a tiny example of a process which consists of three parallel components. The channel name x is only known by the first two components.

The first two components are able to communicate on the channel x, and the name y becomes bound to z. The next step in the process is therefore

See all
User Avatar
No comments yet.