Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Диаграмма состояний (простые состояния) и правила ее построения. Пример



StateChart Diagram (конечные автоматы).

Теоретическая основа - В.М. Глушко (60-70гг) – синтез конечных автоматов. Автор – Devid Harell. Диагамма отражает поведение система в терминах конечных автоматов (КА).

КА – это спецификация последовательности состояний, через которые в течении своей жизни проходит объект, в том числе взаимодействуя с другими автоматами под воздействием потока событий.

Состояние объектов фиксируется состоянием его параметров (атрибутов). Состояние является фундаментальным понятием присущее любому процессу. Смена состояний происходит дискретно и аналоговые автоматы не рассматриваются.

2 категории состояний: 1) деятельности; 2) ожидания.

Состояния объекта называются пространством состояний. Гипотеза: это пространство конечно, т.е. множество состояний конечно.

Переходы автомата из одного состояния в другое может отображаться графом перехода, где узлы – состояния, ребра – линии перехода. Все неанонимные состояния имеют уникальные имена. одно и тоже состояние не может отображаться 2 раза.

Переход (transition) – реакция объекта на некоторое событие. Переход считают атомарным действием мгновенного типа (t=0). Если необходимо учитывать t, то оно включается во время нахождения объекта в том или ином состоянии.

Объект может создаваться, уничтожаться и изменять свои характеристики.

Условия при моделировании КА:

1. Автомат (А) не помнит историю своего перемещения из состояния в состояние.
Если необходимо учесть память, то вводится историческое состояние.

2. Каждый момент времени автомат может находиться только в одном состоянии.

3. Время присутствует в А. в неявном виде, однако в диаграмме последовательности и активности, оно может указываться явно.

4. Количество состояний конечно, состояния указываются явно.

5. Не должно быть изолированных состояний и переходов, все состояния должны быть достижимы.

6. Не должно быть конфликтных переходов.

Состояние (state)– функциональное понятие, состояние соответствует статической деятельности или ситуацию, в течении которой выполняются некоторые условия (инвариант).

Рис. 9.1 – Простое состояние

Рис 9.2 – Композитное состояние

Таким образом образуется иерархия состояний – деление деятельности на мелкие фрагменты.

Деятельность (activity) – состояний из последовательности действий, имеет время выполнения и может быть прервано событием.

Действие (action) – элементарная непрерываемая операция.

Пример: присвоение значения, создание/уничтожение объекта.

Существуют следующие действия (+метками):

· entry/<действие> - при входе в состояние;

· exit/<действие> - при выходе из состояния;

Эти два – непрерывные.

· do/<действие> - действие в состоянии.

Обозначение перехода:

И →Ц, где предыдущее состояние – источник, следующее – цель.

Условия перехода:

1. произошло переключающее событие, имя которого является название перехода;

2. завершилась деятельность в предыдущем состоянии и выполнено действие при выходе из состояния (неявное переключающее событие);

3. выполнено сторживое условие, стоящее у перехода, если оно есть;

4. выполнено действие, прикреплённое к переходу, если оно есть.

Рис. 9.3 – Пример.

Выделяют 2 специальных состояния:

- начальное состояние, в нём не выполняется действий и деятельностей и осуществляется переход 1 состояние; такое состояние может быть только одно.

- конечное состояние, завершение деятельности КА, действия не производятся, кроме «закрытие/уничтожение формы», таких состояний может быть больше 1.

Рис. 9.4 – Пример рекурсии (перехода самого в себя)

В основе функционирования КА лежит понятие события (event).

4 основных категории событий:

1. Cобытие вызова (call event) соответствует вызову к-либо процедуры, деятельности, операции. Может иметь параметры: имя вызываемой операции, условия, возврат.

2. Изменение (change event) удовлетворение некого логического условия, определяемого выражением события.

3. Сигнала (signal event) – получение сигнала с параметрами.

4. Времени (time event) – истечение к-либо интервала времени или наступления к-либо момента времени.

Из состояния может быть несколько переходов, т.е. сторожевые условия могут ветвиться.

Рис. 9.5 – Пример ветвления сторожевых условий





Дата публикования: 2015-02-18; Прочитано: 752 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...