Ответ
Разница между Optional и Alt в Sequence (например, в UML или BPMN) заключается в их семантике:
-
Optional (
[ ]) — элемент не обязателен, но если он присутствует, выполняется строго в указанном месте последовательности. Например, в последовательностиA [B] CэлементBможет быть пропущен, но если он есть, то выполняется междуAиC. -
Alt (
|) — альтернативный выбор между элементами, где выполняется только один из вариантов. Например,A | B | Cозначает, что будет выполнен либоA, либоB, либоC, но не все сразу.
Пример в псевдокоде:
// Optional:
if (condition) {
execute B;
}
// Alt:
if (condition1) {
execute A;
} else if (condition2) {
execute B;
} else {
execute C;
}