junction

The junction pseudostate is used to chain together multiple transitions. For example, a junction can be used to converge multiple incoming transitions into a single outgoing transition representing a shared transition path, called a merge. Conversely, junctions can be used to split an incoming transition into multiple outgoing transition segments with different guard conditions. This realizes a static conditional branch. Outgoing transitions whose guard conditions evaluate to FALSE are disabled. A predefined guard named else may be used for one outgoing transition. This transition is enabled if the guards labeling all the other transitions are FALSE.

The static conditional branch can be expressed as follows:

if (A && C){

   Exit State One;

   B;

   D;

   Enter State Two;

}

else if (A && E){

   Exit State One;

   B;

   F;

   Enter State Three;

}

 

Icon

junctionblock

Static conditional branches are distinct from dynamic conditional branches that are realized by choice pseudostates.

Constraints

      A junction pseudostate must have at least one incoming and one outgoing transition.

Color

Background: Reserved.

Foreground: Specifies the color of the icon.

Name: Specifies a name for the state.

Example

See Examples > State Charts > Junction001.