Session Types for Link Failures (Technical Report)
Manuel Adameit, Kirstin Peters, Uwe Nestmann

TL;DR
This paper extends multi-party session types with optional blocks to model link failures, enabling automatic proof of termination for fault-tolerant distributed algorithms like the rotating coordinator consensus.
Contribution
It introduces optional blocks into session types to handle link failures, facilitating automated termination proofs for fault-tolerant distributed protocols.
Findings
Successfully proved termination of the rotating coordinator consensus algorithm.
Extended session types to model link failures and ensure progress.
Demonstrated applicability to fault-tolerant distributed algorithms.
Abstract
We strive to use session type technology to prove behavioural properties of fault-tolerant distributed algorithms. Session types are designed to abstractly capture the structure of (even multi-party) communication protocols. The goal of session types is the analysis and verification of the protocols' behavioural properties. One important such property is progress, i.e., the absence of (unintended) deadlock. Distributed algorithms often resemble (compositions of) multi-party communication protocols. In contrast to protocols that are typically studied with session types, they are often designed to cope with system failures. An essential behavioural property is (successful) termination, despite failures, but it is often elaborate to prove for distributed algorithms. We extend multi-party session types (and multi-party session types with nested sessions) by optional blocks that cover a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Optimization and Search Problems · Formal Methods in Verification
