Диаграммы схем-состояний. Конечные автоматы. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Диаграммы схем-состояний. Конечные автоматы.



Диаграмма схем состояний отображает конечный автомат, выделяя поток управления, следующий от состояния к состоянию. Конечный автомат — поведение, которое определяет последовательность состояний в ходе существования объекта.

Диаграмма схем состояний показывает:

1) набор состояний системы;

2) события, которые вызывают переход из одного состояния в другое;

3) действия, которые происходят в результате изменения состояния.

Состоянием - период в жизни объекта, на протяжении которого он удовлетворяет какому-то условию.

Рис. 12.1. Обозначение состояния Рис. 12.2. Переходы между состояниями

Переходы между состояниями отображаются помеченными стрелками (рис. 12.2).

Событие — происшествие, вызывающее изменение состояния,

Действие — набор операций, запускаемых событием.

Иначе говоря, события вызывают переходы, а действия являются реакциями на переходы.

Примеры событий:

баланс < 0 помехи уменьшить(Давление) after (5 seconds) when (time = 16:30) Изменение в состоянии Сигнал (объект с именем) Вызов действия Истечение периода времени Наступление абсолютного момента времени

Примеры действий:

Кассир. прекратитьВыплаты() flt:= new(Фильтp); Ш.убратьПомехи() send Ник. привет Вызов одной операции Вызов двух операций Посылка сигнала в объект Ник

Для отображения перехода в начальное состояние принято обозначение, на рис. 12.3.

Рис. 12.3. Переход в начальное состояние Рис. 12.4. Переход в конечное состояние

Соответственно, обозначение перехода в конечное состояние имеет вид, рис. 12.4.

В качестве примера на рис. 12.5 показана диаграмма схем состояний для системы охранной сигнализации.

Рис. 12.5. Диаграмма схем состояний системы охранной сигнализации

Условные переходы

Между состояниями возможны различные типы переходов. Обычно переход инициируется событием. Допускаются переходы и без событий.

Порядок выполнения условного перехода:

1) происходит событие;

2) вычисляется условие УсловиеПерехода;

3) при УсловиеПерехода=true запускается переход и активизируется действие, в противном случае переход не выполняется.

Пример условного перехода между состояниями

Вложенные состояния

Это подсостояния.Цель: упростить моделирование сложного поведения. Подсостояние — это состояние, вложенное в другое состояние.

Рис. 12.10. Переходы в состоянии Активна

На рис. 12.10 приведена внутренняя структура составного состояния Активна.

Если система находится в состоянии Активна, то она должна быть точно в одном из подсостояний: Проверка, Звонок, Ждать. В свою очередь, в подсостояние могут вкладываться другие подсостояния. Степень вложенности подсостояний не ограничивается. Данная семантика соответствует случаю последовательных подсостояний.

Возможно наличие параллельных подсостояний — они выполняются параллельно внутри составного состояния.

Иногда при возврате в составное состояние возникает необходимость попасть в то его подсостояние, которое в прошлый раз было последним. Такое подсостояние называют историческим. Информация об историческом состоянии запоминается.



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 445; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.9.141 (0.003 с.)