В диаграммах последовательности UML у вас есть комбинированный тип фрагмента Alt для ветвления на основе разных значений параметров. Но допустим, что в середине вашей последовательности вы ожидаете одно из двух разных сообщений от двух разных внешних акторов, и вы должны разветвить код в зависимости от того, какое из них прибывает, как лучше всего это смоделировать? И чтобы немного усложнить вопрос, давайте добавим возможность того, что ни одно сообщение не приходит (запуск тайм-аута).
Без лучшего решения я бы разделил диаграмму последовательности на несколько диаграмм последовательности, каждая новая из которых начиналась бы с одного из двух возможных сообщений. Или, возможно, просто перейти к конечным машинам. Но не слишком ли это запутанный способ, который позволил бы мне показать эти разные случаи на одной диаграмме последовательности?