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