Designer 10.15 | webMethods BPM Process Development Help | Process Engine Processing | About Joins | How Incomplete Transitions Affect Join Steps and Gateways
 
How Incomplete Transitions Affect Join Steps and Gateways
A typical business process model merges parallel processing paths with the process into a gateway or join step. On occasion, one or more of the incoming transitions may be unable to complete because of certain processing conditions, such as the failure of a previous step. These incomplete transitions are referred to as dead paths. For more information, see About Dead Path Notification and Join Steps.
When an AND or an OR step has an incomplete transition as an input, the logical behavior of the join is directly affected. For example, an AND join step with two incoming transitions can never be satisfied if one of the two transitions is incomplete.
The Process Engine analyzes each process instance for occurrences of these incomplete transitions, ensuring that all inbound transitions arrive at a gateway or join step, where they are determined to be complete or incomplete. An incomplete transition is considered to be a Boolean false and a complete transition is considered to be a Boolean true for purposes of join evaluation. These result in the following behavior:
The table below lists the inbound transitions and the behaviors.
Inbound Transition A
Inbound Transition B
AND Behavior
OR Behavior
Incomplete
Incomplete
Unsatisfied
Unsatisfied
Incomplete
Complete
Unsatisfied
Satisfied
Complete
Incomplete
Unsatisfied
Satisfied
Complete
Complete
Satisfied
Satisfied
Note:
Unsynchronized OR joins exhibit a unique behavior pattern. For more information, see About OR Join Behavior (Synchronized vs. Unsynchronized).
If you have process models from an earlier version, be aware of these points:
*In Process Engine version 7.x, incomplete transitions were not evaluated, resulting in the possibility that a join step could wait indefinitely for inputs that would never arrive, effectively stopping the process. As a result, 7.x versions of Process Engine require a join timeout for all join steps in order to overcome this issue.
*In Process Engine version 8.0 and later, join timeouts are available but are not required. For more information, see About Dead Path Notification and Join Steps.
Note:
The process debugger does not support unsatisfied AND joins.
Related Topics