В диаграммах машин состояний в некоторых интернет-ресурсах условие просто рисуется на стрелке (левый рисунок ниже), а в других, похожих на правый рисунок, специально используется узел выбора.
Что из нижеперечисленного является правильным в UML?
Поскольку для переходов не определены триггеры, а только охранники, они являются переходами завершения, что означает, что как только состояние завершит свои действия, будет сгенерировано событие завершения для выхода из исходного состояния, если может быть найден правильный переход.
Как вы сформулировали вопрос "Используя узел выбора...", ромб представляет собой динамическую условную ветвь, что означает, что защита исходящих переходов будет проверяться только после перехода внутрь.
Поэтому в случае, когда Value равно 8, версия справа приведет к недействительному состоянию, так как вы покинете состояние A при завершении, войдя в псевдосостояние выбора, но не сможете войти ни в состояние B, ни в состояние C, так как ни один из охранников не оценит true. В то время как версия слева не приведет к выходу из состояния A.
Поэтому, чтобы ответить на ваш вопрос, они оба являются "правильным UML", но они не эквивалентны.
Смотрите "14.2.3.8.3 Completion Transitions and completion events" в https://www.omg.org/spec/UML/2.5.1/PDF большая часть того, что вам нужно для этого вопроса, находится там.