Page 333 -
P. 333

12  The Declare Service                                         329


                                              start task
                                        S    completed task          D
                                    YAWL Engine  interface B  instance  custom  YAWL Engine  DECLARE
                                                         YAWL
                                               start
                                                         service
                                             completed                          Y *
                                              instance
                                       (a) Custom Service interface  (b) DECLARE as a service

                           Fig. 12.2 DECLARE as a YAWL Custom Service

                                                                  DECLARE    Designer
                                                  DECLARE           Framework   Worklist
                                                  Service  TCP/IP
                                       interface B
                                 YAWL
                                Engine
                                                   YAWL
                                                  Worklist
                           Fig. 12.3 Interface between YAWL, Declare Service, and DECLARE


                           another Custom Service, then this must be explicitly specified in the model. The
                           Declare Service enables arbitrary decompositions of DECLARE and models in two
                           ways, as shown in Fig. 12.2b. First, it is possible that a YAWL task triggers the exe-
                           cution of a DECLARE instance: when the YAWL task D becomes enabled, DECLARE
                           will initiate the required constraint model. YAWL will consider the completion of
                           the launched DECLARE instance as a completion of its task. Second, DECLARE task
                           Y can trigger the execution of a YAWL instance.
                              As Fig. 12.3 shows, DECLARE consists of three components; the Designer,the
                           Framework,and the Worklist.The Designer component is used for creating con-
                           straint templates, constraint models, and by verification of constraint models. For
                           example, Fig. 12.1 shows the Designer component containing the Carrier Appoint-
                           ment model. The Framework component facilitates instance creation and change
                           of constraint models. Finally, the Worklist component offers users access to active
                           instances of constraint models. Also, users can execute tasks of active instances in
                           their Worklist. The Declare Service acts as a bridge between the YAWL Engine and
                           the DECLARE Framework, as shown in Fig. 12.3. Note that users execute “normal”
                           tasks (i.e., tasks that are not decomposed or subcontracted to another system or pro-
                           cess) of DECLARE and YAWL instances in a default manner by using the respective
                           worklists.
                              After presenting the architecture of DECLARE and the way it is embedded into
                           the YAWL environment, we now focus on the functionality provided by DECLARE.
                           In the remainder, we show the following capabilities:
                             The possibility to define constraint templates. DECLARE is multilingual and can
                              support multiple constraint languages at the same time. Moreover, it is possible
                              to define new languages using constraint templates.
   328   329   330   331   332   333   334   335   336   337   338