Page 365 -
P. 365

13  The Business Process Modeling Notation                      363

















                           Fig. 13.12 Mapping of exceptions



                           that sets a boolean variable (say e)to True, followed by an output condition. In
                           YAWL, when a token reaches the output condition of the (sub-)net, the entire exe-
                           cution of the subnet is stopped. This matches the behavior of the end error event in
                           BPMN, which effectively stops the execution of all activities in the encompassing
                           (sub-)process instance. The error variable e is initially set to False. Setting it to True
                           signifies that an exception has occurred. The value of the error variable is passed to
                           the parent net. Recall that a subprocess in BPMN is mapped to a composite task in
                           YAWL. Accordingly, a subprocess in BPMN with an attached error event is mapped
                           to a composite task in YAWL with an XOR-split decorator. This XOR-split tests
                           whether the error variable is set to True or False.If it is set to True, it means that the
                           error event has occurred. Thus, the exception flow should be taken (in the example
                           at hand, task C should be executed). Meanwhile, if the error variable is set to False,
                           it means that the error event has not occurred. Thus, the normal flow should be taken
                           (in the example, task B should be executed).
                              The mapping of the second type of error events is illustrated in Fig. 13.12(ii)
                           and 13.12(iii). Figure 13.12(ii) illustrates the mapping of a timer event attached to
                           an activity, regardless of whether this activity is an atomic activity or a subprocess
                           invocation. A timer event in BPMN maps to a task with an attached timer in YAWL,
                           cf. Task e in Fig. 13.12(ii). Meanwhile, the BPMN activity to which the timer event
                           is attached (task A in the figure) is also mapped to a YAWL task (which may be
                           simple or composite). These two YAWL tasks are enabled in parallel, but they can-
                           cel one another, that is, the firing of task e cancels task A and vice-versa. Thus, the
                           expiration of the timer causes task A to be canceled and the corresponding “excep-
                           tion path” to be taken. Reciprocally, completion of task A causes the timer task to
                           become irrelevant and the “normal path” to be pursued. A message event attached
                           to a BPMN activity is mapped to YAWL in a similar way, except that the main task
                           (i.e., task A in the example) is mapped to a task that listens for the corresponding
                           message type.
                              Figure 13.12(iii) shows a mapping of a rule event attached to a subprocess. A rule
                           is evaluated immediately after completion of each activity in the subprocess. Specif-
                           ically, every task in the generated YAWL subnet has an XOR-split attached to it with
   360   361   362   363   364   365   366   367   368   369   370