Диаграммы схем состояний
Диаграмма схем состояний – одна из пяти диаграмм UML, моделирующих динамику систем. Диаграмма схем состояний отображает конечный автомат, выделяя поток управления, следующий от состояния к состоянию. Конечный автомат – поведение, которое определяет последовательность состояний в ходе существования объекта. Эта последовательность рассматривается как ответ на события и включает реакции на эти события.
Диаграмма схем состояний показывает:
1) набор состояний системы;
2) события, которые вызывают переход из одного состояния в другое;
3) действия, которые происходят в результате изменения состояния.
В языке UML состоянием называют период в жизни объекта, на протяжении которого он удовлетворяет какому-то условию, выполняет определенную деятельность или ожидает некоторого события. Как показано на рис. 12.1, состояние изображается как закругленный прямоугольник, обычно включающий его имя и подсостоя-ния (если они есть).
Рис. 12.1.Обозначение состояния
Переходы между состояниями отображаются помеченными стрелками (рис. 12.2).
Рис. 12.2.Переходы между состояниями
На рис. 12.2 обозначено: Событие – происшествие, вызывающее изменение состояния, Действие – набор операций, запускаемых событием.
Иначе говоря, события вызывают переходы, а действия являются реакциями на переходы.
Примеры событий:
баланс < 0 | Изменение в состоянии |
помехи | Сигнал (объект с именем) |
уменьшить(Давление) | Вызов действия |
after (5 seconds) | Истечение периода времени |
when (time = 16:30) | Наступление абсолютного момента времени |
Примеры действий:
Кассир. прекратитьВыплаты () | Вызов одной операции |
flt:= new(Фильтp); Ш. убратьПомехи () | Вызов двух операций |
send Ник. привет | Посылка сигнала в объект Ник |
ПРИМЕЧАНИЕ
Для отображения посылки сигнала используют специальное обозначение – перед именем сигнала указывают служебное слово send.
Для отображения перехода в начальное состояние принято обозначение, показанное на рис. 12.3.
Рис. 12.3. Переход в начальное состояние
Соответственно, обозначение перехода в конечное состояние имеет вид, представленный на рис. 12.4.
Рис. 12.4.Переход в конечное состояние
В качестве примера на рис. 12.5 показана диаграмма схем состояний для системы охранной сигнализации.
Рис. 12.5.Диаграмма схем состояний системы охранной сигнализации
Из рисунка видно, что система начинает свою жизнь в состоянии Инициализация, затем переходит в состояние Ожидание. В этом состоянии через каждые 10 секунд (по событию after (10 sec.)) выполняется самопроверка системы (операция Самопроверка ()). При наступлении события Тревога (Датчик) реализуются действия, связанные с блокировкой периметра охраняемого объекта, – исполняется операция БлокироватьПериметр() и осуществляется переход в состояние Активна. В активном состоянии через каждые 5 секунд по событию after (5 sec.) запускается операция ПриемКоманды(). Если команда получена (наступило событие Сброс), система возвращается в состояние Ожидание. В процессе возврата разблокируется периметр охраняемого объекта (операция РазблокироватьПериметр()).
Дата добавления: 2019-02-07; просмотров: 927;