Page 65 -
P. 65
52 N. Russell and A. ter Hofstede
(a)
(d)
(b)
(e)
(c)
Fig. 2.14 Petri net operational semantics
The operational semantics of Petri nets are characterized by the notion of a tran-
sition executing or “firing”. A transition in a Petri net can “fire” whenever there are
one or more tokens in each of its input places. Such an action causes the state of
a Petri net to change. The execution of a transition occurs in accordance with the
following firing rules:
1. A transition t is said to be enabled if and only if each input place p of t contains
at least one token.
2. An enabled transition may fire. If transition t fires, then t consumes one token
from each input place p of t and produces one token for each output place
p of t.
Figures 2.14a–e illustrate the act of firing for various Petri net configurations. It is
assumed that the firing of a transition is an atomic action that occurs instantaneously
and cannot be interrupted. The manner in which a Petri executes is deliberately
intended to be nondeterministic. Hence when there are multiple transitions in a
Petri net which are enabled, any one of them may fire; however, for execution pur-
poses, it is assumed that they cannot fire simultaneously. Furthermore, a distinction
is drawn between a transition being able to fire and it actually firing, and one of the
salient features of Petri nets is the fact that an enabled transition is not obliged to
fire immediately but can do so at a time of its choosing. These features make Petri
nets particularly suitable for modeling concurrent process executions such as those
that occur in business processes.
The specific details associated with the enablement and firing of transitions can
be summarized as follows.
Definition 2. (Petri net enabling and firing rules). Given a Petri net .P;T;F / and
an initial state M 1 , we have the following notations that characterize the firing of a
given transition (or sequence of transitions) and the resultant state change:
t
M 1 ! M 2 : indicates that if transition t is enabled in state M 1 , then firing t in
M 1 results in state M 2 .
t
M 1 ! M 2 : indicates that there is a transition t such that M 1 ! M 2.
M 1 ! M 2 : denotes the firing sequence D t 1 t 2 t 3 ::: t n 1 that leads from state
t 1 t 2 t n 1
M 1 to state M n ,i.e. M 1 ! M 2 ! ::: ! M n.