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