Protocols provide the unifying glue in concurrent and distributed software today; verifying that message-passing programs conform to such governing protocols is important but difficult. Static approaches based on multiparty session types (MPST) use protocols as types to avoid protocol violations and deadlocks in programs. An elusive problem for MPST is to ensure both protocol conformance and deadlock freedom for implementations with interleaved and delegated protocols. We propose a decentralized analysis of multiparty protocols, specified as global types and implemented as interacting processes in an asynchronous $\pi$-calculus. Our solution rests upon two novel notions: router processes and relative types. While router processes use the global type to enable the composition of participant implementations in arbitrary process networks, relative types extract from the global type the intended interactions and dependencies between pairs of participants. In our analysis, processes are typed using APCP, a type system that ensures protocol conformance and deadlock freedom with respect to binary protocols, developed in prior work. Our decentralized, router-based analysis enables the sound and complete transference of protocol conformance and deadlock freedom from APCP to multiparty protocols.
翻译:以多党会议类型为基础的静态方法(MPST)将协议作为类型,以避免违反协议和程序僵局。对于MPST来说,一个难以解决的问题是确保协议的一致和僵局,以便执行中出现互不相干和授权的议定书。我们提议对多党协议进行分散化分析,将其作为全球类型,并作为互动进程在不同步的$pi$-calulus中实施。我们的解决办法取决于两个新颖的概念:路由进程和相对类型。虽然路由进程利用全球类型,使参与者在任意的进程网络中能够参与执行,从全球类型提取的预期互动和参与者对立之间的依赖的相对类型。在我们的分析中,程序使用APCP打字,这是一种类型系统,确保协议的一致和僵局自由,这是在先前工作中开发的。我们分散化、基于路由路由程序进行的分析,使得协议的合规性和僵局自由从APCP转到多党议定书中得以健全和完全转移。