A Sound Algorithm for Asynchronous Session Subtyping and its Implementation

@article{Bravetti2019ASA,
  title={A Sound Algorithm for Asynchronous Session Subtyping and its Implementation},
  author={Mario Bravetti and Marco Carbone and Julien Lange and Nobuko Yoshida and Gianluigi Zavattaro},
  journal={Log. Methods Comput. Sci.},
  year={2019},
  volume={17}
}
Session types, types for structuring communication between endpoints in distributed systems, are recently being integrated into mainstream programming languages. In practice, a very important notion for dealing with such types is that of subtyping, since it allows for typing larger classes of system, where a program has not precisely the expected behaviour but a similar one. Unfortunately, recent work has shown that subtyping for session types in an asynchronous setting is undecidable. To cope… 

Figures from this paper

Deadlock-free asynchronous message reordering in rust with multiparty session types

This work presents Rumpsteak: a new Rust framework based on multiparty session types, and proposes a novel algorithm for asynchronous subtyping that is both sound and decidable for deadlock-freedom in Rust.

A Session Subtyping Tool

The aim of this paper and of the tool presented therein is to make the growing body of knowledge about asynchronous session subtyping more accessible, thus promoting its integration in practical applications of session types.

A Session Subtyping Tool (Extended Version)

The aim of this paper and of the tool presented therein is to make the growing body of knowledge about asynchronous session subtyping more accessible, thus promoting its integration in practical applications of session types.

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

The relationship between MPST and communicating finite state machines (CFSMs) is summarised, which offers not only theoretical justifications of MPST but also a guidance to implement MPST in practice.

Deconfined Global Types for Asynchronous Sessions

This type system improves the state-of-the-art by typing all asynchronous sessions and preserving the key properties of Subject Reduction, Session Fidelity and Progress when some well-formedness conditions are satisfied.

References

SHOWING 1-10 OF 44 REFERENCES

Undecidability of asynchronous session subtyping

Verifying Asynchronous Interactions via Communicating Session Automata

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.

On the boundary between decidability and undecidability of asynchronous session subtyping

On the Preciseness of Subtyping in Session Types

This paper formalises preciseness (i.e. both soundness and completeness) of subtyping for mobile processes and studies it for the synchronous and the asynchronous session calculi and proposes an asynchronous subtyped system which is sound and complete for the asynchronous calculus.

Fair Refinement for Asynchronous Session Types

This work proposes a novel variant of session subtyping that leverages the notion of controllability from service contract theory and that is a sound characterisation of fair refinement, and presents a sound algorithm, and its implementation, which deals with examples that feature potentially unbounded buffering.

Asynchronous session subtyping as communicating automata refinement

This work shows the existence of a fully abstract interpretation of session types into a fragment of contracts that maps session subtyping into binary compliance-preserving CFSMs/behavioural contract refinement.

Precise subtyping for asynchronous multiparty sessions

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.

Axiomatizing Maximal Progress and Discrete Time

This work provides a complete axiomatization for a basic process algebra with priority and (unguarded) recursion and shows that, when the setting is extended by considering static operators of a discrete time calculus, an axiom atization that is complete over (a characterization of) finite-state terms can be developed by re-using techniques devised in the context of a cooperation with Prof Jos Baeten.

Relating Session Types and Behavioural Contracts: The Asynchronous Case

A fully abstract interpretation of session types into a fragment of contracts, that maps session subtyping into binary compliance-preserving contract refinement, can be used to obtain an original undecidability result for asynchronous contract refinement.