| Идентификатор: Заголовок | hisf_0003: Использование побитовых операций | |
|---|---|---|
| Описание | При использовании побитовых операций в Stateflow® блоки, | |
| A | Избегайте целочисленных типов данных со знаком в качестве операндов для побитовых операций. | |
| Примечания | Обычно побитовые операции не имеют значения для знаковых целых чисел. Может возникнуть нежелательное поведение. Для примера операция сдвига может переместить бит знака в число или числовой бит в бит знака. | |
| Объяснение | A | Продвигайте однозначный стиль моделирования. |
| Проверки Model Advisor | Проверяйте использование побитовых операций в диаграммах Stateflow (Simulink Check) | |
| Ссылки |
| |
| См. также | hisl_0019: Использование побитовых операций | |
| Последнее изменение | R2016a | |
| Идентификатор: Заголовок | hisf_0004: Защита от рекурсивных вызовов функций для улучшения податливости кода | |
|---|---|---|
| Описание | Чтобы улучшить податливость сгенерированного кода, не вызывайте функции рекурсивно. Это включает любую комбинацию графических функций, функций таблицы истинности, MATLAB® функций, или Simulink® функций. | |
| Необходимые условия | ||
| Примечания | Рекурсия существует, когда функция вызывает себя прямо или косвенно через другой вызов функции. | |
| Объяснение | Продвигайте поведение ограниченного вызова функции. | |
| Проверки Model Advisor | Проверяйте использование рекурсий (Simulink Check) | |
| Ссылки |
| |
| Последнее изменение | R2021a | |
| Примеры | В Stateflow существует несколько шаблонов, которые могут привести к рекурсии.
Рекурсивные вызовы функций
| |
Когда введено состояние A по умолчанию, событие
Рекурсивные вызовы функций
| ||
| Идентификатор: Заголовок | hisf_0007: Использование условий соединения (поддержание взаимного исключения) | |
|---|---|---|
| Описание | Для повышения ясности и предотвращения генерации недоступного кода: | |
| A | Сделать условия соединения взаимоисключающими. | |
| Примечания | Можно использовать это руководство для поддержания подмножества языка моделирования в проектах с высокой целостностью. | |
| Объяснение | A | Улучшите ясность и предотвратите генерацию недоступного кода. |
| Ссылки |
| |
| Проверки Model Advisor | Соблюдение этого руководства по моделированию не может быть проверено с помощью проверки Model Advisor. | |
| Последнее изменение | R2012b | |
| Пример |
| |
| Идентификатор: Заголовок | hisf_0013: Использование переходных путей (пересечение контуров параллельных состояний) | |
|---|---|---|
| Описание | Чтобы избежать создания схем, которые трудно понять, | |
| A | Избегайте создания переходов, которые переходят от одного параллельного состояния к другому. | |
| Примечания | Можно использовать это руководство для поддержания подмножества языка моделирования в проектах с высокой целостностью. | |
| Объяснение | A | Улучшите читаемость модели. |
| Проверки Model Advisor | Проверяйте диаграммы Stateflow на переходные пути, которые пересекают контуры параллельных состояний (Simulink Check) | |
| Ссылки |
| |
| Последнее изменение | R2017b | |
| Пример | В следующем примере, когда
| |
| Идентификатор: Заголовок | hisf_0014: Использование переходных путей (проходящих через состояния) | |
|---|---|---|
| Описание | Чтобы избежать создания схем, которые путают и включают пути перехода без преимуществ, | |
| A | Избегайте путей перехода, которые заходят в состояние и выходят из него, не заканчиваясь на подсостоянии. | |
| Примечания | Можно использовать это руководство для поддержания подмножества языка моделирования в проектах с высокой целостностью. | |
| Объяснение | A | Улучшите читаемость модели. |
| Проверки Model Advisor | Проверяйте на неподходящее использование переходных путей (Simulink Check) | |
| Ссылки |
| |
| Последнее изменение | R2018b | |
| Примеры |
| |
| Идентификатор: Заголовок | hisf_0015: Сильное типирование данных (переменные приведения и параметры в выражениях) | |
|---|---|---|
| Описание | Для облегчения сильного набора данных, | |
| A | Явным образом введите переменные приведения и параметры различных типов данных в:
| |
| Примечания | Программа Stateflow автоматически помещает переменные другого типа в один и тот совпадающий тип данных. Это руководство помогает уточнить типы данных промежуточных переменных. | |
| Объяснение | A | Применить строгий набор данных. |
| Проверки Model Advisor | Проверяйте диаграммы Stateflow на наличие сильного набора данных (Simulink Check) | |
| Ссылки |
| |
| Последнее изменение | R2021a | |
| Примеры |
Рекомендуется
Не рекомендуется
| |
| Идентификатор: Заголовок | hisf_0016: имена портов Stateflow |
|---|---|
| Описание | Имя входного или выходного сигнала Stateflow должно совпадать с именем соответствующего сигнала. Исключением из руководства является то, что переиспользуемые блоки Stateflow могут иметь различные имена портов. |
| Объяснение | Поддержка генерации отслеживаемого кода. |
| Проверки Model Advisor | Проверяйте именование портов в диаграммах Stateflow (Simulink Check) |
| Ссылки |
|
| Последнее изменение | 2018a |
| Идентификатор: Заголовок | hisf_0017: скопирование объектов данных Stateflow |
|---|---|
| Описание | Объекты данных Stateflow с локальными возможностями должны быть определены на уровне графика или ниже. |
| Объяснение | Поддержка генерации отслеживаемого кода. |
| Проверки Model Advisor | Проверяйте просмотр объектов данных Stateflow (Simulink Check) |
| Ссылки |
|
| Последнее изменение | 2018a |
| Примеры |
Рекомендуется
Не рекомендуется
|