Потенциальные ошибки инструмента и обнаружение

В следующей таблице приведены сведения о потенциальных ошибках пользователя и инструмента, эффектах этих ошибок и способах обнаружения ошибок.

Источник ошибокЭффект ошибкиОбнаруженСмягчающие факторы
Вход пользователя (модель, 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

Результирующие, все ошибки инструмента в рабочем процессе обнаруживаются одной или несколькими действиями верификации. Кроме того, процесс квалификации инструмента для инструментов верификации обеспечивает уровень доверия в инструментах, что эквивалентно операциям ручной верификации, которые автоматизированы инструментами.