20.15.  Choice

Choice is a pseudostate (see Section 20.11, “ Pseudostate) which is used to split an incoming transition into multiple outgoing transition segments with different guard conditions. Hence, a Choice 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

This sort of pseudostate was formerly called a Branch by ArgoUML.

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