Page 187 -
P. 187
178 M. Pesic
forbidden
optional
allowed
(a) forbidden, optional and allowed
in business processes
constraints constraints
possible control-flow
constraints
constraints
(b) procedural workflow (c) declarative workflow
Fig. 6.3 Declarative vs. procedural workflows
the constraint-based approach can provide for all types of flexibility listed in the
previous paragraph. A concrete implementation that enables creating decomposi-
tions of YAWL (e.g., procedural) and declarative models is presented in Chap.12 of
this book. Figure 6.3 illustrates the difference between procedural and declarative
process models.
Starting point for the declarative constraint-based approach is the observation
that only three types of “execution alternatives” can exist in a process: (1) forbidden
alternatives should never occur in practice, (2) optional alternatives are allowed, but
should be avoided in most of the cases, and (3) allowed alternatives can be executed
without any concerns. This is illustrated in Fig. 6.3a. Procedural workflow models
(e.g., YAWL nets) explicitly specify the ordering of tasks, that is, the control-flow
of a workflow. In other words, during the execution of the model, it will be possi-
ble to execute a process only as explicitly specified in the control-flow, as shown in
Fig. 6.3b. Because of the high level of unpredictability of processes, many allowed
and optional executions often cannot be anticipated and explicitly included in the
control-flow. Therefore, in traditional systems it is not possible to execute a sub-
stantial part of all potentially allowed alternatives, that is, users are unnecessarily
limited in their work and, hence, these systems lack flexibility by design.
Our declarative constraint-based approach to workflow models makes it pos-
sible to execute both allowed and optional alternatives in processes. Instead of
explicitly specifying the procedure, constraint workflow models are declarative:
they specify constraints, that is, rules that should be followed during the execution,
as shown in Fig. 6.3c. Moreover, there are two types of constraints: (1) mandatory
constraints focus on the forbidden alternatives, and (2) optional constraints specify
the optional ones. Constraint-based models are declarative: anything that does not
violate mandatory constraints is possible during execution. The declarative nature of