![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
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; Прочитано: 806 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!