Моделирования uml


букве, считаются параллельными на данном уровне вызовов


Download 1.84 Mb.
Pdf ko'rish
bet114/115
Sana16.06.2023
Hajmi1.84 Mb.
#1489923
1   ...   107   108   109   110   111   112   113   114   115
Bog'liq
ivanov novikov unificirovannii jazik modelirovanija uml 2011

букве, считаются параллельными на данном уровне вызовов. Их 
относительный порядок не определен. Они могут быть отправлены в 
любом порядке или даже физически одновременно, если это 
допускает реализация. В то же время, например, сообщения с 
номерами 1.1a и 1.1b оба предшествуют сообщению с номером 1.2 и 
оба следуют за сообщением с номером 1. 
В UML 2 предусмотрены сразу три типа составных шагов 
взаимодействия, предназначенных для моделирования параллелизма. 
Покажем некоторые возможности их использования на примере 


227
реализации 
операции 
move()

Описание 
параллельного 
взаимодействия, реализующего операцию, заключается в следующем.
Во-первых, нужно проверить, свободна ли целевая позиция. 
Если она занята, то с помощью составного шага взаимодействия 
break
(1) нужно возбудить исключение (стрелка, идущая на границу 
диаграммы (2)) и прекратить взаимодействие. 
Во-вторых, нужно выполнить три действия: освободить старую 
должность, занять новую и сделать отметку в самом объекте класса 
Person
. Последовательность выполнения этих действий имеет 
значение. Сначала обязательно нужно обязательно освободить старую 
должность (3). Для этого можно использовать составной шаг 
взаимодействия 
seq
(4), чтобы гарантировать нужный нам порядок 
выполнения действий. В то же время методы 
occupy()
и 
assign()
могут быть выполнены параллельно (5). В результате мы 
гарантированно обеспечиваем выполнение следующего бизнес-
правила: сотрудник может в процессе выполнения операции временно 
"висеть в воздухе" (т. е. на него нет ссылок из должностей), но 
никогда, даже случайно и временно, не допускается, чтобы он "сидел 
на двух стульях" (т. е. на него есть две ссылки из разных должностей). 
Посмотрите на рис. 4.50 и сравните его с другими диаграммами
посвященными реализации операции перевода сотрудника. 
На данной диаграмме в дополнение к уже известным нам 
нотациям сообщений (см. табл. 4.4) добавились еще два. Это так 
называемые найденные сообщения (found message) и потерянные 
сообщения (lost message). Найденные сообщения (6 на рис. 4.50) 
используются в случае, когда важно отразить факт получения 
сообщения, а факт его отправки не представляет интереса в 
рассматриваемом 
контексте. 
С 
потерянными 
сообщениями 
(7 на рис. 4.50) все в точности наоборот: главное то, что сообщение 
было отправлено, а получено или нет, не важно. 


228
sd
Перевод служащего с одной должности на другую
prs:
Person
oldPos: 
Position
newPos: 
Position
m o v e ( p r s ,
o l d P o s , n e w P o s )
i s F r e e ( ) : r
[ r = f a l s e ]
b r e a k
c a l l E x c e p t i o n H a n d l e r
s e q
f r e e ( )
p a r
o c c u p y ( p r s )

Download 1.84 Mb.

Do'stlaringiz bilan baham:
1   ...   107   108   109   110   111   112   113   114   115




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling