Page 71 -
P. 71
58 N. Russell and A. ter Hofstede
Fig. 2.20 YAWL control-flow symbols
of a set of YAWL nets in the form of a rooted graph structure. Each YAWL net is
composed of a series of tasks and conditions. Tasks and conditions in YAWL nets
play a similar role to transitions and places in Petri nets. Atomic tasks have a cor-
responding implementation that underpins them. Composite tasks refer to a unique
YAWL net at a lower level in the hierarchy that describes the way in which the com-
posite task is implemented. One YAWL net, referred to as the top level process or
top level net, does not have a composite task referring to it and it forms the root of
the graph.
Each YAWL net has one unique input and output condition. The input and output
conditions of the top level net serve to signify the start and endpoint for a process
instance.
Placing a token in the input condition for a YAWL net initiates a new instance
of a process, also known as a case. The token corresponds to the thread of control
in the process instance and it flows through the YAWL net in accordance with the
rules specified in Sect. 2.3.1, triggering tasks as it does so. An enabled instance of a
task corresponds to a new unit of work that needs to be completed and is referred to
as a task instance or work item.
Similar to Petri nets, conditions and tasks are connected in the form of a directed
graph; however, there is one distinction in that YAWL allows for tasks to be directly
connected to each other. In this situation, it is assumed that an implicit condition
exists between them.
It is possible for tasks (both atomic and composite) to be specified as having
multiple instances (as indicated in Fig. 2.20). Multiple instance tasks (abbreviated
hereafter as MI tasks) can have both lower and upper bounds on the number of
instances created after initiating the task. It is also possible to specify that the
task completes once a certain threshold of instances have completed. If no thresh-
old is specified, the task completes once all instances have completed. If a threshold
is specified, the task completes when the threshold is reached, but any remaining