Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.

merge (слияние)

На диаграмме деятельности или последовательности место в конечном автомате, в котором сходятся два или более маршрутов управления. Слияние обратно разветвлению.
Антоним: branch.
См. junction state.

Семантика

Слияние - это соединение двух или более маршрутов управления. В конечном автомате у одного состояния есть несколько входящих переходов. Для того чтобы изобразить слияние, не требуется никаких специальных модельных конструкций. Если слияние является частью одного непрерывного маршрута, то его моделируют в виде переходного состояния.

Нотация

На диаграммах состояний, деятельности или последовательности слияние изображается в виде ромба с несколькими входящими и одним исходящим переходом. Сторожевые условия в данном случае не нужны. Пример слияния показан на рис. 122.
Точно такой же ромб используется для изображения разветвления (обратного, но смыслу). Впрочем, отличить их совсем несложно - у разветвления один входящий и несколько исходящих переходов, причем у каждого из них есть сторожевое условие.

Допускается комбинация разветвления и слияния, однако она не очень удобна. При этом у ромба будет несколько входящих и несколько помеченных исходящих переходов.
Следует помнить, что слияние существует исключительно для того, чтобы сделать нотацию более удобной и наглядной. В принципе можно обходиться и без него - никакой дополнительной информации оно не несет. Как правило, слияние используется в паре с разветвлением.

Обсуждение

Необходимо четко различать два вида слияния - merge и join. Первое (merge) используется при соединении двух и более альтернативных путей управления. При выполнении будет выбран только один из этих путей. Синхронизация при этом не требуется.
Второй вид слияния (join) указывает на соединение двух и более параллельных путей управления. При выполнении будут работать все эти пути, а слияние произойдет только после того, как все они достигнут исходного для слияния состояния.

Алфавитный указатель