Моделирования uml
H Illness fall ill get well 1
Download 1.84 Mb. Pdf ko'rish
|
ivanov novikov unificirovannii jazik modelirovanija uml 2011
- Bu sahifa navigatsiya:
- Ссылочное состояние
H
Illness fall ill get well 1 Рис. 4.8. Историческое состояние 4.2.6. Вложенные машины состояний Если мы хотим описать на UML действительно сложное поведение, то мы должны иметь возможность сделать это по частям, используя принцип "разделяй и властвуй". И такая возможность в UML предусмотрена — это ссылочное состояние и состояния заглушки в UML 1, которым на смену в UML 2 пришел вложенный автомат с точками входа и выхода. Эти механизмы похожи, но не тождественны. Мы изложим их в историческом порядке: сначала UML 1, потом UML 2. Ссылочное состояние (submachine state) — состояние, которое обозначает вложенный в него автомат. На диаграмме ссылочное состояние изображается в виде фигуры простого состояния с именем, которому предшествует ключевое 151 слово include (1 на рис. 4.9). Семантика ссылочного состояния заключается в следующем. Если на диаграмме присутствует ссылочное состояние, то это означает, что в модели вместо ссылочного состояния присутствует составное состояние (и, соответственно, вложенный автомат), на которое делается ссылка. Таким образом, на одной диаграмме мы можем представить поведение, нарисовав его "крупными мазками", т. е. в терминах составных состояний верхнего уровня, а на других диаграммах раскрыть содержание составных состояний, нарисовав соответствующие автоматы и т. д. Критерий Дейкстры хорошего стиля программирования — "правильно написанный модуль должен помещаться на одной странице" — соблюдается. Прежде чем привести пример, поговорим о переходах между составными состояниями. Их можно подразделить на два типа: переходы "в" и "из" составных состояний (т. е. переходы, пересекающие границы составных состояний), и переходы, начинающиеся и заканчивающиеся на границах состояний. Вообще говоря, без переходов, пересекающих границы состояний, можно обойтись (равно как и без многого другого), но жаль упускать возможность. Если переход начинается и заканчивается на границе состояний, то вся работа вложенного автомата инкапсулирована в составном состоянии и никаких проблем нет — ссылочного состояния достаточно для включения одного автомата внутрь другого. Однако, если такие переходы есть (а мы договорились, что не хотим от них отказываться), то возникает проблема: грубо говоря, нам нужно провести стрелку с одной диаграммы на другую. Решением этой проблемы в UML 1 является состояние заглушки. 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