Документация Engee

Иерархия Конечных автоматов

Вы можете использовать модель конечного автомата с вложенными состояниями для создания иерархии:

  • Родительское состояние — это состояние, которое содержит одно или несколько подсостояний, называемых дочерними состояниями. При активации родительского состояния происходит переход по умолчанию для дочерних состояний. Далее дочерние состояния работают по обычной логике конечного автомата до тех пор, пока родительское состояние не перестанет быть активным.

  • Дочернее состояние — это состояние, которое находится внутри родительского состояния.

embedded state 1 1

Состояния можно вкладывать друг в друга, но они не должны перекрываться. При перекрытии выдается ошибка (восклицательный красный знак) о том, что состояния не могут быть наложены друг на друга:

chart error 1

Все вложенные состояния подчиняются следующим правилам:

  • На каждом уровне вложенности должен быть свой переход по умолчанию.

  • У состояний нет ограничений по глубине вложенности. При входе в состояние Engee автоматически определяет наличие вложенности:

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

    • Нет вложенных состояний — применяется логика конечного автомата.