MAGπ: Types for Failure-Prone Communication

01/25/2023
by   Matthew Alan Le Brun, et al.
0

Multiparty Session Types (MPST) are a typing discipline for communication-centric systems, guaranteeing communication safety, deadlock freedom and protocol compliance. Several works have emerged which model failures and introduce fault-tolerance techniques. However, such works often make assumptions on the underlying network, e.g., TCP-based communication where messages are guaranteed to be delivered; or adopt centralised reliable nodes and an ad-hoc notion of reliability; or only address a single kind of failure, such as node crash failures. In this work, we develop MAGπ – a Multiparty, Asynchronous and Generalised π-calculus, which is the first language and type system to accommodate in unison: (i) the widest range of non-Byzantine faults, including message loss, delays and reordering; crash failures and link failures; and network partitioning; (ii) a novel and most general notion of reliability, taking into account the viewpoint of each participant in the protocol; (iii) a spectrum of network assumptions from the lowest UDP-based network programming to the TCP-based application level. We prove subject reduction and session fidelity; process properties (deadlock freedom, termination, etc.); failure-handling safety and reliability adherence.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/05/2022

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

Session types enable the specification and verification of communicating...
research
02/04/2019

A Session Type System for Asynchronous Unreliable Broadcast Communication

Session types are formal specifications of communication protocols, allo...
research
12/14/2017

Choreographies meet Communication Failures

Choreographies are global descriptions of communication structures, insp...
research
04/16/2022

Fault-Tolerant Multiparty Session Types (Technical Report)

Multiparty session types are designed to abstractly capture the structur...
research
06/13/2018

A Graphical Interactive Debugger for Distributed Systems

Designing and debugging distributed systems is notoriously difficult. Th...
research
12/19/2018

Fault Diagnosis for Distributed Systems using Accuracy Technique

Distributed Systems involve two or more computer systems which may be si...
research
03/18/2021

Zooid: a DSL for Certified Multiparty Computation

We design and implement Zooid, a domain specific language for certified ...

Please sign up or login with your details

Forgot password? Click here to reset