Page 183 -
P. 183
5 Exception Handling 173
this research initiative. Significant attempts to include advanced transactional con-
cepts and exception handling capabilities in workflow systems include WAMO [86],
which provided the ability to specify transactional properties for tasks that identified
how failures should be dealt with; ConTracts [210], which proposed a coordinated,
nested transaction model for workflow execution allowing for forward, backward,
and partial recovery in the event of failure; and Exotica [34], which provided a
mechanism for incorporating Sagas and Flexible transactions in the commercial
FlowMark workflow product. OPERA [113, 114] was one of the first initiatives to
incorporate language primitives for exception handling into a workflow system, and
it also allowed exception handling strategies to be modeled in the same notation as
that used for representing workflow processes. TREX [243] proposed a transaction
model that involves treating all types of workflow failures as exceptions. A series of
exception types were delineated and the exception handler utilized in a given situ-
ation was determined by a combination of the task and the exception experienced.
WIDE [55] developed a comprehensive language – Chimera-Exc – for specifying
exception handling strategies in the form of Event-Condition-Action (ECA) rules.
Other important contributions include the concepts of compensation spheres and
atomicity spheres and their applicability to workflow systems [149], a proposal for
independent models for the specification of workflow and transaction properties
using generic rules to integrate the workflow specification and the atomicity specifi-
cation into a single model based on Petri Nets [76], modeling workflow systems as
a set of reified objects with associated constraints and conceptualizing exceptions as
violations of those constraints that are capable of being detected and managed [47],
a high-level framework for handling exceptions in web-based workflow applications
together with an implementation based on extensions to WebML [48] and the iden-
tification of the pivot, retriable, and compensation transaction concepts widely used
in subsequent research [159].
Identifying potential exceptions and suitable handling strategies is a significant
problem for large, complex workflows and recent attempts [112, 123] to address
this have centered on mining previous execution history to gain an understand-
ing of past exception occurrences and using this knowledge (either at design or
runtime) in order to determine a suitable handling strategy. Klein et al. [134] pro-
pose a knowledge-based solution to the issue based on the establishment of a
shared, generic, and reusable taxonomy of exceptions. Luo et al. [153] use a case-
based reasoning approach to match exception occurrences with suitable handling
strategies.
Until recently, the area of unexpected exceptions has mainly been investigated in
the context of adaptive or evolutionary workflow [212], which center on dynamic
change of the process model. A detailed review of this area is beyond the scope of
this chapter; however, an initiative that offers the potential to address both expected
and unexpected exceptions simultaneously is ADOME-WFMS [58], which provides
an adaptive workflow execution model in which exception handlers are speci-
fied generically using ECA rules, providing the opportunity for reuse in multiple
scenarios and user-guided adaptation where they are not found to be suitable.