Simulink® Coverage™ по умолчанию использует определение маскирующего измененного условия и Decision Coverage (MCDC) для записи результатов покрытия MCDC. Несмотря на то, что вы можете изменить определение MCDC, которое Simulink Coverage использует во время анализа, на уникальное определение MCDC, существуют некоторые различия в том, как Simulink Coverage записывает покрытие для моделей в зависимости от того, какое определение вы используете.
Различия между маскировкой MCDC и уникальной причиной MCDC в анализе Simulink Coverage
Установка определения (MCDC), используемого для анализа Simulink Coverage
Измененное условие и Decision Coverage в Simulink Design Verifier
Маскирование MCDC учитывает маскирование условий в подэкспрессиях, что позволяет увеличить количество удовлетворенных целей MCDC по сравнению с определением уникальной причины MCDC. В результате некоторые модели Simulink, которые получают меньше, чем полное покрытие MCDC с использованием определения уникальной причины MCDC, получают увеличенное покрытие при использовании определения MCDC маскирования. Рассмотрим следующий пример, где два входа в Stateflow® график, условие A и условие C, не могут изменяться независимо:
Эта входная зависимость приводит к зависимым условиям для выражения, содержащегося в диаграмме Stateflow:
Для выражения (A||B) & & (C||D) изменение значения условия C также изменяет значение условия A. Из-за взаимозависимости условий A и C уникальная причина MCDC для условия C не может быть достигнута:
Однако маскирование MCDC для условия C может быть достигнуто, потому что маскирование MCDC позволяет значению условия A изменяться в паре независимости для условия C, пока субэкспрессия (A||B) остается верной:
DO-248C дискуссионном документе № 13 «Обсуждение охвата оператора, Decision Coverage и покрытия измененного условия/решения» говорится, что маскирование MCDC приемлемо для достижения цели MCDC DO-178B сертификации.
По умолчанию Simulink Coverage использует определение MCDC маскирования во время анализа покрытия. Существует два способа изменить определение MCDC, используемое для анализа покрытия Simulink Coverage:
Откройте диалоговое окно Configuration Parameters.
Установите CovMcdcMode
параметр в Masking
или Unique-Cause
.
cvtest
Объект, для задания используемого определения MCDCСоздайте cvtest
объект для вашей модели, чтобы задать mcdcMode
на 'Masking'
или 'UniqueCause'
:
cvt = cvtest(model) cvt.options.mcdcMode = 'UniqueCause' covdata = cvsim(cvt)
Настройка CovMcdcMode
на 'UniqueCause'
может привести к различиям между отчетами MCDC в Simulink Coverage и генерацией тестов в Simulink Design Verifier™. Simulink Design Verifier всегда использует определение MCDC маскировки для генерации теста. Для получения дополнительной информации смотрите Измененное условие и Decision Coverage в Simulink Design Verifier.