1 2 Previous Next 19 Replies Latest reply on Aug 6, 2009 1:12 PM by Ronald van Kuijk

    [BPMN2] How to implement uncontrolled sequence flow behaving

    Bernd Ruecker Master

      I try to figure out how the PVM works internally and how to implement this requirement best:

      In BPMN if a task (activity) has more than one outgoing flow (transition), than this is an "uncontrolled sequence flow" which leads to parallelizing. So it behaves like a parallel gateway / fork!

      So for every task the flow semantic must be: If there is more than one outgoing flow, ALL must be used. This should be done somewhere generic.

      I think the ExecutionImpl.proceed() would be a good place, but this is PVM internal, I cannot overwrite that in the language, right?

      Or maybe try to leverage the ExecuteActivity as a AtomicOperation?

      Or try to do it in a abstract super class of all activities? Which seems to be a bit complicated, but possible (so I have to add the logic from the fork after the execution of the activity).

      Any good ideas for that?

      Thank god the uncontrolled joining is like it is default in the PVM -> XOR-Join.


      P.S: I commit a failing test case with a uncontrolled sequence flow as Fork and two tasks, if somebody cannot stop himself from coding ;-)

        1 2 Previous Next