Page 179 -
P. 179
5 Exception Handling 169
compensatory processes, or worklets, and so at any point there may be several
worklets operating on the upper tier for a particular case instance.
5.4.4 Local and Global Perspectives on Exception Handling
The Worklet Exception Service operates from both local and global perspectives. It
is important at this point to clearly distinguish between them.
The Worklet Service deals with both flexibility and exception handling locally,
in that additions to a repertoire are instigated by the person charged with performing
the task (or an administrator for non-human resourced tasks). With each addition,
a rule node is added, which becomes, in effect, a localized exception to the more
general parent rule – the use of the term “exception” here refers to an “exception
to the rule,” rather than that which refers to a control-flow deviation during process
instance execution. This locality of change is an essential benefit of the approach.
So, in this regard, deviations referring to both flexibility and exception handling are
created locally and their effects are propagated upwards.
In addition, the Worklet Service also provides the ability to handle exceptions at a
global level – that is, at case or specification level. As discussed in Sect. 5.4.3.1, case
level exceptions based on pre- and post-constraints can occur when a case starts and
completes. As well, externally triggered exceptions can be raised at the case level at
any time during an instance’s life cycle. Thus, these kinds of exceptions are raised
at a global level and their effects are propagated downwards.
Further, any exception, no matter whether it was raised locally or globally, can
be applied to affect the task, case, and/or specification levels, as the exception and
the context of the instance demand.
Thus, the Worklet Service provides support for deviations that occur at both local
and global levels; they can be triggered automatically (via RDRs) and/or manually
(via a selection from a list when externally triggered); and they are able to apply
their effects at any execution level.
Consequently, the scope of the worklet solution provides improved efficiencies
over manual handling systems in a vast number of cases. But, importantly, it also
provides for manual handling in those cases where it is appropriate.
A critical position of the worklet approach can be briefly summarized thus:
If, for a particular case having a certain context, a method of handling an exception at a
particular point in the life-cycle of the case has been previously defined and deemed the
most suitable method, then it is appropriate to assume that, given another instance of the
same case which has exactly the same context, that same exception handling method can be
correctly applied to that instance.
There can be only two situations where such a position does not apply: (1) the
context of a new case instance is not exactly the same as the one for which the
handler was previously defined; or (2) an improved way of handling the exception
is conceived. Of course, if an appropriate handler has not been previously defined,