Модели для моделирования систем высокой целостности

Можно проверить, что ваша модель или подсистема соответствует выбранным аспектам стандарта безопасности High Integrity System Model, запустив Model Advisor.

Чтобы проверить податливость стандартам High Integrity System Model, запустите проверки высокой целостности из следующих папок Model Advisor:

  • By Task> Modeling Standards for DO-178C/DO-331> 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 EN 50128/EN 50657> High-Integrity Systems

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

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

Для получения информации о Высокой целостности Системной модели программном обеспечении Факторов в воздушных системах и сертификации оборудования и соответствующих стандартах, смотрите Радиотехническую комиссию по аэронавтике (RTCA).

В таблице перечислены проверки High Integrity System Model и соответствующие им руководства по моделированию. Для получения дополнительной информации о High-Integrity Руководства по Моделированию, см. Моделирование систем повышенной надежности.

Проверки моделирования систем высокой целостности

Системная модель высокой целостностиПрименимые рекомендации по моделированию систем повышенной надежности
Проверяйте использование блоков интерполяционной таблицы hisl_0033: Использование блоков интерполяционной таблицы
Проверяйте на несогласованность методов индексирования векторовhisl_0021: последовательный метод индексирования векторов
Проверяйте использование вариантов блоковhisl_0023: Верификация вариантов блоков
Проверьте корневые входные порты с отсутствующими свойствамиhisl_0024: Определение интерфейса Inport
Проверяйте использование блоков Relational Operatorhisl_0017: Использование блоков, которые вычисляют реляционные операторы (2)
Проверяйте использование блоков Relational Operatorhisl_0016: Использование блоков, которые вычисляют реляционные операторы
Проверяйте использование блоков Логического Оператораhisl_0018: Использование блока Логического Оператора
Проверяйте использование блоков Итераторhisl_0006: Использование блоков Итератор
Проверяйте использование подсистем For и While Iteratorhisl_0007: Использование для итераторов или Итератор
Проверяйте использование блоков For Iteratorhisl_0008: Использование для блоков Iterator
Проверяйте использование блоков If и блоков If Action Subsystemhisl_0010: Использование блоков If и блоков Подсистемы Действий If
Проверяйте использование блоков Switch Case и блоков Switch Case Action Subsystemhisl_0011: Использование блоков Switch Case и блоков Action Subsystem
Проверьте параметры оптимизации, связанные с безопасностью, для логических сигналовhisl_0045: Параметры конфигурации > Типы математики и данных > Реализуйте логические сигналы как логические данные (против double)
Проверяйте параметры оптимизации сокращения блоков, связанные с безопасностьюhisl_0046: Параметры конфигурации > Цель симуляции > Сокращение блоков
Проверьте параметры оптимизации, связанные с безопасностью, для срока службы приложенияhisl_0048: Параметры конфигурации > Типы данных и математика > Продолжительность жизни приложения (дней)
Проверьте параметры оптимизации, связанные с безопасностью, для инициализации данныхhisl_0052: Параметры конфигурации > Генерация кода > Оптимизация > Инициализация данных
Проверяйте параметры оптимизации, связанные с безопасностью, для преобразований типов данныхhisl_0053: Параметры конфигурации > Генерация кода > Оптимизация > Удалить код из плавающей точки в целочисленные преобразования, которые переносят значения вне области значений
Проверьте параметры оптимизации, связанные с безопасностью, для исключений из арифметики деленияhisl_0054: Параметры конфигурации > Генерация кода > Оптимизация > Удалить код, который защищает от арифметических исключений деления
Проверьте настройки генерации кода, связанного с безопасностью, на предмет комментариевhisl_0038: Параметры конфигурации > Генерация кода > Комментарии
Проверьте настройки интерфейса генерации кода, связанного с безопасностьюhisl_0039: Параметры конфигурации > Генерация кода > Интерфейс
Проверьте настройки генерации кода, связанного с безопасностью, для стиля кодаhisl_0047: Параметры конфигурации > Генерация кода > Стиль кода
Проверьте настройки идентификатора генерации кода, связанного с безопасностьюhisl_0049: Параметры конфигурации > Генерация кода > Идентификаторы
Проверяйте использование блоков Abshisl_0001: Использование блока Abs
Проверяйте использование блоков Math Function (rem и обратные функции)hisl_0002: Использование блоков Math Function (rem и returcal)
Проверяйте использование блоков Math Function (журнала и log10)hisl_0004: Использование блоков Math Function (натуральный логарифм и основа 10 логарифм)
Проверяйте использование блоков Assignmenthisl_0029: Использование блоков назначения
Проверяйте использование блоков Signal Routinghisl_0034: Использование блоков Signal Routing
Проверьте корневые входные порты с отсутствующими определениями области значенийhisl_0025: Проект min/max спецификация входа интерфейсов
Проверьте корневые выходные порты с отсутствующими определениями областей значенийhisl_0026: Проект min/max спецификация выхода интерфейсов
Проверяйте тип конечного автомата диаграмм Stateflowhisf_0001: тип конечного автомата
Проверяйте диаграммы Stateflow на пути перехода, которые пересекают контуры параллельных состоянийhisf_0013: Использование переходных путей (пересечение контуров параллельных состояний)
Проверяйте диаграммы Stateflow на порядок состояний и переходовhisf_0002: Заданное пользователем состояние/порядок выполнения перехода
Проверяйте опции отладки Stateflowhisf_0011: параметры отладки Stateflow
Проверяйте диаграммы Stateflow на уникально определенные объекты данныхhisl_0061: Уникальные идентификаторы для ясности
Проверяйте диаграммы Stateflow на наличие сильного набора данныхhisf_0015: Сильное типирование данных (переменные приведения и параметры в выражениях)
Проверяйте использование операций сдвига для данных Stateflowhisf_0064: Сдвиньте операции для данных Stateflow, чтобы улучшить податливость кода
Проверяйте операции назначения в диаграммах Stateflowhisf_0065: Введите операции приведения в Stateflow, чтобы улучшить податливость кода
Проверяйте диаграммы Stateflow для унарных операторовhisf_0211: Защита от использования унарных операторов в диаграммах Stateflow для улучшения податливости кода
Проверяйте на сильное типирование данных с Simulink ввод-выводhisf_0009: Сильный набор данных (Simulink и Stateflow контура)
Проверьте наличие Функции MATLAB интерфейсов с унаследованными свойствамиhiml_0002: Сильное типирование данных на контурах функции MATLAB
Проверяйте метрики функции MATLABhiml_0003: Ограничение сложности функции MATLAB
Проверяйте сообщения анализатора кода MATLABhiml_0004: КОДЫ MATLAB Analyzer для генерации кода
Проверяйте параметры ссылки на модели, связанные с безопасностьюhisl_0037: Параметры конфигурации > Ссылки на модель
Проверьте параметры диагностики, связанные с безопасностью, для решателейhisl_0043: Параметры конфигурации > Диагностика > Решатель
Проверьте настройки решателя безопасности на время симуляцииhisl_0040: Параметры конфигурации > Решатель > Время симуляции
Проверьте настройки решателя безопасности для опций решателяhisl_0041: Параметры конфигурации > Решатель > Опции решателя
Проверьте параметры решателя, связанные с безопасностью, для постановки задач и шага расчетаhisl_0042: Параметры конфигурации > Решатель > Задание и шаг расчета опций
Проверьте параметры диагностики, связанные с безопасностью, на шаг расчетаhisl_0044: Параметры конфигурации > Диагностика > Шаг расчета
Проверьте параметры диагностики, связанной с безопасностьюhisl_0302: Параметры конфигурации > Диагностика > Валидность данных > Параметры
Проверьте параметры диагностики, связанные с безопасностью, для данных, используемых для отладкиhisl_0305: Параметры конфигурации > Диагностика > Валидность данных > Отладка
Проверьте параметры диагностики, связанные с безопасностью, для памяти хранилища данныхhisl_0013: Использование блоков хранилища данных
Проверьте параметры диагностики, связанные с безопасностью, для преобразований типовhisl_0309: Параметры конфигурации > Диагностика > Преобразование типов
Проверьте параметры диагностики, связанные с безопасностью, на предмет соединения сигналовhisl_0306: Параметры конфигурации > Диагностика > Связь > Сигналы
Проверьте параметры диагностики безопасности для подключения к шинеhisl_0307: Параметры конфигурации > Диагностика > Связь > Шины
Проверьте параметры диагностики, связанные с безопасностью, которые применяются к соединению вызова функцииhisl_0308: Параметры конфигурации > Диагностика > Связь > Вызовы функций
Проверьте параметры диагностики, связанные с безопасностью, на совместимостьhisl_0301: Параметры конфигурации > Диагностика > Совместимость
Проверьте параметры диагностики, связанные с безопасностью, для инициализации моделиhisl_0304: Параметры конфигурации > Диагностика > Валидность данных > Инициализация модели
Проверьте параметры диагностики, связанные с безопасностью, для ссылки на модельhisl_0310: Параметры конфигурации > Диагностика > Ссылка на модель
Проверьте параметры диагностики, связанные с безопасностью, для сохраненияhisl_0036: Параметры конфигурации > Диагностика > Сохранение
Проверьте параметры диагностики, связанные с безопасностью для блоков Mergehisl_0303: Параметры конфигурации > Диагностика > Валидность данных > Объединить блоки
Проверьте параметры диагностики, связанные с безопасностью для Stateflowhisl_0311: Параметры конфигурации > Диагностика > Stateflow
Проверяйте имена объектов моделиhisl_0032: Имена объектов модели
Проверьте элементы модели, которые не связаны с требованиямиhisl_0070: Размещение ссылок требования в модели
Проверяйте на неподходящее использование переходных путейhisf_0014: Использование переходных путей (проходящих через состояния)
Проверяйте использование блока Bitwise Operatorhisl_0019: Использование побитовых операций
Проверяйте типы данных для блоков с сигналами индексаhisl_0022: Выбор типа данных для сигналов индекса
Проверьте имя файла моделиhisl_0031: Имена файлов модели
Проверьте, шаблоны ли/elseif/else в Блоки MATLAB functionhiml_0006: код MATLAB, если/elseif/else шаблоны
Проверяйте операторы switch в блоки MATLAB functionhiml_0007: Код MATLAB switch/case/other patterns
Проверяйте глобальные переменные в графических функцияхhisl_0062: Глобальные переменные в графических функциях
Проверяйте длину пользовательских имен объектовhisl_0063: Длина пользовательских имен объектов для улучшения податливости C:2012 MISRA
Проверяйте использование блоков Mergehisl_0015: Использование блоков слияния
Проверяйте использование условно выполненных подсистемhisl_0012: Использование условно исполненных подсистем
Проверяйте использование стандартных заголовков функций MATLABhiml_0001: Использование стандартизированных заголовков функций MATLAB
Проверяйте использование реляционных операторов в Блоки MATLAB functionhiml_0008: типы данных реляционных операторов кода MATLAB
Проверяйте использование операторов равенства в Блоках MATLAB functionhiml_0009: код MATLAB с равными/не равными реляционными операторами
Проверяйте использование логических операторов и функций в Блоки MATLAB functionhiml_0010: код MATLAB с логическими операторами и функциями
Проверяйте тип и размер условных выраженийhiml_0011: Тип данных и размер выражений условий
Проверяйте именование портов в диаграммах Stateflowhisf_0016: имена портов Stateflow
Проверяйте просмотр объектов данных Stateflowhisf_0017: скопирование объектов данных Stateflow
Проверяйте использование блоков Gainhisl_0066: Использование блоков Gain
Проверяйте на разделение на нулиhisl_0067: Защитите от вычислений деления на нули
Проверяйте использование побитовых операций в диаграммах Stateflowhisf_0003: Использование побитовых операций
Проверяйте тип данных переменных управления циклаhisl_0102: Тип данных переменных управления цикла для улучшения MISRA C:2012 податливости
Проверьте параметры конфигурации для C:2012 MISRAhisl_0060: Параметры конфигурации, улучшающие податливость C:2012 MISRA

Проверьте блоки, не рекомендуемые для развертывания производственного кода C/C + +

Проверяйте блоки, не рекомендуемые для MISRA C:2012

hisl_0020: Блоки, не рекомендуемые для податливости C:2012 MISRA

Проверьте параметры оптимизации, связанные с безопасностью, на заданные минимальное и максимальное значения

hisl_0056: Параметры конфигурации> Генерация кода> Оптимизация> Оптимизируют использование указанных минимальных и максимальных значений
Проверяйте использование блоков Math Function (rem и обратные функции)hisl_0002: Использование блоков Math Function (rem и returcal)
Проверяйте использование блоков Sqrthisl_0003: Использование блоков квадратного корня
Проверяйте использование блоков Math Function (журнала и log10)hisl_0004: Использование блоков Math Function (натуральный логарифм и основа 10 логарифм)
Проверяйте использование Возвратных блоков Sqrthisl_0028: Использование Возвратных Квадратных Корневых блоков
Проверьте параметры безопасности для аппаратной реализацииhisl_0071: Параметры конфигурации > Аппаратная реализация > Несогласованные настройки аппаратной реализации
Проверяйте использование рекурсийhisf_0004: Защита от рекурсивных вызовов функций для улучшения податливости кода