Основы программирования

Основы UML - Параллельные подсостояния
Индекс материала
Основы UML
Класс
Имя класса
Атрибуты класса
Операция
Отношения между классами
Отношение ассоциации
Отношение агрегации
Отношение композиции
Отношение обобщения
Интерфейсы .
Шаблоны или параметризованные классы
Рекомендации по построению диаграмм классов
Диаграмма состояний (statechart diagram)
Автоматы
Состояние
Список внутренних действий
Начальное состояние
Переход
Сторожевое условие
Выражение действия
Составное состояние и подсостояние
Параллельные подсостояния
Историческое состояние
Сложные переходы
Переходы между составными состояниями
Синхронизирующие состояния
Заключительные рекомендации по построению диаграмм состояний
Диаграмма деятельности (activity diagram)
Состояние действия
Переходы
Дорожки
Объекты
Рекомендации по построению диаграмм деятельности
Диаграмма последовательности (sequence diagram)
Объекты
Линия жизни объекта
Фокус управления
Сообщения
Ветвление потока управления
Стереотипы сообщений
Комментарии или примечания
Заключительные рекомендации по построению диаграмм последовательности
Диаграмма кооперации (collaboration diagram)
Кооперация
Диаграмма кооперации уровня спецификации
Объекты
Мультиобъект
Составной объект
Стереотипы связей
Формат записи сообщений
Заключительные рекомендации по построению диаграмм кооперации
Диаграмма компонентов (component diagram)
Компоненты
Интерфейсы
Зависимости
Рекомендации по построению диаграммы компонентов
Диаграмма развертывания (deployment diagram)
Узел
Соединения
Рекомендации по построению диаграммы развертывания
Особенности реализации языка UML
характеристика CASE-средства Rational Rose 98/2000
Особенности рабочего интерфейса Rational Rose
Стандартная панель инструментов
Специальная панель инструментов
Окно диаграммы
Окно документации
Окно журнала
Начало работы над проектом в среде Rational Rose
Разработка диаграммы вариантов использования в среде Rational Rose
Разработка диаграммы классов в среде Rational Rose
Разработка диаграммы состояний в среде Rational Rose
Разработка диаграммы последовательности в среде Rational Rose
Разработка диаграммы кооперации в среде Rational Rose
Разработка диаграммы компонентов в среде Rational Rose
Разработка диаграммы развертывания в среде Rational Rose
Заключение
Все страницы

Параллельные подсостояния

Параллельные подсостояния (concurrent substates) позволяют специфицировать два и более подавтомата, которые могут выполняться параллельно внутри составного события. Каждый из подавтоматов занимает некоторую область (регион) внутри составного состояния, которая отделяется от остальных горизонтальной пунктирной линией. Если на диаграмме состояний имеется составное состояние с вложенными параллельными подсостояниями, то объект может одновременно находиться в каждом из этих подсостояний.
Однако отдельные параллельные подсостояния могут, в свою очередь, состоять из нескольких последовательных подсостояний (подавтоматы 1 и 2 на рис. 6.8). В этом случае по определению объект может находиться только в одном из последовательных подсостояний подавтомата. Таким образом, для абстрактного примера (рис. 6.8) допустимо одновременное нахождение объекта в подсостояниях (1, 3, 4), (2, 3, 4), (1, 3, 5), (2, 3, 5). Недопустимо нахождение объекта одновременно в подсостояниях (1, 2,3) или (3, 4, 5).

Рис. 6.8. Графическое изображение составного состояния с вложенными параллельными подсостояниями
Поскольку каждый регион вложенного состояния специфицирует некоторый подавтомат, то для каждого из вложенных подавтоматов могут быть определены собственные начальное и конечные подсостояния (рис. 6.8). При переходе в данное составное состояние каждый из подавтоматов оказывается в своем начальном подсостояний. Далее происходит параллельное выполнение каждого из этих подавтоматов, причем выход из составного состояния будет возможен лишь в том случае, когда все подавтоматы будут находиться в своих конечных подсостояниях.
Если какой-либо из подавтоматов пришел в свое конечное состояние раньше других, то он должен ожидать, пока и другие подавтоматы не придут в свои конечные состояния.
В некоторых случаях бывает желательно скрыть внутреннюю структуру составного состояния. Например, отдельный подавтомат, специфицирующий составное состояние, может быть настолько большим по масштабу, что его визуализация затруднит общее представление диаграммы состояний. В подобной ситуации допускается не раскрывать на исходной диаграмме состояний данное составное состояние, а указать в правом нижнем углу специальный символ-пиктограмму (рис. 6.9). В последующем диаграмма состояний для соответствующего подавтомата может быть изображена отдельно от основной с необходимыми комментариями.

Рис. 6.9. Составное состояние со скрытой внутренней структурой и специальной пиктограммой