Petri net
A Petri net is a mathematical representation of discrete parallel systems. Petri nets were defined in the 1960s by Carl Adam Petri. Because of their ability to express concurrent events, they generalize automata theory.
A Petri net consists of places, transitions and directed arcss. Arcs connect a place to a transition and vice versa. There are no arcs between two places, nor between two transitions. Places may contain any number of tokens. Transitions fire, that is consume tokens from input positions and produce tokens in output positions. A transition is enabled if there are tokens in every input position.
In its most basic form, tokens in a Petri net are indistinguishable from each other. More complex Petri nets add token coloring, activation time and hierarchy to the network.
Application areas
- Software design
- Workflow management
- Data analysis
- Concurrent programming
