mcdcinfo

Получите измененную информацию об условии/Decision Coverage из объекта cvdata

Синтаксис

coverage = mcdcinfo(cvdo, object)
coverage = mcdcinfo(cvdo, object, mode)
coverage = mcdcinfo(cvdo, object, ignore_descendants)
[coverage, description] = mcdcinfo(cvdo, object)

Описание

coverage = mcdcinfo(cvdo, object) возвращает измененное условие/Decision Coverage (MCDC) результаты объекта cvdata cvdo для компонента модели, заданного object.

coverage = mcdcinfo(cvdo, object, mode) возвращает измененное условие/Decision Coverage (MCDC) результаты объекта cvdata cvdo для компонента модели, заданного object для режима mode симуляции.

coverage = mcdcinfo(cvdo, object, ignore_descendants) возвращает результаты MCDC для object, в зависимости от значения ignore_descendants.

[coverage, description] = mcdcinfo(cvdo, object) возвращает результаты MCDC и текстовые описания каждого условия/решения в object.

Входные параметры

cvdo

Объект cvdata

ignore_descendants

Логическое значение, задающее, проигнорировать ли покрытие объектов-потомков

1 — Проигнорируйте покрытие объектов-потомков
0 — Соберите покрытие для объектов-потомков

object

Аргумент object задает объект в модели Simulink® или схеме Stateflow®, которая получает Decision Coverage. Допустимые значения для object включают следующее:

Объектная спецификацияОписание

BlockPath

Полный путь к модели или блоку

BlockHandle

Обработайте к модели или блоку

slObj

Обработайте к объекту Simulink API

sfID

ID Stateflow

sfObj

Обработайте к объекту Stateflow API

{BlockPath, sfID}

Массив ячеек с путем к диаграмме Stateflow или атомарному подграфику и ID объекта, содержавшегося в том графике или подграфике

{BlockPath, sfObj}

Массив ячеек с путем к диаграмме Stateflow или атомарному подграфику и указателю API объекта Stateflow, содержавшемуся в том графике или подграфике

{BlockHandle, sfID}

Массив ячеек с указателем на диаграмму Stateflow или атомарный подграфик и ID объекта, содержавшегося в том графике или подграфике

При определении Блока s-function допустимые значения для object включают следующее:

Объектная спецификацияОписание

{BlockPath, fName}

Массив ячеек с путем к Блоку s-function и имени исходного файла.

{BlockHandle, fName}

Массив ячеек с указателем Блока s-function и именем исходного файла.

{BlockPath, fName, funName}

Массив ячеек с путем к Блоку s-function, имени исходного файла и имени функции.

{BlockHandle, fName, funName}

Массив ячеек с указателем Блока s-function, именем исходного файла имя функции.

Для данных о покрытии, собранных во время программного обеспечения в режиме Loop (SIL) или Процессора в цикле (PIL) режим симуляции, допустимые значения для object включают следующее:

Объектная спецификацияОписание

{fileName, funName}

Массив ячеек с именем исходного файла и имени функции.

{Model, fileName}

Массив ячеек с именем модели (или образцовый указатель) и имя исходного файла.

{Model, fileName, funName}

Массив ячеек с именем модели (или образцовый указатель), имя исходного файла и имя функции.

mode

Аргумент mode задает режим симуляции для покрытия. Допустимые значения для mode включают следующее:

Объектная спецификацияОписание

'Normal'

Модель в Нормальном режиме симуляции.

'SIL' (or 'PIL')

Модель в программном обеспечении в цикле (SIL) или Процессоре в цикле (PIL) режим симуляции.

'ModelRefSIL' (or 'ModelRefPIL')

Модель - ссылка в программном обеспечении в цикле (SIL) или Процессоре в цикле (PIL) режим симуляции.

'ModelRefTopSIL' (or 'ModelRefTopPIL')

Модель - ссылка в программном обеспечении в цикле (SIL или Процессор в цикле (PIL) режим симуляции с кодом соединяют интерфейсом с набором топ-модели.

Выходные аргументы

coverage

Двухэлементный вектор формы [covered_outcomes total_outcomes]. coverage пуст, если cvdo не содержит измененные результаты условия/Decision Coverage для object. Эти два элемента:

covered_outcomesКоличество результатов условия/решения удовлетворено для object
total_outcomesОбщее количество результатов условия/решения для object

description

Массив структур, содержащий следующие поля:

conditionМассив структур, содержащий информацию об условии/решении для отдельных результатов условия
isFilteredОтфильтрован ли блок
filterRationaleОбъяснение фильтрации
justifiedCoverageВыровненные по ширине условия покрытия
isJustifiedВыравнивается ли по ширине блок

Примеры

Соберите покрытие MCDC для модели slvnvdemo_cv_small_controller и определите процент покрытия MCDC, собранного для Логического блока в подсистеме Усиления:

mdl = 'slvnvdemo_cv_small_controller';
open_system(mdl)
%Create test specification object
testObj = cvtest(mdl)
%Enable MCDC coverage
testObj.settings.mcdc = 1;
%Simulate model
data = cvsim(testObj)
%Retrieve MCDC results for Logic block
blk_handle = get_param([mdl, '/Gain/Logic'], 'Handle');
cov = mcdcinfo(data, blk_handle)
%Percentage of MCDC outcomes covered
percent_cov = 100 * cov(1) / cov(2)

Альтернативы

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

  1. Откройте модель.

  2. В Редакторе моделей выберите Analysis> Coverage> Settings.

  3. На панели Coverage диалогового окна Configuration Parameters выберите Enable coverage analysis.

  4. Под Coverage metrics выберите MCDC как уровень структурного покрытия.

  5. На Coverage> панель Results, задайте вывод, в котором вы нуждаетесь.

  6. Нажмите OK, чтобы закрыть диалоговое окно Configuration Parameters и сохранить ваши изменения.

  7. Моделируйте модель и рассмотрите результаты покрытия MCDC.

Представленный в R2006b