The need for reliable, resilient and consistent business process operation has long been recognized [GHS95]. In the main, the focus of research in this area has been directed towards workflow systems which until recently have served as the main enactment vehicle for PAIS. Early work in the area [Elm92, WS97] was essentially a logical continuation of database transaction theory and focussed on developing extensions to the classic ACID transaction model that would be applicable in application areas requiring the use of long duration and more flexible transactions. As the field of workflow technology matured, the applicability of exceptions to this problem of ensuring execution integrity was also recognized [SW95, SM95] and Eber and Liebhart [EL96] presented the first significant discussion on workflow recovery which incorporated exceptions. A key aspect of this work was the classification of exceptions into four types: basic failures, application failures, expected exceptions and unexpected exceptions. Subsequent research efforts into workflow exceptions have mainly concentrated on the last two of these classes and on this basis, the field has essentially bifurcated into two research areas. Investigations into expected exceptions have focussed previous work on transactional workflow into mechanisms for introducing exception handling frameworks into workflow systems. Research into unexpected exceptions has established the areas of adaptive workflow and workflow evolution [RRD04].
Although it is not possible to comprehensively survey these research areas, it is worthwhile identifying some of the major contributions that have influenced subsequent research efforts and have a bearing on this research initiative. Significant attempts to include advanced transactional concepts and exception handling capabilities in workflow systems include WAMO [EL95] which provided the ability to specify transactional properties for tasks which identified how failures should be dealt with, ConTracts [RS95a] which proposed a coordinated, nested transaction model for workflow execution allowing for forward, backward and partial recovery in the event of failure and Exotica [AAA+96] which provided a mechanism for incorporating Sagas and Flexible transactions in the commercial FlowMark workflow product. OPERA [HA98, HA00] 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 modelled in the same notation as that used for representing workflow processes. TREX [SMA+98] 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 situation was determined by a combination of the task and the exception experienced. WIDE [CCPP99] developed a comprehensive language - Chimera-Exc - for specifying exception handling strategies in the form of Event-Condition-Action (ECA) rules.
Other important contributions include Leymann and Roller's [LR97] which identified the concepts of compensation spheres (collections of activities in a process that must all execute successfully or be subject to compensation actions) and atomicity spheres (collections of activities that must all commit or abort) and their applicability to workflow systems, Derks et al.'s work [DDGJ01] which proposed independent models for the specification of workflow and transaction properties using generic rules to integrate the workflow specification and the atomicity specification into a single model based on Petri Nets, Borgida and Murata's paper [BM99] which proposed modelling workflow systems as a set of reified objects with associated constraints and conceptualising exceptions as violations of those constraints which are capable of being detected and managed, Brambilla et al.'s paper [BCCT05] which describes a high-level framework for handling exceptions in web-based workflow applications together with an implementation based on extensions to WebML and Mehrotra et al.'s work [MRKS92] which first identified the pivot, retriable and compensation transaction concepts widely used in subsequent research.
Identifying potential exceptions and suitable handling strategies is a significant problem for large, complex workflows and recent attempts [GCDS01, HT04] to address this have centred on mining previous execution history to gain an understanding of past exception occurrences and using this knowledge (either at design or runtime) in order to determine a suitable handling strategy. Klein and Dellarocas [KD00] proposed a knowledge-based solution to the issue based on the establishment of a shared, generic and reusable taxonomy of exceptions. Luo et al. [LSKM00] used 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 [RRD04] which centre on dynamic change of the process model. [WRR07] offers an insight into the range of possible changes that a PAIS may need to adapt to and characterizes these in the form of change patterns. A detailed review of this area is beyond the scope of this chapter, however two recent initiatives which offer the potential to address both expected and unexpected exceptions simultaneously are ADOME-WFMS [CLK01] which provides an adaptive workflow execution model in which exception handlers are specified generically using ECA rules providing the opportunity for reuse in multiple scenarios and user-guided adaptation where they are not found to be suitable, and Adams et al.'s approach [AHEA05] which describes a combination of "worklets" and "ripple-down rules" as a means of dynamic workflow evolution and exception handling.