Page 63 -
P. 63

50                                            N. Russell and A. ter Hofstede
                             Simultaneous Execution corresponds to the ability for a resource to execute
                              more than one work item simultaneously, for example, user jsmith can work on
                              multiple work items that have been assigned to them at the same time.
                             Additional Resources corresponds to the ability for a given resource to request
                              additional resources to assist in the execution of a work item that it is currently
                              undertaking, for example, user jsmith requests the allocation of more resources
                              to the review-findings work item in order to speed its execution.

                           Although the patterns presented thus far have been described in an informal man-
                           ner, each of them has a precise underlying description. The notion of formality is
                           of critical importance if a business process is to be described and interpreted in an
                           unambiguous way. The next section examines the importance of formality in a busi-
                           ness process and presents various approaches to describing them in a complete and
                           precise manner.


                           2.3 Formal Foundation


                           One of the frequent criticisms of modeling notations is that they are imprecise and,
                           as a consequence, subject to varying interpretations by different parties. Describing
                           a candidate modeling notation in terms of a formal technique provides an effective
                           means of minimizing the potential for ambiguity. To do so, it is necessary to describe
                           both the syntax and semantics of the modeling formalism using a well-founded
                           technique. Suitable techniques for doing so generally stem from mathematical foun-
                           dations and include general-purpose modeling approaches such as Petri nets and
                           process algebras together with techniques more specifically focussed on software
                           specification such as the formal specification languages Z, SSADM, and VDM.
                              Petri nets have proven to be a particularly effective mechanism for modeling the
                           dynamic aspects of processes. As indicated by van der Aalst, they have three specific
                           advantages:
                             Formal semantics despite the graphical nature.
                             State-based instead of event-based.
                             Abundance of analysis techniques.
                           For these reasons, Petri nets and two specific variants – workflow nets and reset
                           nets – have been chosen as the formal underpinning for the YAWL language. In this
                           section, we will examine the operation of these techniques and their use for describ-
                           ing various operational aspects of the YAWL language. We start with Petri nets.


                           2.3.1 Petri Nets


                           Petri nets were originally conceived in the early 1960s as a way of characterizing
                           concurrent behavior in distributed systems. Since that time, Petri nets (which are
                           also known as place/transition nets or P/T nets) have proven useful as a means of
   58   59   60   61   62   63   64   65   66   67   68