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.