Simulink ® Coverage™ по умолчанию использует определение маскирующего измененного условия и покрытия принятия решений (MCDC) для записи результатов покрытия MCDC. Хотя можно изменить определение MCDC, которое Simulink Coverage использует во время анализа, на определение MCDC с уникальной причиной, существуют некоторые различия в том, как Simulink Coverage регистрирует покрытие для моделей в зависимости от используемого определения.
Различия между маскированием MCDC и MCDC с уникальной причиной в анализе покрытия Simulink
Установка определения (MCDC), используемого для анализа покрытия Simulink
Измененное условие и покрытие принятия решений в 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 «Обсуждение покрытия ведомостей, покрытия решений и покрытия измененных условий/покрытия решений» говорится, что маскирование MCDC приемлемо для достижения цели MCDC по сертификации DO-178B.
По умолчанию в Simulink Coverage во время анализа покрытия используется маскирующее определение MCDC. Существует два способа изменения определения MCDC, используемого для анализа покрытия Simulink Coverage:
Откройте диалоговое окно «Параметры конфигурации».
Установите 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 для создания тестового примера. Дополнительные сведения см. в разделе Модифицированное условие и покрытие принятия решений в программе Simulink Design Verifier.