Petri Nets
History
- Originally developed to model periodic chemical reactions
- Named for the creator - Carl Adam Petri
- Formally Characterised in 1962
Definition
A Petri net is a directed bipartite graph, in which the nodes represent transitions (i.e. events that may occur, represented by bars) and places (i.e. conditions, represented by circles). The directed arcs describe which places are pre- and/or postconditions for which transitions (signified by arrows).
What They Aren't
- Flow Charts
- A Diagramming Standard
- Related to Computer Networks
- Just Place/Transition Nets*
*Wikipedia is wrong about this
UML Activity Diagrams
BPMN
Definition 2
A Petri net is a tuple 〈P,T〉where:
- P is the (finite) set of places
- T is the (finite) set of transitions. Each transition t is a tuple 〈I, O〉where:
- I: is a function s.t. t consumes I(p) tokens in each place p
- O: is a function s.t. t produces O(p) tokens in each place p
Definition 3
A Petri net is actually a way of presenting a symmetric monoidal category: one that is freely generated by some set S of objects and some set T of morphisms!*
*Emphasis in the original source. Not all of us are that excited about morphisms
Definition 4
A Petri net is a way of drawing a finite set S of species, a finite set T of transitions, and maps s,t : T → N S saying how many times each species appears in the source (input) and target (output) of each transition:
Example
External Slides
References
deck
By Matt Sprague
deck
- 1,140