MobilityReadingGroup

π-calculus, Session Types research at the University of Oxford

Generalised Multiparty Session Types with Crash-Stop Failures
Adam BARWELL , Alceste SCALAS , Nobuko YOSHIDA , Fangyi ZHOU
33rd International Conference on Concurrency Theory (CONCUR 22). p. 35:1 - 35:25

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 π-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.

@inproceedings{BSYZ2022,
  author = {Adam Barwell and Alceste Scalas and Nobuko Yoshida and Fangyi Zhou},
  title = {{Generalised Multiparty Session Types with Crash-Stop Failures}},
  booktitle = {33rd International Conference on Concurrency Theory},
  series = {LIPIcs},
  volume = {243},
  pages = {35:1--35:25},
  publisher = {Dagstuhl},
  year = 2022
}
@inproceedings{BSYZ2022,
  author = {Adam Barwell and Alceste Scalas and Nobuko Yoshida and Fangyi Zhou},
  title = {{Generalised Multiparty Session Types with Crash-Stop Failures}},
  booktitle = {33rd International Conference on Concurrency Theory},
  series = {LIPIcs},
  volume = {243},
  pages = {35:1--35:25},
  publisher = {Dagstuhl},
  doi = "10.4230/LIPIcs.CONCUR.2022.35",
  year = 2022
}