Contrasting Deadlock-Free Session Processes (Extended Version)
Juan C. Jaramillo, Jorge A. Pérez
TL;DR
The paper analyzes deadlock-freedom (DF) in concurrent, message-passing systems through a comparative lens on three type systems: SP (a core session-pTyped pi-calculus), HCP (hypersequent-based CP), and Padovani’s P for asynchronous processes. It shows that hypersequents in HCP do not fundamentally expand the class of DF processes beyond what linear logic already yields and establishes precise relationships between HCP and P, including asynchronous variants, via SP as a baseline. Two technical techniques, commuting conversions and disentanglement, are key: they enable transforming HCP processes with delayed actions and self-synchronizations into DF-equivalent forms that align with CP and Padovani’s frameworks. The results hold for both synchronous and asynchronous communication and have practical implications for static analysis and the design of concurrent languages, clarifying essential mechanisms for statically avoiding deadlocks. Overall, the work deepens understanding of how different type-system perspectives relate to DF and demonstrates how asynchrony can be integrated without compromising deadlock guarantees.
Abstract
Deadlock freedom is a crucial property for message-passing programs. Over the years, several different type systems for concurrent processes that ensure deadlock freedom have been proposed; this diversity raises the question of how they compare. We address this question, considering two type systems not covered in prior work: Kokke etal's HCP, a type system based on a linear logic with hypersequents, and Padovani's priority-based type system for asynchronous processes, dubbed P. Their distinctive features make formal comparisons relevant and challenging. Our findings are two-fold: (1) the hypersequent setting does not drastically change the class of deadlock-free processes induced by linear logic, and (2) we relate the classes of deadlock-free processes induced by HCP and P. We prove that our results hold under both synchronous and asynchronous communication. Our results provide new insights into the essential mechanisms involved in statically avoiding deadlocks in concurrency.
