Crash-stop failures in asynchronous multiparty session types

Adam David Barwell*, Ping Hou*, Nobuko Yoshida*, Fangyi Zhou*

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

Abstract

Session types provide a typing discipline for message-passing systems. However, their theory often assumes an ideal world: one in which everything is reliable and without failures. Yet this is in stark contrast with distributed systems in the real world. To address this limitation, we introduce a new asynchronous multiparty session types (MPST) theory with crash-stop failures, where processes may crash arbitrarily and cease to interact after crashing. We augment asynchronous MPST and processes with crash handling branches, and integrate crash-stop failure semantics into types and processes. Our approach requires no user-level syntax extensions for global types, and features a formalisation of global semantics, which captures complex behaviours induced by crashed/crash handling processes. Our new theory covers the entire spectrum, ranging from the ideal world of total reliability to entirely unreliable scenarios where any process may crash, using optional reliability assumptions. Under these assumptions, we demonstrate the sound and complete correspondence between global and local type semantics, which guarantee deadlock-freedom, protocol conformance, and liveness of well-typed processes by construction, even in the presence of crashes.
Original languageEnglish
Article number15526
Pages (from-to)1-71
Number of pages71
JournalLogical Methods in Computer Science
Volume21
Issue number2
DOIs
Publication statusPublished - 18 Apr 2025

Keywords

  • Session types
  • Failure handling
  • Concurrency
  • Session calculus

Fingerprint

Dive into the research topics of 'Crash-stop failures in asynchronous multiparty session types'. Together they form a unique fingerprint.

Cite this