exponenta event banner

getCoverageInfo

Получение информации о покрытии для блоков Simulink Design Verifier из cvdata объект

Синтаксис

[coverage, description] = getCoverageInfo(cvdo, object)
[coverage, description] = getCoverageInfo(cvdo, object, metric)
[coverage, description] = getCoverageInfo(cvdo, object, metric, ignore_descendants)

Описание

[coverage, description] = getCoverageInfo(cvdo, object) собирает покрытие Simulink ® Design Verifier™ дляobject, на основе результатов покрытия в cvdo. object является дескриптором блока, подсистемы или диаграммы Stateflow ® .getCoverageData возвращает данные покрытия только для блоков библиотеки Simulink Design Verifier в objectиерархия.

[coverage, description] = getCoverageInfo(cvdo, object, metric) возвращает данные покрытия для типа блока, указанного в metric. Если object не соответствует типу блока, getCoverageInfo не возвращает данные.

[coverage, description] = getCoverageInfo(cvdo, object, metric, ignore_descendants) возвращает данные покрытия о object, пропуская данные покрытия для его объектов-потомков, если ignore_descendants равняется 1.

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

cvdo

cvdata объект

object

В модели или диаграмме Stateflow объект, получивший охват Simulink Design Verifier. Ниже приведены допустимые значения для object.

BlockPath

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

BlockHandle

Маркер перемещения к модели или блоку

slObj

Дескриптор объекта API Simulink

sfID

Идентификатор Stateflow ID из одномоментной диаграммы Stateflow

sfObj

Дескриптор объекта API Stateflow из одномоментной диаграммы Stateflow

{BlockPath, sfID}

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

{BlockPath, sfObj}

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

{BlockHandle, sfID}

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

metric

cvmetric.Sldv объект перечисления или массив ячеек объектов перечисления со значениями, соответствующими блокам библиотеки Simulink Design Verifier. Если метрика не указана, getCoverageInfo возвращает информацию о покрытии для всех доступных метрик для указанного object.

test

Блок цели тестирования (Simulink Design Verifier)

proof

Блок проверки цели (Simulink Design Verifier)

condition

Тестовый блок Условия (Simulink Design Verifier)

assumption

Подтверждение допущения (Simulink Design Verifier) блок

ignore_descendants

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

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

coverage

Двухэлементный вектор вида [covered_outcomes total_outcomes].

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

coverage пуст, если cvdo не содержит результатов покрытия решений для object.

Примечание

Если object получает покрытие для нескольких метрик, затем выходной аргумент coverage - массив ячеек с каждой ячейкой, соответствующей целевым результатам для метрики. Каждая ячейка содержит двухэлементный вектор вида [covered_outcomes total_outcomes].

description

Структурный массив, содержащий описания каждой цели, а также описания и подсчеты выполнения для каждого результата в пределах object.

Примечание

Если object получает покрытие для нескольких метрик, затем выходной аргумент description - массив ячеек, каждая из которых соответствует описаниям метрики. Каждая ячейка содержит структурный массив, содержащий описания каждой цели, а описания и подсчеты выполнения для каждого результата в пределах object.

Примеры

Получение покрытия для всех блоков Proof Objective в Verification Subsystem1

mdl = 'sldvdemo_powerwindow_vs';
open_system(mdl)
set_param(mdl, 'StopTime', '10')
testObj = cvtest(mdl);
testObj.settings.designverifier = 1;
data = cvsim(testObj);
verifSubsys = [mdl '/Verification Subsystem1'];
covProof = getCoverageInfo(data, verifSubsys, cvmetric.Sldv.proof)

covProof - двухэлементный вектор вида [covered_outcomestotal_outcomes] показывая 1 охваченный результат из 1 общего доказанного объективного результата.

Получение покрытия для определенного блока цели тестирования в Verification Subsystem1

mdl = 'sldvdemo_powerwindow_vs';
open_system(mdl)
set_param(mdl, 'StopTime', '10')
testObj = cvtest(mdl);
testObj.settings.designverifier = 1;
data = cvsim(testObj);
verifSubsys = [mdl '/Verification Subsystem1'];
testObjBlock = [verifSubsys '/Test Objective2'];
covTest = getCoverageInfo(data, testObjBlock)

covTest - двухэлементный вектор вида [covered_outcomes total_outcomes] показывая 0 охваченных результатов из 1 общего результата цели теста.

Получение данных и описаний покрытия для всех доступных метрик, записанных в Verification Subsystem1

mdl = 'sldvdemo_powerwindow_vs';
open_system(mdl)
set_param(mdl, 'StopTime', '10')
testObj = cvtest(mdl);
testObj.settings.designverifier = 1;
data = cvsim(testObj);
verifSubsys = [mdl '/Verification Subsystem1'];
[covAll, descrAll] = getCoverageInfo(data, verifSubsys, ...
{cvmetric.Sldv.proof, cvmetric.Sldv.test})

covAll - клеточный массив с ячейками, соответствующими целевым результатам для каждой метрики. descrAll - массив ячеек с ячейками, соответствующими описаниям каждой метрики.

covAll{1} 
covAll{2} 

covAll{1} является двухэлементным вектором формы [covered_outcomes total_outcomes], показывающим 1 охваченный результат из 1 общего доказанного объективного результата. covAll{2} является двухэлементным вектором формы [covered_outcomes total_outcomes], показывающим 0 охваченных результатов из 1 общего целевого результата теста.

descrAll{1}
descrAll{2}

descrAll{1} - структурный массив, содержащий описания каждой цели доказательства, а также описания и подсчеты выполнения для каждого результата. descrAll{2} - структурный массив, содержащий описания каждой цели теста, а также описания и подсчеты выполнения для каждого результата.

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

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

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

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

  3. На панели Покрытие диалогового окна Параметры конфигурации выберите Включить анализ покрытия.

  4. В разделе Метрики покрытия выберите Цели и ограничения.

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

  6. Смоделировать модель и просмотреть результаты.

Представлен в R2009b