Page 67 -
P. 67
54 N. Russell and A. ter Hofstede
Over the years since their initial definition, Petri nets have proven to be an
extremely useful mechanism for capturing the details associated with concurrent
systems and reasoning about them. To increase their applicability to the business
process domain, the workflow nets were devised.
2.3.2 Workflow Nets
Workflow nets were developed by van der Aalst as a means of describing work-
flow processes in a precise way that makes them amenable to subsequent analysis
both at design time and runtime. Workflow nets are directly based on Petri nets and
consequently share all of their advantages in terms of determinism and the range
of available analysis techniques. In a workflow net, transitions represent the tasks
that comprise a business process and places represent the conditions preceding and
following the tasks. Although they are based on Petri nets, workflow nets are subject
to some additional constraints:
1. A workflow net has a single start place and a single end place. Aside from ana-
lytic considerations, this means that workflow nets closely correspond to real-life
processes that tend to have a specific starting point and a specific end point.
2. Every transition in the workflow net is on a path from the start to the end place.
This ensures that each transition in a workflow net contributes to the progression
of an executing instance towards its end state.
We can formalize the notion of a workflow net and its correspondence with a Petri
net in the following way:
Definition 7. (WF-net). A Petri net PN D .P;T;F/ is a WF-net (workflow net) if
and only if:
PN has two special places: i and o. Place i is a source place: i D ∅: Place o is
a sink place: o D ∅.
If we add a transition t to PN , which connects place o with i (i.e. .t / D o
and .t / D i), then the resulting Petri net is strongly connected.
It is important to note that these are the minimal requirements for a workflow net. By
themselves they do not guarantee that a candidate workflow net will not potentially
be subject to deadlock or livelock. To ensure that this is the case, there are two
additional requirements that apply to a workflow net:
Any executing instance of a workflow net must eventually terminate, and at the
moment of termination there must be precisely one token in the end place o and
all other places in the workflow net must be empty.
There should be no dead tasks, that is, it should be possible to execute an arbitrary
task by following the appropriate route through the WF-net.
The application of these two additional constraints corresponds to the soundness
property, which ensures that any given process instance behaves in a predictable
way.