Questions tagged [pi-calculus]

The pi-calculus is a model of concurrency in terms of communication over channels. It allows channel names to be exchanged over channel and thus permits changing network configurations.

The $\pi$-calculus (or pi-calculus) is a model of concurrency in terms of communication over channels. It allows channel names to be exchanged over channel and thus permits changing network configurations. It is one of the most important models of concurrency and has inspired many variants. It is in some ways a successor of with which it shares an inventor (Robin Milner).

Syntax

The pi-calculus models uses channels as primitive elements and describes process states, which are simply called processes.

$$\begin{align*} P ::= &&&\hspace{-1em} \text{process} \\ & 0 && \text{empty process} \\ & P_1 \mid P_2 && \text{parallel composition: \(P_1\) in parallel with \(P_2\)} \\ & !P && \text{replication} \\ & x(y).P && \text{read input on channel \(x\) then run \(P\) with \(y\) bound to the value read} \\ & \bar x\langle y\rangle && \text{write \(y\) on channel \(x\) then run \(P\)} \\ & (\nu x) P && \text{run \(P\) in which \(x\) is a new (fresh) channel name} \\ \end{align*}$$

Processes are defined up to alpha equivalence of channel names.

Semantics

The primary semantics of the $\pi$-calculus uses unlabeled reductions. It is built around the rule that matches an input with an output: $$ \bar x\langle y\rangle.P \mid x(z).Q \longrightarrow P \mid Q[z \leftarrow y] $$ In addition, two processes are considered structurally equivalent if they are expressed in essentially equivalent ways, e.g. $(P \mid Q) \mid R \equiv P \mid (Q \mid R)$.

Another semantics uses a labeled transition system. The labels are actions: an action $\alpha$ is either an input $a(x)$ (read $x$ from channel $a$), an output $\bar a\langle x\rangle$ (write $x$ to channel $a$), or a $\tau$ transition signifying an action with no externally observable effect.

Many notions of bisimilarity exist.

Derivatives

Many calculi have been defined that extend or modify the pi-calculus to model features related to concurrency, such as distribution, mobility, failures, …

References

  • Robin Milner: Communicating and Mobile Systems: The π-calculus; 1999.
  • Davide Sangiorgi and David Walker: The π-calculus: A Theory of Mobile Processes; 2001.
14 questions
7
votes
2 answers

Automaton equivalent of the π calculus?

If Turing Machines are the automata equivalent of the $\lambda$ calculus, what is the automaton equivalent of the $\pi$ calculus? I suppose it would be some class of automata that resembled a Turing Machine, but with support for communication…
BlueBomber
  • 1,337
  • 12
  • 15
6
votes
1 answer

Late and Early Bisimulation

This is a follow up to my earlier questions on coinduction and bisimulation. A relation $R \subseteq S \times S$ on the states of an LTS is a bisimulation iff $\forall (p,q)\in R,$ $$ \begin{array}{l} \text{ if } p \stackrel\alpha\rightarrow…
Dave Clarke
  • 20,345
  • 4
  • 70
  • 114
6
votes
1 answer

Pi Calculus: Restriction necessary for molecular (atomic) action?

In "A Calculus of Mobile Processes, Part 1" [1], Milner et al. give an example for transmitting a pair of values $(u,v)$ from the process $P$ to either $R$ or $Q$ (see page 13). All three processes are assumed to run in parallel. They present…
ftl
  • 243
  • 1
  • 5
5
votes
1 answer

Sequential execution in $\pi$-calculus

I am relatively new to $\pi$-Caculus and have a doubt wrt sequential execution in In $\pi$-Calculus . Does passing of common names over common channels shared between two Agents, represent a sequential execution ? so is the below reduction…
anil keshav
  • 163
  • 4
5
votes
2 answers

Why do some authors not include summation in the $\pi$-Calculus?

In Robin Milner's book "Communicating and Mobile Systems: the $\pi$-Calculus", on page 87, the set of expressions of the $\pi$-Calculus is defined as $$P ::= \sum_{i\in I} \pi_i.P_i\ {\huge|}\ P_1|P_2 \ {\huge|}\ \operatorname{new} a P\ {\huge|}\…
josh
  • 341
  • 1
  • 5
5
votes
1 answer

Are two CCS processes equivalent with respect to weak bisimilarity if and only if they satisfy exactly the same set of HML formulas?

I was skimming this recent paper and I was struck by the following statement: two processes are equivalent with respect to weak bisimilarity if and only if they satisfy exactly the same set of HML formulas I have trouble believing it. I reason…
Tobia Tesan
  • 268
  • 1
  • 9
4
votes
1 answer

Recursion in pi-calculus

In the book by Sangiorgi and Walker ("The $\pi$-calculus: A theory of Mobile Processes"), Subsection 3.2 is devoted to recursion. They state the following constraint (pages 132-133): "The environment is finitary, in the sense that any process…
user251130
  • 83
  • 4
4
votes
1 answer

What is a "name/variable of base type" in applied $\pi$-calculus?

I'm studying the articleVerifying privacy-type properties of electronic voting protocols which uses Applied $\pi$-calculus to formalize voting protocols and verifies some privacy-related properties. In certain parts of the paper they define some…
Bakuriu
  • 807
  • 7
  • 19
3
votes
0 answers

What qualifies the structural relation in the pi calculus as a congruence?

In the pi calculus, there is an equivalence relation between terms that are structurally equivalent and should "act the same", which is usually described as structural congruence rules. For example, the reduction rules are usually described modulo…
paulotorrens
  • 731
  • 3
  • 11
2
votes
1 answer

How exactly does on describe the formal semantics of the Applied $\pi$-Calculus?

In "Mobile Values, New Names, and Secure Communication", Abadí and Fournet describe thet Applied-$\pi$-Calculus. Although I understood a great part of the description of the Applied $\pi$-Calculus, I'm still a bit confused as to what exactly its…
josh
  • 341
  • 1
  • 5
2
votes
1 answer

How to simulate natural number in Pi Calculus

I have some questions about Pi Calculus: How to simulate the natural numbers only with its primitives? It's possible simulate the if else clauses without the sum (+)? A minimal and standart example would be interesting.
DJM_JM
  • 123
  • 3
2
votes
1 answer

Applied $\pi$-calculus: Name binding and if clauses

Assume in the applied pi-calculus we have the following process: $$(\nu n)\overline{c} \langle n \rangle.0 | (\nu n) (c(y).(\text{if n=y then P else Q}))$$ where $P$ and $Q$ are further processes. I know that the following reduction semantic holds…
CSStudent
  • 21
  • 1
1
vote
1 answer

Is the Choice operator implementable on $\pi$-calculus?

I was reading about $\pi$-calculus, and some authors include in the basic operations a Choice operator $P \oplus Q$ which means that either $P$ or $Q$ will be executed, but not both. On page 8 of "Applied $\pi$ - an introduction" (available on…
Pufe
  • 113
  • 3
0
votes
0 answers

Where can I find a list of logics with their corresponding calculus and computation phenomena?

I was watching some lectures by Prof. Pfenning on Proof Theory. Between 5:30 and 15:00, he gave a list for some different kinds of judgments along with their calculus and computation phenomena that they can represent or model. I am looking for a…