Ассоциация надежности программного обеспечения для моторной промышленности (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. опубликовала C:2012 стандарт MISRA «Руководство по использованию языка C в критических системах». MISRA C:2012 обеспечивает улучшения, основанные на обратной связи пользователя и включает руководство по автоматической генерации кода.
Embedded Coder® и Simulink® предложить возможности для минимизации потенциала нарушений правил MISRA C. Возможности включают в себя:
Code Generation Advisor, который помогает вам сконфигурировать модель или подсистему так, чтобы генератор кода с наибольшей вероятностью произвел C:2012 совместимый с MISRA код. Для получения дополнительной информации смотрите Настройте модель для целей генерации кода при помощи Code Generation Advisor.
Проверки Model Advisor, которые можно использовать, когда вы разработали модель или подсистему, чтобы увеличить вероятность генерации кода, совместимого C:2012 MISRA. Чтобы выполнить MISRA C:2012 податливость проверяет вашу модель или подсистему:
Откройте Model Advisor.
Перейдите к разделу By Task > Modeling Guidelines for MISRA C:2012.
Выполните проверки в папке.
Для получения дополнительной информации об использовании Model Advisor, смотрите Проверить модель Используя Model Advisor.
При использовании руководящих принципов C:2012 кодирования MISRA для оценки качества вашего сгенерированного кода C, вы требуете в соответствии с разделом 5.3 C:2012 руководства MISRA для использования языка C в критических системах документа, чтобы подготовить оператора о податливости для оцениваемого проекта. Чтобы помочь вам в разработке этого оператора о податливости, MathWorks® оценивает инструкции по C:2012 MISRA по сравнению с кодом С, сгенерированным с помощью Embedded Coder. Результаты оценки публикуются как:
Сводные таблицы соответствия, которые идентифицируют метод, используемый для получения податливости для каждого правила и директивы.
Отклонения, которые идентифицируют правила или директивы, которые не соответствуют.
Для получения дополнительной информации смотрите Разработку оператора о податливости C:2012 MISRA.
[1] MISRA и MISRA C являются зарегистрированными товарными знаками MIRA Ltd., принадлежащими консорциуму MISRA.