Диаграмма состояний

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

С помощью диаграмм состояний можно графически задать дискретные поведения объектов любой сложности, куда более разнообразные, чем элементарные состояния свободен/занят (idle/busy), открыт/закрыт (open/closed), исправен/неисправен (up/down) и т.п., предлагаемые большинством блочных инструментов моделирования.

Диаграммы состояний AnyLogic соответствуют стандарту UML. Они сохраняют графический вид, атрибуты и семантику выполнения, определенную в UML.

Диаграмма состояний представляет собой состояния, соединенные переходами. Переходы могут сработать в результате заданного в качестве условия перехода события - это может быть истечение заданного таймаута, получение диаграммой состояний сообщения, выполнение заданного логического  условия и т.д. Срабатывание перехода приводит к переходу управления диаграммы состояний в то состояние, в которое ведет этот переход. Состояния могут быть иерархическими, т.e. содержать другие состояния и переходы.

Диаграмма состояний рисуется с помощью следующих элементов:

  Начало диаграммы состояний

  Состояние

  Переход

  Указатель начального состояния

  Конечное состояние

  Ветвление

  Историческое состояние

Элементы диаграммы состояний добавляются на диаграмму путем перетаскивания соответствующих элементов из палитры Диаграмма состояний.


См. также

 Порядок выполнения действий элементов диаграммы состояний

 Справочник классов: Класс Statechart