conditioninfo

Извлечение информации о покрытии условия из cvdata объект

Синтаксис

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

Описание

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

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

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

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

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

cvdo

cvdata объект

object

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

BlockPath

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

BlockHandle

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

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)) с кодовым интерфейсом, установленным на верхнюю модель.

ignore_descendants

Логическое значение, которое определяет, игнорировать ли покрытие дочерних объектов

1 чтобы игнорировать покрытие дочерних объектов
0 (по умолчанию) для сбора покрытия дочерних объектов

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

coverage

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

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

description

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

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

Примеры

Следующий пример открывает slvnvdemo_cv_small_controller пример модели, создает объект тестовой спецификации testObj, включает покрытие условия для testObj, и выполняет testObj. Затем найдите результаты покрытия условия для логического блока (в подсистеме Gain) и определите его процент от охваченных результатов условия:

mdl = 'slvnvdemo_cv_small_controller';
open_system(mdl)
testObj = cvtest(mdl)
testObj.settings.condition = 1;
data = cvsim(testObj)
blk_handle = get_param([mdl, '/Gain/Logic'], 'Handle');
cov = conditioninfo(data, blk_handle)
percent_cov = 100 * cov(1) / cov(2)

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

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

  1. Откройте модель, для которой необходимо собрать покрытие условия.

  2. В редакторе моделей выберите Model Settings на вкладке Modeling.

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

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

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

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

Введенный в R2006b