Session Types with Arithmetic Refinements

05/12/2020
by   Ankush Das, et al.
0

Session types statically prescribe bidirectional communication protocols for message-passing processes. However, simple session types cannot specify properties beyond the type of exchanged messages. In this paper we extend the type system by using index refinements from linear arithmetic capturing intrinsic attributes of data structures and algorithms. We show that, despite the decidability of Presburger arithmetic, type equality and therefore also subtyping and type checking are now undecidable, which stands in contrast to analogous dependent refinement type systems from functional languages. We also present a practical, but incomplete algorithm for type equality, which we have used in our implementation of Rast, a concurrent session-typed language with arithmetic index refinements as well as ergometric and temporal types. Moreover, if necessary, the programmer can propose additional type bisimulations that are smoothly integrated into the type equality algorithm.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/13/2020

Session Types with Arithmetic Refinements and Their Application to Work Analysis

Session types statically prescribe bidirectional communication protocols...
research
12/24/2020

Rast: A Language for Resource-Aware Session Types

Traditional session types prescribe bidirectional communication protocol...
research
10/13/2020

Nested Session Types

Session types statically describe communication protocols between concur...
research
04/02/2019

Value-Dependent Session Design in a Dependently Typed Language

Session Types offer a typing discipline that allows protocol specificati...
research
06/01/2018

The encodability hierarchy for PCF types

Working with the simple types over a base type of natural numbers (inclu...
research
10/01/2018

Comparing Type Systems for Deadlock-Freedom

Communication-centric software systems exhibit non trivial forms of conc...
research
11/18/2020

Probabilistic Resource-Aware Session Types

Session types guarantee that message-passing processes adhere to predefi...

Please sign up or login with your details

Forgot password? Click here to reset