Ассоциация по надежности программного обеспечения автомобильной промышленности (MISRA ® [1]) разработала руководящие принципы использования языка C в критических системах (MISRA C ® ).
Для получения информации о MISRA C см. www.misra.org.uk.
В 1998 году MIRA Ltd. опубликовала MISRA C (MISRA C:1998), чтобы предоставить ограниченное подмножество стандартизированного структурированного языка, удовлетворяющего уровню целостности безопасности (SIL) 2 и выше. В 2004 году было опубликовано крупное обновление, основанное на откликах (MISRA C: 2004), а в 2007 году - незначительное обновление, известное как техническое исправление (TC1 ).
В 2007 MIRA Ltd. издала стандарт MISRA AC AGC, «MISRA AC AGC: Рекомендации для Применения MISRA-C:2004 в Контексте Автоматической Генерации объектного кода». MISRA AC AGC не изменяет правила C:2004 MISRA, а изменяет рекомендацию о приверженности.
В 2013 году MIRA Ltd. опубликовала стандарт MISRA C:2012 «Руководство по использованию языка Си в критических системах». MISRA C:2012 предоставляет усовершенствования, основанные на отзывах пользователей, и включает руководство по автоматическому созданию кода.
Встроенные технологии Coder ® и Simulink ® позволяют свести к минимуму вероятность нарушения правил MISRA C. Возможности включают в себя:
Code Generation Advisor, который помогает настроить модель или подсистему таким образом, чтобы генератор кода мог создавать код, совместимый C:2012 MISRA. Дополнительные сведения см. в разделе Настройка модели для целей создания кода с помощью помощника по созданию кода.
Модуль Model Advisor выполняет проверку, которую можно использовать при разработке модели или подсистемы для увеличения вероятности создания кода, соответствующего требованиям MISRA C:2012. Для выполнения проверки соответствия MISRA C:2012 модели или подсистемы:
Откройте мастер модели.
Перейдите в раздел По задаче > Рекомендации по моделированию для C:2012 MISRA.
Выполните проверки в папке.
Дополнительные сведения об использовании Model Advisor см. в разделе Проверка модели с помощью Model Advisor.
Используя MISRA C:2012, кодирующий рекомендации, чтобы оценить качество Вашего сгенерированного кода C, Вы требуетесь за раздел 5.3 Рекомендаций MISRA C:2012 для Использования языка C в документе Critical Systems подготовить заявление соблюдения к оцениваемому проекту. Чтобы помочь вам в разработке этого заявления о соответствии требованиям, MathWorks ® оценивает рекомендации MISRA по C:2012 в сравнении с кодом C, созданным с помощью встроенного кодера. Результаты оценки публикуются следующим образом :
Сводные таблицы соответствия, в которых определяется метод, используемый для получения соответствия для каждого правила и директивы.
Отклонения, которые определяют правила или директивы, которые не соответствуют требованиям.
Дополнительные сведения см. в разделе Разработка заявления о соответствии MISRA C:2012.
[1] MISRA и MISRA C являются зарегистрированными товарными знаками MIRA Ltd., принадлежащими Консорциуму MISRA.