English

MAG$\pi$: Types for Failure-Prone Communication

Programming Languages 2023-01-27 v1

Abstract

Multiparty Session Types (MPST) are a typing discipline for communication-centric systems, guaranteeing communication safety, deadlock freedom and protocol compliance. Several works have emerged which model failures and introduce fault-tolerance techniques. However, such works often make assumptions on the underlying network, e.g., TCP-based communication where messages are guaranteed to be delivered; or adopt centralised reliable nodes and an ad-hoc notion of reliability; or only address a single kind of failure, such as node crash failures. In this work, we develop MAGπ\pi -- a Multiparty, Asynchronous and Generalised π\pi-calculus, which is the first language and type system to accommodate in unison: (i) the widest range of non-Byzantine faults, including message loss, delays and reordering; crash failures and link failures; and network partitioning; (ii) a novel and most general notion of reliability, taking into account the viewpoint of each participant in the protocol; (iii) a spectrum of network assumptions from the lowest UDP-based network programming to the TCP-based application level. We prove subject reduction and session fidelity; process properties (deadlock freedom, termination, etc.); failure-handling safety and reliability adherence.

Keywords

Cite

@article{arxiv.2301.10827,
  title  = {MAG$\pi$: Types for Failure-Prone Communication},
  author = {Matthew Alan Le Brun and Ornela Dardha},
  journal= {arXiv preprint arXiv:2301.10827},
  year   = {2023}
}

Comments

To be published in ESOP'23

R2 v1 2026-06-28T08:20:33.249Z