主要内容

relationalboundaryinfo

检索关系边界范围cvdata对象

描述

例子

covInfo= relationalboundaryinfo (cvdo,modelObject)回报关系边界范围的结果cvdata对象cvdo指定的模型对象对象和它的后代。

covInfo= relationalboundaryinfo (cvdo,modelObject,simMode)回报关系边界范围的结果cvdata对象cvdo指定的模型对象modelObject为模拟模式及其后代simMode

covInfo= relationalboundaryinfo (cvdo,modelObject,ignoreDescendants)回报关系边界范围的结果cvdata对象cvdo指定的模型对象modelObject,根据的价值ignoreDescendants,后代对象。

(covInfo,描述)= relationalboundaryinfo (cvdo,modelObject)回报关系边界范围的结果cvdata对象cvdo指定的模型对象modelObject,和文本的描述每个报道的结果。

例子

全部折叠

这个例子展示了如何收集关系边界的覆盖率信息饱和在一个模型。更多信息块支持关系边界的覆盖率,明白了金宝app模型对象,得到覆盖

打开slvnvdemo_cv_small_controller模型。创建一个模型覆盖测试规范的对象模型。

open_system (“slvnvdemo_cv_small_controller”);testObj = cvt (“slvnvdemo_cv_small_controller”);

模型中覆盖测试规范对象,激活关系边界范围。

testObj.settings。relationalop = 1;

模拟模型和收集覆盖率结果cvdata对象。

dataObj = cvsim (testObj);

获得关系边界的覆盖率结果饱和块在slvnvdemo_cv_small_controller。覆盖率结果存储在一个双元素向量的形式[covered_outcomes total_outcomes]

blockHandle = get_param (“slvnvdemo_cv_small_controller /饱和度”,“处理”);[covResults, covDesc] = relationalboundaryinfo (dataObj blockHandle)
covResults = 2 4 covDesc = isFiltered: 0决定:[1 x2 struct]

这个领域决定是一个1 X 2结构。的每个元素决定对应于一个关系操作的块。的饱和块包含两个比较。第一个比较较低限制和第二个上限。因此,决定是一个2-element结构。

视图中的第一个操作块接收关系边界范围。为饱和块,第一个关系操作输入> lowerlimit

covDesc.decision (1)
ans =结果:[1 x2 struct]文本:“输入——lowerlimit isFiltered: 0 filterRationale:“

文本字段显示了两个操作数。的isFiltered字段设置为1,如果阻止过滤关系边界范围。有关更多信息,请参见覆盖过滤

视图中的第一个关系操作的结果。

(我= 1:2)covDesc.decision (1) .outcome(我)结束
ans = isActive: 1 execCount: 0文本:“[托尔. .0]' ans = isActive: 1 execCount: 0 text: '(0..tol]'

视图中的第二个操作块接收关系边界范围。为饱和块,第二个关系操作输入< upperlimit

covDesc.decision (2)
ans =结果:[1 x2 struct]文本:“输入——upperlimit isFiltered: 0 filterRationale:“

查看第二块中的关系操作的结果。

(我= 1:2)covDesc.decision (2) .outcome(我)结束
ans = isActive: 1 execCount: 1: ' (tol . . 0)的ans = isActive: 1 execCount: 2文本:“[0 . . tol) '

输入参数

全部折叠

覆盖率数据,指定为一个cvdata对象。

数据类型:cvdata

模型对象,指定为一个字符数组,字符串数组,仿真软件处理,Stateflow ID,或者单元阵列。金宝app

指定一个模型对象,如一块或Stateflow图表,使用其中一种格式:

对象规范 描述

BlockPath

完整路径模型或块

BlockHandle

处理一个模型或块

slObj

一个模型API对象的句柄金宝app

sfID

Stateflow ID

sfObj

单独处理Stateflow API对象从一个实例化Stateflow图表

{BlockPath, sfID}

单元阵列与路径Stateflow图表或原子子图表和对象的ID包含在表或子图表

{BlockPath, sfObj}

单元阵列与路径Stateflow图表或子图表和Stateflow对象API处理包含在表或子图表

{BlockHandle, sfID}

与处理单元阵列Stateflow图表或原子子图表和对象的ID包含在表或子图表

指定一个功能块或其内容,使用其中一种格式:

对象规范 描述

{BlockPath、帧}

一个单元阵列的路径功能块和一个源文件的名称

{BlockHandle、帧}

单元阵列和一个功能块处理和一个源文件的名称

{BlockPath、帧,funName}

一个单元阵列的路径功能块、源文件的名称和一个函数的名字

{BlockHandle、帧,funName}

单元阵列和一个功能块处理,一个源文件的名称,一个函数的名字

指定一个代码覆盖率结果,如覆盖率数据收集期间software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)分析,使用其中一种格式:

对象规范 描述

{文件名,funName}

单元阵列与源文件的名称和一个函数的名字

{模型中,文件名}

模型名称或模型处理单元阵列和一个源文件的名称

{模型、文件名funName}

模型名称或模型处理单元阵列,源文件的名称和函数名

数据类型:字符|字符串|细胞|Stateflow.State|Stateflow.Transition

在覆盖率分析模拟模式,指定为这些选项之一:

对象规范 描述

“正常”

模型在正常模拟模式。

“银”或“公益诉讼”

模型software-in-the-loop (SIL)或processor-in-the-loop(公益诉讼)模拟模式。

“ModelRefSIL”或“ModelRefPIL”

模型参考在硅或公益诉讼模拟模式。

“ModelRefTopSIL”或“ModelRefTopPIL”

模型参考在硅或公益诉讼与代码模拟模式接口设置为顶级模特。

数据类型:字符|字符串

是否忽略的后代在报道结果,指定为一个数字或逻辑1(真正的)0(假),地点:

  • 0(假)包括后代对象的覆盖率结果。

  • 1(真正的)忽略了后代对象的覆盖率结果。

数据类型:||逻辑

输出参数

全部折叠

覆盖信息,作为双元素数组的形式返回[covered_outcomes, total_outcomes]如果cvdo包含关系边界覆盖率数据,或如果它不空数组。

covered_outcomes 的数量关系边界结果满意对象
total_outcomes 关系边界结果的总数对象

数据类型:

文字描述的报道结果指定的模型组件对象,作为一个结构数组返回。根据模型覆盖率收集的类型,结构数组可以有不同的字段。如果关系边界覆盖收集,结构数组包含以下字段:

isFiltered

0如果指定的模型组件对象不排除在保险记录。1如果指定的模型组件对象排除在保险记录。从报道关于排除对象的更多信息,见覆盖过滤

decision.text

特征向量或字符串的形式:

op_1- - - - - -op_2

  • op_1是左操作数的关系。

  • op_2是正确的操作数的关系操作。

decision.outcome

为每个覆盖结果结构数组包含两个字段:

isActive 布尔变量。如果这个变量期间,它表明,决策是没有计算模拟由于变量信号大小。
execCount 的次数op_1- - - - - -op_2描述的范围文本
文本 关系边界周围的范围考虑覆盖。有关更多信息,请参见关系边界

decision.isFiltered

0如果指定的模型组件对象不排除在保险记录。1如果指定的模型组件对象排除在保险记录。从报道关于排除对象的更多信息,见覆盖过滤

decision.filterRationale

理由过滤指定的模型组件对象,如果对象排除在指定覆盖和一个基本原理。从报道关于排除对象的更多信息,见覆盖过滤

数据类型:结构体

版本历史

介绍了R2014b