Следующая таблица предоставляет информацию относительно потенциального пользователя и ошибок инструмента, удара тех ошибок и примера обнаружения таких ошибок.
Ошибочный источник | Ошибочный удар | Обнаруженный | Смягчение факторов |
---|---|---|---|
Ввод данных пользователем (модель, MATLAB®, или данные о файле MAT) | Отказ выполнить требования | Случаи симуляции и анализ Описания Разработки системы | Simulink® Test™ и проверка Report Generator |
Отказ соответствовать стандартам | Model Advisor и анализ Описания Разработки системы | Model Advisor и проверка Report Generator | |
Непреднамеренная функция | Анализ описания разработки системы, случаев симуляции и покрытия | Simulink Test и проверка покрытия | |
Engine Simulink | Отказ выполнить требования | Случаи симуляции и анализ Описания Разработки системы | Simulink Test и проверка Report Generator |
Отказ соответствовать стандартам | Model Advisor и анализ Описания Разработки системы | Model Advisor и проверка Report Generator | |
Непреднамеренная функция | Анализ описания разработки системы, случаев симуляции и покрытия | Simulink Test и проверка покрытия | |
Механизм выполнения Simulink | Отказ выполнить требования | Случаи симуляции | Проверка Simulink Test |
Непреднамеренная функция | Случаи симуляции и покрытие | Simulink Test и проверка покрытия | |
Simulink API | Неправильный вход к Model Advisor, приводящему к отказу, о котором сообщают, | Анализ Отчета Model Advisor и действия разрешения | Проверка Model Advisor |
Неправильный вход к Описанию Разработки системы | Анализ Описания Разработки системы и действия разрешения | Проверка Report Generator | |
Неправильный вход к Сравнению Модели | Анализ Сравнения Модели и действия разрешения | Проверка сравнения модели Simulink | |
Неправильный вход к Simulink Code Inspector™, приводящему к отказу, о котором сообщают, | Анализ Отчета Simulink Code Inspector и действия разрешения | Проверка Simulink Code Inspector | |
Simulink Test | Неправильная оценка ожидаемых результатов, приводящая к отказу, о котором сообщают, | Анализ отчета результатов симуляции и действия разрешения | Проверка Simulink Test |
Покрытие модели | Неправильное создание отчетов покрытия модели | Анализ покрытия сообщает и дополнительное требование для оценки покрытия модели | Проверка покрытия модели Simulink Coverage™ |
Покрытие кода | Неправильное создание отчетов покрытия кода | Анализ покрытия сообщает и дополнительное требование для оценки покрытия кода | Проверка покрытия кода Simulink Coverage |
Model Advisor | Неправильное создание отчетов стандартов модели | Нарушение стандартов модели, приводящее к соответствующему нарушению стандартов кода, обнаруживаемо Polyspace® Bug Finder™ и Polyspace Bug Finder Server™ | Model Advisor, Polyspace Bug Finder и проверка Polyspace Bug Finder Server |
Simulink Design Verifier™ | Неправильные ошибки проектирования модели при создании отчетов | Ошибки проектирования обнаруживаемы симуляцией и проверкой сгенерированного исходного кода с помощью Polyspace Code Prover™, Polyspace Code Prover Server, Polyspace Bug Finder и Polyspace Bug Finder Server | Проверка Simulink Design Verifier |
Report Generator | Неправильное описание разработки системы | Анализ Описания Разработки системы и действия разрешения | Проверка Report Generator |
Simulink | Неправильное сравнение модели | Анализ Сравнения Модели и действия разрешения | Проверка сравнения модели Simulink |
Embedded Coder® | Неправильный исходный код | Анализ отчета Simulink Code Inspector | Проверка Simulink Code Inspector |
Simulink Code Inspector | Неправильный отказ, о котором сообщают, исходного кода | Анализ Отчета Simulink Code Inspector и действия разрешения | Проверка Simulink Code Inspector |
Polyspace Code Prover и Polyspace Code Prover Server | Неправильный отказ, о котором сообщают, исходного кода | Анализ Polyspace Code Prover и Отчета Polyspace Code Prover Server и действия разрешения | Polyspace Code Prover и проверка Polyspace Code Prover Server |
Polyspace Bug Finder и Polyspace Bug Finder Server | Неправильный отказ, о котором сообщают, исходного кода | Анализ Polyspace Bug Finder и Отчета Polyspace Bug Finder Server и действия разрешения | Polyspace Bug Finder и проверка Polyspace Bug Finder Server |
Единственные ошибки, которые могут непосредственно влиять и на модель и на исходный код, являются ошибками ввода данных пользователем или ошибками Engine Simulink. В любом из этих случаев результатом являются неправильные низкоуровневые требования к программному обеспечению. Неправильные низкоуровневые требования к программному обеспечению обнаруживаемы на уровне модели через комбинацию анализа проекта, симуляции, оценки покрытия и соответствия к проверке стандартов. Поскольку эти действия делаются на скомпилированном в модели памяти, обнаружение является эффективным, основана ли ошибка на вводе данных пользователем или Engine Simulink. Кроме того, если программный уровень является A или B, случаи симуляции, используемые, чтобы проверить поведение, должен быть разработан человеком кроме разработчика модели для того, чтобы достигнуть требований независимости.
Если модель была проверена, исходный код может быть сгенерирован Embedded Coder и проверен Simulink Code Inspector, Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover и Polyspace Code Prover Server. Инструменты Simulink Code Inspector и Polyspace разрабатываются двумя независимыми группами в MathWorks® и имейте независимые требования и код. Одно исключение - то, что Simulink Code Inspector, Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover и Polyspace Code Prover Server действительно совместно используют общую функцию синтаксического анализатора для кода С, но Embedded Coder не содержит эту функциональность. Simulink Code Inspector использует Simulink API в качестве входного источника для получения информации модели. Это - тот же API, используемый Model Advisor и Simulink Report Generator™. Этот API проверяется во время процесса тестирования квалификации инструмента для каждого из этих инструментов. Вход Simulink Code Inspector из модели основан на скомпилированном для симуляции в представлении памяти и не имеет доступа к скомпилированному для получения дополнительной информации генерации кода. Simulink Code Inspector, Polyspace Bug Finder, Polyspace Bug Finder Server, Polyspace Code Prover и Polyspace Code Prover Server читают файлы кода и заголовочные файлы, которые выводятся от Embedded Coder непосредственно как текстовые ASCII-файлы.
Следующие инструменты верификации модели могут быть квалифицированы, на DO - 178C инструкции, с помощью DO Qualification Kit:
Simulink Report Generator – отчет Описания разработки системы (SDD)
Simulink – Отчет Сравнения модели
Simulink Check™ – Model Advisor DO-178C/DO-331 проверяет
Simulink Coverage – покрытие
Simulink Test – Протестируйте менеджера
Кроме того, следующие инструменты верификации кода могут быть квалифицированы, на DO - 178C инструкции, с помощью DO Qualification Kit:
Simulink Code Inspector – отчет Инспекции кода
Polyspace Bug Finder
Polyspace Bug Finder Server
Polyspace Code Prover
Polyspace Code Prover Server
Подводя итоги, все ошибки инструмента в рабочем процессе обнаруживаемы одним или несколькими действиями верификации. Кроме того, процесс квалификации инструмента для инструментов верификации обеспечивает уровень доверия к инструментам, которое эквивалентно ручным действиям верификации, которые автоматизированы инструментами.