Embedded Coder® Reference Workflow описывает рабочий процесс для специализированной верификации и валидации моделей и сгенерированного C и Кода С++, разработанного с помощью Модельно-ориентированного проектирования с генерацией производственного кода. Модельно-ориентированное проектирование включает автоматическую генерацию кода производственного качества из исполняемых графических моделей, которые можно развернуть на встраиваемые системы. Продукты Simulink® от MathWorks® стали принятым стандартом для Модельно-ориентированного проектирования. Simulink, Fixed-Point Designer и программная поддержка Stateflow графическое моделирование с основанными на времени блок-схемами и основанной на событии машиной состояний. Embedded Coder поддерживает генерацию кода для встраиваемых систем.
Когда сгенерированный код C or C++ развертывается в связанных с безопасностью приложениях, моделирование и генерация кода должны быть дополнены мерами и методами, чтобы проверить и подтвердить модель и сгенерированный код C or C++. Применение этих мер и методов специализированным способом служит цели валидации перевода. Успешная валидация перевода обеспечивает высокую степень доверия, что, для экземпляра проекта на рассмотрении, выход генератора кода, компилятора и набора инструментальных средств компоновщика предоставляет эквивалентное поведение ввода - вывода как модель, используемую для генерации производственного кода.
Этот рабочий процесс описывает процесс валидации перевода, который предназначается, чтобы выполнить применимые требования полного жизненного цикла безопасности программного обеспечения, заданного ISO 26262-6, IEC 61508-3, IEC 62304, EN 50128 и EN 50657 соответственно, когда они относятся к верификации и валидации моделей и сгенерированного кода. Рабочий процесс обращается к уровням риска для безопасности ASIL – ASIL D согласно ISO 26262, SIL 1 – SIL 4 согласно IEC 61508, Классу A – Класс C согласно IEC 62304, SRL B, 1, 2, 3 согласно ISO 25119 и SIL 0 – SIL 4 согласно EN 50128 и EN 50657.
Примечание
IEC 61508 рекомендует предотвращение функций безопасности SIL 4; это - ответственность пользователя инструмента проверять меры как использование разнообразных инструментов для той же цели, другие меры по снижению риска, и т.д.
Завершение рабочего процесса верификации и валидации эквивалентно использованию сертифицированного набора инструментальных средств генерации кода, состоящего из генератора кода, компилятора и компоновщика, чтобы разработать приложение на рассмотрении (выравнивание, заданное в IEC 61508-3 пункта 7.4.4.3).
Выполнение целей ISO 26262-6, IEC 61508-3, IEC 62304, ISO 25119-3, EN 50128 и EN 50657, связанный с процессами разработки программного обеспечения, проверяя и подтверждая разрабатываемое прикладное программное обеспечение (валидация перевода), требуется, независимо от набора инструментальных средств, который вы используете. Можно использовать руководство от стандартов функциональной безопасности, чтобы установить рабочий процесс верификации и валидации. Например, ISO 26262 дает представление в контексте традиционной разработки и Модельно-ориентированного проектирования.
Рабочий процесс для верификации и валидации моделей и сгенерированного C и Кода С++ делит процесс валидации перевода на два шага:
Верификация и Валидация на Уровне Модели (Верификация проекта) — Демонстрируют, что модель, используемая для генерации производственного кода, ведет себя, как задано в ее требованиях. Вы выполняете эти действия рано в жизненный цикл разработки, прежде чем код будет сгенерирован.
Верификация и Валидация на Уровне Кода (Верификация C/C++) — Выполняют верификацию, валидацию и действия тестирования на сгенерированном коде, чтобы продемонстрировать эквивалентность между моделью и соответствующим объектным кодом.
Первый шаг комбинирует подходящие методы верификации и валидации на уровне модели. Второй шаг в основном использует сравнение модели и сгенерированного кода C/C++. Этот двухступенчатый подход позволяет вам завершать действия верификации и валидации, в основном на уровне модели. Можно использовать в своих интересах многократное использование тестов уровня модели при проверке сгенерированного кода C/C++.
Выполнение этого рабочего процесса является ответственностью нескольких сторон, e.g., распределительная ответственность между OEM и ее поставщиком. Деление ответственности должно быть зарегистрировано.
Следующая фигура иллюстрирует действия верификации и валидации, как изображено при помощи пунктирных линий, в полном рабочем процессе с полной интеграцией Продуктов Mathworks. Можно настроить матрицы классификации инструментов как подходящие для необходимого уровня квалификации инструмента.
Примечание
Этот рабочий процесс принимает, что целевой компилятор был квалифицирован к TCL2 или TCL3. В противном случае вы, возможно, должны выполнить спина к спине тестирование с помощью PIL, чтобы проверить объектный код.
Верификация и валидация моделей и сгенерированного кода C/C++
Чтобы получить доступ к документу Рабочего процесса Embedded Coder, откройте Менеджера артефактов. Под Embedded Coder, открытым certkitiec_ecoder_workflow.pdf
файл.