Добавьте структуру в модель по одному подкомпоненту за раз, создав иерархию вложенных состояний. Затем можно управлять несколькими уровнями сложности в диаграмме Stateflow ®. Дополнительные сведения см. в разделе модели конечных автоматов.
Чтобы создать иерархию состояний, поместите одно или несколько состояний в границы другого состояния. Внутренние состояния являются дочерними состояниями (или подсостояниями) внешнего состояния. Внешнее состояние является родительским (или сверхсостоянием) внутренних состояний.

Содержимое родительского состояния ведет себя как диаграмма меньшего размера. Когда родительское состояние становится активным, одно из его дочерних состояний также становится активным. Когда родительское состояние становится неактивным, все его дочерние состояния становятся неактивными.
В этом примере моделируется стереосистема, состоящая из AM-радио, FM-радио и CD-плеера. Во время моделирования можно управлять стереосистемой, нажимая кнопки в пользовательском интерфейсе помощника медиаплеера.

Стерео первоначально находится в режиме ожидания (OFF). При выборе одной из кнопок Radio Request стерео включает соответствующий подкомпонент. При выборе проигрывателя компакт-дисков можно нажать одну из кнопок запроса компакт-дисков, чтобы выбрать «Воспроизведение», «Перемотка», «Быстрая пересылка» или «Остановка». Диск можно вставить или извлечь в любой точке во время моделирования.
Изначально полная реализация этой стереосистемы представляется довольно сложной. Однако, фокусируясь на одном уровне активности за раз, можно постепенно проектировать общую конструкцию системы. Например, для входа проигрывателя компакт-дисков в режим воспроизведения Fast-Forward необходимы следующие условия:
Ты включаешь стерео.
Вы включаете проигрыватель компакт-дисков.
Ты играешь диск.
Нажмите кнопку FF в интерфейсе пользователя.
Можно создать иерархическую модель, учитывающую каждое из этих условий по одному. Например, внешний уровень может определять переходы между включением и отключением стерео. Средние уровни определяют переход между различными подкомпонентами стерео и между режимами остановки и воспроизведения проигрывателя CD. Самый нижний уровень определяет ответ на кнопки запроса компакт-диска при выполнении всех остальных условий воспроизведения диска.
Для реализации поведения стереосистемы, sf_mediaplayer использует иерархию вложенных состояний, перечисленных обозревателем моделей в Mode Manager диаграмма. Чтобы открыть Обозреватель моделей (Model Explorer), на вкладке Моделирование (Modeling) выберите Обозреватель моделей (Model Explorer).

В этой таблице перечислены роли каждого состояния в иерархии.
| Уровень иерархии | Государство | Описание |
|---|---|---|
Верхний уровень (Mode Manager диаграмма) | Eject | Режим извлечения диска (прерывает все остальные стереофонические функции) |
NormalOperation | Нормальный режим работы стереосистемы | |
Активность стереосистемы (дочерние состояния | Standby | Стереосистема находится в режиме ожидания (выкл.) |
ON | Активна стереосистема (ВКЛ.) | |
Стереокомпоненты (дочерние состояния | CDMode | Компонент проигрывателя компакт-дисков активен |
AMMode | Компонент AM radio активен | |
FMMode | Подкомпонент ЧМ-радиосвязи активен | |
Активность проигрывателя компакт-дисков (дочерние состояния | Stop | Проигрыватель компакт-дисков остановлен |
Play | Проигрыватель компакт-дисков воспроизводит диск | |
Режимы воспроизведения диска (дочерние состояния | Normal | Обычный режим воспроизведения |
Rewind | Режим обратного воспроизведения | |
FastForward | Режим воспроизведения Fast-Forward |
На этом рисунке показана полная компоновка состояний на диаграмме.

История стыков
внутри NormalOperation и ON состояния записывают режим работы (Standby или ON) и активный субкомпонент медиаплеера (CD-проигрыватель, AM-радио или FM-радио) перед извлечением диска или выключением системы.
Пример sf_mediaplayer содержит две другие диаграммы Stateflow:
App Interface управляет интерфейсом с пользовательским интерфейсом и передает входные данные в Mode Manager и CD Player чарты.
CD Player получает выходные данные от App Interface и Mode Manager диаграммы и имитируют механическое поведение проигрывателя компакт-дисков.

Во время моделирования можно исследовать, как каждая диаграмма реагирует на взаимодействие с приложением помощника Media Player. Чтобы быстро переключаться между диаграммами, используйте вкладки в верхней части окна Stateflow Editor.