通信システム計算 (CCS ) は、 1980 年頃にRobin Milner によって導入されたプロセス計算 であり、その計算を解説した書籍のタイトルでもあります。そのアクションは、正確に 2 つの参加者間の不可分な通信をモデル化します。形式言語には、並列合成、アクション間の加算、およびスコープ制限を記述するためのプリミティブが含まれています。CCS は、デッドロック やライブロック などのシステムの特性の定性的な正しさを評価するのに役立ちます。[ 1 ]
ミルナーによれば、「基本的なコンビネータの選択には、経済性を考慮して慎重に選ばれたとはいえ、決まった規範的な基準は何もない。我々の計算体系を特徴づけるのは、コンビネータの厳密な選択ではなく、解釈と数学的枠組みの選択である」。
言語表現は、ラベル付き遷移システム として解釈される。これらのモデル間では、意味的等価性として双類似性 が用いられる。
構文 アクション名の集合が与えられた場合、CCSプロセスの集合は、次のBNF文法 によって定義されます。
P ::= 0 | 1 。 P 1 | {\displaystyle P::=0\,\,\,|\,\,\,a.P_{1}\,\,\,|\,\,\,} 参照A | P 1 + P 2 | P 1 | P 2 | P 1 [ b / 1 ] | P 1 ∖ 1 {\displaystyle A\,\,\,|\,\,\,P_{1}+P_{2}\,\,\,|\,\,\,P_{1}|P_{2}\,\,\,|\,\,\,P_{1}[b/a]\,\,\,|\,\,\,P_{1}{\バックスラッシュ }a\,\,\,} 構文の構成要素は、上記の順序で次のとおりです。
非活性プロセス 不活性プロセス0 {\displaystyle 0} 有効なCCSプロセスです アクション そのプロセス1 。 P 1 {\displaystyle a.P_{1}} アクションを実行できる1 {\displaystyle a} そしてプロセスが続くP 1 {\displaystyle P_{1}} プロセス識別子 定義するA = d e f P 1 {\displaystyle A{\overset {\underset {\mathrm {def} }{}}{=}}P_{1}} そして、識別子を使用しますA {\displaystyle A} プロセスを参照するP 1 {\displaystyle P_{1}} (識別子を含む可能性がある)A {\displaystyle A} それ自体、つまり再帰的な定義が許可されています。 総和 そのプロセスP 1 + P 2 {\displaystyle P_{1}+P_{2}} プロセスとして進めることができますP 1 {\displaystyle P_{1}} またはプロセスP 2 {\displaystyle P_{2}} 並列構成 P 1 | P 2 {\displaystyle P_{1}|P_{2}} プロセスがP 1 {\displaystyle P_{1}} そしてP 2 {\displaystyle P_{2}} 同時に存在する名称変更 P 1 [ b / 1 ] {\displaystyle P_{1}[b/a]} プロセスはP 1 {\displaystyle P_{1}} すべてのアクションに名前を付ける1 {\displaystyle a} 名前が変更されましたb {\displaystyle b} 制限 P 1 ∖ 1 {\displaystyle P_{1}{\backslash }a} プロセスはP 1 {\displaystyle P_{1}} 行動を起こさずに1 {\displaystyle a}
CCSをベースにしたその他の言語:
CCS類似システムの研究に用いられてきたモデル:
参考文献 ロビン・ミルナー:通信システムの計算 、シュプリンガー・フェルラーク、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。「空間的に明示的な生態モデルのためのプロセス計算におけるシミュレーションと検証」。Scientific Annals of Computer Science 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 .