Compositionality of Systems and Partially Ordered Runs
Peter Fettke, Wolfgang Reisig
TL;DR
This work addresses the challenge of achieving true compositionality in the partial order semantics of Petri nets by introducing net modules with left and right interfaces and a precise composition operator $\bullet$. It substitutes traditional occurrence sequences with partially ordered runs and defines runs as compositions of steps, proving the Composition Theorem: $\operatorname{runs}(M \bullet N) = \operatorname{runs}(M) \bullet \operatorname{runs}(N)$. The paper provides rigorous definitions for net modules, steps, and runs, and demonstrates how modular construction and refinement can be analyzed in a unified framework, ultimately yielding a monoid-like structure for runs. This approach enables modular design and analysis of distributed systems, with potential impact on process management and formal modeling of complex, interconnected Petri-net systems. The framework emphasizes double-faced interfaces and associativity to support scalable, compositional reasoning about system behavior in a rigorous partially ordered setting.
Abstract
In the late 1970s, C.A. Petri introduced partially ordered event occurrences (runs), then called \emph{processes}, as the appropriate model to describe the individual evolutions of distributed systems. Here, we present a unified framework for handling Petri nets and their runs, specifically to compose and decompose them. It is shown that, for nets $M$ and $N$, the set of runs of the composed net $M \bullet N$ equals the composition of the runs of $M$ and $N$.
