Page 168 -
P. 168

158                                              M. Adams and N. Russell

                              (a) Work item account − check account task  (b) Deadline expiry − organise bookings task
                                account in terms
                                                                           C
                                account overdue
                                                         (d) Trigger received − travel booking process
                                                          account_frozen trigger
                              (c) Resource unavailable − travel booking process  R
                                data resource unavailable
                                                         (e) Constraint violation − check account task
                                                          constraint:order value < customer credit limit − current account balance
                                human resource unavailable



                           Fig. 5.5 Exception handling strategies – travel booking process



                           unavailable resource is a human resource (i.e., the person undertaking the work
                           item), the recovery action is also shown in Fig. 5.5c and involves suspending the
                           work item, reassigning it to another person and then restarting it from the beginning.
                              Figure 5.5d indicates the exception handlingstrategywhenan account frozen
                           trigger is received by any of the tasks in the current process. In this situation, the
                           recovery action is to stop the current work item and all other work items in the
                           process and to undertake a rollback action, which involves undoing all changes that
                           have occurred right the way back to the beginning of the case. In other words, any
                           work that has been undertaken on dispatching goods to the customer is completely
                           undone.
                              Finally, Fig. 5.5e illustrates the recovery action that is taken when the travel
                           order value constraint is exceeded for the organize bookings task. In this case,
                           the strategy is simply to stop the work item and all other work items (if any) in the
                           process.



                           5.4 Exception Handling in YAWL


                           From the discussion above, it can be seen that exception handling requirements form
                           a specific domain drawn from the more general topic areas of flexibility and adapta-
                           tion. It makes sense then that a solution for exception handling would extend from
                           ways of making workflows more flexible. Chapter 4 described the YAWL environ-
                           ment’s solution to the issues of flexibility and adaptation using the Worklet Service.
                           An extension of the Worklet Service, called the Worklet Exception Service, extends
                           the capabilities of the Worklet Service to provide dynamic exception handling with
                           corrective and compensatory actions. This section provides a conceptual overview
                           and a description of the general framework of the Exception Service; a detailed
   163   164   165   166   167   168   169   170   171   172   173