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
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.
Background: Reserved.
Foreground: Specifies the color of the icon.
Name: Specifies a name for the state.
See Examples > State Charts > Junction001.