Multiparty Session Programming with Global Protocol Combinators
Multiparty Session Types (MPST) is a typing discipline for communication protocols. It ensures the absence of communication errors and deadlocks for well-typed communicating processes. The state-of-the-art implementations of the MPST theory rely on (1) runtime linearity checks to ensure correct usag...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Multiparty Session Types (MPST) is a typing discipline for communication
protocols. It ensures the absence of communication errors and deadlocks for
well-typed communicating processes. The state-of-the-art implementations of the
MPST theory rely on (1) runtime linearity checks to ensure correct usage of
communication channels and (2) external domain-specific languages for
specifying and verifying multiparty protocols. To overcome these limitations,
we propose a library for programming with global combinators -- a set of
functions for writing and verifying multiparty protocols in OCaml. Local
behaviours for all processes in a protocol are inferred at once from a global
combinator. We formalise global combinators and prove a sound realisability of
global combinators -- a well-typed global combinator derives a set of local
types, by which typed endpoint programs can ensure type and communication
safety. Our approach enables fully-static verification and implementation of
the whole protocol, from the protocol specification to the process
implementations, to happen in the same language. We compare our implementation
to untyped and continuation-passing style implementations, and demonstrate its
expressiveness by implementing a plethora of protocols. We show our library can
interoperate with existing libraries and services, implementing DNS (Domain
Name Service) protocol and the OAuth (Open Authentication) protocol. |
---|---|
DOI: | 10.48550/arxiv.2005.06333 |