19.12. Branch

Branch is a pseudostate (see Section 19.8, “Pseudostate”) which is used to split an incoming transition into multiple outgoing transition segments with different guard conditions. Hence, a Branch allows a dynamic choice of outgoing transitions. The chosen transition is that whose guard is true at the time of the transition (if more than one is true, one is selected at random).

A predefined guard denoted else may be defined for at most one outgoing transition. This transition is enabled if all the guards labeling the other transitions are false.

[Note]Note

UML calls this sort of branch a Choice.

A branch is represented on the diagram as a small solid (white by default) circle (reminiscent of a small state icon).