プロセス計算
プロセス計算を定義するには、通信手段を提供することを目的とした「名前(name)」または「通信路(channel)」を始点とする。多くの実装で、通信路内には効率向上のための複雑な構造があるが、理論モデルではそれらは抽象化によって消え去る。名前に加えて、古いプロセスから新たなプロセスを形成する手段が必要である。そして、以下のような演算子が一般に存在する。
プロセス群の並列合成(parallel composition)
データの送受信にどの通信路を使うかの指定
相互作用の逐次化
相互作用点の隠蔽
再帰またはプロセス複製
20世紀前半、非形式的な概念だった「計算可能関数」を表現する形式手法として、μ再帰関数、チューリングマシン、ラムダ計算などが提案された。これらは相互に変換可能であり、等価であることから、チャーチ=チューリングのテーゼが提唱された。もう1つの特徴はあまり言及されない。これらはいずれも「逐次的」計算のモデルだったのである。計算機科学の次の段階の発展において、並行性と通信を明確に表現できる計算の記法の確立が必要とされた。そのような状況で生まれたのが、プロセス計算、ペトリネット、アクターモデルなどの並行性モデルである。
プロセス計算の研究は、ロビン・ミルナーが1973年から1980年にかけて行った Calculus of Communicating Systems (CCS) の研究が最初であった。アントニー・ホーアの Communicating Sequential Processes (CSP) は1978年に発表され、そこから1980年代初めにかけて完全なプロセス計算の研究が行われた。CCS と CSP をさらに発展させようという研究も行われた。1982年、Jan Bergstra と Jan Willem Klop は後に Algebra of Communicating Processes (ACP) と呼ばれるものの研究を開始し、「プロセス代数(Process algebra)」という用語を生み出した。CCS と CSP と ACP がプロセス計算のファミリーを形成し、その後の様々なプロセス計算の源流となっている。