03.12.2012 Views

xoEPC - Jan Mendling

xoEPC - Jan Mendling

xoEPC - Jan Mendling

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.4. EPC Semantics 75<br />

(a) (b)<br />

(c) (d)<br />

d<br />

d d d<br />

Figure 3.16: Transition Relation for Negative Token Propagation<br />

Phase 4: Positive Token Propagation<br />

The transition relation for positive token propagation specifies firing rules that consume<br />

negative and positive tokens from the input arcs of a node to produce positive tokens on<br />

its output arcs. Figure 3.17 gives a respective illustration. Rules (a) and (b) show that<br />

functions and events consume positive tokens from the input arc and propagate them to<br />

the output arc. Furthermore, and this holds true for all rules, consuming a positive token<br />

from an arc implies setting this arc to a dead context status. Rules (c) and (d) illustrate<br />

that AND-splits consume one positive token and produce one on each output arc, while<br />

AND-joins synchronize positive tokens on all input arcs to produce one on the output arc.<br />

Rule (e) depicts the fact that XOR-splits forward positive tokens to one of their output<br />

arcs. In contrast to the Boolean net formalization, they do not produce negative tokens,<br />

but a dead context on the output arcs which do not receive the token. Correspondingly,<br />

XOR-joins (f) propagate each incoming positive token to the output arc, no matter what<br />

the context or the state of the other input arcs is. If there are negative tokens on the<br />

incoming arcs, they are consumed. The OR-split (g) produces positive tokens on those<br />

output arcs that have to be executed and negative tokens on those that are ignored. Note<br />

that the OR-join is the only construct that may introduce negative tokens (apart from start<br />

events that hold a negative token in the initial marking). Rule (h) shows that on OR-join<br />

can only fire either if it has full information about the state of its input arcs (i.e., each<br />

input has a positive or a negative token) or all arcs that do not hold a token are in a dead<br />

context. Finally, in all rules, each output arc that receives a negative token is set to a dead<br />

d

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

Saved successfully!

Ooh no, something went wrong!