Моделирования uml
букве, считаются параллельными на данном уровне вызовов
Download 1.84 Mb. Pdf ko'rish
|
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling