ABSTRACT

Petri nets are a special form of directed graph: a bipartite directed graph. They were the topic of Carl Adam Petri's PhD dissertation in 1963; today they are the accepted model for protocols and applications involving decision-based processing. Petri nets are executable, in more interesting ways than finite state machines (FSM). A transition in a Petri net is enabled if there is at least one token in each of its input places. When an enabled Petri net transition fires, one token is removed from each of its input places, and one token is added to each of its output places. The biggest problem with Petri nets is that the graphical version does not scale up well. The database possibility completely resolves the scale-up problem but the resolution is at the expense of visual clarity. The Producer–Consumer problem is a Petri net classic. The biggest limitation of ordinary Petri nets is that they don't explicitly represent events.