Получите информацию о покрытии условия из cvdata
объект
возвращает результаты покрытия условия в covInfo
= conditioninfo(cvdo
,modelObject
)cvdata
объект cvdo
для компонента модели, заданного modelObject
.
возвращает результаты покрытия условия в covInfo
= conditioninfo(cvdo
,modelObject
,simMode
)cvdata
объект cvdo
для режима simMode
симуляции.
возвращает результаты покрытия условия для covInfo
= conditioninfo(cvdo
,modelObject
,ignore_descendants
)modelObject
, включая или игнорирующий объекты-потомки на основе значения ignore_descendants
.
[
возвращает результаты покрытия условия и текстовые описания для каждого условия в covInfo
,description
]
= conditioninfo(cvdo
,modelObject
)modelObject
.
В этом примере показано, как просмотреть покрытие условия для блока в вашей модели.
Загрузите модель.
modelName = 'slvnvdemo_cv_small_controller';
load_system(modelName);
Сконфигурируйте настройки покрытия для модели при помощи Simulink.SimulationInput
объект.
simIn = Simulink.SimulationInput(modelName); simIn = simIn.setModelParameter('CovEnable','on'); simIn = simIn.setModelParameter('CovMetricStructuralLevel','MCDC'); simIn = simIn.setModelParameter('CovSaveSingleToWorkspaceVar','on'); simIn = simIn.setModelParameter('CovSaveName','covData');
Симулируйте модель путем передачи simIn
как вход к sim
.
simOut = sim(simIn); covData = simOut.covData;
Просмотрите результаты покрытия условия для Логического блока в подсистеме Усиления путем вызова conditioninfo
с блоком path.
condCov = conditioninfo(covData,[modelName,'/Gain/Logic'])
condCov = 2 4
conditioninfo
возвращает массив с двумя скалярами. Первое значение является количеством результатов условия, которым удовлетворяют, и второе значение является количеством общих результатов условия. Используйте их, чтобы определить процент результатов условия, которым удовлетворяют, для Логического блока.
percentCondCov = 100 * condCov(1) / condCov(2)
percentCondCov = 50
cvdo
— Данные о покрытииcvdata
объектДанные о покрытии в виде cvdata
объект.
Типы данных: cvdata
modelObject
— Объект моделиcharacter array
| string array
| Simulink® указатель
| Stateflow® ID
| cell array
Объект модели в виде символьного массива, массива строк, указателя Simulink, ID Stateflow или массива ячеек.
Задавать объект модели, например, блок или диаграмма Stateflow, использование один из следующих форматов:
Объектная спецификация | Описание |
---|---|
| Полный путь к модели или блоку |
| Обработайте к модели или блоку |
| Обработайте к объекту Simulink API |
| ID Stateflow |
| Обработайте к объекту Stateflow API от отдельно инстанцированной диаграммы Stateflow |
| Массив ячеек с путем к диаграмме Stateflow или атомарной субдиаграмме и ID объекта, содержавшегося в том графике или субдиаграмме |
| Массив ячеек с путем к диаграмме Stateflow или субдиаграмме и указателю API объекта Stateflow, содержавшемуся в том графике или субдиаграмме |
| Массив ячеек с указателем на диаграмму Stateflow или атомарную субдиаграмму и ID объекта, содержавшегося в том графике или субдиаграмме |
Чтобы задать Блок s-function или его содержимое, используйте один из следующих форматов:
Объектная спецификация | Описание |
---|---|
| Массив ячеек с путем к блоку S-Function и имени исходного файла |
| Массив ячеек с указателем блока S-Function и именем исходного файла |
| Массив ячеек с путем к блоку S-Function, имени исходного файла и имени функции |
| Массив ячеек с указателем блока S-Function, именем исходного файла имя функции |
Задавать результат покрытия кода, например, данные о покрытии, собранные во время программного обеспечения в цикле (SIL) или процессор в цикле (PIL) анализ, использование один из следующих форматов:
Объектная спецификация | Описание |
---|---|
| Массив ячеек с именем исходного файла и имени функции |
| Массив ячеек с именем модели или указателем модели и именем исходного файла |
| Массив ячеек с именем модели или указателем модели, именем исходного файла и именем функции |
Типы данных: char |
string
| cell
| Stateflow.State
| Stateflow.Transition
simMode
— Режим Simulationcharacter array
| массив строкРежим Simulation во время анализа покрытия в виде одного из следующего:
Объектная спецификация | Описание |
---|---|
| Модель в нормальном режиме симуляции. |
| Модель в программном обеспечении в цикле (SIL) или процессор в цикле (PIL) режим симуляции. |
| Модель - ссылка в программном обеспечении в цикле (SIL) или процессор в цикле (PIL) режим симуляции. |
| Модель - ссылка в программном обеспечении в цикле (SIL) или процессор в цикле (PIL) режим симуляции с кодом соединяет интерфейсом с набором топ-модели. |
Типы данных: char |
string
ignore_descendants
— Проигнорировать ли потомков в результатах покрытия
(значение по умолчанию) | 1
Проигнорировать ли потомков в результатах покрытия в виде 0
или 1
, где:
0 включает результаты покрытия объектов-потомков.
1 игнорирует результаты покрытия объектов-потомков.
Типы данных: single
| double
covInfo
— Информация о покрытииscalar
Информация о покрытии, возвращенная как двухэлементный массив формы [covered_outcomes,total_outcomes]
если cvdo
содержит подготавливают данные о покрытии или пустой массив, если они не делают.
covered_outcomes | Количеству результатов условия удовлетворяют для modelObject |
total_outcomes | Общее количество результатов условия для modelObject |
Типы данных: double
description
— Описание покрытия условияstructure
Описание покрытия условия, возвращенное как структура со следующими полями:
isFiltered
— Блокируйте флаг исключения
| 1
Блокируйте флаг исключения, возвращенный как 1
если блок исключен и 0
если это не.
Типы данных:
filterRationale
— Блокируйте объяснение фильтра покрытияcharacter array
Блокируйте объяснение фильтра покрытия, возвращенное как символьный массив.
Типы данных: char
justifiedCoverage
— Количество выровненных по ширине результатов цели покрытияscalar
Количество выровненных по ширине результатов цели покрытия, возвращенных как скаляр дважды.
Типы данных: double
isJustified
— Блокируйте флаг выравнивания
| 1
Блокируйте флаг выравнивания, возвращенный как 1
если блок выравнивается по ширине или 0
если это не.
Типы данных: double
condition
— Информация для отдельных результатов условияstructure
Информация для отдельных результатов условия, возвращенных как массив структур со следующими полями:
isFiltered
— Флаг исключения условия
| 1
Флаг исключения условия, возвращенный как 1
если условие исключено или 0
если это не.
Типы данных: double
isJustified
— Флаг выравнивания условия
| 1
Флаг выравнивания условия, возвращенный как 1
если условие выравнивается по ширине или 0
если это не.
Типы данных: double
filterRationale
— Объяснение фильтра покрытияcharacter array
Объяснение фильтра покрытия, возвращенное как символьный массив.
Типы данных: char
text
— Описание условияcharacter array
Описание условия, возвращенного как символьный массив.
Типы данных: char
trueCnts
— Количеством условия временных шагов является true
scalar
Количеством временных шагов условие является true
, возвращенный как скаляр.
Типы данных: double
falseCnts
— Количеством условия временных шагов является false
scalar
Количеством временных шагов условие является false
, возвращенный как скаляр.
Типы данных: double
trueOutcomeFilter
— Информация о фильтре покрытия для true
результат условияstructure array
Информация о фильтре покрытия для true
результат условия, возвращенный как массив структур со следующими полями:
isFiltered | Отфильтруйте флаг для результата условия, возвращенного как 1 если результат отфильтрован или 0 если это не. |
isJustified | Флаг Justification для результата условия, возвращенного как 1 если результат выравнивается по ширине или 0 если это не. |
filterRationale | Объяснение фильтра, возвращенное как символьный массив. |
Типы данных: struct
falseOutcomeFilter
— Информация о фильтре покрытия для false
результат условияstructure array
Информация о фильтре покрытия для false
результат условия, возвращенный как массив структур со следующими полями:
isFiltered | Отфильтруйте флаг для результата условия, возвращенного как 1 если результат отфильтрован или 0 если это не. |
isJustified | Флаг Justification для результата условия, возвращенного как 1 если результат выравнивается по ширине или 0 если это не. |
filterRationale | Объяснение фильтра, возвращенное как символьный массив. |
Типы данных: struct
trueExecutedIn
— Агрегированная информация о трассируемости теста покрытияstructure array
| []
Агрегированная информация о трассируемости теста покрытия, возвращенная как массив структур. Если ваши данные о покрытии не содержат агрегированные результаты нескольких симуляций, trueExecutedIn
пустой массив. Если ваши данные о покрытии содержат агрегированные результаты, trueExecutedIn
указывает, какие тестовые прогоны выполнили true
результат условия и имеет следующие поля:
uniqueId | Уникальный идентификатор для cvdata объект, созданный тестом, который выполнил этот результат условия, возвратился как символьный массив. |
analyzedModel | Имя анализируемой модели, возвратилось как символьный массив. |
description | Описание теста, возвращенное как символьный массив. |
date | Дата и время симуляции, которая создала cvdata объект, возвращенный как символьный массив. |
traceLabel | Краткое название теста, возвращенного как символьный массив. |
testRunInfo | Протестируйте детали, возвращенные как массив структур. |
testRunInfo.runid | Идентификатор запуска, который сгенерировал результат покрытия, возвратился как скаляр дважды. |
testRunInfo.runName | Имя теста, который сгенерировал результат покрытия, возвратилось как символьный массив. |
testRunInfo.testId | Идентификация данных для теста, который сгенерировал результат покрытия, возвратилась как массив структур. |
testRunInfo.testId.uuid | Уникальный идентификатор для теста, который сгенерировал результат покрытия, возвратился как символьный массив. |
testRunInfo.testId.contextType | Тестовый контекст, в котором был получен результат покрытия, возвратился как одно из этих значений:
|
Типы данных: struct
falseExecutedIn
— Агрегированная информация о трассируемости теста покрытияstructure array
| []
Агрегированная информация о трассируемости теста покрытия, возвращенная как массив структур. Если ваши данные о покрытии не содержат агрегированные результаты нескольких симуляций, falseExecutedIn
пустой массив. Если ваши данные о покрытии содержат агрегированные результаты, falseExecutedIn
указывает, какие тестовые прогоны выполнили false
результат условия и имеет следующие поля:
uniqueId | Уникальный идентификатор для cvdata объект, созданный тестом, который выполнил этот результат условия, возвратился как символьный массив. |
analyzedModel | Имя анализируемой модели, возвратилось как символьный массив. |
description | Описание теста, возвращенное как символьный массив. |
date | Дата и время симуляции, которая создала cvdata объект, возвращенный как символьный массив. |
traceLabel | Краткое название теста, возвращенного как символьный массив. |
testRunInfo | Протестируйте детали, возвращенные как массив структур. |
testRunInfo.runid | Идентификатор запуска, который сгенерировал результат покрытия, возвратился как скаляр дважды. |
testRunInfo.runName | Имя теста, который сгенерировал результат покрытия, возвратилось как символьный массив. |
testRunInfo.testId | Идентификация данных для теста, который сгенерировал результат покрытия, возвратилась как массив структур. |
testRunInfo.testId.uuid | Уникальный идентификатор для теста, который сгенерировал результат покрытия, возвратился как символьный массив. |
testRunInfo.testId.contextType | Тестовый контекст, в котором был получен результат покрытия, возвратился как одно из этих значений:
|
Типы данных: struct
Типы данных: struct
Типы данных: struct
Можно также собрать покрытие условия для модели в Редакторе Simulink. Установите параметры конфигурации модели и запустите модель:
Откройте модель, для которой вы хотите собрать покрытие условия.
В Редакторе Simulink, во вкладке Modeling, выбирают Model Settings.
На панели Coverage диалогового окна Configuration Parameters выберите Enable coverage analysis.
Под Coverage metrics выберите Condition Decision
как уровень структурного покрытия.
Нажмите OK, чтобы закрыть диалоговое окно Configuration Parameters и сохранить ваши изменения.
Симулируйте модель путем нажатия на Run. Рассмотрите результаты.
complexityinfo
| cvsim
| decisioninfo
| getCoverageInfo
| mcdcinfo
| overflowsaturationinfo
| sigrangeinfo
| sigsizeinfo
| tableinfo
| executioninfo
| relationalboundaryinfo
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.