We define a pi-calculus variant with a costed semantics where channels aretreated as resources that must explicitly be allocated before they are used andcan be deallocated when no longer required. We use a substructural type systemtracking permission transfer to construct coinductive proof techniques forcomparing behaviour and resource usage efficiency of concurrent processes. Weestablish full abstraction results between our coinductive definitions and acontextual behavioural preorder describing a notion of process efficiencyw.r.t. its management of resources. We also justify these definitions andrespective proof techniques through numerous examples and a case studycomparing two concurrent implementations of an extensible buffer.
展开▼