decisioninfo

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

Описание

covInfo = decisioninfo(cvdo, modelObject) возвращается Decision Coverage следует из cvdata объект cvdo для компонента модели, заданного modelObject.

covInfo = decisioninfo(cvdo, modelObject, simMode) возвращается Decision Coverage следует из cvdata объект cvdo для компонента модели, заданного modelObject для режима simMode симуляции.

covInfo = decisioninfo(cvdo, modelObject, ignore_descendants) возвращает результаты Decision Coverage для modelObject, В зависимости от значения ignore_descendants.

[covInfo, description] = decisioninfo(cvdo, modelObject) возвращает результаты Decision Coverage и текстовые описания моментов принятия решения, сопоставленных с modelObject.

Примеры

свернуть все

В этом примере показано, как просмотреть данные о Decision Coverage для блока в вашей модели.

Загрузите модель.

modelName = 'slvnvdemo_cv_small_controller';
load_system(modelName);

Сконфигурируйте настройки покрытия для модели при помощи Simulink.SimulationInput объект.

simIn = Simulink.SimulationInput(modelName);
simIn = setModelParameter(simIn,'CovEnable','on');
simIn = setModelParameter(simIn,'CovMetricStructuralLevel','Decision');
simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on');
simIn = setModelParameter(simIn,'CovSaveName','covData');

Симулируйте модель путем передачи simIn как вход к sim.

simOut = sim(simIn);
covData = simOut.covData;

Просмотрите результаты Decision Coverage для блока Saturation путем вызова decisioninfo с блоком path.

blockPath = [modelName,'/Saturation'];
decisionCov = decisioninfo(covData,blockPath)
decisionCov =

     3     4

decisioninfo возвращает массив с двумя скалярами. Первое значение является количеством результатов решения, которым удовлетворяют, и второе значение является количеством общих результатов решения. Используйте их, чтобы определить процент результатов решения, которым удовлетворяют, для блока Saturation.

percentDecisionCov = 100 * decisionCov(1) / decisionCov(2)
percentDecisionCov =

    75

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

свернуть все

Данные о покрытии в виде cvdata объект.

Типы данных: cvdata

Объект модели в виде символьного массива, массива строк, указателя Simulink, ID Stateflow или массива ячеек.

Задавать объект модели, например, блок или диаграмма Stateflow, использование один из следующих форматов:

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

BlockPath

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

BlockHandle

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

slObj

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

sfID

ID Stateflow

sfObj

Обработайте к объекту Stateflow API от отдельно инстанцированной диаграммы Stateflow

{BlockPath, sfID}

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

{BlockPath, sfObj}

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

{BlockHandle, sfID}

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

Чтобы задать Блок s-function или его содержимое, используйте один из следующих форматов:

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

{BlockPath, fName}

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

{BlockHandle, fName}

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

{BlockPath, fName, funName}

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

{BlockHandle, fName, funName}

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

Задавать результат покрытия кода, например, данные о покрытии, собранные во время программного обеспечения в цикле (SIL) или процессор в цикле (PIL) анализ, использование один из следующих форматов:

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

{fileName, funName}

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

{Model, fileName}

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

{Model, fileName, funName}

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

Типы данных: char | string | cell | Stateflow.State | Stateflow.Transition

Режим Simulation во время анализа покрытия в виде одного из следующего:

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

'Normal'

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

'SIL' (or 'PIL')

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

'ModelRefSIL' (or 'ModelRefPIL')

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

'ModelRefTopSIL' (or 'ModelRefTopPIL')

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

Типы данных: char | string

Проигнорировать ли потомков в результатах покрытия в виде 0 или 1, где:

  • 0 включает результаты покрытия объектов-потомков.

  • 1 игнорирует результаты покрытия объектов-потомков.

Типы данных: single | double

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

свернуть все

Информация о покрытии, возвращенная как двухэлементный массив формы [covered_outcomes,total_outcomes] если cvdo содержит данные о Decision Coverage или пустой массив, если они не делают.

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

Типы данных: double

Описание Decision Coverage, возвращенное как массив структур со следующими полями:

Блокируйте флаг исключения, возвращенный как 1 если блок исключен и 0 если это не.

Типы данных:

Блокируйте объяснение фильтра покрытия, возвращенное как символьный массив.

Типы данных: char

Количество выровненных по ширине результатов цели покрытия, возвращенных как скаляр дважды.

Типы данных: double

Блокируйте флаг выравнивания, возвращенный как 1 если блок выравнивается по ширине или 0 если это не.

Типы данных: double

Информация для отдельных решений, возвращенных как массив структур со следующими полями:

Флаг исключения решения, возвращенный как 1 если решение исключено или 0 если это не.

Типы данных: double

Флаг выравнивания решения, возвращенный как 1 если решение выравнивается по ширине или 0 если это не.

Типы данных: double

Объяснение фильтра покрытия, возвращенное как символьный массив.

Типы данных: char

Описание решения, возвращенного как символьный массив.

Типы данных: char

Информация для отдельных результатов решения, возвращенных как массив структур со следующими полями:

textРезультат решения, возвращенного как 'true' или 'false'.
executionCountКоличество временных шагов решение имело этот результат, возвращенный как скаляр дважды.
isFilteredФлаг исключения результата решения, возвращенный как 1 если результат исключен или 0 если это не.
isJustifiedФлаг выравнивания результата решения, возвращенный как 1 если результат выравнивается по ширине или 0 если это не.
filterRationaleОбъяснение фильтра покрытия, возвращенное как символьный массив.
executedInАгрегированная информация о трассируемости теста покрытия, возвращенная как массив структур. Если ваши данные о покрытии не содержат агрегированные результаты нескольких симуляций, executedIn пустой массив. Если ваши данные о покрытии содержат агрегированные результаты, executedIn указывает, какие тестовые прогоны выполнили результат решения.
executedIn.uniqueIdУникальный идентификатор для cvdata объект, созданный тестом, который выполнил этот результат условия, возвратился как символьный массив.
executedIn.analyzedModelИмя анализируемой модели, возвратилось как символьный массив.
executedIn.descriptionОписание теста, возвращенное как символьный массив.
executedIn.dateДата и время симуляции, которая создала cvdata объект, возвращенный как символьный массив.
executedIn.traceLabelКраткое название теста, возвращенного как символьный массив.
executedIn.testRunInfoПротестируйте детали, возвращенные как массив структур.
executedIn.testRunInfo.runidИдентификатор запуска, который сгенерировал результат покрытия, возвратился как скаляр дважды.
executedIn.testRunInfo.runNameИмя теста, который сгенерировал результат покрытия, возвратилось как символьный массив.
executedIn.testRunInfo.testIdИдентификация данных для теста, который сгенерировал результат покрытия, возвратилась как массив структур.
executedIn.testRunInfo.testId.uuidУникальный идентификатор для теста, который сгенерировал результат покрытия, возвратился как символьный массив.
executedIn.testRunInfo.testId.contextType

Тестовый контекст, в котором был получен результат покрытия, возвратился как одно из этих значений:

'RE' для проводника результатов покрытия

'ST' для менеджера по Simulink Test™

Типы данных: struct

Типы данных: struct

Типы данных: struct

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

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

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

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

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

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

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

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

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