Page 49 -
P. 49

36                                            N. Russell and A. ter Hofstede
                              unsuccessfully. There is no further execution of the canceled case and the case is
                              marked as canceled.
                             Cancel Multiple Instance Task identifies the cancelation of a specific multiple
                              instance task. Since a multiple instance task may potentially have multiple con-
                              current execution instances either active or pending at the time of cancelation,
                              the cancelation action extends to all of these instances and requires that their exe-
                              cution be terminated and recorded as having completed unsuccessfully. None of
                              the canceled task instances nor the canceled task itself can trigger any subsequent
                              tasks.
                             Complete Multiple Instance Task denotes the forced completion of a multi-
                              ple instance task. Unlike the preceding pattern, it seeks to bring the various
                              instances of a multiple instance to a conclusion by removing any currently
                              executing instances and marking them as complete and by withdrawing any pend-
                              ing instances that have not yet started executing. The multiple instance task is
                              deemed to have completed successfully and any subsequent tasks are triggered.
                             Cancel Region, which provides a general form of cancelation that is able to
                              terminate a group of tasks.
                           The cancelation and completion patterns deal with termination of executing task
                           instances from within a process. In contrast, the trigger patterns provide a means of
                           initiating task execution from outside a process.



                           Trigger Patterns

                           The trigger patterns provide a means for the execution of a process to be synchro-
                           nized with its broader operational environment. Triggers can take various forms,
                           examples of which are shown in Fig. 2.7a, which illustrates a message-based trig-
                           ger, and Fig. 2.7b, which denotes a time-based trigger. Where a trigger is associated
                           with a task, the task can only commence execution when it has (1) been enabled
                           and (2) received an instance of the required trigger. Two types of trigger are rec-
                           ognized by distinct patterns: the Persistent Trigger denotes triggers that are durable
                           in form and are retained if the task instance to which they are directed has not yet
                           received the execution thread, whereas the Transient Trigger denotes triggers that
                           are ephemeral in form and if they are not immediately consumed by the task to
                           which they are directed (i.e., if the task does not yet have the thread of control), then
                           they are discarded.







                           Fig. 2.7 Examples of trigger patterns
   44   45   46   47   48   49   50   51   52   53   54