Page 345 -
P. 345

12  The Declare Service                                         341
                           executed. For example, users can select to execute an instance of model Model C for
                           task D 3 . Because the “declaremodel” data element is also an output data element
                           in task D 3 , DECLARE will return the name of the executed model to YAWL. In this
                           manner, YAWL users are informed about the subprocess that was executed for the
                           decomposed YAWL task.




                           12.10 Conclusions

                           Depending on the nature of a business process, a higher or lower degree of flexibility
                           is needed when it comes to workflow support. For example, while procedural YAWL
                           processes are appropriate for many of the more structured processes encountered in
                           practice, they may be less suitable for less structured processes (such as our TL
                           and LTTL subprocesses) that require the flexibility of declarative workflow models.
                           Moreover, it might be the case that one business process contains some subpro-
                           cesses that require the procedural approach and some subprocesses that require the
                           declarative approach.
                              The Declare Service enables combining the two approaches by allowing for arbi-
                           trary decompositions of procedural YAWL and declarative DECLARE workflows.
                           This is achieved by allowing the decomposition of both YAWL tasks into DECLARE
                           workflows, and DECLARE tasks into YAWL nets. This way the workflow designer is
                           not forced to make a binary choice between declarative and procedural workflows.
                           Instead, an integration can be achieved, where parts of the workflow that need a high
                           degree of flexibility are supported by declarative DECLARE models and parts of the
                           processes that need centralized control of the system are supported by more pro-
                           cedural YAWL models. Note that YAWL also provides flexibility via the so-called
                           Worklet Service. The Worklet Service (cf. Chap.11) offers a different kind of flex-
                           ibility that is complementary to DECLARE. As the Declare Service and the Worklet
                           Service are embedded in a similar manner, it is possible to arbitrarily mix procedural
                           YAWL models, declarative models, and worklets.



                           Exercises


                           Exercise 1. Tasks bless, pray, curse,and become holy are four tasks in the Reli-
                           gion process. Users of this process must obey two important rules. First, one should
                           pray at least once. Second, every time one curses, one must eventually pray for for-
                           giveness afterwards. Develop a model in DECLARE for this process using ConDec
                           constraint templates.

                           Exercise 2. Consider the following four scenarios:

                           (a) hbecome holy; curse; blessi
                           (b) hpray; bless; prayi
   340   341   342   343   344   345   346   347   348   349   350