Иерархия состояния

Чтобы управлять многоуровневой сложностью состояния, используйте иерархию в своем графике Stateflow®. С иерархией можно представлять несколько уровней субкомпонентов в системе.

Пример иерархии состояния

В следующем примере три уровня иерархии появляются в графике. Рисование одного состояния в контурах другого состояния указывает, что внутреннее состояние является подсостоянием (или дочерний элемент) внешнего состояния (или сверхсостояние). Внешнее состояние является родительским элементом внутреннего состояния.

В этом примере график является родительским элементом Car_done состояния. Car_done состояния родительское состояние Car_made и Car_shipped состояния. Car_made состояния также родительский элемент Parts_assembled и Painted состояния. Можно также сказать что состояния Parts_assembled и Painted дочерние элементы Car_made состояние.

Чтобы представлять иерархию Stateflow дословно, используйте символ наклонной черты (/) представлять график и использовать период (.) разделить каждый уровень в иерархии состояний. Следующий список является текстовым представлением иерархии объектов в предыдущем примере:

  • /Car_done

  • /Car_done.Car_made

  • /Car_done.Car_shipped

  • /Car_done.Car_made.Parts_assembled

  • /Car_done.Car_made.Painted

Объекты, которые может содержать состояние

Состояния могут содержать все другие объекты Stateflow. Обозначение диаграммы Stateflow поддерживает представление иерархии графического объекта в диаграммах Stateflow с включением. Состоянием является superstate, если оно содержит другие состояния. Состоянием является substate, если оно содержится в другом состоянии. Состояние, которое не является ни сверхсостоянием, ни подсостоянием другого состояния, является состоянием, родительским элементом которого является сама диаграмма Stateflow.

Состояния могут также содержать неграфические данные, событие и объекты сообщения. Иерархия этого включения появляется в Model Explorer. Вы задаете данные, событие и включение сообщения путем определения родительского объекта.