It is modeled by attaching conditions or guards the arcs going out of a transition. When a transition fires, it consumes one token from each of its input places and produces one token in each of its output places, for which the guard evaluates to true. Thus that a transition is enabled is a necessary condition for the transition to fire. We'll just photocopy or discard forms as necessary to make the numbers fit. An expression attached to an arc, shown in brackets, that evaluates to true or false.
Tokens can only travel over arcs when their guard evaluates to true.
The expression will typically involve the case attributes . An example of conditional routing , where the decision is made as late as possible . Implicit or-splits are modeled as two arcs going from the same place but to different tasks. That way, the transition that happens to fire first will get the token. Once the token is gone, the others are no longer enabled and thus cannot fire.