コンピュータサイエンスにおいて、通信有限状態機械とは、いくつかのアルファベットのチャネルを介して「受信」および「送信」操作でラベル付けされた有限状態機械です。これらは Brand と Zafiropulo によって導入され、 [1]ペトリネットのような並行プロセスのモデルとして使用できます。通信有限状態機械は、有界性、デッドロック、未指定の受信などの主要なプロトコル設計エラーを検出できるため、通信プロトコルのモデル化によく使用されます。[2]
通信有限状態機械の利点は、通信プロトコルの多くの特性を、単にそのような特性を検出するレベルを超えて決定できることです。この利点により、人間の支援や一般性の制限の必要性が排除されます。[1]
伝播遅延が無視できない状況(複数のメッセージが同時に送信される可能性がある状況)や、プロトコルの当事者と通信媒体を別々のエンティティとして記述することが自然な状況では、通信有限状態マシンは有限状態マシンよりも強力になる可能性があります。[1]
階層型ステートマシンの通信
階層型ステート マシンは、状態自体が他のマシンになる可能性がある有限ステート マシンです。通信する有限ステート マシンは並行性を特徴とするため、通信する階層型ステート マシンの最も注目すべき特徴は、階層と並行性の共存です。これは、マシン内部のより強力な相互作用を意味するため、非常に適切であると考えられてきました。
しかし、階層性と並行性の共存は、本質的に言語の包含性、言語の同等性、そして普遍性のすべてを犠牲にすることが証明されました。[3]
意味
プロトコル
任意の正の整数に対して、プロセスを持つプロトコル[1] :3は 次の4つから成ります。


は、互いに素な有限集合のシーケンスです。各集合はプロセスを表すために使用され、 の各要素は、 - 番目のプロセスの可能な状態を表します。


( ) は各プロセスの初期状態を表すシーケンスです。
は、各集合がプロセスからプロセスに送信される可能性のあるメッセージを表す、互いに素な有限集合の有限シーケンスです。 の場合、 は空です。





は遷移関数のシーケンスです。各関数は、任意のメッセージを送信または受信することによって実行できる遷移をモデル化します。プロセスに関しては、シンボルは受信できるメッセージと送信できるメッセージを示すために使用されます。
![{\displaystyle [+]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b0583e317cc78da9cf49aa02cd71fa5e6ab6e27c)
![{\displaystyle [-]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/25fa02b41c948a16ec1010ba03c183ef6a16f44c)
グローバル状態
グローバル状態とは、

は、それぞれが - 番目のプロセスの状態を表すような順序付けられた状態の集合です。

は、それぞれがの部分列となるような行列です。


初期のグローバル状態は、


は、すべての に対して、空語 に等しい行列として定義されます。



ステップ
ステップには、メッセージを受信するステップとメッセージを送信するステップの 2 種類があります。
プロセスが、のとき、の形式のペアである。同様に、 のとき、 のプロセス
から のプロセスにメッセージが送信されるペアは、 のとき、 の形式のペアである。 







走る
実行とは、ステップが次のステップに状態を関連付け、最初の状態が初期状態となるようなグローバル状態のシーケンスです。
この状態を通過する実行が存在する場合、
グローバル状態は到達可能であると言われます。
問題点
概念自体の導入により、2 つの有限状態マシンが 1 種類のメッセージのみで通信する場合、有界性、デッドロック、および未指定の受信状態を決定および識別できますが、マシンが 2 種類以上のメッセージで通信する場合はそうではないことが証明されました。その後、1 つの有限状態マシンのみが 1 種類のメッセージで通信し、そのパートナーの通信が制約されていない場合でも、有界性、デッドロック、および未指定の受信状態を決定および識別できることがさらに証明されました。[2]
さらに、メッセージの優先順位関係が空の場合、有限状態機械間の通信において2種類以上のメッセージが存在する状況でも、有界性、デッドロック、未指定の受信状態を決定できることが証明されている。[4]
有界性、デッドロック、および不特定の受信状態はすべて多項式時間で決定可能です(つまり、特定の問題は無限時間ではなく扱いやすい時間で解決できます)。なぜなら、それらに関する決定問題は非決定性対数空間完全だからです。[2]
拡張機能
検討されている拡張機能は次のとおりです。
- 一部の州ではメッセージが受信されない可能性があることを示す注記があること
- メッセージはFILOなどの異なる順序で受信されます。
- 一部のメッセージが失われる場合があります。
チャネルシステム
チャネルシステムは、本質的には、通信する有限状態マシンのバージョンであり、マシンは個別のプロセスに分割されません。したがって、状態は 1 つであり、どのシステムがどのチャネルで読み取り/書き込みできるかに関する制限はありません。
正式には、プロトコル が与えられた場合、それに関連付けられたチャネル システムは であり、 はおよび の集合です。





参考文献
- ^ abcd D. BrandとP. Zafiropulo。通信有限状態マシンについて。Journal of the ACM、30(2):323–342、1983年。
- ^ abc Rosier, Louis E; Gouda, Mohamed G. 通信する有限状態マシンのクラスの進行状況の決定。オースティン:テキサス大学オースティン校、1983年。
- ^ Alur, Rajeev; Kannan, Sampath; Yannakakis, Mihalis. 「階層的状態マシンの通信」、オートマトン、言語、プログラミング。プラハ: ICALP、1999
- ^ Gouda, Mohamed G; Rosier, Louis E. 「優先チャネルによる有限状態マシンの通信」、オートマトン、言語、プログラミング。アントワープ: ICALP、1984