Abstract

Message-passing software systems exhibit non-trivial forms of concurrency and distribution; they are expected to follow intended protocols among communicating services, but also to never “get stuck”. This intuitive requirement has been expressed by liveness properties such as progress or (dead)lock freedom and various type systems ensure these properties for concurrent processes. Unfortunately, very little is known about the precise relationship between these type systems and the classes of typed processes they induce.This paper puts forward the first comparative study of different type systems for message-passing processes that guarantee deadlock freedom. We compare two classes of deadlock-free typed processes, here denoted L and K. The class L stands out for its canonicity: it results from Curry-Howard interpretations of classical linear logic propositions as session types. The class K, obtained by encoding session types into Kobayashi's linear types with usages, includes processes not typable in other type systems. We show that L is strictly included in K, and identify the precise conditions under which they coincide. We also provide two type-preserving translations of processes in K into processes in L.

Highlights

  • In this paper, we formally relate different type systems for concurrent processes specified in the π -calculus [45]

  • Following Milner’s seminal work on sorting [44], various type systems for the π -calculus have revealed a rich landscape of models for concurrency with disciplined communication; examples include graph types [62], linear types [40], generic types [30], and session types [28,56,29]

  • We have the following corollary, which attests that the class of deadlock-free session processes induced by linear logic interpretations of session types is strictly included in the class induced by the indirect approach of [17]

Read more

Summary

Introduction

We formally relate different type systems for concurrent processes specified in the π -calculus [45]. This paper presents the first formal comparison between different type systems for the π -calculus that enforce liveness properties related to (dead)lock freedom. We show that L and μK coincide (Theorem 4.1) This gives us a separation result: there are deadlock-free session processes that cannot be typed by systems derived from the Curry-Howard interpretation of session types [9,11,61], but that are admitted as typable by the (indirect) approach of [8,14]. Our separation result is significant as it establishes the precise status of logically motivated systems with respect to previous disciplines, not based on Curry-Howard principles It provides a new characterization for linear logic-based processes, leveraging a very different type system for deadlock freedom [38].

Session π -calculus
Process model
Type system
Deadlock freedom
Two approaches to deadlock freedom
Linear logic foundations of session types
Deadlock freedom by encodability
On deadlock freedom by encoding
Separating classes of deadlock-free typed processes
Classes of deadlock-free processes
Main results
Translating K into L
Characteristic processes and catalyzers
Discussion: translating K into L exploiting value dependencies
Discussion
Related work
Concluding remarks
ST P 1 2 ST P 2
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call