一句话:系统比较多参与方会话类型的自顶向下与自底向上工作流,建立类型图算法并给出子类型、投影、推理与性质检查的复杂度。
多参与方会话类型(MPST)包含自顶向下与自底向上两类工作流:前者从全局类型投影并检查各端点,后者从各参与者推断端点类型并检查类型上下文性质。本文系统比较二者复杂度,并用类型图表示补全缺失算法:提出基于类型图的子类型系统,将子类型检查从指数级改进为二次;分析四种端点投影,为带完全合并的余归纳投影给出可靠且完备的 PSPACE 算法;在自底向上方向提出从 MPST 进程推断最小类型图的系统,并证明类型上下文性质检查为 PSPACE 难,给出非确定性与确定性算法。最后汇总总复杂度,发现自顶向下在多数实际情形更高效,自底向上的活跃性检查复杂度最高,类型推断相对进程规模为指数。
Multiparty session types (MPST) provide a type discipline for ensuring communication safety, deadlockfreedom and liveness for multiple concurrently running participants. The original formulation of MPST takes the top-down approach, where a global type specifies a bird’s eye view of the intended interactions between participants, and each distributed process is locally type-checked against its end-point projection. A more recent one takes the bottom-up approach, where a desired property 𝜑 of a set of participants is ensured if the same property 𝜑 is true for an ensemble of end-point types (a typing context) inferred from each participant. This paper compares these two main procedures of MPST, giving their detailed complexity analyses. To this aim, we build several new algorithms missing from the bottom-up or top-down workflows by using graph representation of session types (type graphs). We first propose a subtyping system based on type graphs, offering more efficient (quadratic) subtype-checking than the existing (exponential) inductive algorithm by Ghilezan et al. Next for the top-down, we measure complexity of the four end-point projections in the literature. For the coinductive projection with full merging, we build a new sound and complete PSPACE-algorithm using type graphs. For bottom-up, we develop a novel type inference system from MPST processes which generates minimum type graphs, succinctly capturing covariance of internal choice and contravariance of external choice. For property-checking of typing contexts, we achieve PSPACE-hardness by reducing it from the quantified Boolean formula (QBF) problem, and build nondeterministic algorithms that search for counterexamples to prove membership in PSPACE. We also present deterministic analogues of these algorithms that run in exponential time. Finally, we calculate the total complexity of the top-down and the bottom-up approaches. Our analyses reveal that the top-down based on global types is more efficient than the bottom-up in many realistic cases; liveness checking for typing contexts in the bottom-up has the highest complexity; and the type inference costs exponential against the size of a process, which impacts the total complexity.
@article{paperbot3242,
title = {Top-Down or Bottom-Up? Complexity Analyses of Synchronous Multiparty Session Types},
author = {Thien Udomsrirungruang and Nobuko Yoshida},
journal = {Proceedings of the ACM on Programming Languages},
volume = {9},
number = {POPL},
year = {2025},
doi = {10.1145/3704872}
}