Picturing resources in concurrency

Inspired by the pioneering work of Petri and the rise of diagrammatic formalisms to reason about networks of open systems, we introduce the resource calculus—a graphical language for distributed systems. Like process algebras, the resource calculus is modular, with primitive connectors from which all diagrams can be built. We characterise its equational theory by proving a full completeness result for an interpretation in the symmetric monoidal category of additive relations—a result that constitutes the main contribution of this thesis. Additive relations are frequently exploited by model-checking algorithms for Petri nets. In this thesis, we recognise them as a fundamental algebraic structure of concurrency and use them as an axiomatic framework. Surprisingly, the resource calculus has the same syntax as that of interacting Hopf algebras, a diagrammatic formalism for linear (time-invariant dynamical) systems. Indeed, the approach stems from the simple but fruitful realisation that, by replacing values in a field with values in the semiring of non-negative integers, concurrent behaviour patterns emerge. This change of model reflects the interpretation of diagrams as systems manipulating limited and discrete resources instead of continuous signals. We also extend the resource calculus in two orthogonal directions. First, by adding an affine primitive to express access to a constant quantity of resources. The extended calculus is remarkably expressive and allows the formulation of non-additive patterns of behaviour, like mutual exclusion. Once more, we characterise it—this time as the equational theory of the symmetric monoidal category of polyhedral relations, discrete analogues of polyhedra in convex geometry. Secondly, we add a synchronous register to model stateful systems. The stateful resource calculus is expressive enough to faithfully capture the behaviour of Petri nets while being strictly more expressive. It is also shown to axiomatise a category of open Petri nets, in the style of the connector algebras of nets with boundaries first studied by Bruni, Melgratti, Montanari and Sobociński.

[1]  B. Coecke,et al.  Classical and quantum structuralism , 2009, 0904.1997.

[2]  Peter Selinger,et al.  Dagger Compact Closed Categories and Completely Positive Maps: (Extended Abstract) , 2007, QPL.

[3]  Tom Leinster,et al.  Basic Category Theory , 2014, 1612.09375.

[4]  Charles Antony Richard Hoare Towards a theory of parallel programming , 2002 .

[5]  José Luiz Fiadeiro,et al.  Categorical Semantics of Parallel Program Design , 1997, Sci. Comput. Program..

[6]  Ross Street,et al.  Traced monoidal categories , 1996 .

[7]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

[8]  Brendan Fong,et al.  The algebra of open and interconnected systems , 2016, 1609.05382.

[9]  Roberto Bruni,et al.  Some algebraic laws for spans , 2001, Electron. Notes Theor. Comput. Sci..

[10]  Vladimiro Sassone,et al.  Characterizing Behavioural Congruences for Petri Nets , 1995, CONCUR.

[11]  Bob Coecke,et al.  Axiomatic Description of Mixed States From Selinger's CPM-construction , 2008, QPL.

[12]  Filippo Bonchi,et al.  A Categorical Semantics of Signal Flow Graphs , 2014, CONCUR.

[13]  Miriam Backens,et al.  The ZX-calculus is complete for stabilizer quantum mechanics , 2013, 1307.7025.

[14]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[15]  Nicoletta Sabadini,et al.  GENERIC COMMUTATIVE SEPARABLE ALGEBRAS AND COSPANS OF GRAPHS , 2005 .

[16]  Robin Milner,et al.  Processes: A Mathematical Model of Computing Agents , 1975 .

[17]  Simon Perdrix,et al.  Environment and Classical Channels in Categorical Quantum Mechanics , 2010, CSL.

[18]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[19]  Brendan Fong,et al.  A compositional framework for Markov processes , 2015, 1508.06448.

[20]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[21]  Brendan Fong,et al.  Corelations are the prop for extraspecial commutative Frobenius monoids , 2016, 1601.02307.

[22]  A. Joyal,et al.  The geometry of tensor calculus, I , 1991 .

[23]  Roberto Bruni,et al.  A basic algebra of stateless connectors , 2006, Theor. Comput. Sci..

[24]  Filippo Bonchi,et al.  Interacting Hopf Algebras , 2014, ArXiv.

[25]  Dusko Pavlovic,et al.  A new description of orthogonal bases , 2008, Mathematical Structures in Computer Science.

[26]  Aleks Kissinger,et al.  Finite matrices are complete for (dagger-)hypergraph categories , 2014, 1406.5942.

[27]  A Di Pisa,et al.  Compositional Semantics for Open Petri Nets based on Deterministic Processes , 2001 .

[28]  G. M. Kelly,et al.  Coherence for compact closed categories , 1980 .

[29]  F. W. Lawvere,et al.  FUNCTORIAL SEMANTICS OF ALGEBRAIC THEORIES. , 1963, Proceedings of the National Academy of Sciences of the United States of America.

[30]  Brendan Fong,et al.  A Compositional Framework for Passive Linear Networks , 2015, 1504.05625.

[31]  Dexter Kozen A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events , 1994, Inf. Comput..

[32]  J. Willems The Behavioral Approach to Open and Interconnected Systems , 2007, IEEE Control Systems.

[33]  Aleks Kissinger,et al.  Picturing Quantum Processes: A First Course in Quantum Theory and Diagrammatic Reasoning , 2017 .

[34]  Fabio Zanasi,et al.  A Universal Construction for (Co)Relations , 2017, CALCO.

[35]  Nicoletta Sabadini,et al.  Span(Graph): A Categorial Algebra of Transition Systems , 1997, AMAST.

[36]  Pawel Sobocinski,et al.  Penrose: Putting Compositionality to Work for Petri Net Reachability , 2013, CALCO.

[37]  Bob Coecke,et al.  Interacting Quantum Observables , 2008, ICALP.

[38]  Julian Rathke,et al.  Compositional Reachability in Petri Nets , 2014, RP.

[39]  Christel Baier,et al.  Modeling component connectors in Reo by constraint automata , 2004, Sci. Comput. Program..

[40]  Marcelo P. Fiore,et al.  The Algebra of Directed Acyclic Graphs , 2013, Computation, Logic, Games, and Quantum Foundations.

[41]  Pedro A. García-Sánchez,et al.  Finitely generated commutative monoids , 1999 .

[42]  Wolfgang Reisig Simple Composition of Nets , 2009, Petri Nets.

[43]  Rajagopal Nagarajan,et al.  Interaction categories and the foundations of typed concurrent programming , 1996, NATO ASI DPD.

[44]  Roberto Bruni,et al.  Connector algebras for C/E and P/T nets' interactions , 2013, Log. Methods Comput. Sci..

[45]  Filippo Bonchi Interacting Hopf Algebras: the Theory of Linear Systems (text not included) , 2019, ICTCS.

[46]  Tom Leinster,et al.  Higher Operads, Higher Categories: Opetopes , 2004 .

[47]  John C. Baez,et al.  A Compositional Framework for Reaction Networks , 2017, 1704.02051.

[48]  Fabio Gadducci,et al.  Rewriting modulo symmetric monoidal structure , 2016, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[49]  Pawel Sobocinski,et al.  Nets, Relations and Linking Diagrams , 2013, CALCO.

[50]  Ichiro Hasuo,et al.  Memoryful geometry of interaction: from coalgebraic components to algebraic effects , 2014, CSL-LICS.

[51]  P. Selinger A Survey of Graphical Languages for Monoidal Categories , 2009, 0908.3347.

[52]  Fabio Zanasi,et al.  The Algebra of Partial Equivalence Relations , 2016, MFPS.

[53]  Joachim Kock,et al.  Frobenius Algebras and 2-D Topological Quantum Field Theories , 2004 .

[54]  A. Carboni,et al.  Matrices, relations, and group representations , 1991 .

[55]  Paolo Rapisarda,et al.  A categorical approach to open and interconnected dynamical systems , 2015, 2016 31st Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[56]  Fabio Gadducci,et al.  An inductive view of graph transformation , 1997, WADT.

[57]  Niels Lauritzen Undergraduate Convexity: From Fourier and Motzkin to Kuhn and Tucker , 2013 .

[58]  Fabio Gadducci,et al.  Rewriting with Frobenius , 2018, LICS.

[59]  Nicoletta Sabadini,et al.  Bicategories of processes , 1997 .

[60]  N. Sabadini,et al.  Cospans and spans of graphs: a categorical algebra for the sequential and parallel composition of discrete systems , 2009, 0909.4136.

[61]  Filippo Bonchi,et al.  Diagrammatic algebra: from linear to concurrent systems , 2019, Proc. ACM Program. Lang..

[62]  Quanlong Wang,et al.  A universal completion of the ZX-calculus , 2017, ArXiv.

[63]  L. Dickson Finiteness of the Odd Perfect and Primitive Abundant Numbers with n Distinct Prime Factors , 1913 .

[64]  Stephen Clark,et al.  Mathematical Foundations for a Compositional Distributional Model of Meaning , 2010, ArXiv.

[65]  Jason Morton,et al.  Belief propagation in monoidal categories , 2014, QPL.

[66]  M. Barr,et al.  Toposes, Triples and Theories , 1984 .

[67]  Rob J. van Glabbeek,et al.  The Linear Time-Branching Time Spectrum (Extended Abstract) , 1990, CONCUR.

[68]  R Brauer,et al.  On the Regular Representations of Algebras. , 1937, Proceedings of the National Academy of Sciences of the United States of America.

[69]  Amar Hadzihasanovic,et al.  The algebra of entanglement and the geometry of composition , 2017, ArXiv.

[70]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[71]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[72]  Roberto Bruni,et al.  A Connector Algebra for P/T Nets Interactions , 2011, CONCUR.

[73]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[74]  Aleks Kissinger,et al.  Categorical Quantum Mechanics I: Causal Quantum Processes , 2015, 1510.05468.

[75]  Sylvain Schmitz,et al.  Demystifying Reachability in Vector Addition Systems , 2015, 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science.

[76]  Dan R. Ghica,et al.  Diagrammatic Reasoning for Delay-Insensitive Asynchronous Circuits , 2013, Computation, Logic, Games, and Quantum Foundations.

[77]  Samson Abramsky,et al.  What are the fundamental structures of concurrency? We still don't know! , 2006, APC 25.

[78]  J. Girard Le Point Aveugle I : Vers la Perfection , 2006 .

[79]  Filippo Bonchi,et al.  Functorial Semantics for Relational Theories , 2017, ArXiv.

[80]  Filippo Bonchi,et al.  Refinement for Signal Flow Graphs , 2017, CONCUR.

[81]  Antoni W. Mazurkiewicz,et al.  Compositional Semantics of Pure Place/ Transition Systems , 1988, European Workshop on Applications and Theory of Petri Nets.

[82]  S. Lane Categories for the Working Mathematician , 1971 .

[83]  Filippo Bonchi,et al.  Full Abstraction for Signal Flow Graphs , 2015, POPL.