28.01.2015 Views

Semantics, Verification, and Implementation of Workflows ... - YAWL

Semantics, Verification, and Implementation of Workflows ... - YAWL

Semantics, Verification, and Implementation of Workflows ... - YAWL

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 3. OR-join semantics<br />

c1<br />

B<br />

c4<br />

A<br />

c2<br />

C<br />

c5<br />

E<br />

F<br />

c3<br />

D<br />

c6<br />

Figure 3.3: A <strong>YAWL</strong> net modified from Figure 3.2<br />

therefore, E is enabled at M. So, even though two active paths are chosen after<br />

OR-split task A, the OR-join evaluation should not wait for tokens from both<br />

paths, as it is possible that not all the tokens are on the path to an OR-join task.<br />

c1<br />

C<br />

c6<br />

c4<br />

A<br />

c2<br />

B<br />

E<br />

c5<br />

c3<br />

D<br />

c7<br />

Figure 3.4: A <strong>YAWL</strong> net with two OR-join tasks C <strong>and</strong> D<br />

B_c5<br />

i c1+c2+c3 c1+c3+c4+c5<br />

B_c4,c5<br />

B_c4<br />

c1+c3+c5<br />

c1+c3+c4<br />

D<br />

C<br />

C<br />

D<br />

D<br />

C<br />

c1+c7<br />

c3+c5+c6<br />

c1+c4+c7<br />

c3+c6<br />

C<br />

D<br />

C<br />

D<br />

c6+c7<br />

E<br />

o<br />

Figure 3.5: The reachability graph <strong>of</strong> the <strong>YAWL</strong> net in Figure 3.4<br />

Next, the behaviour <strong>of</strong> OR-joins is described using an example with one ORsplit<br />

<strong>and</strong> two OR-joins. The example in Figure 3.4 demonstrates a net with<br />

AND-split task A, AND-join task E, OR-split task B <strong>and</strong> OR-join tasks C <strong>and</strong><br />

D. The graph <strong>of</strong> Figure 3.5 shows the reachable markings from the initial marking<br />

i to the end marking o. A node in the reachability graph represents a reachable<br />

marking <strong>and</strong> an edge represents a task that is executed to reach that particular<br />

marking. First consider a marking M = c1 + c2 + c3 where there is a token in<br />

input condition c1 <strong>of</strong> OR-join task C <strong>and</strong> in input condition c3 <strong>of</strong> OR-join task D<br />

in addition to the token in input condition <strong>of</strong> task B. To determine whether tasks<br />

C <strong>and</strong> D should be enabled at M, we need to find out whether either condition c4<br />

or c5 is marked in the reachable markings from M. We can see that by executing<br />

task B, it is possible to reach markings c1 + c3 + c5 or c1 + c3 + c4 + c5 that<br />

mark c5, an input condition <strong>of</strong> task D not marked in M. Alternatively, markings<br />

PhD Thesis – c○ 2006 M.T.K Wynn – Page 35

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!