Loading article…
通信システム計算(CCS )は、 1980年頃にロビン・ミルナーによって導入されたプロセス計算であり、その計算を解説した本のタイトルでもある。そのアクションは、正確に2人の参加者間の不可分な通信をモデル化する。形式言語には、並列合成、アクション間の加算、スコープ制限を記述するためのプリミティブが含まれる。CCSは、デッドロックやライブロックなどのシステムの特性の質的正しさを評価するのに役立つ。[1]
ミルナーによれば、「基本的なコンビネータの選択は、経済性に十分配慮して選択されたとはいえ、標準的なものではありません。私たちの計算を特徴づけるのは、コンビネータの正確な選択ではなく、解釈と数学的枠組みの選択です。」
言語表現はラベル付けされた遷移システムとして解釈されます。これらのモデル間では、意味的同値性として 双類似性が使用されます。
構文
アクション名のセットが与えられた場合、CCS プロセスのセットは次のBNF 文法によって定義されます。
構文の各部分は、上記の順序で
- 非アクティブなプロセス
- 非アクティブなプロセスは有効なCCSプロセスである
- アクション
- プロセスはアクションを実行し、プロセスが継続する
- プロセス識別子
- 識別子を使用してプロセスを参照するように記述します(識別子自体を含めることができます。つまり、再帰的な定義が許可されます)。
- 合計
- プロセスは、プロセスとして、またはプロセスとして進行することができる。
- 並列構成
- プロセスと同時存在を伝える
- 名前の変更
- すべてのアクションの名前が次のように変更されたプロセスです。
- 制限
- 行動のないプロセス
関連する計算、モデル、言語
- Tony Hoareによって開発されたCommunicating Sequential Process (CSP) は、CCS と同時期に登場した形式言語です。
- 通信プロセス代数 (ACP) は、 1982年にJan BergstraとJan Willem Klopによって開発され、 CCS と同様のクラスのプロセスについて推論するために公理的なアプローチ (普遍代数のスタイル) を使用します。
- 80 年代後半にRobin Milner、Joachim Parrow、David Walkerによって開発された π 計算は、プロセスが通信チャネルの名前自体を通信できるようにすることで、通信リンクのモビリティによって CCS を拡張します。
- Jane Hillstonによって開発されたPEPA は、指数分布レートと確率的選択の観点からアクティビティのタイミングを導入し、パフォーマンス メトリックを評価できるようにします。
- Vincent Danos、Jean Krivine らによって導入された Reversible Communicating Concurrent Systems (RCCS) は、CCS プロセスの実行に (部分的な) 可逆性を導入します。
CCS をベースにした他の言語:
- 放送システムの微積分
- 時間順序仕様言語(LOTOS)
- 空間明示的生態学的モデルのためのプロセス計算(PALPS)は、確率的選択、場所、場所の属性を備えたCCSの拡張である[2]
- Javaオーケストレーション言語インタプリタエンジン(Jolie)[3]
CCS のようなシステムの研究で使用されてきたモデル:
参考文献
- ロビン・ミルナー:通信システムの計算、Springer Verlag、ISBN 0-387-10235-3。1980年。
- ロビン・ミルナー『コミュニケーションと並行性』、プレンティス・ホール、国際コンピュータサイエンスシリーズ、ISBN 0-13-115007-3、1989年
- ^ Herzog, Ulrich 編 (2007 年 5 月)。「パフォーマンス モデリングにおける大規模状態空間への取り組み」。パフォーマンス評価のための形式手法。コンピュータ サイエンスの講義ノート。第 4486 巻。Springer。pp. 318–370。doi :10.1007/ 978-3-540-72522-0。ISBN 978-3-540-72482-7. 2008年4月12日時点のオリジナルよりアーカイブ。2009年4月21日閲覧。
- ^ A Philippou、M Toro、M Antonaki。空間明示的生態学的モデルのためのプロセス計算におけるシミュレーションと検証。コンピュータサイエンスの科学年報 23 (1)。2014
- ^ Montesi, Fabrizio; Guidi, Claudio; Lucchi, Roberto; Zavattaro, Gianluigi (2007-06-27). 「JOLIE: Java オーケストレーション言語インタープリタ エンジン」. Electronic Notes in Theoretical Computer Science . Combined Proceedings of the Second International Workshop on Coordination and Organization (CoOrg 2006) and the Second International Workshop on Methods and Tools for Coordinating Concurrent, Distributed and Mobile Systems (MTCoord 2006) . 181 : 19–33. doi : 10.1016/j.entcs.2007.01.051 . ISSN 1571-0661.
