2.3. Диаграмма состояний
Диаграмма состояний (state machine diagrams) — диаграмма, которая
даёт представление о том, как ведёт себя система в тех или иных условиях.
Предназначены для моделирования поведения объекта на всём протяжении
его жизненного цикла. Данные диаграммы моделируют поток управления от
события к событию. На диаграммах состояний обязательно имеется началь-
ное состояние. Это состояние соответствует только что созданному состоя-
нию объекта и изображается на диаграмме чёрной точкой.
«Рисунок 9 — Начальное состояние объекта»
Также на диаграмме может быть показано конечное состояние объекта,
которое иллюстрирует состояние объекта непосредственно перед его уничто-
жением. В отличие от начального состояния, которое обязательно должно
присутствовать на диаграмме, конечных состояний может быть сколько угод-
но, или же они могут отсутствовать вовсе.
«Рисунок 10 — Конечное состояние объекта»
Если необходимо смоделировать динамические аспекты системы, то
диаграммы состояний чаще используются, чтобы смоделировать реактивные
объекты. Под реактивным объектом понимается объект, поведение которого
характеризуют его реакцией на внешние события. Обычно, реактивный
объект находится в состоянии ожидания, а как только он получает определён-
ное событие, он реагирует на него исходя из предшествующих событий.
18
После реакции на событие, объект опять переходит в состояние ожидание
следующего события. Интересом для реактивных объектов являются устой-
чивые состояния, а также события, которые способствуют переходу между
состояниями, и действия, которые выполняются объектами при смене состоя-
ний.
Моделирование любого реактивного объекта должно начинаться с
определения устойчивого состояния, в котором может находиться объект
сколь угодно долгое время; событий, из-за которых происходит смена состоя-
ний; действий, выполняемых при смене состояний. Моделирование реактив-
ного объекта — это моделирование всего ЖЦ (жизненного цикла) объекта, от
момента его создания до момента его уничтожения. Моделирование состоит
из процессов:
1. Выбор контекста для автомата.
2. Выбор начального и конечного состояния для объекта.
3. Определение устойчивых состояний для объекта.
4. Определение частичного упорядочения устойчивых состояний на про-
тяжении ЖЦ объекта.
5. Определение событий, которые способствуют переходам между состоя-
ниями.
6. Присоединение действия к переходам и состояниям.
7. Анализ возможности упрощения автомата путём использования подсо-
стояний, разделений, ветвлений и т. д.
8. Проверка возможности достижения любого из состояний при опре-
делённой комбинации событий.
9. Проверка отсутствия тупиковых состояний[4, стр. 30-32].
19
«Рисунок 11 — Диаграмма состояний, моделирующая процесс продажи автомобилей»
«Рисунок 12 — Диаграмма состояний, моделирующая работу продавца-консультанта»
20
Do'stlaringiz bilan baham: |