Состояния активности

В состояниях, которые я описывал до сих пор, объект молчит и ожида­ет следующего события, прежде чем что-нибудь сделать. Однако воз­можны состояния, в которых объект проявляет некоторую активность.

Состояние Searching (Поиск) на рис. 10.3 является таким состоянием активности (activity state): ведущаяся активность обозначается симво­лом do/; отсюда термин do-activity (проявлять активность). После того как поиск завершен, выполняются переходы без активности, напри­мер показ нового оборудования (Display New Hardware). Если в процессе активности происходит событие отмены (cancel), то do-активность просто прерывается и мы возвращаемся в состояние Update Hardware Window (Обновление окна оборудования).

И do-активности, и обычные активности представляют проявление не­которого поведения. Решающее различие между ними заключается втом, что обычные активности происходят «мгновенно» и не могут быть прерваны обычными событиями, тогда как do-активности могут выполняться в течение некоторого ограниченного времени и могут прерываться, как показано на рис. 10.3. Мгновенность для разных систем трактуется по-разному; для систем реального времени это мо­жет занимать несколько машинных инструкций, а для настольного программного обеспечения может составить несколько секунд.

В UML 1 обычные активности обозначались термином action (действие), а термин activity (активность) применялся только для do-активностей.

Суперсостояния

Часто бывает, что несколько состояний имеют общие переходы и внут­ренние активности. В таких случаях можно их превратить в подсо-стояния (substates), а общее поведение перенести в суперсостояние (su­perstate), как показано на рис. 10.4. Без суперсостояния пришлось бы рисовать переход cancel (отмена) для всех трех состояний внутри со­стояния Enter Connection Details (Овод подробностей соединения).



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: