Comparing type systems for deadlock freedom

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...

Full description

Saved in:
Bibliographic Details
Published inJournal of logical and algebraic methods in programming Vol. 124; p. 100717
Main Authors Dardha, Ornela, Pérez, Jorge A.
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.01.2022
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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.
ISSN:2352-2208
DOI:10.1016/j.jlamp.2021.100717