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

07/05/2022
by   Adam D. Barwell, et al.
0

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.

READ FULL TEXT

page 3

page 4

page 11

page 13

page 17

page 23

page 25

page 33

research
05/10/2023

Designing Asynchronous Multiparty Protocols with Crash-Stop Failures

Session types provide a typing discipline for message-passing systems. H...
research
01/25/2023

MAGπ: Types for Failure-Prone Communication

Multiparty Session Types (MPST) are a typing discipline for communicatio...
research
07/22/2021

Minimal Session Types for the π-calculus (Extended Version)

Session types enable the static verification of message-passing programs...
research
04/29/2021

Assuming Just Enough Fairness to make Session Types Complete for Lock-freedom

We investigate how different fairness assumptions affect results concern...
research
05/13/2021

On the Monitorability of Session Types, in Theory and Practice (Extended Version)

In concurrent and distributed systems, software components are expected ...
research
08/18/2019

Taming Concurrency for Verification Using Multiparty Session Types (Technical Report)

The additional complexity caused by concurrently communicating processes...
research
04/16/2022

Fault-Tolerant Multiparty Session Types (Technical Report)

Multiparty session types are designed to abstractly capture the structur...

Please sign up or login with your details

Forgot password? Click here to reset