TY - GEN
T1 - Manifest Deadlock-Freedom for Shared Session Types
AU - Balzer, Stephanie
AU - Toninho, Bernardo
AU - Pfenning, Frank
N1 - Supported by NSF Grant No. CCF-1718267: “Enriching Session Types for Practical Concurrent Programming”
NOVA LINCS (Ref. UID/CEC/04516/2019).
PY - 2019/4/9
Y1 - 2019/4/9
N2 - Shared session types generalize the Curry-Howard correspondence between intuitionistic linear logic and the session-typed σ-calculus with adjoint modalities that mediate between linear and shared session types, giving rise to a programming model where shared channels must be used according to a locking discipline of acquire-release. While this generalization greatly increases the range of programs that can be written, the gain in expressiveness comes at the cost of deadlock-freedom, a property which holds for many linear session type systems. In this paper, we develop a type system for logically-shared sessions in which types capture not only the interactive behavior of processes but also constrain the order of resources (i.e., shared processes) they may acquire. This type-level information is then used to rule out cyclic dependencies among acquires and synchronization points, resulting in a system that ensures deadlock-free communication for well-typed processes in the presence of shared sessions, higher-order channel passing, and recursive processes. We illustrate our approach on a series of examples, showing that it rules out deadlocks in circular networks of both shared and linear recursive processes, while still being permissive enough to type concurrent implementations of shared imperative data structures as processes.
AB - Shared session types generalize the Curry-Howard correspondence between intuitionistic linear logic and the session-typed σ-calculus with adjoint modalities that mediate between linear and shared session types, giving rise to a programming model where shared channels must be used according to a locking discipline of acquire-release. While this generalization greatly increases the range of programs that can be written, the gain in expressiveness comes at the cost of deadlock-freedom, a property which holds for many linear session type systems. In this paper, we develop a type system for logically-shared sessions in which types capture not only the interactive behavior of processes but also constrain the order of resources (i.e., shared processes) they may acquire. This type-level information is then used to rule out cyclic dependencies among acquires and synchronization points, resulting in a system that ensures deadlock-free communication for well-typed processes in the presence of shared sessions, higher-order channel passing, and recursive processes. We illustrate our approach on a series of examples, showing that it rules out deadlocks in circular networks of both shared and linear recursive processes, while still being permissive enough to type concurrent implementations of shared imperative data structures as processes.
KW - Deadlock-freedom
KW - Linear and shared session types
UR - http://www.scopus.com/inward/record.url?scp=85064936351&partnerID=8YFLogxK
U2 - 10.1007/978-3-030-17184-1_22
DO - 10.1007/978-3-030-17184-1_22
M3 - Conference contribution
AN - SCOPUS:85064936351
SN - 978-3-030-17183-4
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 611
EP - 639
BT - Programming Languages and Systems - 28th European Symposium on Programming, ESOP 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Proceedings
A2 - Caires, Luís
PB - Springer Verlag
CY - Cham
T2 - 28th European Symposium on Programming, ESOP 2019 Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019
Y2 - 6 April 2019 through 11 April 2019
ER -