Page 185 -
P. 185

176                                                          M. Pesic


                                    high

                                               groupware  flexibility  support  procedural  workflow management   systems







                                     low

                                                          control


                                            users                         system

                           Fig. 6.1 Flexibility vs. support, adapted from [79]


                           innovative research prototypes, few of the research ideas have been adopted in com-
                           mercial systems. This is the reason why there is a question mark in the middle of
                           Fig. 6.1.
                              This chapter presents a completely new way of looking at workflow support.
                           Instead of a procedural language, we describe a declarative language based on con-
                           straints. The basic idea is that anything is allowed and possible unless explicitly
                           forbidden. To implement this idea we use a temporal logic: Linear Temporal Logic
                           (LTL). Although LTL has been around for decades, it has never been made acces-
                           sible for workflow design. Therefore, we provide a graphical notation and a set of
                           supporting tools. This nicely complements the core engine and design environment
                           of YAWL.
                              Before elaborating on our constraint-based approach, it is important to stress that
                           this is not a silver bullet. In reality, both flexibility and support are needed when it
                           comes to the computer-facilitated execution of processes and the various paradigms
                           offer different advantages. On the one hand, flexibility is needed for unpredictable
                           processes, where users can quickly react to exceptional situations and execute the
                           process in the most appropriate manner. On the other hand, support is needed when
                           it comes to processes that are repeatedly executed in the same manner, in situa-
                           tions that are too complex for humans to handle and where human mistakes must be
                           minimized. For example, the processing of insurance claims, customer orders, tax
                           declarations, etc. can benefit from a high degree of support because cases are repeat-
                           edly executed in a similar manner. Thus, an optimal balance between flexibility and
                           support is needed in order to be able to facilitate processes of various kinds. More-
                           over, in a large process there may be parts that require more flexibility and parts
                           that require more support. Therefore, procedural and flexible workflows should not
                           exclude each other. Instead, arbitrary decompositions of process models developed
   180   181   182   183   184   185   186   187   188   189   190