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

OpenU.Ru

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



final state (конечное состояние)

Особое состояние композитного состояния, активация которого указывает на завершение выполнения этого композитного состояния. Когда композитное состояние достигает конечного состояния, может запускаться переход по завершении (если удовлетворено сторожевое условие).
См. activity; completion transition: destruction.

Семантика

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

Нотация

Конечное состояние изображается в виде пиктограммы "глаз" (не закрашенный кружок, в котором находится черный кружок поменьше), Эта пиктограмма помещается в то композитное состояние, чье завершение он представляет (рис. 100), В композитном состоянии может существовать (непосредственно) только одно конечное состояние. Дополнительные конечные состояния могут существовать только у других, вложенных, композитных состояний. Иногда пиктограмма конечного состояния используется в одном и том же состоянии несколько раз, однако это делается для удобства, так как, по сути, это одно и то же конечное состояние.

Рис. 100. Конечное состояние

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