Petrinets
Petrinets, also known as Petri nets, are a graphical and mathematical modelling language for distributed systems that evolve by discrete events. They consist of places, transitions, and directed arcs forming a bipartite graph. Tokens residing in places represent the system state, collectively called a marking.
Formally, a Petri net is a tuple (P, T, F, M0) where P is a finite set
Extensions include colored Petri nets, which add data values to tokens to model complex synchronization; timed,
Petri nets are used to study properties such as reachability, liveness, and boundedness, and to analyze deadlocks
They were introduced by Carl Adam Petri in 1962 to model chemical processes and have since found