Using Pi-Calculus Names as Locks

09/13/2023
by   Daniel Hirschkoff, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/16/2021

On Up-to Context Techniques in the π-calculus

We present a variant of the theory of compatible functions on relations,...
research
02/07/2022

Eager Functions as Processes (long version)

We study Milner's encoding of the call-by-value λ-calculus into the π-ca...
research
12/06/2021

Eager Functions as Processes

We study Milner's encoding of the call-by-value λ-calculus into the π-ca...
research
04/22/2021

On sequentiality and well-bracketing in the π-calculus

The π -calculus is used as a model for programminglanguages. Its context...
research
08/14/2023

Degrees of Separation: A Flexible Type System for Data Race Prevention

Data races are a notorious problem in parallel programming. There has be...
research
06/13/2020

Pure Pattern Calculus à la de Bruijn

It is well-known in the field of programming languages that dealing with...
research
04/04/2023

A Complete V-Equational System for Graded lambda-Calculus

Modern programming frequently requires generalised notions of program eq...

Please sign up or login with your details

Forgot password? Click here to reset