Simulink ® Code Inspector™ поддерживает подмножество объектов Stateflow ® для проверки кода. Инспектор кода проверяет использование поддерживаемых объектов. Для поддерживаемых объектов могут применяться некоторые ограничения. Перед проверкой кода при проверке совместимости модели с правилами проверки кода средство проверки совместимости обнаруживает и сообщает о нарушениях ограничений Stateflow. Simulink Code Inspector поддерживает следующие объекты Stateflow для проверки кода:
Коробки
Чарты
Данные и события
Графические функции
Соединения
Неатомные подшарты
Функции симулятора
Государства
Переходы
Таблицы правды
Для конструкций цикла, например:

Ограничения объекта Stateflow представляют ограничения потока Stateflow. Для каждого объекта Stateflow с ограничением в разделе представлены:
Имя объекта. Сведения об объекте см. в разделе Поток состояний.
Зависимости, применяемые к объекту.
Для каждой записи:
В столбце «Ограничение» отображается ограничение «Инспектор кода Simulink» для блока или объекта Stateflow.
Столбец FATAL/Nonfatal определяет, прекращает ли нарушение ограничения проверку кода.
При проверке кода, созданного из моделей с несовместимостью FATAL, проверка кода завершается. Код, созданный из моделей с несовместимостью FATAL, не может быть проверен.
При проверке кода, созданного из моделей с нефатальной несовместимостью, проверка кода не завершается. Хотя полностью проверить созданный код может оказаться невозможным, проверка кода продолжается. Инспектор кода Simulink может частично проверить созданный код. Можно настроить проверку кода так, чтобы нарушение нефатального ограничения завершало проверку кода.
В столбце Проверка совместимости (Compatibility Check) содержится список проверок совместимости, которые проверяют нарушение ограничения, и ссылки на описание проверки.
Для поддерживаемых объектов Stateflow Simulink Code Inspector поддерживает структурированный поток управления, но не неструктурированный поток управления. Это ограничение FATAL, что означает, что нарушение этого ограничения прекращает проверку кода. При проверке структуры управляющих потоков проверяется, поддерживается ли тип управляющего потока диаграммы Stateflow и сообщается ли о нарушении ограничения.
Поток управления в диаграмме Stateflow - это порядок выполнения действий состояния и перехода, когда диаграмма активна. Действия состояния и перехода - это инструкции, которые записываются внутри состояния или рядом с переходом, чтобы определить поведение диаграммы Stateflow во время моделирования. Для управления порядком выполнения действий можно использовать логику принятия решений, закольцовывания и ветвления. В структурированном потоке управления порядок выполнения действий предсказуем и специфичен. В неструктурированном потоке управления порядок выполнения действий непредсказуем. Непредсказуемость возникает из-за использования непредсказуемых переходов к меткам или адресам команд, которые определяются во время выполнения. В результате поток управления может:
Переход к другому соединению
Пропустить часть графика потока
Вызвать ранний выход из филиала
В этом примере показано поведение структурированного потока управления в диаграмме Stateflow.

Когда условие для перехода 1 или 2 является истинным, поток управления следует по переходному пути 1 и 2 соответственно и переходит в конечный переход. Когда условия для перехода 1 и 2 являются ложными, поток управления следует по пути перехода 3 и переходит в конечный переход. Для каждого перехода существует определенный путь. Нет непредсказуемых прыжков, пропуска или раннего выхода.
В этом примере показано поведение неструктурированного потока управления в диаграмме Stateflow.

Когда условия для переходов 1 и 2 являются ложными, управляющий поток пропускает промежуточный переход, следует по переходному пути 3 и переходит непосредственно в конечный переход. Поскольку условия для переходов 1 и 2 могут быть оценены только во время выполнения, невозможно заранее предсказать, пойдет ли управляющий поток непосредственно в конечный переход, пропуская промежуточный переход.