46th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2019)
Abstract
We introduce the resource calculus, a string diagrammatic language for concurrent systems. Significantly, it
uses the same syntax and operational semantics as the signal flow calculus — an algebraic formalism for signal
flow graphs, which is a combinatorial model of computation of interest in control theory. Indeed, our approach
stems from the simple but fruitful observation that, by replacing real numbers (modelling signals) with natural
numbers (modelling resources) in the operational semantics, concurrent behaviour patterns emerge.
The resource calculus is canonical: we equip it and its stateful extension with equational theories that
characterise the underlying space of definable behaviours—a convex algebraic universe of additive relations—
via isomorphisms of categories. Finally, we demonstrate that our calculus is sufficiently expressive to capture
behaviour definable by classical Petri net