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