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
   72   73   74   75   76   77   78   79   80   81   82