Page 181 -
P. 181
5 Exception Handling 171
process model can be made to more closely reflect their actual work practices, which
involves complex update, modification, and migration phases.
The overarching benefit of the worklet approach is that it allows a primary
(or top-level) process model to be defined once – change can thereafter be intro-
duced to the process without changing the original parent model in any way.This
immediately exhibits many advantages over monolithic approaches. In particular, it
solves the problem of updating a (monolithic) process model whenever a change
is required, and thus overcomes the issues of downtime, versioning, maintenance,
verification, and correctness that plague more traditional approaches.
While many rule-based systems provide a single “fixed” control-flow of alter-
native steps associated with a particular exception type, the Ripple-Down Rules
approach used in the Worklet Service provides the capability to offer many (in
fact, unbounded) different control-flow-step sets for any exception instance, and
because the repertoire is dynamically extensible, it allows nuance within rule sets
for even the smallest of contextual differences. That is, it offers far greater bene-
fits than the traditional rule-based approaches and clear advantages over monolithic
approaches.
Exercises
Exercise 1. What are the four main factors that need to be considered when decid-
ing on an appropriate handling strategy for an exception?
Exercise 2. Explain why one YAWL Custom Service (the Worklet Service) is
designed to handle both dynamic flexibility and exception handling, rather than
separating the functionality into two distinct services.
Exercise 3. Name at least three reasons why is it desirable to separate exception
handling processes from those processes where exceptions may occur.
Exercise 4. How are exception handling processes defined in the YAWL environ-
ment? How is the appropriate exception handling process chosen and invoked for a
particular exception instance?
Exercise 5. What would happen if a worklet, currently executing within a compen-
sation primitive of an exlet, experiences an exception of its own?
Exercise 6. What is the exlet defined in Fig. 5.9 designed to do?
Exercise 7. Give two benefits offered by the Worklet Service’s approach to excep-
tion handling over more manual approaches.
Exercise 8. Can you think of any runtime exceptions that may occur that cannot be
captured by the approach discussed in this chapter?