mcdcinfo

Получите измененную информацию о состоянии/покрытии принятия решений от 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) возвращает результаты изменения состояния/покрытия принятия решений (MCDC) от cvdata cvdo объекта для компонента модели, заданного как object.

coverage = mcdcinfo(cvdo, object, mode) возвращает результаты изменения состояния/покрытия принятия решений (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

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

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

BlockPath

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

BlockHandle

Указатель на модель или блок

slObj

Указатель на объект Simulink API

sfID

Идентификатор Stateflow

sfObj

Указатель на объект Stateflow API

{BlockPath, sfID}

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

{BlockPath, sfObj}

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

{BlockHandle, sfID}

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

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

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

{BlockPath, fName}

Массив ячеек с путем к S-Function блоку и именем исходного файла.

{BlockHandle, fName}

Массив ячеек с указателем на S-Function блок и именем исходного файла.

{BlockPath, fName, funName}

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

{BlockHandle, fName, funName}

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

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

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

{fileName, funName}

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

{Model, fileName}

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

{Model, fileName, funName}

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

mode

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

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

'Normal'

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

'SIL' (or 'PIL')

Моделируйте в режиме симуляции Цикле (SIL) или Цикле (PIL).

'ModelRefSIL' (or 'ModelRefPIL')

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

'ModelRefTopSIL' (or 'ModelRefTopPIL')

Моделируйте ссылку в режиме симуляции Цикл (SIL или Цикле (PIL)) с кодовым интерфейсом, установленным на верхнюю модель.

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

coverage

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

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

description

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

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

Примеры

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

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. В редакторе моделей выберите Model Settings на вкладке Modeling.

  3. На панели Coverage диалогового окна Параметры конфигурации выберите Enable coverage analysis.

  4. В разделе Coverage metrics выберите MCDC в качестве структурного уровня структурного покрытия.

  5. Щелкните OK, чтобы закрыть диалоговое окно Параметры конфигурации (Configuration Parameters) и сохранить изменения.

  6. Симулируйте модель нажатием кнопки Run и просмотрите результаты.

Введенный в R2006b