exponenta event banner

Подход к проверке кодекса

Инспектор кода Simulink и рабочие процессы DO-178

Общий рабочий процесс для Inspector™ кода Simulink ® и выполнения DO-178 задач включает в себя следующие субпроцессы:

  • Образцовая проверка совместимости: Проверьте модель Simulink на совместимость с правилами Инспектора кода Simulink.

    Проверка совместимости моделей может значительно сократить время, необходимое для достижения удовлетворительных результатов проверки кода, за счет выявления проблем на ранних этапах процесса разработки модели. Проверки совместимости также способствуют использованию моделей, блоков и кодеров, которые, как правило, соответствуют требованиям приложений с высокой целостностью, например, поддерживают высокую степень прослеживаемости. Проверка совместимости моделей является инкрементным и итеративным процессом. Дополнительные сведения о проверке совместимости модели см. в разделе Проверка совместимости модели.

  • Проверка кода: запустите инспектор кода Simulink для сравнения сгенерированного кода C с исходной моделью.

    Во время проверки кода Simulink Code Inspector систематически проверяет блоки, параметры и настройки модели, чтобы определить, являются ли они структурно эквивалентными операциям, операторам и данным в сгенерированном коде, и создает отчеты о структурной эквивалентности и отслеживаемости, которые могут использоваться для поддержки сертификации программного обеспечения. Проверка кода является инкрементным и итеративным процессом. Для получения дополнительной информации о проверке кода см. Обзор проверки кода.

  • Сертификация программного обеспечения: используйте отчеты о проверке кода как часть пакета сертификации, чтобы удовлетворить DO-178 цели проверки кодирования программного обеспечения.

    Продукт DO Qualification Kit предоставляет навигатор артефактов, который позволяет управлять пакетом сертификации для DO-178C проекта. В комплекте также содержится подробная информация о применении конструкции на основе модели к DO-178C. Дополнительные сведения см. в разделах Рабочий процесс конструирования на основе модели в разделах DO-178C (Набор квалификации DO) и https://www.mathworks.com/products/do-178.html.

  • Квалификация инструмента: используйте отчеты проверки кода как часть квалификации Simulink Code Inspector для проектов, основанных на стандарте DO-178C.

    MathWorks ® предоставляет продукт DO Qualification Kit, который поддерживает вас в квалификации Simulink Code Inspector и других инструментов проверки MathWorks для проектов, основанных на стандарте DO-178C. Дополнительные сведения см. в разделах Рабочий процесс конструирования на основе модели в разделах DO-178C (набор квалификации DO), Артефакты квалификации инструмента (набор квалификации DO) и https://www.mathworks.com/products/do-178.html.

Сквозной общий рабочий процесс

Сквозной общий рабочий процесс для Simulink Code Inspector выглядит следующим образом:

  1. Откройте модель. Если требуется работать с рабочей копией модели, сохраните копию модели в рабочей папке и измените папку на рабочую папку.

  2. Настройка проверок совместимости модели.

    1. Установка параметра модели AdvancedOptControl к значению '-SLCI', если он еще не установлен. Этот параметр ограничивает оптимизацию кода, используемую Embedded Coder ®, подмножеством, совместимым с проверкой кода. При использовании этого параметра созданный код может отличаться от кода, созданного без '-SLCI' установка. Однако различия не влияют на поведение сгенерированного кода.

      При выбранном верхнем окне модели выполните следующую команду:

      >> set_param(gcs, 'AdvancedOptControl', '-SLCI')

    2. В верхнем окне модели на вкладке Приложения выберите Инспектор кода. Откроется диалоговое окно Инспектор кода Simulink.

    3. Проверьте параметры диалогового окна, которые применяются к проверке совместимости модели. При проверке модели, которая ссылается на другие модели, можно выбрать проверку только верхней модели или всей иерархии привязок модели. Выбор опции Проверить все ссылочные модели включает ссылочные модели в проверку совместимости моделей, а также проверку кода.

  3. Выполните проверки совместимости модели. Щелкните Проверить эту модель (Check this model) или Проверить все модели (Check all models). В ходе проверки совместимости отображается индикатор выполнения.

  4. Проанализируйте результаты проверки совместимости модели.

    1. Если выбрана проверка только модели верхнего уровня, результаты отображаются непосредственно в диалоговом окне Консультант по модели (Model Advisor). Диалоговое окно используется для просмотра и повторного запуска отдельных проверок и сохранения результатов.

    2. Если выбрана проверка всех моделей, результаты отображаются в окне команд и в окне сводного отчета HTML. Можно щелкнуть ссылки в сводном отчете HTML, чтобы просмотреть подробный отчет Model Advisor для каждой проверенной модели и ссылочной модели.

    Если проверки проходят успешно, модель готова к проверке кода. Если сообщается о несовместимости, исправьте или устраните проблемы и проверьте модель на совместимость.

  5. Проверьте функциональные возможности модели во время выполнения. Если модель была изменена для устранения несовместимости, восстановите функциональность модели с помощью тестовых примеров моделирования. Перед продолжением проверки кода модель должна моделировать без ошибок.

  6. Создайте код C для модели, если она еще не была создана. Можно создать код неявно как часть проверки кода (используя опцию Simulink Code Inspector диалогового окна Generate code before code inspection) или использовать Embedded Coder отдельно для генерации кода модели. Если код был сгенерирован ранее и помещен в систему управления конфигурацией, убедитесь, что код доступен и готов к проверке.

  7. Конфигурирование проверки кода.

    1. Откройте диалоговое окно «Инспектор кода Simulink», если оно еще не открыто.

    2. Проверьте и настройте параметры диалогового окна, относящиеся к проверке кода.

      • При проверке модели, которая ссылается на другие модели, можно выбрать проверку только верхней модели или всей иерархии привязок модели. Выбор опции Проверить все ссылочные модели включает ссылочные модели в проверку совместимости моделей, а также проверку кода.

      • Если созданный код не использует структуру папок Embedded Coder по умолчанию, созданную при создании кода, соответствующим образом обновите параметр Code placement.

      • При необходимости можно изменить местоположение, в которое при проверке кода записывается отчет по проверке кода, с помощью параметра диалогового окна Report folder.

  8. Проверьте созданный код. Щелкните Проверить код (Inspect Code) или Создать и проверить код (Generate and inspect code). Инспектор кода Simulink отображает индикатор выполнения.

  9. Проанализируйте результаты проверки кода.

    1. Если выбрана проверка только модели верхнего уровня, результаты отображаются непосредственно в подробном отчете по проверке кода для модели верхнего уровня.

    2. Если выбрана проверка всех моделей, результаты отображаются в окне сводного отчета HTML. Можно щелкнуть ссылки в сводном отчете HTML, чтобы просмотреть подробный отчет по проверке кода для каждой проверенной модели и ссылочной модели.

    Если все модели получают общий результат проверки Passed, проверка кода завершается. Если для модели возвращено состояние Предупреждение (Warning) или Сбой (Failed), исправьте или повторите проверку модели.

  10. Если вы используете отчеты по проверке кода как часть пакета сертификации для достижения DO-178 целей проверки программного кода, дальнейшие шаги будут определяться более широким процессом сертификации. Сведения о применении конструкции на основе модели для достижения DO-178C целей см. в разделах Рабочий процесс конструирования на основе модели в DO-178C (набор квалификации DO), Артефакты квалификации инструмента для инспектора кода Simulink (набор квалификации DO) и https://www.mathworks.com/products/do-178.html.

Связанные темы