An essential aspect of distributed systems is resource management, concerning how resources can be accessed and allocated. This aspect should also be taken into account when modeling and verifying such systems. A class of formalisms with the desired features are nominal calculi: they represent resources as atomic objects called names and have linguistic constructs to express creation of new resources. The paradigmatic nominal calculus is the π-calculus, which is well-studied and comes with models and logics.
The first objective of this thesis is devising a natural and seamless extension of the π-calculus where resources are network nodes and links. The motivation is provided by a recent, successful networking paradigm called Software Defined Networks, which allows the network structure to be manipulated at runtime via software. We devise a new calculus called Network Conscious π-calculus (NCPi), where resources, namely nodes and links, are represented as names, following the π-calculus guidelines. This allows NCPi to reuse the π-calculus name-handling machinery. The semantics allows observing end-to-end routing behavior, in the form of routing paths through the network. As in the π-calculus, bisimilarity is not closed under input prefix. Interestingly, closure under parallel composition does not hold either. Taking the greatest bisimulation closed under all renamings solves the issue only for the input prefix. We conjecture that such closure yields a full congruence for the subcalculus with only guarded sums.
We introduce an extension of NCPi (κNCPi) with some features that makes it closer to real-life routing. Most importantly, we add concurrency, i.e. multiple paths can be observed at the same time. Unlike the sequential version, bisimilarity is a congruence from the very beginning, due to the richer observations, so κNCPi can be considered the “right” version of NCPi when compositionality is needed. This extended calculus is used to model the peer- to-peer architecture Pastry.
The second objective is constructing a convenient operational model for NCPi. We consider coalgebras, that are categorical representation of system. Coalgebras have been studied in full generality, regardless of the specific structure of systems, and algorithms and logics have been developed for them. This allows for the application of general results and techniques to a variety of systems.
The main difficulty in the coalgebraic treatment of nominal calculi is the presence of name binding: it introduces α-conversion and makes SOS rules and bisimulations non-standard. The consequence is that coalgebras on sets are not able to capture these notions. The idea of the seminal paper by Fiore and Turi is resorting to coalgebras on presheaves, i.e. functors C → Set. Intuitively, presheaves allow associating to collections of names, seen as objects of C, the set of processes using those names. Fresh names generation strategies can be formalized as endofunctors on C, which are lifted to presheaves in a standard way and used to model name binding. Within this framework, a coalgebra for the π-calculus transition system is constructed: the benefit is that ordinary coalgebraic bisimulations for such coalgebra are π-calculus bisimulations. Moreover, Fiore and Turi show a technique to obtain a new coalgebra whose bisimilarity is closed under all renamings. This relation is a congruence for the π-calculus.
Presheaves come with a rich theory that can help deriving new results, but coalgebras on presheaves are impractical to implement: the state space can be infinite, for instance when a process recursively creates names. However, if we restrict to a class of presheaves (according to Ciancia et al.), coalgebras admit a concrete implementation in terms of HD-automata, that are finite-state automata suitable for verification.
In this thesis we adapt and extend Fiore-Turi’s approach to cope with network resources. First we provide a coalgebraic semantics for NCPi whose bisimulations are bisimulations in the NCPi sense. Then we compute coalgebras and equivalences that are closed under all renamings. The greatest such equivalence is a congruence w.r.t. the input prefix and we conjecture that, for the NCPi with only guarded sums, it is a congruence also w.r.t. parallel composition. We show that this construction applies a form of saturation. Then we prove the existence of a HD-automaton for NCPi. The treatment of network resources is non-trivial and paves the way to modeling other calculi with complex resources