Generalised multiparty session types with crash-stop failures
File(s)LIPIcs-CONCUR-2022-35.pdf (1.11 MB)
Published version
Author(s)
Barwell, Adam
Scalas, Alceste
Yoshida, Nobuko
Zhou, Fangyi
Type
Conference Paper
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 checkers, 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
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 checkers, 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
Date Issued
2022-09-06
Date Acceptance
2022-06-25
Citation
33rd International Conference on Concurrency Theory (CONCUR 2022), 2022, 243, pp.35:1-35:25
ISBN
978-3-95977-246-4
ISSN
1868-8969
Publisher
Schloss Dagstuhl
Start Page
35:1
End Page
35:25
Journal / Book Title
33rd International Conference on Concurrency Theory (CONCUR 2022)
Volume
243
Copyright Statement
© Adam D. Barwell, Alceste Scalas, Nobuko Yoshida, and Fangyi Zhou; licensed under Creative Commons License CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
License URL
Source
International Conference on Concurrency Theory (CONCUR)
Publication Status
Published
Start Date
2022-09-12
Finish Date
2022-09-17
Coverage Spatial
Warsaw, Poland