4 Replies Latest reply on Dec 14, 2005 2:33 AM by Koen Aers

    fork node question

    pedro costa Apprentice

      the definitions of the fork node and the join node specified in the userguide are:


      7.3.5. Nodetype fork

      A fork splits one path of execution into multiple concurrent paths of execution. The default fork behaviour is to create a child token for each transition that leaves the fork, creating a parent-child relation between the token that arrives in the fork.

      7.3.6. Nodetype join

      The default join assumes that all tokens that arrive in the join are children of the same parent. This situation is created when using the fork as mentioned above and when all tokens created by a fork arrive in the same join. A join will end every token that enters the join. Then the join will examine the parent-child relation of the token that enters the join. When all sibling tokens have arrived in the join, the parent token will be propagated over the (unique!) leaving transition. When there are still sibling tokens active, the join will behave as a wait state.


      So, if i have this workflow:

      join1
      ------>|
      fork1 | |-------> node1
      ------>|
      --------^
      fork2|
      ------->|-------> node2
      join2

      note that one path of execution of the fork1 goes to join1.

      So, when all the tokens arrive to join1, this node consider that the token from fork 2 come from the parent fork1, or the join1 simply ignores the token that comes from fork2, and continues the execution simply with tokens that are from the parent 1, or the workflow blows up?

      Thanks,
      Pedro