Choice is a pseudostate (see
Section 20.11, “
”) 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
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