元Oxford大学のホーア教授に『並列プロセスモデルの提案』として1978年に考案されて以来、英国を中心に、ヨーロッパで研究、実用が進められてきた。
フォーマルメソッド(※)の一種で、動作モデル(時間によって対象が変化するモデル)を最もシンプルに表現することが出来、また静的なプログラミングといえるオブジェクト指向と組み合わせることによって、開発・動作スピードを飛躍的にアップさせることが出来る。
Ex. Java + CSP = JCSP
Ex. C++ + CSP = C++CSP
フォーマルメソッド=要求仕様を数学的に記述する手法。上流工程の段階で論理的矛盾を検出出来るので、下流での差し戻しを防ぎ、結果的にテスト期間の短縮に繋がる。
プロセス間通信と仮想チャネルを図で表すと、次のようになる。

図の中の一つの円が一つのタスクを表す。
タスクはプロセスに従って階層状に積むことが出来、これによって、プログラムは理解しやすく、またメンテナンスも容易になる。