Table of Contents
Fetching ...

Asynchronous Global Protocols, Precisely: Full Proofs

Kai Pischke, Jake Masters, Nobuko Yoshida

TL;DR

This work tackles asynchronous multiparty session types by introducing a top-down framework that starts from a global protocol $G$, projects to local types, and refines them via precise asynchronous subtyping $\le_{a}$ to obtain optimized local types. The core innovation is an association between typing contexts and global types, proven to be sound and complete with respect to the operational semantics, enabling transfer of main theorems from bottom-up (local-types-based) MPST to the top-down (global-based) MPST. The authors establish a coinductive full merging projection for asynchronous settings, define a robust semantics for global types and typing contexts, and prove subject reduction and session fidelity for the top-down system via this association. They also introduce balanced^+ global types to ensure liveness and safety in the presence of en-route messages, and demonstrate that associated contexts are live, safe, and deadlock-free. Overall, the paper provides a rigorous bridge between global specifications and optimised local implementations, with formal guarantees that support reasoning about asynchronous MPST in distributed systems and potential for practical toolchains and verification.

Abstract

Asynchronous multiparty session types are a type-based framework which ensure the compatibility of components in a distributed system by checking compliance against a specified global protocol. We propose a top-down approach, starting with the global protocol which is then projected into a set of local specifications. Next, we use an asynchronous refinement relation, precise asynchronous multiparty subtyping, to enable local specifications to be optimised by permuting actions within individual asynchronous components. This supports local reasoning, as each component can be independently developed and refined in isolation, before being integrated into a larger system. We show that this methodology guarantees both type soundness and liveness of the collection of optimised components. In this article, we first propose new operational semantics of global protocols which capture sound optimisations in the context of asynchronous message-passing. Next we define an asynchronous association between global protocols and a set of optimised local types. Thirdly, we prove, for the first time, the correctness of the most expressive endpoint projection in the literature, coinductive full merging projection. We then show the main theorems of this article: soundness and completeness of the operational correspondence of the asynchronous association. As a consequence, the association acts as an invariant that can be used to transfer key theorems from the bottom-up system to the top-down system. In particular, we used this to prove type soundness, session-fidelity, deadlock-freedom and liveness of the collection of optimised endpoints.

Asynchronous Global Protocols, Precisely: Full Proofs

TL;DR

This work tackles asynchronous multiparty session types by introducing a top-down framework that starts from a global protocol , projects to local types, and refines them via precise asynchronous subtyping to obtain optimized local types. The core innovation is an association between typing contexts and global types, proven to be sound and complete with respect to the operational semantics, enabling transfer of main theorems from bottom-up (local-types-based) MPST to the top-down (global-based) MPST. The authors establish a coinductive full merging projection for asynchronous settings, define a robust semantics for global types and typing contexts, and prove subject reduction and session fidelity for the top-down system via this association. They also introduce balanced^+ global types to ensure liveness and safety in the presence of en-route messages, and demonstrate that associated contexts are live, safe, and deadlock-free. Overall, the paper provides a rigorous bridge between global specifications and optimised local implementations, with formal guarantees that support reasoning about asynchronous MPST in distributed systems and potential for practical toolchains and verification.

Abstract

Asynchronous multiparty session types are a type-based framework which ensure the compatibility of components in a distributed system by checking compliance against a specified global protocol. We propose a top-down approach, starting with the global protocol which is then projected into a set of local specifications. Next, we use an asynchronous refinement relation, precise asynchronous multiparty subtyping, to enable local specifications to be optimised by permuting actions within individual asynchronous components. This supports local reasoning, as each component can be independently developed and refined in isolation, before being integrated into a larger system. We show that this methodology guarantees both type soundness and liveness of the collection of optimised components. In this article, we first propose new operational semantics of global protocols which capture sound optimisations in the context of asynchronous message-passing. Next we define an asynchronous association between global protocols and a set of optimised local types. Thirdly, we prove, for the first time, the correctness of the most expressive endpoint projection in the literature, coinductive full merging projection. We then show the main theorems of this article: soundness and completeness of the operational correspondence of the asynchronous association. As a consequence, the association acts as an invariant that can be used to transfer key theorems from the bottom-up system to the top-down system. In particular, we used this to prove type soundness, session-fidelity, deadlock-freedom and liveness of the collection of optimised endpoints.

Paper Structure

This paper contains 32 sections, 40 theorems, 62 equations, 9 figures.

Key Result

Lemma 1

If ${\color{black}\operatorname{unf}\!\left({{\color{stColor} T'}\xspace}\right)} = {\color{stColor}\mathbf{end}}\xspace$ and ${\color{stColor} T'}\xspace\mathrel{{\color{stColor}\leqslant_{\text{a}}}\xspace} {\color{stColor} T}\xspace$, then ${\color{black}\operatorname{unf}\!\left({{\color{stCo

Figures (9)

  • Figure 1: Top-down methodology of multiparty session types. ${\color{gtColor} G}\xspace$ denotes a global type, which is projected into the three participants, ${\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{p}}}}\xspace}$, ${\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{q}}}}\xspace}$ and ${\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{r}}}}\xspace}$, generating local types ${\color{stColor} T}\xspace_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{p}}}}\xspace}}$, ${\color{stColor} T}\xspace_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{q}}}}\xspace}}$ and ${\color{stColor} T}\xspace_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{r}}}}\xspace}}$ for each participant. Local types are then refined to ${\color{stColor}T_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{p}}}}\xspace}}^{\text{\tiny opt}}}\xspace$, ${\color{stColor}T_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{q}}}}\xspace}}^{\text{\tiny opt}}}\xspace$ and ${\color{stColor}T_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{r}}}}\xspace}}^{\text{\tiny opt}}}\xspace$. Three distributed programs $P_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{p}}}}\xspace}}$, $P_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{q}}}}\xspace}}$ and $P_{ {\color{roleColor}{\boldsymbol{{\color{roleColor}\mathtt{r}}}}\xspace}}$ follow.
  • Figure 2: Message sequence chart for ${\color{gtColor} G}\xspace$ (one unfolding of $\mu {\color{gtColor} {\color{gtColor}\mathbf{t}}\xspace}\xspace$).
  • Figure 3: Ring protocol: Projected and optimised interactions (from CutnerYoshida21)
  • Figure 4: Syntax of types.
  • Figure 5: Global type transition rules.
  • ...and 4 more figures

Theorems & Definitions (106)

  • definition 1: Queue Equivalence GPPSY2023
  • definition 2: Unfolding
  • definition 3: Role Functions
  • definition 4: Global Type Projection
  • definition 5: Subtyping
  • Lemma 1: End Subtyping
  • proof
  • Lemma 2: Reflexivity and Transitivity of Subtyping, Lemma 3.8 in Ghilezan et al. GPPSY2023
  • definition 6: Transition Labels
  • definition 7: Global Type Transitions
  • ...and 96 more