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
   182   183   184   185   186   187   188   189   190   191   192