relationalboundaryinfo

Получите реляционное граничное покрытие из cvdata объект

Описание

пример

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

пример

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

coverage = relationalboundaryinfo(covdata, object, ignore_descendants) возвращает реляционные граничные результаты покрытия в cvdata объект covdata для объекта модели, заданного object и, в зависимости от значения ignore_descendants, объекты-потомки.

[coverage, description] = relationalboundaryinfo(covdata, object) возвращает реляционные граничные результаты покрытия в cvdata объект covdata для объекта модели, заданного object, и текстовые описания каждого результата покрытия.

Примеры

свернуть все

В этом примере показано, как собрать реляционную граничную информацию покрытия для блока Saturation в модели. Для получения дополнительной информации о блоках, поддержанных для реляционного граничного покрытия, смотрите Объекты модели, Которые Получают Покрытие.

Откройте slvnvdemo_cv_small_controller модель. Создайте тестовый объект спецификации покрытия модели для модели.

open_system('slvnvdemo_cv_small_controller');
testObj = cvtest('slvnvdemo_cv_small_controller');

В тестовом объекте спецификации покрытия модели активируйте реляционное граничное покрытие.

testObj.settings.relationalop = 1;

Симулируйте модель и соберите результаты покрытия в cvdata объект.

dataObj = cvsim(testObj);

Получите реляционные граничные результаты покрытия для блока Saturation в slvnvdemo_cv_small_controller. Результаты покрытия хранятся в двухэлементном векторе формы [covered_outcomes total_outcomes].

blockHandle = get_param('slvnvdemo_cv_small_controller/Saturation','Handle');;
[covResults, covDesc] = relationalboundaryinfo(dataObj, blockHandle)
covResults =

     2     4


covDesc = 

    isFiltered: 0
      decision: [1x2 struct]

Поле decision 1 X 2 структура. Каждый элемент decision соответствует реляционной операции в блоке. Блок Saturation содержит два сравнения. Первое сравнение с нижним пределом и вторым с верхним пределом. Поэтому decision структура с 2 элементами.

Просмотрите первую операцию в блоке, который получает реляционное граничное покрытие. Для блока Saturation первой реляционной операцией является input > lowerlimit.

covDesc.decision(1)
ans = 

            outcome: [1x2 struct]
               text: 'input - lowerlimit'
         isFiltered: 0
    filterRationale: ''

text поле показывает эти два операнда. isFiltered поле установлено в 1, если блок отфильтрован от реляционного граничного покрытия. Для получения дополнительной информации смотрите, что Покрытие Фильтрует.

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

for(i=1:2)
  covDesc.decision(1).outcome(i)
end
ans = 

     isActive: 1
    execCount: 0
         text: '[-tol..0]'


ans = 

     isActive: 1
    execCount: 0
         text: '(0..tol]'

Просмотрите вторую операцию в блоке, который получает реляционное граничное покрытие. Для блока Saturation второй реляционной операцией является input < upperlimit.

covDesc.decision(2)
ans = 

            outcome: [1x2 struct]
               text: 'input - upperlimit'
         isFiltered: 0
    filterRationale: ''

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

for(i=1:2)
  covDesc.decision(2).outcome(i)
end
ans = 

     isActive: 1
    execCount: 1
         text: '[-tol..0)'


ans = 

     isActive: 1
    execCount: 2
         text: '[0..tol]'

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

свернуть все

Данные о результатах покрытия, заданные как cvdata объект.

Компонент модели или компонент модели, заданный как полный путь, указатель или массив путей или указателей.

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

BlockPath

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

BlockHandle

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

slObj

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

sfID

Stateflow® ID

sfObj

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

{BlockPath, sfID}

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

{BlockPath, sfObj}

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

{BlockHandle, sfID}

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

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

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

{BlockPath, fName}

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

{BlockHandle, fName}

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

{BlockPath, fName, funName}

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

{BlockHandle, fName, funName}

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

Для данных о покрытии, собранных во время программного обеспечения в режиме Loop (SIL) или Процессора в цикле (PIL) режим симуляции, допустимые значения для object включайте следующее:

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

{fileName, funName}

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

{Model, fileName}

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

{Model, fileName, funName}

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

Пример: get_param('slvnvdemo_cv_small_controller/Saturation', 'Handle')

Допустимые значения для mode включайте следующее:

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

'Normal'

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

'SIL' (or 'PIL')

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

'ModelRefSIL' (or 'ModelRefPIL')

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

'ModelRefTopSIL' (or 'ModelRefTopPIL')

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

Настройка, чтобы проигнорировать покрытие объектов-потомков, заданных как логическое значение.

1 — Проигнорируйте покрытие объектов-потомков
0 — Соберите покрытие для объектов-потомков

Типы данных: логический

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

свернуть все

Реляционные граничные результаты покрытия, сохраненные в двухэлементном векторе формы [covered_outcomes total_outcomes]. Эти два элемента:

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

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

Текстовое описание результатов покрытия для компонента модели задано object, возвращенный как массив структур. В зависимости от типов собранного покрытия модели массив структур может иметь различные поля. Если только реляционное граничное покрытие собрано, массив структур содержит следующие поля:

isFiltered

0 если компонент модели задан object не исключен из записи покрытия. 1 если компонент модели задан object исключен из записи покрытия. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

decision.text

Вектор символов или строка формы:

op_1- op_2

  • op_1 левый операнд в реляционной операции.

  • op_2 правильный операнд в реляционной операции.

decision.outcome

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

isActiveЛогическая переменная. Если этой переменной является false, это указывает, что решения не были оценены в процессе моделирования из-за переменного размера сигнала.
execCountЧисло раз op_1- op_2 упал в области значений, описанной text
textОбласть значений вокруг реляционного контура рассматривается для покрытия. Для получения дополнительной информации смотрите Реляционный Контур.

decision.isFiltered

0 если компонент модели задан object не исключен из записи покрытия. 1 если компонент модели задан object исключен из записи покрытия. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

decision.filterRationale

Объяснение для фильтрации компонента модели задано object, если object исключен из покрытия, и объяснение задано. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

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

Введенный в R2014b