Page 364 -
P. 364

362                                                     G. Decket et al.
                           expression, or the condition is set to Default, meaning that the flow is the default
                           flow. Expression conditions are directly mapped to predicates subject to differences
                           in the naming conventions used. Meanwhile, a default condition is transformed into
                           the predicate “true()” and listed as the last predicate of a “split,” meaning that it is
                           checked (and fulfilled, because it is “true()”) when no other predicate is fulfilled.
                           Therefore, it has the same behavior as the BPMN default condition.
                              Tasks in a BPMN embedded process can access the properties of the process that
                           contains the embedded process. However, in YAWL, subnets cannot access data
                           from a parent process. Therefore, a transformation must be performed to make this
                           possible. An embedded BPMN subprocess is mapped to a YAWL composite task.
                           To give the tasks within the composite task access to the properties of the parent pro-
                           cesses, the composite task is given all the variables that the parent process has. These
                           variables are assigned the values of the corresponding process variables by input
                           parameters when the composite task is started. The values of the task variables are
                           assigned to the corresponding net variables when the composite task is completed.
                           In this way, the tasks within the composite task have access to the net variables.
                              Properties of a BPMN independent subprocess map to variables of the compos-
                           ite task to which the subprocess is mapped. As per the assumption introduced in
                           Sect. 13.2, the properties of a task that invokes a subprocess and those of the sub-
                           process itself are identical. As this is also the case for a YAWL composite task that
                           invokes a subnet and the invoked subnet, no special mapping rules are necessary to
                           map properties of independent subprocesses.


                           13.3.3 Resources

                           As we used the assignment of tasks to lanes to represent the assignment of resources,
                           we map the assignment of a task to a lane to the assignment of a task to the cor-
                           responding resource. This means that BPMN is not used to model the resources
                           themselves, but only to model assignment of tasks to resources. Hence, BPMN is
                           used in the same way as the YAWL Editor currently is. The YAWL Editor is also
                           only used to model resource assignment, the resources themselves are defined in the
                           YAWL administration console.


                           13.3.4 Exceptions


                           Exceptions in BPMN can be classified into two categories:
                             Exceptions generated because the execution of a subprocess reaches a specific
                              element that throws the event (specifically a node of type “end error event”)
                             Exceptions that may occur at any point during the execution of an activity due to
                              an external factor (a timeout, the receipt of a message, or a rule).
                             The mapping of an error event generated by a subprocess is shown in Fig. 13.12(i).
                           The end error event node (which raises the exception) is mapped to a YAWL task
   359   360   361   362   363   364   365   366   367   368   369