К линиям перехода можно добавить дополнительные детали. Указывают также событие, которое привело к переходу (переключающее событие), и выполняемые вычисления (действия), которые приводят к изменению состояния. Чтобы добавить события и действия, нужно записать их возле линии перехода, отделяя друг от друга косой чертой. Иногда событие вызывает переход без всякого действия, а временами переход происходит из-за того, что в текущем состоянии выполнены все действия (не из-за события). Такой тип перехода называется безусловным переходом.
Переходы между состояниями можно рассмотреть на примере графического пользовательского интерфейса (GUI) компьютера. Предположим, что интерфейс может находиться в одном из трех состояний.
• Инициализация.
• Работа.
• Завершение работы.
При включении компьютера происходит загрузка. Поэтому включение компьютера является переключающим событием, которое приводит к переходу интерфейса в состояние Инициализация, а загрузка — действие, происходящее во время перехода.
|
|
Результатом выполнения действий в состоянии инициализации является выработка переключающего события, которое вызывает переход в состояние Работа. При щелчке на кнопке завершения работы осуществляется переход в состояние Завершение работы, и в конечном итоге компьютер выключается. На рис. 4 показана диаграмма, представляющая состояния и переходы для пользовательского интерфейса.
Рис. 4. Состояния и переходы графического пользовательского интерфейса с указанием переключающих событий, действия и безусловных переходов
Дополнительные обозначения для переходов: условия переходов
Предыдущий пример с графическим пользовательским интерфейсом значительно упрошен. Во-первых, если на компьютере не выполняются никакие действия, активизируется заставка экрана. Выражаясь в терминах изменения состояний, эту ситуацию можно охарактеризовать так. Если по истечении заданного интервала времени не наблюдается пользовательской активности, пользовательский интерфейс переходит из состояния Работа в неотраженное на рис. 4 состояние — Отображение заставки. Временной интервал, по истечении которого происходит включение заставки, задается с использованием панели управления Windows. Обычно он составляет 15 минут. Любое нажатие клавиши или перемещение указателя "мыши" переключает монитор из состояния Отображение заставки в состояние Работа.
Этот пятнадцатиминутный интервал времени и является условием перехода — когда это время истекает, осуществляется переход. На рис. 5 представлена более полная диаграмма состояний GUI с состоянием Отображение заставки и условием перехода. Примечательно, что условие перехода [ время истекло ] представляет собой логическое выражение.
|
|
Рис. 5. Диаграмма состояний графического пользовательского интерфейса с состоянием Отображение заставки и условием перехода