Page 162 -
P. 162

152                                              M. Adams and N. Russell
                           (2) where an executing work item is detected as having failed, its state is changed
                           accordingly.
                              Figure 5.1 also illustrates the 15 possible state transitions that may occur for a
                           work item when it is subject to exception handling, which it depicts as dashed arcs.
                           The details of each of these are summarized in Table 5.1.




                           5.2.3 Exception Handling at Case Level

                           As exceptions can always occur in the context of a system in which more than
                           one case is currently executing, it is possible that their occurrence may also affect
                           other current work items in the same and possibly other cases. Therefore, the third
                           consideration that arises is how to handle the exception at the level of the case. There
                           are three possible alternative options for this:
                           1. Continue workflow case (CWC) – The workflow case can be continued, and no
                              intervention occurs in the execution of any other work items
                           2. Remove current case (RCC) – Selected or all remaining work items in the
                              current case are removed
                           3. Remove all cases (RAC) – Selected or all remaining work items in both the
                              current all other executing cases which correspond to the same process model
                              are removed

                           In the latter two scenarios, a selection of work items to be removed can be specified
                           using both static design time information relating to the corresponding task defi-
                           nition (e.g., original role allocation) as well as relevant runtime information (e.g.,
                           actual resource allocated to, start time).



                           5.2.4 Recovery Action


                           The final consideration in regard to exception handling is what action is under-
                           taken to mitigate the effects of the exception that has been detected. There are three
                           alternate courses of action that can be taken to deal with the exception:
                           1. No action (NIL) – Do nothing
                           2. Rollback (RBK) – Rollback the effects of the exception by undoing the preced-
                              ing work item(s) based on the state changes recorded in an execution log. To
                              specify a rollback action, the point in the process (i.e., the task) to which the pro-
                              cess should be undone needs be stated. By default this is just the current work
                              item
                           3. Compensate (COM) – Compensate for the effects of the exception by executing
                              an alternative task or subprocess. To specify a compensation action in a pro-
                              cess definition, the corresponding compensation task(s) or subprocess needs to
                              be identified
   157   158   159   160   161   162   163   164   165   166   167