プロセス計算
ここまで説明した操作は有限の相互作用だけであり、停止しない場合も含む完全な計算を表すには不十分である。再帰(Recursion)操作と複製(Replication)操作は、有限の記述で無限の振る舞いを表せる。再帰は逐次モデルでもよく使われる。複製 ! P {\displaystyle !P} は、可算無限個のプロセス P {\displaystyle {\mathit {P}}} の並列合成を表すと理解できる。
! P = P | ! P {\displaystyle !P=P\vert !P}
相互作用は情報の流れる方向が決まっている場合が多い。すなわち、入力と出力は双対的相互作用プリミティブとして区別される。プロセス計算では一般に入力演算子(例えば x ( v ) {\displaystyle x(v)} )と出力演算子(例えば x ⟨ y ⟩ {\displaystyle x\langle y\rangle } )を定義して、それらを区別する。これらには相互作用点として名前がつけられ(ここでは x {\displaystyle {\mathit {x}}} )、双対的相互作用プリミティブとして同期に使われる。
情報を交換するには、出力プロセスから入力プロセスに情報が流れるということになる。出力プリミティブには送信すべきデータを指定する。 x ⟨ y ⟩ {\displaystyle x\langle y\rangle } の場合、 y {\displaystyle {\mathit {y}}} がそのデータである。同様に入力はデータを受信することを期待し、1つ以上の束縛変数を受信データと置換するためのプレースホルダーとして用いる。 x ( v ) {\displaystyle x(v)} の場合、 v {\displaystyle {\mathit {v}}} がそれである。一回の相互作用で交換できるデータの種類の選択は、個々のプロセス計算の大きな特徴の1つである。