Using Pi-Calculus Names as Locks

Daniel Hirschkoff
(ENS de Lyon)
Enguerrand Prebet
(Karlsruhe Institute of Technology)

Locks are a classic data structure for concurrent programming. We introduce a type system to ensure that names of the asynchronous pi-calculus are used as locks. Our calculus also features a construct to deallocate a lock once we know that it will never be acquired again. Typability guarantees two properties: deadlock-freedom, that is, no acquire operation on a lock waits forever; and leak-freedom, that is, all locks are eventually deallocated.

We leverage the simplicity of our typing discipline to study the induced typed behavioural equivalence. After defining barbed equivalence, we introduce a sound labelled bisimulation, which makes it possible to establish equivalence between programs that manipulate and deallocate locks.

In Claudio Antares Mezzina and Georgiana Caltais: Proceedings Combined 30th International Workshop on Expressiveness in Concurrency and 20th Workshop on Structural Operational Semantics (EXPRESS/SOS2023), Antwerp, Belgium, 18th September 2023, Electronic Proceedings in Theoretical Computer Science 387, pp. 76–96.
Published: 14th September 2023.

ArXived at: https://dx.doi.org/10.4204/EPTCS.387.7 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org