Comparing Type Systems for Deadlock-Freedom

10/01/2018
by   Ornela Dardha, et al.
0

Communication-centric software systems exhibit non trivial forms of concurrency and distribution, they are expected to respect intended protocols among interacting services, but also to never "get stuck". This intuitive requirement has been expressed by liveness properties such as progress or (dead)lock freedom, various type systems ensure these properties for concurrent processes. Unfortunately, very little is known about the precise relationship between these type systems and the typed processes they induce. This paper puts forward the first comparative study of different type systems for enforcing deadlock-freedom in message-passing concurrent processes. We compare two representative classes of deadlock-free typed processes, here denoted L and K. The class L stands out for its canonicity: it results naturally from Curry-Howard interpretations of linear logic propositions as session types. The class K, obtained by encoding session types into Kobayashi's usage types, includes processes not typable in other type systems. We show that L is strictly included in K. We also identify the precise condition under which L and K coincide. One key observation is that the degree of sharing between parallel processes determines a new expressiveness hierarchy for typed concurrent processes. Furthermore, we provide two type-preserving procedures for rewriting processes in K into processes in L. Our two procedures suggest that, while effective, the degree of sharing is a rather subtle criterion for distinguishing typed concurrent processes

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/12/2022

A Bunch of Sessions: A Propositions-as-Sessions Interpretation of Bunched Implications in Channel-Based Concurrency

The emergence of propositions-as-sessions, a Curry-Howard correspondence...
research
04/17/2018

Parallel Complexity Analysis with Temporal Session Types

We study the problem of parametric parallel complexity analysis of concu...
research
12/22/2017

Work Analysis with Resource-Aware Session Types

While there exist several successful techniques for supporting programme...
research
05/12/2020

Session Types with Arithmetic Refinements

Session types statically prescribe bidirectional communication protocols...
research
01/12/2018

Mailbox Types for Unordered Interactions

We propose a type system for reasoning on protocol conformance and deadl...
research
04/15/2021

Sized Types with Usages for Parallel Complexity of Pi-Calculus Processes

We address the problem of analysing the complexity of concurrent program...
research
08/15/2018

Correct-by-construction Process Composition Using Classical Linear Logic Inference

The need for rigorous process composition is encountered in many situati...

Please sign up or login with your details

Forgot password? Click here to reset