A Sound Algorithm for Asynchronous Session Subtyping (extended version)

06/30/2019
by   Mario Bravetti, et al.
0

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 behavior but a similar one. Unfortunately, recent work has shown that subtyping for session types in an asynchronous setting is undecidable. To cope with this negative result, the only approaches we are aware of either restrict the syntax of session types or limit communication (by considering forms of bounded asynchrony). Both approaches are too restrictive in practice, hence we proceed differently by presenting an algorithm for checking subtyping which is sound, but not complete (in some cases it terminates without returning a decisive verdict). The algorithm is based on a tree representation of the coinductive definition of asynchronous subtyping; this tree could be infinite, and the algorithm checks for the presence of finite witnesses of infinite successful subtrees. Furthermore, we provide a tool that implements our algorithm and we apply it to many examples that cannot be managed with the previous approaches.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/26/2021

A Session Subtyping Tool (Extended Version)

Session types are becoming popular and have been integrated in several m...
research
01/20/2021

Fair Refinement for Asynchronous Session Types (extended version)

Session types are widely used as abstractions of asynchronous message pa...
research
01/20/2022

The Different Shades of Infinite Session Types

Many type systems include infinite types. In session type systems, which...
research
07/24/2023

Safe asynchronous mixed-choice for timed interactions

Mixed-choice has long been barred from models of asynchronous communicat...
research
02/01/2021

Global types and event structure semantics for asynchronous multiparty sessions

We propose an interpretation of multiparty sessions with asynchronous co...
research
01/28/2019

Verifying Asynchronous Interactions via Communicating Session Automata

The relationship between communicating automata and session types is the...
research
08/10/2022

Comparing Channel Restrictions of Communicating State Machines, High-level Message Sequence Charts, and Multiparty Session Types

Communicating state machines provide a formal foundation for distributed...

Please sign up or login with your details

Forgot password? Click here to reset