Using Pi-Calculus Names as Locks
Abstract
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.
Keywords
Cite
@article{arxiv.2309.07307,
title = {Using Pi-Calculus Names as Locks},
author = {Daniel Hirschkoff and Enguerrand Prebet},
journal= {arXiv preprint arXiv:2309.07307},
year = {2023}
}
Comments
In Proceedings EXPRESS/SOS2023, arXiv:2309.05788