First-order store and visibility in name-passing calculi
Daniel Hirschkoff, Iwan Quémerais, Davide Sangiorgi
TL;DR
This work formalises a visibility-based type system that constrains π-calculus computations to first-order store, drawing on game-semantic ideas to control how higher-order names reveal their services. By combining sequentiality and well-bracketing, the authors develop typed LTSs, traces, and labelled bisimulations that yield sound and complete characterisations of may-testing and barbed equivalence in both sequential and well-bracketed settings. The main contributions are a rigorous type-theoretic enforcement of first-order store and full abstractions for key behavioural equivalences, enabling precise reasoning about store and visibility in a pure name-passing language. The results have implications for security and predictability in concurrent languages and point to future extensions to richer storage models and free-output π-calculi.
Abstract
The $π$-calculus is the paradigmatical name-passing calculus. While being purely name-passing, it allows the representation of higher-order functions and store. We study how $π$-calculus processes can be controlled so that computations can only involve storage of first-order values. The discipline is enforced by a type system that is based on the notion of visibility, coming from game semantics. We discuss the impact of visibility on the behavioural theory. We propose characterisations of may-testing and barbed equivalence, based on (variants of) trace equivalence and labelled bisimilarity, in the case where computation is sequential, and in the case where computation is well-bracketed.
