Session types denote message protocols between concurrent processes, allowing a type-safe expression of inter-process communication. Although previous work demonstrate a well-defined notion of subtyping where processes have different perceptions of the protocol, these formulations were limited to linear session types where each channel of communication has a unique provider and client. In this paper, we extend subtyping to shared session types where channels can now have multiple clients instead of a single client. We demonstrate that this generalization can statically capture protocol requirements that span multiple phases of interactions of a client with a shared service provider, something not possible in prior proposals. Moreover, the phases are manifest in the type of the client.
翻译:虽然先前的工作表明,在对协议有不同看法的情况下,对子分类有明确界定的概念,但这些配方限于线性会话类型,每个通信渠道都有独特的提供者和客户。在本文件中,我们把分式扩大到共用会话类型,而现在各渠道可以拥有多个客户而不是单一客户。我们证明,这种概括化可以静态地满足协议要求,这种要求跨越客户与共享服务供应商互动的多个阶段,而以前的建议中则不可能做到这一点。此外,这些阶段还表现在客户的类型上。