Implementability of Global Distributed Protocols modulo Network Architectures
Elaine Li, Thomas Wies
TL;DR
This work addresses the implementability problem for global protocol specifications when target programs run over diverse network architectures. It introduces Generalized Coherence Conditions (GCC) that are network-parametric, reduces channel-compliance reasoning to a simple buffer-axiom model, and proves soundness and completeness under channel-compliance facts; it also derives complexity results and symbolic algorithms encoded via μ-calculus, implemented in Sprout(A). The approach yields a network-agnostic synthesis pipeline: a global protocol is implementable under a given architecture if and only if its canonical local-projection implementation realizes the architecture-specific asynchronous semantics, enabling modular synthesis across p2p, mailbox, senderbox, monobox, and bag models. Practically, this unifies disparate network models under a single theory, enables efficient automated checking, and broadens the applicability of top-down choreographic methodologies to heterogeneous, networked systems.
Abstract
Global protocols specify distributed, message-passing protocols from a birds-eye view, and are used as a specification for synthesizing local implementations. Implementability asks whether a given global protocol admits a distributed implementation. We present the first comprehensive investigation of global protocol implementability modulo network architectures. We propose a set of network-parametric Coherence Conditions, and exhibit sufficient assumptions under which it precisely characterizes implementability. We further reduce these assumptions to a minimal set of operational axioms describing insert and remove behavior of individual message buffers. Our reduction immediately establishes that five commonly studied asynchronous network architectures, namely peer-to-peer FIFO, mailbox, senderbox, monobox and bag, are instances of our network-parametric result. We use our characterization to derive optimal complexity results for implementability modulo networks, relationships between classes of implementable global protocols, and symbolic algorithms for deciding implementability modulo networks. We implement the latter in the first network-parametric tool Sprout(A), and show that it achieves network generality without sacrificing performance and modularity.
