A Minimal Formulation of Session Types

01/12/2023
by   Alen Arslanagić, et al.
0

Session types are a type-based approach to the verification of message-passing programs. They specify communication structures essential for program correctness; a session type says what and when should be exchanged through a channel. Central to session-typed languages are sequencing constructs in types and processes that explicitly specify the order of actions in a protocol. In this paper we study session types without sequencing. The resulting framework of minimal session types is arguably the simplest form of session types one could conceive. In the context of a core process calculus with sessions and higher-order concurrency (abstraction-passing), we establish two main technical results. First, we prove that every process P typable with standard session types can be compiled down into a process 𝒟(P) typable with minimal session types. Second, we prove that P and 𝒟(P) are behaviorally equivalent. These results indicate that having sequencing constructs in processes and session types is convenient but redundant: only sequentiality in processes is truly indispensable, as it can correctly codify sequentiality in types. Our developments draw inspiration from work by Parrow on behavior-preserving decompositions of untyped processes. By casting Parrow's results in the realm of typed processes, our developments reveal a conceptually simple formulation of session types and a principled avenue to the integration of session types into programming languages without sequencing in types.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/10/2019

Minimal Session Types (Extended Version)

Session types are a type-based approach to the verification of message-p...
research
07/22/2021

Minimal Session Types for the π-calculus (Extended Version)

Session types enable the static verification of message-passing programs...
research
05/14/2021

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

Human fallibility, unpredictable operating environments, and the heterog...
research
06/07/2023

Monitoring Blackbox Implementations of Multiparty Session Protocols

We present a framework for the distributed monitoring of networks of com...
research
07/02/2019

Domain-Aware Session Types (Extended Version)

We develop a generalization of existing Curry-Howard interpretations of ...
research
02/01/2019

Comprehensive Multiparty Session Types

Multiparty session types (MST) are a well-established type theory that d...
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