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 nets.
Highlights
The Quest for a Theory of Concurrency
The resource calculus is a language that combines a graphical rendition of systems found in combinatorial approaches such as Petri nets, and compositionality, typical of process algebraic approaches
Unlike established process algebras, where the syntax is chosen to capture a particular set of computational primitives, the syntax of the resource calculus is canonical and justified by the Diophantine linear algebraic concepts that it characterises
Summary
The Quest for a Theory of Concurrency. In the words of Samson Abramsky [Abramsky 2014], the fundamental structures of concurrency are yet to be discovered. We are able to develop a more general framework, which is of independent interest: it allows to turn a stateless theory (formally, a prop) T into a stateful one St(T ), provided that T has a compact-closed structure The beauty of this approach is that the semantics of the new generator x added by the St(·) construction is forced on us: it must have the register behaviour as described above. We prove it sound and fully complete for additive relations. We introduce a simple stateful extension of the language of circuit diagrams, which allows for more sophisticated examples These variations will be used to capture the familiar model of computation of Petri nets (Section 5). If m is stored in the register, we may observe any o on the right when m − o (possibly negative) is sent around the feedback
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.