License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.CONCUR.2022.35
URN: urn:nbn:de:0030-drops-170982
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2022/17098/
Barwell, Adam D. ;
Scalas, Alceste ;
Yoshida, Nobuko ;
Zhou, Fangyi
Generalised Multiparty Session Types with Crash-Stop Failures
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 π-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.
BibTeX - Entry
@InProceedings{barwell_et_al:LIPIcs.CONCUR.2022.35,
author = {Barwell, Adam D. and Scalas, Alceste and Yoshida, Nobuko and Zhou, Fangyi},
title = {{Generalised Multiparty Session Types with Crash-Stop Failures}},
booktitle = {33rd International Conference on Concurrency Theory (CONCUR 2022)},
pages = {35:1--35:25},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-246-4},
ISSN = {1868-8969},
year = {2022},
volume = {243},
editor = {Klin, Bartek and Lasota, S{\l}awomir and Muscholl, Anca},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2022/17098},
URN = {urn:nbn:de:0030-drops-170982},
doi = {10.4230/LIPIcs.CONCUR.2022.35},
annote = {Keywords: Session Types, Concurrency, Failure Handling, Model Checking}
}