Определения измененного условия и Decision Coverage (MCDC) в Simulink Coverage

Simulink® Coverage™ по умолчанию использует определение маскирующего измененного условия и Decision Coverage (MCDC) для записи результатов покрытия MCDC. Несмотря на то, что вы можете изменить определение MCDC, которое Simulink Coverage использует во время анализа, на уникальное определение MCDC, существуют некоторые различия в том, как Simulink Coverage записывает покрытие для моделей в зависимости от того, какое определение вы используете.

Различия между маскировкой MCDC и уникальной причиной MCDC в анализе Simulink Coverage

Маскирование 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) остается верной:

Факторы по сертификации для покрытия MCDC

DO-248C дискуссионном документе № 13 «Обсуждение охвата оператора, Decision Coverage и покрытия измененного условия/решения» говорится, что маскирование MCDC приемлемо для достижения цели MCDC DO-178B сертификации.

Установка определения (MCDC), используемого для анализа Simulink Coverage

По умолчанию Simulink Coverage использует определение MCDC маскирования во время анализа покрытия. Существует два способа изменить определение MCDC, используемое для анализа покрытия Simulink Coverage:

Используйте параметры конфигурации модели, чтобы задать используемое определение MCDC

  1. Откройте диалоговое окно Configuration Parameters.

  2. Установите CovMcdcMode параметр в Masking или Unique-Cause.

Используйте cvtest Объект, для задания используемого определения MCDC

Создайте cvtest объект для вашей модели, чтобы задать mcdcMode на 'Masking' или 'UniqueCause':

cvt = cvtest(model)
cvt.options.mcdcMode = 'UniqueCause'
covdata = cvsim(cvt)

Измененное условие и Decision Coverage в Simulink Design Verifier

Настройка CovMcdcMode на 'UniqueCause' может привести к различиям между отчетами MCDC в Simulink Coverage и генерацией тестов в Simulink Design Verifier™. Simulink Design Verifier всегда использует определение MCDC маскировки для генерации теста. Для получения дополнительной информации смотрите Измененное условие и Decision Coverage в Simulink Design Verifier.

Похожие темы

  • MCDC (Simulink Design Verifier)