Petri Nets Are Monoids

Abstract Petri nets are widely used to model concurrent systems. However, their composition and abstraction mechanisms are inadequate: we solve this problem in a satisfactory way. We start by remarking that place/transition Petri nets can be viewed as ordinary, directed graphs equipped with two algebraic operations corresponding to parallell and sequential composition of transitions. A distributive law between the two operations captures a basic fact about concurrency. New morphisms are defined, mapping single, atomic transitions into whole computations, thus relating system descriptions at different levels of abstraction. Categories equipped with products and coproducts (corresponding to parallel and nondeterministic compositions) are introduced for Petri nets with and without initial markings. Petri net duality is expressed as a duality functor, and several new invariants are introduced. A tensor product is defined on nets, and their category is proved to be symmetric monoidal closed. This construction is generalized to a large class of algebraic theories on graphs. These results provide a formal basis for expressing the semantics of concurrent languages in terms of Petri nets. They also provide a new understanding of concurrency in terms of algebraic structures over graphs and categories that should apply to other models besides Petri nets and thus contribute to the conceptual unification of concurrency.

[1]  Ugo Montanari,et al.  Specification Languages for Distributed Systems , 1985, TAPSOFT, Vol.1.

[2]  Ugo Montanari,et al.  Concurrent Histories: A Basis for Observing Distributed Systems , 1987, J. Comput. Syst. Sci..

[3]  Glynn Winskel,et al.  Categories of Models for Concurrency , 1984, Seminar on Concurrency.

[4]  Józef Winkowski An Algebraic Description of System Behaviours , 1982, Theor. Comput. Sci..

[5]  Anders Kock,et al.  Closed categories generated by commutative monads , 1971, Journal of the Australian Mathematical Society.

[6]  Ugo Montanari,et al.  Axiomatizing net computations and processes , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[7]  Günter Hotz Eine Algebraisierung des Syntheseproblems von Schaltkreisen II , 1965, J. Inf. Process. Cybern..

[8]  S. Eilenberg,et al.  Adjoint functors and triples , 1965 .

[9]  Wolfgang Hinderer,et al.  Transfer of Graph Constructs in Goguen's Paper to Net Constructs , 1980, Selected Papers from the First and the Second European Workshop on Application and Theory of Petri Nets.

[10]  Ernst-Rüdiger Olderog,et al.  Operational Petri net semantics for CCSP , 1986, European Workshop on Applications and Theory of Petri Nets.

[11]  Raymond R. Devillers,et al.  Sequential and Concurrent Behaviour in Petri Net Theory , 1987, Theor. Comput. Sci..

[12]  Rob J. van Glabbeek,et al.  Petri Net Models for Algebraic Theories of Concurrency , 1987, PARLE.

[13]  Ilaria Castellani,et al.  Concurrency and Atomicity , 1988, Theor. Comput. Sci..

[14]  Glynn Winskel,et al.  Petri Nets, Algebras, Morphisms, and Compositionality , 1987, Inf. Comput..

[15]  José Meseguer,et al.  Concurrent term rewriting as a model of computation , 1986, Graph Reduction.

[16]  D. B. Benson,et al.  Functional Behvior of Nondeterministic and Concurrent Programs , 1984, Inf. Control..

[17]  David B. Benson The Basic Algebraic Structures in Categories of Derivations , 1975, Inf. Control..

[18]  Robin Milner,et al.  Lectures on a Calculus for Communicating Systems , 1984, Seminar on Concurrency.

[19]  José Meseguer,et al.  Automata in semimodule categories , 1974, Category Theory Applied to Computation and Control.

[20]  José Meseguer,et al.  Rewriting as a unified model of concurrency , 1990, OOPSLA/ECOOP '90.

[21]  C. A. Petri Concepts of Net Theory , 1973, MFCS.

[22]  José Meseguer,et al.  Petri nets are monoids: a new algebraic foundation for net theory , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.