Page 38 -
P. 38

2  The Language: Rationale and Fundamentals                      25
                           2.2 Workflow Patterns


                           In 1999, the Workflow Patterns Initiative commenced with the aim of identifying the
                           generic, recurrent constructs relevant to business processes. In the 10 years since the
                           initial proposal, the patterns have been extended to provide comprehensive cover-
                           age of the desirable constructs in the control-flow, data and resource perspectives of
                           business processes and now delineate 126 distinct patterns. This section will present
                           an overview of the main pattern groupings in each of these perspectives and discuss
                           the more significant patterns in further detail.



                           2.2.1 Control-Flow Patterns


                           The control-flow patterns describe language features for managing the flow of con-
                           trol amongst the various tasks that make up a business process. These patterns can
                           be divided into eight distinct groups based on their area of focus:

                             Branching patterns capture scenarios where the thread of control in a process
                              divides into two or more independent execution threads, possibly in distinct
                              branches.
                             Synchronization patterns describe scenarios where several independent threads
                              of control in a process (possibly in distinct branches) need to be synchronized
                              into a single branch.
                             Repetition patterns describe various ways in which repetitive tasks or subpro-
                              cesses can be specified in a process.
                             Multiple instance (MI) patterns characterize situations where multiple concur-
                              rent instances of a task or subprocess execute simultaneously and may need to be
                              synchronized upon completion.
                             Concurrency patterns reflect situations where restrictions are imposed on the
                              extent of concurrent execution within a process.
                             Trigger patterns identify constructs that allow the execution in a process past a
                              specified point to be made contingent on the receipt of a signal from the operating
                              environment.
                             Cancelation and completion patterns categorize the various cancelation scenarios
                              that may arise in a business process.
                             Termination patterns which address the issue of when the execution of a process
                              can be considered to be finished.
                           Each of these groups contains a number of patterns that describe desirable behav-
                           iors in a business process and we will now consider these in more detail on a
                           group-by-group basis.
   33   34   35   36   37   38   39   40   41   42   43