Embedded Coder® Reference Workflow описывает рабочий процесс для специализированной верификации и валидации моделей и сгенерированного C и Кода С++, разработанного с помощью Модельно-ориентированного проектирования с генерацией производственного кода. Пользователи программного обеспечения Embedded Coder должны выполнить этот рабочий процесс как часть полного ISO 26262, IEC 61508, IEC 62304, ISO 25119, или жизненный цикл безопасности программного обеспечения EN 50128. Модельно-ориентированное проектирование включает автоматическую генерацию кода производственного качества из исполняемых графических моделей, которые можно развернуть на встраиваемые системы. Продукты Simulink® от MathWorks® стали принятым стандартом для Модельно-ориентированного проектирования. Simulink, Fixed-Point Designer и программная поддержка Stateflow графическое моделирование с основанными на времени блок-схемами и основанной на событии машиной состояний. Embedded Coder поддерживает генерацию кода для встраиваемых систем.
Если сгенерированный код C or C++ развертывается в связанных с безопасностью приложениях, моделирование и генерация кода должно быть дополнено мерами и методами, чтобы проверить и подтвердить модель и сгенерированный код C or C++. Применение этих мер и методов специализированным способом служит цели валидации перевода. [1] А успешная валидация перевода обеспечивает высокую степень доверия, что, для экземпляра проекта на рассмотрении, выход генератора кода, компилятора и набора инструментальных средств компоновщика предоставляет эквивалентное поведение ввода - вывода как модель, используемую в генерации производственного кода.
Рабочий процесс, представленный в Рабочем процессе Embedded Coder, описывает процесс валидации перевода, предназначенный, чтобы выполнить применимые требования полного жизненного цикла безопасности программного обеспечения, заданного ISO 26262-6, IEC 61508-3, IEC 62304 и EN 50128 соответственно, когда они относятся к верификации и валидации моделей и сгенерированного кода. Рабочий процесс обращается к уровням риска 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.
IEC 61508 рекомендует предотвращение функций безопасности SIL 4; это - ответственность пользователя инструмента проверять меры как использование разнообразных инструментов для той же цели, другие меры по снижению риска, и т.д.
Завершение рабочего процесса верификации и валидации считается эквивалентным использованию сертифицированного набора инструментальных средств генерации кода, состоящего из генератора кода, компилятора и компоновщика, чтобы разработать приложение на рассмотрении (выравнивание, заданное в IEC 61508-3 пункта 7.4.4.3).
Выполнить цели ISO 26262-6, IEC 61508-3, IEC 62304, ISO 25119 или EN 50128, связанный с процессами разработки программного обеспечения, проверяя и подтверждая разрабатываемое прикладное программное обеспечение (валидация перевода), требуется независимо от набора инструментальных средств, который вы используете.
Рабочий процесс для специализированной верификации и валидации моделей и сгенерированного C и Кода С++, обрисованного в общих чертах в Рабочем процессе Embedded Coder, делит процесс валидации перевода на два шага:
Верификация проекта: Продемонстрируйте, что модель, используемая в генерации производственного кода, ведет себя, как задано в ее требованиях.
Верификация кода: Продемонстрируйте эквивалентность между моделью и соответствующим объектным кодом.
Первый шаг комбинирует подходящие методы верификации и валидации на уровне модели. Второй шаг полагается в основном на поведенческое и структурное сравнение между моделью и сгенерированным кодом. С этим двухступенчатым подходом можно завершить действия верификации и валидации, в основном на уровне модели. Можно снова использовать тесты уровня модели, которые требуются, чтобы проверять сгенерированный код.
Ответственность за выполнение этого рабочего процесса может лежать на нескольких сторонах, например, может быть распределена между OEM и ее поставщиком. Деление ответственности должно быть зарегистрировано.
Следующее изображение иллюстрирует интегрирование Embedded Coder в рабочий процесс Модельно-ориентированного проектирования IEC Certification Kit.
Верификация и валидация моделей и сгенерированного C и кода С++ в рабочем процессе модельно-ориентированного проектирования
Чтобы получить доступ к документу Рабочего процесса Embedded Coder, откройте Менеджера артефактов. Под Embedded Coder, открытым certkitiec_ecoder_workflow.pdf
файл.
[1] А. Пнуели, М. Зигель, Э. Синджермен: Валидация Перевода. Читайте лекции Примечаниям в Информатике, Издании 1384, стр 151-166. Спрингер, 1998