Инспекция кода генерирует отчет о HTML инспекции кода для Simulink® модель и ее сгенерированный код. Отчет предоставляет детальный анализ структурной эквивалентности и двусторонней отслеживаемости между моделью и кодом, сгенерированным из модели.
Инспекция кода автоматически сравнивает сгенерированный код со своей исходной моделью, чтобы удовлетворить целям рассмотрения кода в DO-178C и других стандартах высокой целостности. Процесс инспекции кода создает представление в памяти модели, которое не зависит от процесса генерации кода. Simulink Code Inspector™ систематически исследует блоки, параметры и настройки в модели, чтобы определить, являются ли они структурно эквивалентными операциям, операторам и данным в сгенерированном коде, и генерирует отчеты, которые могут использоваться для поддержки сертификации ПО.
Simulink Code Inspector инспекции кода выполняет translation validation. Входами к Simulink Code Inspector являются модель Simulink и исходный код C, сгенерированный Embedded Coder® генератор кода для модели. Simulink Code Inspector обрабатывает эти два входа во внутренние представления (IR), называемые model IR и code IR. Эти ИК преобразованы в нормированные представления, чтобы облегчить последующий анализ. В этом процессе модель IR представляет ожидаемый шаблон, и код IR представляет собой фактический шаблон, который нужно проверить. Чтобы проверить сгенерированный код, Simulink Code Inspector пытается соответствовать нормализованной модели IR с нормализованным кодом IR.
Примечание
Инспекция кода Simulink Code Inspector была реализована независимо от генерации кода Embedded Coder. В частности, ИК, используемые Simulink Code Inspector, отличаются от ИК, используемых генератором кода.
Использование методов нормализации позволяет Simulink Code Inspector просматривать код, сгенерированный генератором кода с высокой оптимизацией. Результаты этого процесса соответствия сообщаются пользователю с помощью отчета о верификации кода и отчета о трассируемости. Когда инспекция кода завершается, отчет о верификации кода документирует процесс валидации перевода, а отчет о трассируемости обеспечивает двунаправленное отображение между элементами модели и их аналогами в сгенерированном коде. Элементами модели являются блоки Simulink, Stateflow® графики, состояния Stateflow и переходы Stateflow.
Результаты инспекции кода представлены иерархически. В сводном отчете перечислены верхние части модель и, если инспекции кода содержали ссылочные модели, каждая модель в иерархии модели-ссылки. Для каждой модели сводный отчет содержит агрегированную информацию о состоянии и ссылку на подробный отчет о инспекции кода для модели.
Подробные отчеты о инспекции кода предоставляют следующую информацию для каждой модели:
Общий результат проверки - пройденный, предупреждающий или неудачный - на основе агрегированного статуса результатов верификации кода и трассируемости
Результаты верификации кода - Сводные и подробные отчеты по верификации структурной эквивалентности между элементами модели и кода
Результаты трассируемости - сводные и подробные отчеты о двунаправленном отображении модели к коду