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

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

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

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

В этом примере график является родительским элементом Car_done состояния. Car_done состояния является метрополией состояний Car_shipped и Car_made. Car_made состояния является также родительским элементом состояний Painted и Parts_assembled. Можно также сказать, что состояния 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. Вы задаете данные, событие и включение сообщения путем определения родительского объекта.