Multiparty session types (MSTs) provide efficient means to specify and verify asynchronous message-passing systems. For a global type, which specifies all interactions between roles in a system, the implementability problem asks whether there are local specifications for all roles such that their composition is deadlock-free and generates precisely the specified executions. Decidability of the implementability problem is an open question. We answer it positively for global types with generalised choice, which allow a sender to send to different receivers and a receiver to receive from different senders upon branching. To achieve this, we generalise results from the domain of high-level message sequence charts (HMSCs). This connection also allows us to comprehensively investigate how HMSC techniques can be adapted to the MST setting. This comprises techniques to make the problem algorithmically more tractable as well as a variant of implementability that may open new design space for MSTs. Inspired by potential performance benefits, we introduce a generalisation of the implementability problem that we, unfortunately, prove to be undecidable.
翻译:多党会话类型( MSTs) 提供了指定和核实非同步电文传递系统的有效手段。 对于一种全球类型,它具体说明了系统中所有角色之间的相互作用,实施问题询问是否所有角色都有当地规格,因此其构成是无僵局的,并精确地产生指定的处决。可执行性问题的可执行性是一个尚未解决的问题。对于具有一般选择的全球性类型,我们给出了积极的答案,允许发送者发送到不同的接收者和接收者,在分支上接收不同的发送者。为了实现这一点,我们概括了高层次电文序列图表(HMSCs)领域的结果。这一连接还使我们能够全面调查HMSC技术如何适应MST的设置。这包括使问题在算法上更易行化的技术,以及可执行性的变种,为MSTs打开新的设计空间。我们受到潜在性能好处的启发,我们引入了可执行性问题的概括性,不幸的是,我们无法确定这一点。