Диаграммы деятельности. С появлением версии 1.2 языка UML осталось лишь несколько откры­тых вопросов относительно семантики диаграмм деятельности

С появлением версии 1.2 языка UML осталось лишь несколько откры­тых вопросов относительно семантики диаграмм деятельности. В вер­сии 1.3 на большинство из этих вопросов были даны ответы, которые были закреплены в семантике языка UML.

При разработке условного поведения теперь можно обозначать приня­тие решения в форме ромба - как для слияния (merge), так и для ветв­ления (branch). Хотя для описания условного поведения ни ветвления, ни слияния не являются необходимыми, все более общепринятым ста­новится способ изображения, заключающий условное поведение в скобки.

Символ синхронизации в форме черты теперь относится как к ветвле­нию (когда управление расщепляется), так и к объединению (когда синхронизируемое управление объединяется снова). Однако теперь ни­каких дополнительных условий на объединение не накладывается. Не­обходимо лишь придерживаться правил, гарантирующих соответствие ветвлений и объединений. По существу это означает, что каждое ветв­ление должно иметь соответствующее объединение, которое соединяет все параллельные нити процесса, берущие начало в исходном ветвле-


нии. Хотя ветвления и объединения могут быть вложенными, их мож­но удалить с диаграммы, если потоки соединяют ветвления (или объе­динения) напрямую.

Объединения вступают в силу только тогда, когда все входящие в них потоки завершены. Однако можно определить некоторое условие для исходящего из ветвления потока. Если это условие не выполняется, то соответствующий поток считается завершенным и может участвовать в объединении остальных потоков.

Свойство множественной инициализации больше не поддерживается. Вместо него можно определить динамическую параллельность в неко­торой деятельности с помощью символа «*» внутри прямоугольника деятельности. Такая деятельность может выполняться параллельно не­сколько раз; все ее вызовы должны быть завершены, прежде чем смо­жет быть выполнен какой-либо выходящий из нее переход. Это в неко­торой степени эквивалентно множественной инициализации и сответ-ствующему условию синхронизации, хотя такой способ и менее гибок.

Эти правила в какой-то степени уменьшают гибкость диаграмм дея­тельности, однако они гарантируют, что диаграммы деятельности яв­ляются на самом деле частными случаями конечных автоматов. Отно­шение между диаграммами деятельности и конечными автоматами стало предметом дискуссии инициативной группы RTF. Последующие версии языка UML {после 1.4) вполне могут определить диаграммы деятельности как диаграммы совершенно другой формы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: