+++ title = "Petri nets" author = "Yann Herklotz" tags = [] categories = [] backlinks = ["1c3", "1a1"] forwardlinks = ["1a3"] zettelid = "1a2" +++ A petri net[^1] is a mathematical model for the description of distributed systems. There are three basic components that can be used to describe many different components that are useful in modelling various concurrent components such as forks or joins. The main components in petri nets are **places**, **transitions** and **arcs**. There can only be arcs from places to transitions or vice-versa, not between two places or between two transitions. Petri nets also have formal execution models, from which large constructions can be made such as forks, transparent buffers and merges. These can then be used to nicely describe digital circuits as well, and can be used to show how a circuit was scheduled using dynamic scheduling. [^1]: