Multiparty session types (MPST) are a specification and verification framework for distributed message-passing systems. The communication protocol of the system is specified as a global type, from which a collection of local types (local process implementations) is obtained by endpoint projection. A global type is a single disciplining entity for the whole system, specified by one designer that has full knowledge of the communication protocol. On the other hand, distributed systems are often described in terms of their components: a different designer is in charge of providing a subprotocol for each component. The problem of modular specification of global protocols has been addressed in the literature, but the state of the art focuses only on dual input/output compatibility. Our work overcomes this limitation. We propose the first MPST theory of multiparty compositionality for distributed protocol specification that is semantics-preserving, allows the composition of two or more components, and retains full MPST expressiveness. We introduce hybrid types for describing subprotocols interacting with each other, define a novel compatibility relation, explicitly describe an algorithm for composing multiple subprotocols into a well-formed global type, and prove that compositionality preserves projection, thus retaining semantic guarantees, such as liveness and deadlock freedom. Finally, we test our work against real-world case studies and we smoothly extend our novel compatibility to MPST with delegation and explicit connections.
翻译:多党会话类型(MPST)是分布式电文传递系统的一个规格和核查框架。该系统的通信协议被指定为全球类型,通过端点预测获得当地类型(本地程序实施)的集合。全球类型是整个系统单一的监管实体,由一位完全了解通信协议的设计师指定。另一方面,分布式系统通常以其组成部分来描述:不同的设计师负责为每个组成部分提供子程序。全球协议模块规格的问题已在文献中述及,但最新状态仅侧重于双重投入/产出兼容性。我们的工作克服了这一限制。我们提出了第一个MPST的多党构成理论,用于分布式协议规范,该规范由一位完全了解通信协议协议协议协议的一位设计师指定。允许两个或两个以上组成部分的构成,并保留了全方位的MPST的表达性。我们引入混合型描述子程序相互互动的描述,定义了新的兼容性关系,明确描述将多个子程序配置成一个完善型全球类型,但是艺术状态仅侧重于双重投入/产出的兼容性。我们的工作克服了这一限制。我们提出的多党的多党制构成和稳定性,最后检验了我们真实的僵化的僵化的僵化案例。