# Less is more: multiparty session types revisited

@article{Scalas2019LessIM, title={Less is more: multiparty session types revisited}, author={A. Scalas and N. Yoshida}, journal={Proceedings of the ACM on Programming Languages}, year={2019}, volume={3}, pages={1 - 29} }

Multiparty Session Types (MPST) are a typing discipline ensuring that a message-passing process implements a multiparty session protocol, without errors. In this paper, we propose a new, generalised MPST theory. Our contribution is fourfold. (1) We demonstrate that a revision of the theoretical foundations of MPST is necessary: classic MPST have a limited subject reduction property, with inherent restrictions that are easily overlooked, and in previous work have led to flawed type safety proofs… Expand

#### Figures, Tables, and Topics from this paper

#### 40 Citations

A Very Gentle Introduction to Multiparty Session Types

- Computer Science
- ICDCIT
- 2020

This paper provides a very gentle introduction of the simplest version of multiparty session types for readers who are not familiar with session types nor process calculi. Expand

Session Subtyping and Multiparty Compatibility Using Circular Sequents

- Computer Science
- CONCUR
- 2020

We present a structural proof theory for multi-party sessions, exploiting the expressive power of non-commutative logic which can capture explicitly the message sequence order in sessions. The… Expand

Generalising Projection in Asynchronous Multiparty Session Types

- Computer Science
- CONCUR
- 2021

The standard projection operation in MSTs is generalised to allow us to model and type-check many design patterns in distributed systems, such as load balancing, that are rejected by the standard projection. Expand

Precise subtyping for asynchronous multiparty sessions

- Computer Science
- Proc. ACM Program. Lang.
- 2021

A novel session decomposition technique is developed, expressing the subtyping relation as a composition of refinement relations between single input/output trees, and providing a simple reasoning principle for asynchronous message optimisations. Expand

Exploring Type-Level Bisimilarity towards More Expressive Multiparty Session Types

- Computer Science
- ESOP
- 2020

This work presents well-formed conditions for global types that guarantee weak bisimilarity between a global type and its endpoint types and proves their check is decidable, which guarantees deadlock-freedom and absence of protocol violations. Expand

Verifying Asynchronous Interactions via Communicating Session Automata

- Computer Science
- CAV
- 2019

A new asynchronous compatibility property for CSA, called k-multiparty compatibility (k-MC), is introduced, which is a strict superset of the synchronous multiparty compatibility used in theories and tools based on session types. Expand

Implementing Multiparty Session Types in Rust

- Computer Science
- COORDINATION
- 2020

A simplified Amazon Prime Video Streaming protocol is implemented using a library for both shared and distributed communication transports, and an existing library for binary session types is extended to MPST. Expand

Communicating Finite State Machines and an Extensible Toolchain for Multiparty Session Types

- 2021

Multiparty session types (MPST) provide a typing discipline for message passing concurrency, ensuring deadlock freedom for distributed processes. This paper first summarises the relationship between… Expand

Multiparty Session Types for Safe Runtime Adaptation in an Actor Language (Extended version)

- Computer Science
- ECOOP
- 2021

The design and implementation of EnsembleS is presented, the first actor-based language with adaptive features and a static session type system, and the safety of well-typed programs is proved, making essential use of recent advances in non-classical multiparty session types. Expand

Global types with internal delegation

- Computer Science
- Theor. Comput. Sci.
- 2020

A session type system based on global types with internal delegation is presented, and it is shown that it ensures the usual safety properties of multiparty sessions, together with a progress property. Expand

#### References

SHOWING 1-10 OF 77 REFERENCES

Multiparty session types, beyond duality

- Computer Science
- J. Log. Algebraic Methods Program.
- 2018

A novel MPST theory based on a rely/guarantee typing system, that can prove type safety for processes that implement protocols with complex inter-role dependencies, thus sidestepping an intrinsic limitation of “classic” MPST. Expand

A Linear Decomposition of Multiparty Sessions for Safe Distributed Programming

- Computer Science
- ECOOP
- 2017

The first encoding of a full-fledged multiparty session pi-calculus into linear pi-Calculus is developed, using the encoding as the foundation of a practical toolchain for safe multiparty programming in Scala and the implementation is the first to support distributed multiparty delegation. Expand

Parameterised Multiparty Session Types

- Computer Science
- Log. Methods Comput. Sci.
- 2012

A dependent type theory for multiparty sessions which can statically guarantee type-safe, deadlock-free multiparty interactions among processes whose specifications are parameterised by indices is proposed. Expand

Multiparty Session Types Within a Canonical Binary Theory, and Beyond

- Computer Science
- FORTE
- 2016

This work presents the first formal relation between two existing theories of binary and multiparty session types: a binary system rooted in linear logic, and a multiparty system based on automata theory, enabling the analysis of multiparty protocols using a much simpler type theory for binary protocols. Expand

Multiparty Session Types Meet Communicating Automata

- Computer Science
- ESOP
- 2012

A generalised variant of multiparty session types that have a direct semantical correspondence to CFSMs is presented, generalising Gouda et al's work [12] (for two machines) to an arbitrary number of machines. Expand

Multiparty Session Types as Coherence Proofs

- Mathematics, Computer Science
- CONCUR
- 2015

A Curry-Howard correspondence between a language for programming multiparty sessions and a generalisation of Classical Linear Logic, which generalise the cut rule of CLL to a new rule for composing many processes communicating in a multiparty session is proposed. Expand

Coherence Generalises Duality: A Logical Explanation of Multiparty Session Types

- Mathematics, Computer Science
- CONCUR
- 2016

Wadler introduced Classical Processes (CP), a calculus based on a propositions-as-types correspondence between propositions of classical linear logic and session types. Carbone et al. introduced… Expand

Multiparty Asynchronous Session Types

- Computer Science
- J. ACM
- 2016

The theory introduces a new notion of types in which interactions involving multiple peers are directly abstracted as a global scenario, and the fundamental properties of the session type discipline, such as communication safety, progress, and session fidelity, are established. Expand

Undecidability of asynchronous session subtyping

- Computer Science
- Inf. Comput.
- 2017

The (un)decidability of subtyping for session types in asynchronously communicating systems is investigated and it is evince that further restrictions on the structure of types make the core subtyped relation decidable. Expand

Parameterised Multiparty Session Types

- Computer Science
- FoSSaCS
- 2010

A dependent type theory for multiparty sessions which can statically guarantee type-safe, deadlock-free multiparty interactions among processes whose specifications are parameterised by indices is proposed. Expand