Petri nets are a mathematical modelling language to study concurrent and distributed systems. Graphically, a Petri net is a directed bipartite graph, in which there are two subsets of nodes: that of transitions (represented as rectangles) and that of places (represented as circles).
A place represents some kind of resource repository: a place can contain one or more tokens (black bullets). A token represents a resource of a certain kind.
A transition is an activity. The incoming places of a transition express the resources needed to execute the transition. The execution of the transition, called firing, moves token from the incoming places to the outgoing places.