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