English

Using Pi-Calculus Names as Locks

Logic in Computer Science 2023-09-15 v1 Programming Languages

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

R2 v1 2026-06-28T12:20:49.781Z