R2017b

Новые возможности, Вопросы совместимости

Упаковка Simulink Verification and Validation: Перемещенная проверка податливости, метрики модели, обнаружение клонов и рефакторинг, разовая редактированием проверка и трансформатор модели к Simulink Check

С R2017b, Simulink® Верификация и переходы Validation™ к трем новым продуктам, Simulink Requirements, Simulink Coverage и Simulink Check.

  • Трассируемость требований и функциональность Requirements Management Interface (RMI) переместились в продукт Simulink Requirements™.

  • Функциональность покрытия типового кодекса и сгенерированного кода и верификация компонента функционируют, такие как slvnvmakeharness, переместились в продукт Simulink Coverage™.

  • Проверка податливости, метрики модели, обнаружение клонов и рефакторинг и функциональность трансформатора модели переместились в продукт Simulink Check™.

Метрическая Инструментальная панель: Соберите и просмотрите метрические данные для качественной оценки

Метрическая Инструментальная панель собирает и интегрирует данные о метрике качества из нескольких инструментов Model-Based Design, чтобы предоставить вам оценку вашего качественного состояния проекта. В R2017b, при помощи инструментальной панели, можно собрать и исследовать метрические данные для:

  • Размер модели

  • Податливость руководств по моделированию

  • Компонентизация модели и обнаружение клонов

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

Откройте Метрическую Инструментальную панель из окна редактора моделей путем выбора Analysis > Metrics Dashboard. Или в командной строке введите metricsdashboard (system).

Для получения дополнительной информации смотрите, Собирают и Исследуют Метрические Данные при помощи Метрической Инструментальной панели.

MathWorks High-Integrity Guidelines и Проверки: Проверьте податливость со стандартами безопасности при помощи высоких проверок целостности и инструкций

Классификация проверок Model Advisor на системы Высокой Целостности

Можно использовать Model Advisor, чтобы проверить соответствие стандартам безопасности при помощи высоких проверок целостности. Чтобы выполнить эти проверки, Откройте Model Advisor (Simulink) и выберите стандарт безопасности:

  • By Task > Modeling Standards for DO-178/DO-331> High-Integrity Systems

  • By Task > Modeling Standards for EN 50128> High-Integrity Systems

  • By Task > Modeling Standards for IEC 61508> High-Integrity Systems

  • By Task > Modeling Standards for IEC 62304> High-Integrity Systems

  • By Task > Modeling Standards for ISO 26262> High-Integrity Systems

Высокие проверки целостности категоризированы в эти подгруппы:

  • Simulink

  • Stateflow

  • MATLAB

  • Настройка

  • Требования

  • Код

Высокая целостность проверки Model Advisor на DO-178C/DO-331 стандарты

Следующая таблица идентифицирует проверки Model Advisor, которые были введены в R2017b, чтобы проверить соответствие стандартам безопасности DO-178C/DO-331.

Эти проверки доступны в By Task > Modeling Standards for DO-178/DO-331> High-Integrity Systems. Подгруппа высокой целостности, в которой находится проверка, задана в таблице.

Системная подгруппа высокой целостностиПроверяйте имя
SimulinkПроверяйте на корневой Inports с недостающими свойствами
SimulinkПроверяйте на корневой Inports с недостающими определениями области значений
StateflowПроверяйте диаграммы Stateflow на пути к переходу тот перекрестные параллельные государственные границы
StateflowПроверяйте диаграммы Stateflow на сильный ввод данных
StateflowПроверяйте использование операций сдвига для данных Stateflow
StateflowПроверяйте операции присвоения в диаграммы Stateflow
StateflowПроверяйте диаграммы Stateflow на унарные операторы
StateflowПроверяйте использование построений Stateflow
НастройкаПроверяйте связанные с безопасностью настройки решателя на время симуляции
НастройкаПроверяйте связанные с безопасностью настройки решателя на опции решателя
НастройкаПроверяйте связанные с безопасностью настройки решателя на управление задачами и шаг расчета
НастройкаПроверяйте связанные с безопасностью диагностические настройки на блоки Слияния
НастройкаПроверяйте связанные с безопасностью диагностические настройки на Stateflow
НастройкаПроверяйте связанный с безопасностью порог разворачивающего цикла for настроек оптимизации
КодПроверяйте на блоки, не рекомендуемые для MISRA C:2012
КодПроверяйте параметры конфигурации на MISRA C:2012

Следующая таблица идентифицирует модификации к существующим проверкам Model Advisor на DO-178C/DO-331 стандарты безопасности.

Проверка Model AdvisorОписание изменения
Проверяйте на элементы модели, которые не соединяются с требованиямиПроверяйте, что заголовок был обновлен. В предыдущих релизах заголовком этой проверки был Check for blocks that do not link to requirements. ID проверки не изменился.
Проверяйте модель на проблемы обновления блокаБолее не доступный как проверка Modeling Standards for DO-178C/DO-331. Для получения дополнительной информации смотрите DO-178C/DO-331 Проверки Моделирования: Удаленная модель Check "Проверки Model Advisor для блока обновляет проблемы".

Высокая целостность проверки Model Advisor на EN 50128, IEC 61508, IEC 62304 и стандарты ISO 26262

Следующая таблица идентифицирует проверки Model Advisor, которые были введены в R2017b, чтобы проверить соответствие стандартам безопасности EN 50128, IEC 61508, IEC 62304 и ISO 26262.

Эти проверки доступны в:

  • By Task > Modeling Standards for EN 50128> High-Integrity Systems

  • By Task > Modeling Standards for IEC 61508> High-Integrity Systems

  • By Task > Modeling Standards for IEC 62304> High-Integrity Systems

  • By Task > Modeling Standards for ISO 26262> High-Integrity Systems

Подгруппа высокой целостности, в которой находится проверка, задана в таблице.

Системная подгруппа высокой целостностиПроверяйте имя
SimulinkПроверяйте использование блоков интерполяционной таблицы
SimulinkПроверяйте на блоки, не рекомендуемые для производственного развертывания C/C++ кода
SimulinkПроверяйте на различные блоки с, 'Генерируют условные выражения препроцессора', активные
SimulinkПроверяйте использование блоков Маршрутизации Сигнала
StateflowПроверяйте диаграммы Stateflow на пути к переходу тот перекрестные параллельные государственные границы
StateflowПроверяйте диаграммы Stateflow на упорядоченное расположение состояний и переходов
StateflowПроверяйте параметры отладки Stateflow
StateflowПроверяйте диаграммы Stateflow на исключительно заданные объекты данных
StateflowПроверяйте диаграммы Stateflow на сильный ввод данных
StateflowПроверяйте использование операций сдвига для данных Stateflow
StateflowПроверяйте операции присвоения в диаграммы Stateflow
StateflowПроверяйте диаграммы Stateflow на унарные операторы
StateflowПроверяйте использование построений Stateflow
НастройкаПроверяйте связанные с безопасностью настройки оптимизации
НастройкаПроверяйте связанные с безопасностью настройки ссылки модели
НастройкаПроверяйте связанные с безопасностью настройки генерации кода
НастройкаПроверяйте связанные с безопасностью диагностические настройки на решатели
НастройкаПроверяйте связанные с безопасностью настройки решателя на время симуляции
НастройкаПроверяйте связанные с безопасностью настройки решателя на опции решателя
НастройкаПроверяйте связанные с безопасностью настройки решателя на управление задачами и шаг расчета
НастройкаПроверяйте связанные с безопасностью диагностические настройки на шаг расчета
НастройкаПроверяйте связанные с безопасностью диагностические настройки на данные сигнала
НастройкаПроверяйте связанные с безопасностью диагностические настройки на параметры
НастройкаПроверяйте связанные с безопасностью диагностические настройки на данные, используемые для отладки
НастройкаПроверяйте связанные с безопасностью диагностические настройки на память хранилища данных
НастройкаПроверяйте связанные с безопасностью диагностические настройки на преобразования типов
НастройкаПроверяйте связанные с безопасностью диагностические настройки на возможность соединения сигнала
НастройкаПроверяйте связанные с безопасностью диагностические настройки на возможность соединения шины
НастройкаПроверяйте связанные с безопасностью диагностические настройки, которые применяются к возможности соединения вызова функции
НастройкаПроверяйте связанные с безопасностью диагностические настройки на совместимость
НастройкаПроверяйте связанные с безопасностью диагностические настройки на инициализацию модели
НастройкаПроверяйте связанные с безопасностью диагностические настройки на ссылку модели
НастройкаПроверяйте связанные с безопасностью диагностические настройки на сохранение
НастройкаПроверяйте связанные с безопасностью диагностические настройки на блоки Слияния
НастройкаПроверяйте связанные с безопасностью диагностические настройки на Stateflow
НастройкаПроверяйте связанный с безопасностью порог разворачивающего цикла for настроек оптимизации
ТребованияПроверяйте на элементы модели, которые не соединяются с требованиями
КодПроверяйте параметры конфигурации на MISRA C:2012
КодПроверяйте на блоки, не рекомендуемые для MISRA C:2012

Руководства по моделированию высокой целостности

Инструкция hisl_0070 по моделированию систем повышенной надежности: Размещение ссылок требования в модели было введено в R2017b.

Эти инструкции по моделированию систем повышенной надежности были удалены в R2017b:

  • hisf_0010: Использование путей к переходу (цикличное выполнение из родительского элемента исходных и целевых объектов)

  • hisf_0012: Стройте диаграмму комментариев

Инструкции по моделированию систем повышенной надежности в этой таблице были обновлены, чтобы включать новые проверки Model Advisor на DO-178C/DO-331, EN 50128, IEC 61508, IEC 62304 и стандарты безопасности ISO 26262. Где применимо, таблица также идентифицирует дополнительные модификации.

Для полного списка инструкций по моделированию систем повышенной надежности, включая их применимые проверки Model Advisor, смотрите Проверки Model Advisor на Руководства по моделированию Высокой Целостности (Simulink).

Руководство по моделированию высокой целостности Описание изменения
hisl_0002: Использование блоков Математической функции (rem и обратная величина)Новая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте использование блоков Математических операций
hisl_0004: Использование блоков Математической функции (натуральный логарифм и основа 10 логарифмов)Новая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте использование блоков Математических операций
hisl_0005: Использование блоков продуктаНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на данные сигнала
hisl_0013: Использование блоков хранилища данныхНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на память хранилища данных
hisl_0018: Использование блока Logical OperatorСвязанные с безопасностью настройки оптимизации Проверки проверки удаленного Model Advisor, когда это покрыто с помощью необходимой как условие инструкции.
hisl_0020: Блоки, не рекомендуемые для податливости MISRA C:2012

Новые проверки Model Advisor:

Добавленный:

  • Добавленный From Workspace и S-Function Builder блокируются к списку блоков, не рекомендуемых для податливости MISRA

  • Идентифицированный блоки Интерполяционной таблицы устаревшие (Поиск и Lookup2D).

hisl_0022: выбор Типа данных для сигналов индексаУдаленный n-D Lookup Table (внутренний выбор индекса типа) из списка блоков, которые используют индекс сигнала.
hisl_0023: Верификация модели и вариантов подсистемыНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте на различные блоки с, 'Генерируют условные выражения препроцессора', активные
hisl_0024: определение интерфейса Inport

Новая проверка Model Advisor на DO-178C/DO-331: Проверяйте на корневой Inports с недостающими свойствами

Обновленное описание инструкции, чтобы включать Сигнал Simulink возражает, что явным образом решает к связанной сигнальной линии.

hisl_0025: Спроектируйте спецификацию min / макс. спецификацию входных интерфейсовНовая проверка Model Advisor на DO-178C/DO-331: Проверяйте на корневой Inports с недостающими определениями области значений
hisl_0026: Спроектируйте спецификацию min / макс. спецификацию выходных интерфейсовНовая проверка Model Advisor на DO-178C/DO-331: Проверяйте на корневые Выходные порты с недостающими определениями области значений
hisl_0033: Использование блоков Интерполяционной таблицыНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте использование блоков интерполяционной таблицы
hisl_0034: Использование блоков Маршрутизации СигналаНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте использование блоков Маршрутизации Сигнала
hisl_0036: Параметры конфигурации> Диагностика> СохранениеНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на сохранение
hisl_0037: Параметры конфигурации> Ссылка МоделиНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки ссылки модели
hisl_0038: Параметры конфигурации> Генерация кода> КомментарииНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки генерации кода
hisl_0039: Параметры конфигурации> Генерация кода> ИнтерфейсНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки генерации кода
hisl_0040: Параметры конфигурации> Решатель> Время симуляции

Новые проверки Model Advisor:

hisl_0041: Параметры конфигурации> Решатель> опции Решателя

Новые проверки Model Advisor:

hisl_0042: Параметры конфигурации> Решатель> Управление задачами и опции шага расчета

Новые проверки Model Advisor:

hisl_0043: Параметры конфигурации> Диагностика> РешательНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на решатели
hisl_0044: Параметры конфигурации> Диагностика> Шаг расчетаНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на шаг расчета
hisl_0045: Параметры конфигурации> Оптимизация> логика Реализации сигнализируют как булевы данные (по сравнению с двойным)Новая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки оптимизации
hisl_0046: Параметры конфигурации> Оптимизация> сокращение БлокаНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки оптимизации
hisl_0047: Параметры конфигурации> Генерация кода> Стиль кодаНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки генерации кода
hisl_0048: Параметры конфигурации> Оптимизация> продолжительность жизни Приложения (дни)Новая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262:Проверяйте связанные с безопасностью настройки оптимизации
hisl_0049: Параметры конфигурации> Генерация кода> СимволыНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки генерации кода
hisl_0051: Параметры конфигурации> Оптимизация> Сигналы и Параметры> порог Развертывания цикла

Новые проверки Model Advisor:

hisl_0052: Параметры конфигурации> Оптимизация> инициализация ДанныхНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки оптимизации
hisl_0053: Параметры конфигурации> Оптимизация> Удаляет код от с плавающей точкой до целочисленных преобразований, который переносит значения из области значенийНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки оптимизации
hisl_0054: Параметры конфигурации> Оптимизация> Удаляет код, который защищает от арифметических исключений деленияНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью настройки оптимизации
hisl_0060: Параметры конфигурации, которые улучшают податливость MISRA C:2012

Новые проверки Model Advisor:

hisl_0061: Уникальные идентификаторы для ясности

Новые проверки Model Advisor:

hisl_0301: Параметры конфигурации> Диагностика> СовместимостьНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на совместимость
hisl_0302: Параметры конфигурации> Диагностика> Валидность Данных> ПараметрыНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на параметры
hisl_0303: блок Configuration Parameters> Diagnostics> Merge

Новые проверки Model Advisor:

hisl_0304: Параметры конфигурации> Диагностика> инициализация МоделиНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на инициализацию модели
hisl_0305: Параметры конфигурации> Диагностика> ОтладкаНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на данные, используемые для отладки
hisl_0306: Параметры конфигурации> Диагностика> Возможность соединения> СигналыНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на возможность соединения сигнала
hisl_0307: Параметры конфигурации> Диагностика> Возможность соединения> ШиныНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на возможность соединения шины
hisl_0308: Параметры конфигурации> Диагностика> Возможность соединения> Вызовы функцииНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки, которые применяются к возможности соединения вызова функции
hisl_0309: Параметры конфигурации> Диагностика> Преобразование типов

Новая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на преобразования типов

Добавленные параметры Type Conversion:

  • Unnecessary type conversion

  • 32-bit integer to single precision float conversion

hisl_0310: Параметры конфигурации> Диагностика> Ссылка МоделиНовая проверка Model Advisor на IEC 61508, IEC 62304, EN 50128 и ISO 26262: Проверяйте связанные с безопасностью диагностические настройки на ссылку модели
hisl_0311: Параметры конфигурации> Диагностика> Stateflow

Новые проверки Model Advisor:

Рациональное от hisf_0010: Использование путей к переходу (цикличное выполнение из родительского элемента исходных и целевых объектов) было включено в эту инструкцию.

hisf_0002: заданный пользователями порядок выполнения состояния/перехода

Новые проверки Model Advisor:

hisf_0009: Сильный ввод данных (Simulink и контур Stateflow)Новая проверка Model Advisor на DO-178C/DO-331: Проверяйте использование построений Stateflow
hisf_0011: настройки отладки Stateflow

Новые проверки Model Advisor:

hisf_0013: Использование путей к переходу (пересекающий параллельные государственные границы)

Новые проверки Model Advisor:

hisf_0015: Сильный ввод данных (бросающий переменные и параметры в выражениях)

Новые проверки Model Advisor:

hisf_0064: Операции сдвига для данных Stateflow, чтобы улучшить податливость кода

Новые проверки Model Advisor:

Обновление заголовка. Никакое изменение в содержимом инструкции.

hisf_0065: Введите операции броска в Stateflow, чтобы улучшить податливость кода

Новые проверки Model Advisor:

Обновление заголовка. Никакое изменение в содержимом инструкции.

hisf_0211: Защитите от использования унарных операторов в диаграммах Stateflow, чтобы улучшить податливость кода

Новые проверки Model Advisor:

Обновление заголовка. Никакое изменение в содержимом инструкции.

Моделирование Поддержки Безопасных Стандартов Кодирования: Проверяйте модель на податливость с безопасными требованиями кодирования в CERT C, CWE, стандарты ISO/IEC TS 17961, чтобы улучшить безопасность сгенерированного кода

Можно использовать Model Advisor, чтобы проверять модель или подсистему для податливости с безопасными требованиями кодирования в CERT C, CWE и стандартах ISO/IEC TS 17961. Выполнить эти проверки, Выбор и Осуществленные Проверки Model Advisor (Simulink) и выбрать By Task > Modeling Guidelines for Secure Coding (CERT C, CWE, ISO/IEC TS 17961).

Эта таблица суммирует Стандарты Моделирования для Безопасных Проверок программы.

ПроверятьОписаниеАдреса безопасные стандарты кодирования
Проверяйте параметры конфигурации на безопасные стандарты кодированияИдентифицирует параметры конфигурации, которые могут повлиять на безопасность кода. 
Проверяйте на блоки, не рекомендуемые для производственного развертывания C/C++ кодаИдентифицирует блоки, не поддержанные генерацией кода или не рекомендуемый для производственного развертывания C/C++ кода. 
Проверяйте на блоки, не рекомендуемые для безопасных стандартов кодированияИдентифицирует блоки, не поддержанные безопасными стандартами кодирования. 
Проверяйте использование блоков ПрисвоенияИдентифицирует блоки Assignment, которые не имеют параметров блоков набором Action if any output element is not assigned к Error или Warning
  • ISO/IEC TS 17961: 2013, uninitref

  • CERT C, EXP33-C

  • CWE, CWE-908

Проверяйте на выражения случая переключателя без случая по умолчаниюИдентифицирует выражения случая переключателя, которые не имеют случая по умолчанию.
  • ISO/IEC TS 17961: 2013, swtchdflt

  • CERT C, MSC01-C

  • CWE, CWE-478

Проверяйте на битовые операции на целых числах со знакомИдентифицирует блоки Simulink, которые содержат битовые операции на целых числах со знаком. Проверка не делает блоков флага MATLAB Function или Stateflow, которые используют операнды со знаком для побитовых операторов.
  • CERT C, INT13-C

  • CWE, CWE-682

Проверяйте на операции равенства и неравенства на значениях с плавающей точкойИдентифицирует операции равенства и неравенства на значениях с плавающей точкой.
  • CERT C, FLP00-C

  • CWE, CWE-697

Проверяйте целочисленный размер словаИдентифицирует целочисленные размеры слова, которые не выполняют настройки аппаратной реализации.
  • CERT C, INT13-C

  • CWE, CWE-682

Если у вас есть Simulink Design Verifier™, следующие проверки поиска ошибок проектирования также доступны как часть Стандартов Моделирования для Безопасных Проверок программы.

ПроверятьОписаниеАдреса безопасные стандарты кодирования
Обнаружьте мертвую логикуИдентифицирует логику, которая остается неактивной в процессе моделирования.
  • CERT C, MSC07-C

  • CWE, CWE-561

Обнаружьте целочисленное переполнениеИдентифицирует операции, которые превышают область значений типа данных для операций целочисленной или фиксированной точки.
  • ISO/IEC TS 17961: 2013, intoflow

  • CERT C, INT30-C и INT32-C

  • CWE, CWE-190

Обнаружьте деление на нульИдентифицирует операции в модели то деление на нуль причины ошибки.
  • ISO/IEC TS 17961: 2013, дайвер

  • CERT C, INT33-C и FLP03-C

  • CWE, CWE-369

Обнаружьте из связанного доступа к массивуОбнаруживает операции что доступ вне границ индекса массива
  • ISO/IEC TS 17961: 2013, invptr

  • CERT C, ARR30-C

  • CWE, CWE-118

Обнаружьте нарушение заданных минимальных и максимальных значенийПроверяет заданные минимальные и максимальные значения (области значений проекта) на промежуточных сигналах в модели и на выходных портах. Если анализ обнаруживает, что сигнал превышает область значений проекта, результаты идентифицируют, где в модели ошибки произошли.
  • CERT C, API00-C

  • CWE, CWE-628

Для получения информации о безопасных организациях стандартов кодирования см. Безопасные Стандарты Кодирования (Embedded Coder®).

MISRA C: 2 012 Проверок Моделирования: Улучшите податливость сгенерированного кода при помощи новых проверок стандартов MISRA C:2012

Чтобы улучшить податливость MISRA C:2012, эти новые проверки доступны через Model Advisor. Выполнить эти проверки, Выбор и Осуществленные Проверки Model Advisor (Simulink) и выбрать By Task > Modeling Guidelines for MISRA C:2012.

ПроверятьОписаниеАдреса MISRA C:2012
Проверяйте на недостающие ошибочные порты для интерфейсов приемника AUTOSARИдентифицирует импорт интерфейса приемника AUTOSAR, который не имеет соответствия с ошибочными портами.Директива 4.7
Проверяйте на недостающие спецификаторы const в функциях моделиИдентифицирует указатели входных данных, которые не имеют спецификатора const.Правило 8.13
Проверяйте целочисленный размер словаИдентифицирует целочисленные размеры слова, которые не выполняют настройки аппаратной реализации.Правило 10.1

Модификации к существующим проверкам податливости MISRA C:2012 обрисованы в общих чертах в этой таблице.

ПроверятьОписание модификации к проверке
Проверяйте на блоки, не рекомендуемые для MISRA C:2012Отмечает включение блоков From Workspace
Проверяйте параметры конфигурации на MISRA C:2012

Флаги следующие установки параметров:

  • Параметр конфигурации Wrap on overflow установлен в none.

  • Параметр конфигурации Inf or NaN block output установлен в none

  • Параметр конфигурации Dynamic memory allocation in MATLAB Function blocks выбран.

  • Параметр ERTFilePackagingFormat установлен в Modular.

  • Параметр PreserveStaticInFcnDecls установлен в off.

hisl_0060: Параметры конфигурации, которые улучшают податливость MISRA C:2012, отражают эти установки параметров.

Проверяйте на выражения случая переключателя без случая по умолчанию

Проверка может быть выполнена на моделях библиотеки.

Проверка может исключить блоки, когда у вас есть Simulink Check.

Проверяйте на битовые операции на целых числах со знаком

Проверка может исключить блоки, когда у вас есть Simulink Check.

Проверяйте на операции равенства и неравенства на значениях с плавающей точкой

Проверка может исключить блоки, когда у вас есть Simulink Check.

Для получения информации о MISRA C® версии и обновления, см. MISRA C Инструкции (Embedded Coder).

DO-178C/DO-331 Моделирование Проверок: Удаленная модель Check "Проверки Model Advisor для блока обновляет проблемы"

В R2017b, модели Check проверки Model Advisor для проблем обновления блока (проверяют ID mathworks.design.Update) более не доступно под Analysis> Model Advisor> Modeling Standards for DO-178C/DO-331> Simulink.

Можно все еще выполниться, это посылает багажом Советника по вопросам Обновления (Simulink) в Analysis> Model Advisor> Upgrade Advisor.

Метрики модели: Оцените качество модели при помощи новых метрических алгоритмов

Оцените качество модели при помощи этих новых метрик модели:

  • Диагностика Simulink предупреждение количества: Измеряет количество предупреждений диагностики Simulink, о которых сообщают во время компиляции модели для симуляции.

  • Количество параметра: Измеряет количество параметров в модели.

  • Количество клона Simulink: Измеряет количество клонов в модели.

  • Содержимое компонента клона: Определяет количество клонированного содержимого в модели.

  • Библиотека соединила содержимое компонента: Определяет количество соединенного библиотекой содержимого в модели.

  • Количество диаграммы Stateflow: Измеряет количество диаграмм Stateflow на уровне модели.

  • Количество MatlabFunction: Измеряет количество блоков MATLAB Function на уровне модели.

  • Явное количество IO: Измеряет количество импорта и выходных портов к и из модели.

  • Количество файла: Измеряет количество файлов библиотеки и модели.

  • Количество файла модели: Измеряет количество файлов модели.

Для получения дополнительной информации о них и других доступных метрических алгоритмах, смотрите Метрики Модели.

Метрические API модели: Создайте пользовательские метрики более подробными результатами и определите переданные или отказавшие проверки податливости

В R2017b, slmetric.metric.Result класс содержит новое свойство Detailsдетали массив объектов нового класса slmetric.metric.ResultDetail. Можно записать пользовательские метрики, которые используют этот новый класс, чтобы сохранить детали о какой Value свойство slmetric.metric.Result числа объектов. Можно также использовать этот класс, чтобы определить, какой MAAB и DO-178C/DO-331 метрики передали или привели к сбою.

Для существующих классов существуют эти новые свойства:

КлассНовое свойство
slmetric.metric.ResultDetailDetails
slmetric.metric.ResultID
slmetric.metric.ResultCollectionOutdated
slmetric.metric.MetricSupportsResultDetails

Для получения дополнительной информации смотрите, slmetric.metric.ResultDetail.

Вопросы совместимости

В R2017b вы не можете собрать метрические данные для метрик ISO 26262 и MISRA C:2012. А именно, эти метрики не доступны:

  • mathworks.metrics.ModelAdvisorCheckCompliance.misra_c

  • mathworks.metrics.ModelAdvisorCheckCompliance.ISO26262

  • mathworks.metrics.ModelAdvisorCheckIssues.misra_c

  • mathworks.metrics.ModelAdvisorCheckIssues.ISO26262

Для DO-178C/DO-331 метрик податливости, метрического IDs mathworks.metrics.ModelAdvisorCheckCompliance.do178 и mathworks.metrics.ModelAdvisorCheckIssues.do178 теперь названы mathworks.metrics.ModelAdvisorCheckCompliance.hisl_do178 и mathworks.metrics.ModelAdvisorCheckIssues.hisl_do178.

Model Advisor Configuration Editor: Выберите разовые редактированием проверки из папок

В Model Advisor Configuration Editor инструмент теперь перечисляет разовые редактированием регистрации папок вместо в плоском списке. Структура папок является той же структурой папок что касается Model Advisor. Model Advisor Configuration Editor включает только папки, которые содержат разовые редактированием проверки.

Для получения дополнительной информации смотрите, Организуют Проверки и Папки Используя Model Advisor Configuration Editor.