🤖 AI Summary
This paper investigates realizability and complementability of global types in multiparty session types (MPST): realizability asks whether the projection of a global type yields precisely its intended local behaviors; complementability asks whether a global type exists whose projection describes complementary local behaviors. We first establish that realizability implies complementability and construct a global-type complement with linear blowup. For point-to-point communication, we devise a PSPACE algorithm to decide whether a complementary global type is realizable. In the synchronous model, we prove that all realizable global types are necessarily complementable. Our work integrates formal type theory, projection semantics, constructive complementation, and complexity analysis to unify the relationship between these two fundamental properties. The results provide both theoretical foundations and algorithmic support for completeness verification and protocol synthesis in MPST.
📝 Abstract
Multiparty session types (MPST) are a type-based approach for specifying message-passing distributed systems. They rely on the notion of global type specifying the global behaviour and local types, which are the projections of the global behaviour onto each local participant. An essential property of global types is realisability, i.e., whether the composition of the local behaviours conforms to those specified by the global type. We explore how realisability of MPST relates to their complementability, i.e., whether there exists a global type that describes the complementary behaviour of the original global type. First, we show that if a global type is realisable with p2p communications, then it is realisable with synchronous communications. Second, we show that if a global type is realisable in the synchronous model, then it is complementable, in the sense that there exists a global type that describes the complementary behaviour of the original global type. Third, we give an algorithm to decide whether a complementable global type, given with an explicit complement, is realisable in p2p. The algorithm is PSPACE in the size of the global type and its complement. As a side contribution, we propose a complementation construction for global types with sender-driven choice with a linear blowup in the size of the global type.