Общий рабочий процесс для Simulink® Code Inspector™ и достижение DO-178 целей охватывает эти подрабочие процессы:
Проверка совместимости модели: Проверьте модель Simulink на совместимость с правилами Simulink Code Inspector.
Проверка совместимости моделей может значительно сократить количество времени для достижения удовлетворительных результатов инспекции кода путем раскрытия проблем на ранних этапах процесса разработки модели. Проверки совместимости также продвигают модели, блоки и шаблоны использования кодера, которые, как правило, соответствуют потребностям приложений повышенной надежности, таких как поддержание высокой степени трассируемости. Проверка совместимости модели является инкрементальным и итеративным процессом. Для получения дополнительной информации о проверке совместимости модели см. «Проверка совместимости модели».
Инспекция кода: Запустите Simulink Code Inspector, чтобы сравнить сгенерированный код C с его исходной моделью.
Во время инспекции кода Simulink Code Inspector систематически исследует блоки, параметры и настройки в модели, чтобы определить, являются ли они структурно эквивалентными операциям, операторам и данным в сгенерированном коде, и генерирует отчеты о структурной эквивалентности и трассируемости, которые могут использоваться для поддержки сертификации ПО. Инспекция кода является инкрементальным и итеративным процессом. Для получения дополнительной информации о инспекции кода см. Обзор инспекции кода.
Сертификация программного обеспечения: Используйте отчеты о инспекции кода как часть пакета сертификации, чтобы удовлетворить DO-178 цели верификации кодирования программного обеспечения.
Продукт DO Qualification Kit предоставляет менеджер артефактов, который позволяет управлять пакетом сертификации для вашего DO-178C проекта. Комплект также предоставляет подробную информацию о том, как применить Модельно-ориентированное Проектирование к DO-178C. Для получения дополнительной информации смотрите Рабочий процесс модельно-ориентированного проектирования в DO-178C (DO Qualification Kit) и 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 Qualification Kit), Квалификацию инструмента Программных продуктов (DO Qualification Kit) и https://www.mathworks.com/products/do-178.html.
Сквозной общий рабочий процесс для Simulink Code Inspector следующий:
Откройте модель. Если вы хотите работать с рабочей копией модели, сохраните копию модели в рабочей папке и измените директорию в рабочей папке.
Сконфигурируйте проверки совместимости модели.
Установите параметр модели AdvancedOptControl
к значению '-SLCI'
, если он еще не установлен. Эта настройка ограничивает оптимизацию кода, которую Embedded Coder® использует подмножество, которое совместимо с инспекцией кода. Когда вы используете эту настройку, сгенерированный код может отличаться от кода, сгенерированного без '-SLCI'
настройка. Однако различия не влияют на поведение сгенерированного кода.
При выбранном окне верхней модели выполните следующую команду:
>> set_param(gcs, 'AdvancedOptControl', '-SLCI')
В верхнем окне модели на вкладке Apps выберите Code Inspector. Это открывает диалоговое окно Simulink Code Inspector.
Исследуйте параметры диалогового окна, которые применяются к проверке совместимости модели. Если вы проверяете модель, которая ссылается на другие модели, можно выбрать, чтобы проверить только верхняя часть модель или всю иерархию модели-ссылки. Выбор опции Inspect all referenced models включает модели-ссылки в проверке совместимости модели, а также инспекцию кода.
Запустите проверку совместимости модели. Щелкните Check this model или Check all models. На панели проверки совместимости отображается индикатор прогресса.
Анализ результатов проверки совместимости модели.
Если вы решили проверить только верхнюю часть, результаты отображаются непосредственно в диалоговом окне Model Advisor. Можно использовать диалоговое окно, чтобы исследовать и повторить отдельные проверки и сохранить результаты.
Если вы решили проверить все модели, результаты отображаются в командном окне и в окне сводного отчета HTML. Можно щелкнуть ссылки в сводном отчете HTML, чтобы просмотреть подробный отчет Model Advisor для каждой модели и модели-ссылки, которая была проверена.
Если проверки пройдут, модель готова к инспекции кода. Если сообщается о несовместимости, исправьте или обойдите проблемы и перепроверьте модель на совместимость.
Проверьте функциональность модели во время выполнения. Если вы изменили модель, чтобы решить проблемы несовместимости, повторно проверьте функциональность модели с помощью тестов симуляции. Прежде чем продолжить инспекцию кода, ваша модель должна моделироваться без ошибок.
Сгенерируйте код С для модели, если он еще не был сгенерирован. Можно сгенерировать код неявно как часть инспекции кода (используя опцию Generate code before code inspection диалогового окна Simulink Code Inspector), или использовать Embedded Coder отдельно, чтобы сгенерировать код модели. Если код был сгенерирован ранее и помещен в систему управления строением, убедитесь, что код доступен и готов к проверке.
Сконфигурируйте инспекцию кода.
Откройте диалоговое окно Simulink Code Inspector, если оно еще не открыто.
Исследуйте и сконфигурируйте параметры диалогового окна, которые применяются к инспекции кода.
Если вы просматриваете модель, которая ссылается на другие модели, можно выбрать, чтобы просмотреть только верхняя часть модель или всю иерархию модели-ссылки. Выбор опции Inspect all referenced models включает модели-ссылки в проверке совместимости модели, а также инспекцию кода.
Если ваш сгенерированный код не использует структуру папки Embedded Coder по умолчанию, созданную генерацией кода, обновите параметр Code placement соответствующим образом.
При необходимости можно изменить местоположение, на которое инспекция кода запишет отчет проверки кода, используя Report folder параметра диалогового окна.
Смотрите сгенерированный код. Щелкните Inspect Code или Generate and inspect code. Simulink Code Inspector отображает индикатор прогресса.
Анализ результатов инспекции кода.
Если было принято решение проверить только верхнюю часть, результаты отображаются непосредственно в подробном отчете о инспекции кода для модели верхней части.
Если было принято решение просмотреть все модели, результаты отображаются в окне сводного отчета HTML. Можно щелкнуть ссылки в сводном отчете HTML, чтобы просмотреть подробный отчет инспекции кода для каждой модели и модели-ссылки, которая была проверена.
Если все модели получают общий результат проверки Passed, инспекция кода завершена. Если для модели возвращается статус Предупреждение (Warning) или Неудача (Failed), исправьте или поработайте вокруг сообщенных условий и повторно отследите модель.
Если вы используете отчеты о инспекции кода как часть пакета сертификации для DO-178 целей верификации кодирования программного обеспечения, дальнейшие шаги будут определены более крупным процессом сертификации. Для получения информации о том, как применить основанную на модели разработку к достижению DO-178C целей, смотрите Рабочий процесс модельно-ориентированного проектирования в DO-178C (DO Qualification Kit), Программные продукты квалификации инструмента для Simulink Code Inspector (DO Qualification Kit) и https://www.mathworks.com/products/do-178.html.