Communicating state machines provide a formal foundation for distributed computation. Unfortunately, they are Turing-complete and, thus, challenging to analyse. In this paper, we classify restrictions on channels which have been proposed to work around the undecidability of verification questions. We compare half-duplex communication, existential B-boundedness, and k-synchronisability. These restrictions do not prevent the communication channels from growing arbitrarily large but still restrict the power of the model. Each restriction gives rise to a set of languages so, for every pair of restrictions, we check whether one subsumes the other or if they are incomparable. We investigate their relationship in two different contexts: first, the one of communicating state machines, and, second, the one of communication protocol specifications using high-level message sequence charts. Surprisingly, these two contexts yield different conclusions. In addition, we integrate multiparty session types, another approach to specify communication protocols, into our classification. We show that multiparty session type languages are half-duplex, existentially 1-bounded, and 1-synchronisable. To~show this result, we provide the first formal embedding of multiparty session types into high-level message sequence charts.
翻译:国家通信机器为分布计算提供了一个正式的基础。 不幸的是,它们是一个不完整的、因此具有分析挑战性的基础。 在本文中,我们对建议围绕核查问题的不可减损性开展工作的渠道进行分类。 我们比较了半重复的通信、存在B-约束性和K-同步性。 这些限制并不妨碍通信渠道任意扩大,但仍然限制模式的力量。 对于每对限制,每一种限制都会产生一套语言,我们检查其中一种语言的子体是分体,还是相互不相容。我们在两种不同的背景下调查了它们之间的关系:第一,是通信国家机器,第二,通信协议规格之一使用高层次信息序列图。令人惊讶的是,这两种环境产生不同的结论。此外,我们把多党会议类型、另一种指定通信协议的方法纳入我们的分类。我们显示多党会议类型语言是半不相近的、存在一面的、以及可同步的。我们为这一结果提供了正式的多党系列会议序列图。