Workflow pattern for modelling conditional ordering of task execution

I am wondering if there is a workflow pattern to model the conditional ordering of tasks execution using Petri Nets. As an example, there are two tasks, let's call them Dog and Cat. Both of them need to be executed, one after the other (not in parallel). The order of execution depends on some condition Cond1, such that :
if Cond1 =="T" then (Dog ->Cat) else (Cat->Dog).
one way to represent it would be like this:

how could this situation be modeled with only one event per branch? I envision something like this:

thank you so much for your help/suggestions

Sign In or Register to comment.