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}
}
  • A. Scalas, N. Yoshida
  • Published 2019
  • Computer Science
  • Proceedings of the ACM on Programming Languages
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
A Very Gentle Introduction to Multiparty Session Types
TLDR
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
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. TheExpand
Generalising Projection in Asynchronous Multiparty Session Types
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
Multiparty session types (MPST) provide a typing discipline for message passing concurrency, ensuring deadlock freedom for distributed processes. This paper first summarises the relationship betweenExpand
Multiparty Session Types for Safe Runtime Adaptation in an Actor Language (Extended version)
TLDR
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
TLDR
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
...
1
2
3
4
...

References

SHOWING 1-10 OF 77 REFERENCES
Multiparty session types, beyond duality
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
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. introducedExpand
Multiparty Asynchronous Session Types
TLDR
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
TLDR
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
TLDR
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
...
1
2
3
4
5
...