Compositional Reasoning for Explicit Resource Management in Channel-Based Concurrency

We define a pi-calculus variant with a costed semantics where channels are treated as resources that must explicitly be allocated before they are used and can be deallocated when no longer required. We use a substructural type system tracking permission transfer to construct coinductive proof techni...

Full description

Bibliographic Details
Main Authors: Adrian Francalanza, Edsko DeVries, Matthew Hennessy
Format: Article
Language:English
Published: Logical Methods in Computer Science e.V. 2014-06-01
Series:Logical Methods in Computer Science
Subjects:
Online Access:https://lmcs.episciences.org/691/pdf
Description
Summary:We define a pi-calculus variant with a costed semantics where channels are treated as resources that must explicitly be allocated before they are used and can be deallocated when no longer required. We use a substructural type system tracking permission transfer to construct coinductive proof techniques for comparing behaviour and resource usage efficiency of concurrent processes. We establish full abstraction results between our coinductive definitions and a contextual behavioural preorder describing a notion of process efficiency w.r.t. its management of resources. We also justify these definitions and respective proof techniques through numerous examples and a case study comparing two concurrent implementations of an extensible buffer.
ISSN:1860-5974