Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.

composite state (композитное состояние)

Составное состояние, представленное параллельными (ортогональными) или последовательными (раздельными) подсостояниями.
См. complex transition; simple state; state.

Семантика

Композитное состояние может быть разделено отношениями "и" на параллельные подсостояния. Отношения "или" могут разделить его на взаимоисключающие раздельные подсостояния. Детализировать состояние можно одним из этих двух способов. Подсостояния же могут быть детализированы любым из них. Когда активно последовательное композитное состояние, то активным может быть только одно из его раздельных подсостояний. Если же активно параллельное композитное состояние, то активны все его ортогональные подсостояния. Конечный эффект выражается в виде дерева "и-или". У каждого конечного автомата есть состояние самого высокого уровня, которое должно являться композитным.
Система может одновременно пребывать в нескольких состояниях. Ряд активных состояний системы называется конфигурацией активных состояний. Если подсостояние активно, то активны и все его композитные состояния. В том случае, когда объект допускает параллелизм, активными могут быть сразу несколько параллельных подсостояний.
См. более подробно о параллельном выполнении в статье о комплексном переходе (complex transition). Пример дерева "и-или" можно увидеть на рис. 57.
Вновь созданный объект начинает свое существование в исходном состоянии, которое должно принадлежать самому внешнему композитному состоянию. Событие, которое создает новый объект, может использоваться и для запуска перехода из его исходного состояния. Переходу из исходного состояния доступны аргументы события создания объекта.
Объект, переходящий в самое внешнее конечное состояние, уничтожается.

Структура

В композитном состоянии содержится ряд подсостояний. Само композитное состояние является либо параллельным, либо последовательным.
Последовательное композитное состояние может иметь, по меньшей мере, одно исходное и одно конечное состояние. Кроме того, у него может быть одно кратковременное и одно долговременное исторические состояния.
У параллельного композитного состояния не может быть ни исходного, ни конечного, ни исторического состояния. Однако у любого из вложенных в него последовательных состоянии могут быть все эти псевдосостояния.

Нотация

Композитное состояние - это состояние, детализация которого происходит на более низком уровне. У его символа есть раздел для имени, раздел для внутреннего перехода и графический раздел, в котором содержится вложенная диаграмма, изображающая детализацию композитного состояния. При этом все эти разделы являются необязательными. Для большего удобства и наглядности текстовые разделы (разделы для имени и переходов) можно изображать в самой графической области в виде вкладок, а не располагать горизонтально, как это обычно принято.
Разделение параллельного композитного состояния на параллельные композитные подсостояния изображается при помощи деления графического раздела пунктирными линиями на соответствующее числу подобластей. Каждая такая подобласть представляет собой параллельное подсостояние, у которого может быть имя, и которое должно иметь вложенную диаграмму состояний с раздельными подсостояниями. Текстовые разделы и параллельные подсостояния отделены друг or друга сплошной линией.
Разделение состояния на раздельные подсостояния изображается в виде диаграммы состояний, вложенной в графическую область состояния.
Исходное состояние изображается в виде маленького закрашенного кружка. В конечном автомате наиболее высокого уровня переход из исходного состояния может быть помечен событием, создающим объект. В противном случае у него не должно быть никаких меток. У перехода из исходного состояния могут быть заданы действия. По сути, исходное состояние - некая уловка нотации. Объект не может быть в исходном состоянии, он должен перейти из него в фактическое, действительное состояние.
Конечное состояние выглядит как кружок, который окружает другой закрашенный кружок поменьше ("глаз"). Оно представляет собой завершение деятельности во внешнем состоянии и запускает переход из этого состояния, помеченного переходом по завершении неявной деятельности (который обычно изображают и виде непомеченного перехода).
На рис. 66 изображено последовательное композитное состояние, которое содержит два раздельных подсостояния - исходное и конечное. Когда композитное состояние становится активным, первым типизируется подсостояние Start (цель исходного состояния).

Рис. 66. Последовательное композитное состояние
На рис. 67 вы видите параллельное композитное состояние, у которого есть три ортогональных подсостояния. Каждое из них, в СВОЮ очередь, делится на последовательные подсостояния.

Рис. 67. Параллельное композитное состояние
При активации композитного состояния семестра Incomplete (Неоконченный) становятся активными и цели исходных состояний. Когда все три подобласти достигают своих конечных состояний, для внешнего композитного состояния Incomplete запускается переход по завершении, после чего активным становится состояние Passed (Оконченный).В случае если в тот момент, когда активно состояние Incomplete, случается событие fail (не сдан), все три параллельных подобласти уничтожаются и активным становится состояние Failed (Непройденный).

Алфавитный указатель