English

Generalised Multiparty Session Types with Crash-Stop Failures (Technical Report)

Programming Languages 2023-02-22 v3 Logic in Computer Science

Abstract

Session types enable the specification and verification of communicating systems. However, their theory often assumes that processes never fail. To address this limitation, we present a generalised multiparty session type (MPST) theory with crash-stop failures, where processes can crash arbitrarily. Our new theory validates more protocols and processes w.r.t. previous work. We apply minimal syntactic changes to standard session {\pi}-calculus and types: we model crashes and their handling semantically, with a generalised MPST typing system parametric on a behavioural safety property. We cover the spectrum between fully reliable and fully unreliable sessions, via optional reliability assumptions, and prove type safety and protocol conformance in the presence of crash-stop failures. Introducing crash-stop failures has non-trivial consequences: writing correct processes that handle all crash scenarios can be difficult. Yet, our generalised MPST theory allows us to tame this complexity, via model checking, to validate whether a multiparty session satisfies desired behavioural properties, e.g. deadlock-freedom or liveness, even in presence of crashes. We implement our approach using the mCRL2 model checker, and evaluate it with examples extended from the literature.

Keywords

Cite

@article{arxiv.2207.02015,
  title  = {Generalised Multiparty Session Types with Crash-Stop Failures (Technical Report)},
  author = {Adam D. Barwell and Alceste Scalas and Nobuko Yoshida and Fangyi Zhou},
  journal= {arXiv preprint arXiv:2207.02015},
  year   = {2023}
}

Comments

Extended version of paper accepted at CONCUR 2022. This version fixes a missing condition in fairness

R2 v1 2026-06-24T12:14:27.395Z