Page 77 -
P. 77
64 N. Russell and A. ter Hofstede
that is, additional instances can be initiated during execution. Where a task has an
OR-split associated with it, it has a branch nominated as its default, should all con-
ditions associated with branches evaluate to false. Where the task has an XOR-split
associated with it, an ordering is specified, indicating the sequence in which con-
ditions associated with output branches are evaluated. In the event that none of the
conditions evaluate positively, the lowest ranked branch is selected as the default.
2.5 Data
The data perspective of YAWL encompasses the definition of a range of data ele-
ments, each with a distinct scoping. These data elements are used for managing data
with a YAWL process instance and are passed between process components using
query-based parameters. To integrate the data and control-flow perspectives, support
is provided in YAWL for specifying logical conditions (known as link conditions)
based on data elements that define whether the thread of control can be passed
to a given branch in a process. All of these YAWL data constructs are discussed
subsequently.
2.5.1 Data Element Support
YAWL incorporates a wide range of facilities for data representation and handling.
Variables of three distinct scopings are recognized as follows:
Net variables are bound to a specific instance of a YAWL net. At runtime, a new
instance of the net variable is created for every instance of the YAWL net that is
initiated. This variable instance is accessible throughout the YAWL net at runtime.
Task variables are bound to a specific task. At runtime, a new instance of the task
variable is created for every instance of the task that is initiated. This variable
instance is accessible only to the corresponding task instance at runtime.
Multiple instance variables are bound to a specific instance of a multiple instance
task. At runtime, a new instance of the multiple instance variable is created for
every instance of the multiple instance task that is initiated. This variable instance
is accessible only to the corresponding task instance at runtime.
Figure 2.26 illustrates the configuration of task and multiple instance variables for
the Evaluate Results task in the Medical Review process shown in Fig. 2.24. It also
shows how the values of these variables are populated from net variables using
XQuery-based parameters.
2.5.2 Data Interaction Support
There are two facilities for transferring data elements to and from tasks in YAWL.
Simple parameters can be used to transfer the value of a data element between a net