3 research outputs found
Fault-Tolerant Multiparty Session Types (Technical Report)
Multiparty session types are designed to abstractly capture the structure of
communication protocols and verify behavioural properties. One important such
property is progress, i.e., the absence of deadlock. Distributed algorithms
often resemble multiparty communication protocols. But proving their
properties, in particular termination that is closely related to progress, can
be elaborate. Since distributed algorithms are often designed to cope with
faults, a first step towards using session types to verify distributed
algorithms is to integrate fault-tolerance.
We extend multiparty session types to cope with system failures such as
unreliable communication and process crashes. Moreover, we augment the
semantics of processes by failure patterns that can be used to represent system
requirements (as, e.g., failure detectors). To illustrate our approach we
analyse a variant of the well-known rotating coordinator algorithm by Chandra
and Toueg. This technical report presents the proofs and some additional
material to extend [30]