Introduction
Business process management continues to receive widespread focus by technology-enabled organisations offering them a means of optimising their current organisational business processes in a way that aligns with top-level business objectives. In many cases, workflow systems serve as the enabling technology for mission-critical business processes. They offer a means of streamlining such processes by mapping out the key activities, decision points and work distribution directives and then automating much of the overhead that, is often associated with managing the various activities that form part of a business process.
Process-aware information systems are generally based on a comprehensive process model (often depicted in graphical form) that maps out all of the possible execution paths associated with a business process. This ensures that the work activities which comprise each of the likely execution scenarios are fully described. Whilst this approach to specifying business process works well for well-behaved cases of a process i.e. those that conform to one of the expected execution paths, it is less successful in dealing with undesirable events encountered during execution.
Deviations from normal execution arising during a business process are often termed exceptions in line with the notion of exceptions which is widely used in the software engineering community. Because it is difficult to individually cater for all of the undesirable situations that may arise during the execution of a program, the notion of exceptions was developed where these events are grouped into classes which are related by similarities that they possess in terms of the conditions under which they might arise. Exception handlers can then be defined in the form of programmatic procedures to resolve the effects of specific events as they are detected. At the lowest level, exceptions can be defined for events such as divide by zero errors and appropriate handling routines can be defined. For business processes, this level of detail is too fine-grained and it is more effective to define exceptions at a higher level, typically in terms of the business process to which they relate.
As with the other patterns that seek to provide a conception foundation for the control-flow, data and resource perspectives of PAIS, this section focuses on doing the same for the exception handling perspective. However, it adopts a distinct approach to that taken in the other perspectives. The control-flow, data and resource perspectives are orthogonal to each other and there is minimal interrelationship between them. The exception handling perspective differs in this regard as it is based on all of these perspectives and it is responsible for dealing with undesirable events which may arise in each of them. Consequently the approach to describing the conceptual basis of the exception handling perspective is a little different
First, we investigate the range of issues that may lead to exceptions during process execution and the various ways in which they can be addressed. This provides the basis for a classification framework for exception handling that is subsequently define in the form of patterns. The motivation for this research is to provide a conceptual framework for classifying the exception handling capabilities of PAIS in a manner that is independent of specific modelling approaches or technologies. This approach is distinguished from other research activities in this area which seek to extend specific process modelling formalisms and enactment technologies to provide support for expected and unexcepted events by incorporating exception detection and handling capabilities. Instead of directly proposing a concrete implementation, this body of work proceeds as follows: first the major factors associated with exception handling are delineated and investigated in detail. On the basis of these findings, a patterns-based classification framework is proposed for describing the exception handling capabilities of PAIS. This is then used to assess the exception handling capabilities of a variety of contemporary PAIS and business process modelling languages. Finally on the basis of the insights gained from these activities, a generic graphical exception handling language is proposed.