Page 75 -
P. 75
62 N. Russell and A. ter Hofstede
Table 2.5 Control-flow pattern support
Pattern group Supported patterns
Branching patterns All except the Thread Split
Synchronization All except the Thread Merge, Partial Join variants, and the Blocking
patterns Discriminator
Repetition patterns Arbitrary Cycles, Recursion. Partial support for the Structured Loop
via task pre/post-conditions facilitated via the Exception Service
Multiple instance All except for the Dynamic Partial Join for Multiple Instances,which
patterns is only partially supported as a consequence of the fact that multiple
instance tasks can only have threshold-based completion conditions
and they cannot be specified in a more general manner
Concurrency patterns All
Trigger patterns No support as task execution cannot be externally synchronized
Cancelation and All except for Complete Multiple Instance Task, which can only be
completion patterns indirectly achieved through the use of a timer to force complete
remaining instances
Termination patterns Explicit Termination
responses task. Finally, once all evaluations have been completed, the report findings
task is completed.
These diagrams serve to give an indication of the control-flow aspects of a YAWL
process model. In the next section, we examine the formal representation of the
control-flow perspective in a YAWL model.
2.4.2 Control-Flow Patterns Coverage
The various constructs that comprise the control-flow perspective of YAWL are
based upon the control-flow patterns discussed in Sect. 2.2.1. It provides an interest-
ing insight into the conceptual power of YAWL to examine the range of control-flow
patterns that it provides support for. These are identified in Table 2.5
In total, YAWL directly supports 31 of the 43 control-flow patterns and provides
partial solutions for a further three patterns.
2.4.3 Object Role Model
This section provides a description of the main elements that make up the control-
flow perspective of a YAWL model using the object-role modeling notation as
shown in Fig. 2.25. In summary, a YAWL workflow specification is comprised of
a number of YAWL nets. Each net provides a description of a portion of an over-
all YAWL process. One of them is designated as the root net (i.e., the top-level net
in a process definition), while the others correspond to decompositions of compos-
ite tasks. Each net comprises a number of net elements, which can be conditions
or tasks. Two conditions are specially designated in each net as the start and end
condition, which signify the initiation and completion of an instance of the net.