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