主要内容

关系边界信息

从中检索关系边界覆盖率cvdata对象

描述

例子

报道= relationalboundaryinfo (covdata对象从中返回关系边界覆盖率结果cvdata对象covdata指定的模型对象对象和它的后代。

例子

报道= relationalboundaryinfo (covdata对象模式从中返回关系边界覆盖率结果cvdata对象covdata指定的模型对象对象及其后代为仿真模式模式

报道= relationalboundaryinfo (covdata对象忽略子代从中返回关系边界覆盖率结果cvdata对象covdata指定的模型对象对象以及,取决于忽略子代,子体对象。

报道描述) = relationalboundaryinfo (covdata对象从中返回关系边界覆盖率结果cvdata对象covdata指定的模型对象对象,以及每个报道结果的文本描述。

例子

全部崩溃

这个例子展示了如何为一个应用程序收集关系边界覆盖信息饱和块在模型中。有关关系边界覆盖支持的块的更多信息,请参见金宝app对接收覆盖率的对象建模

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

开放式系统(“slvnvdemo_cv_small_controller”); testObj=cvtest(“slvnvdemo_cv_small_controller”);

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

testObj.settings.relationalop=1;

模拟模型,并在cvdata对象

dataObj = cvsim (testObj);

获取对象的关系边界覆盖率结果饱和块在slvnvdemo_cv_small_controller.覆盖结果存储在表单的两个元素向量中[covered_outcomes total_outcomes]

blockHandle=get_参数(“slvnvdemo_cv_small_controller /饱和度”“把手”);;[covResults, covDesc] = relationalboundaryinfo(dataObj, blockHandle)
covResults=2 4 covDesc=isFiltered:0决策:[1x2结构]

田野决定是一个1 X 2结构。结构的每个元素决定对应于块中的关系操作饱和块包含两个比较。第一个比较使用下限,第二个比较使用上限。因此决定是一个二元结构。

查看接收关系边界覆盖的块中的第一个操作。对于饱和块,第一个关系操作是输入>下限

covDesc.决定(1)
ans=结果:[1x2结构]文本:“输入-下限”已筛选:0 FilterRangale:”

文本字段显示两个操作数。的isFiltered字段设置为1,如果从关系边界覆盖中筛选块。有关更多信息,请参见覆盖过滤

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

(i=1:2)共同描述决定(1).结果(i)结束
ans=isActive:1执行计数:0文本:'[-tol..0]'ans=isActive:1执行计数:0文本:'(0..tol]'

查看接收关系边界覆盖的块中的第二个操作。为饱和块,第二个关系操作是输入<上限

covDesc.决定(2)
ans=结果:[1x2结构]文本:“输入-上限”已筛选:0 FilterRangale:”

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

(我= 1:2)covDesc.decision (2) .outcome(我)结束
ans = isActive: 1 execCount: 1 text: '[-tol..0]' ans = isActive: 1 execCount: 2 text: '[0..tol]'

输入参数

全部崩溃

覆盖率结果数据,指定为cvdata对象

模型或模型组件,指定为完整路径、句柄或路径或句柄数组。

对象规范 描述

闭塞通道

到模型或块的完整路径

BlockHandle

模型或块的句柄

斯洛布

Simulink的句柄金宝app®API对象

sfID

Stateflow®身份证件

sfObj

Stateflow API对象的句柄

{BlockPath, sfID}

单元格数组,其中包含到状态流图或原子子图的路径以及该图表或子图表中包含的对象ID

{块路径,sfObj}

单元格数组,包含到状态流图或原子子图的路径,以及该图表或子图表中包含的状态流对象API句柄

{BlockHandle, sfID}

带有状态流程图或原子子图表句柄的单元格数组,以及该图表或子图表中包含的对象的ID

当指定S-function块时,为对象包括以下:

对象规范 描述

{BlockPath、帧}

单元格数组,其路径为功能块和源文件的名称。

{BlockHandle,fName}

单元格数组功能块句柄和源文件的名称。

{BlockPath,fName,funName}

单元格数组,其路径为功能块、源文件名和函数名。

{BlockHandle,fName,funName}

单元格数组功能块句柄、源文件的名称和函数名。

对于在软件在环(SIL)模式或处理器在环(PIL)模拟模式中收集的覆盖数据,有效值为对象包括以下:

对象规范 描述

{fileName,funName}

单元格数组,包含源文件名称和函数名称。

{模型中,文件名}

单元格数组具有模型名称(或模型句柄)和源文件的名称。

{Model,fileName,funName}

具有模型名(或模型句柄)、源文件名和函数名的单元格数组。

例子:get_param(“slvnvdemo_cv_small_controller /饱和度”、“处理”)

有效值为模式包括以下:

对象规范 描述

“正常”

正常模拟模式下的模型。

“SIL”(或“PIL”)

软件在环(SIL)或处理器在环(PIL)仿真模式下的模型。

“ModelRefSIL”(或“ModelRefPIL”)

在软件在环(SIL)或处理器在环(PIL)仿真模式中的模型参考。

“ModelRefTopSIL”(或“ModelRefTopSIL”)

软件在环(SIL)或处理器在环(PIL)模拟模式中的模型参考,代码接口设置为顶层模型。

首选项忽略子体对象的覆盖率,指定为逻辑值。

1-忽略后代对象的覆盖
0-收集后代对象的覆盖率

数据类型:逻辑

输出参数

全部崩溃

关系边界覆盖结果,存储在表单的两个元素向量中[covered_outcomes total_outcomes].这两个要素是:

covered_outcomes 满足的关系边界结果数对象
总成果 的关系边界结果总数对象

数据类型:双重的

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

isFiltered

0指定的模型组件对象也不排除在覆盖记录之外。1指定的模型组件对象被排除在覆盖记录之外。有关从覆盖范围中排除对象的详细信息,请参见覆盖过滤

decision.text

格式的字符向量或字符串:

op_1-op_2

  • op_1是关系操作中的左操作数。

  • op_2是关系操作中的右操作数。

decision.outcome

结构数组,包含每个覆盖率结果的两个字段:

活跃的 布尔变量。如果这个变量是,这表明由于信号大小可变,在模拟过程中未对决策进行评估。
execCount 的次数op_1-op_2在…所描述的范围内文本
文本 考虑用于覆盖的关系边界周围的范围。有关更多信息,请参见关系边界

decision.isFiltered

0指定的模型组件对象也不排除在覆盖记录之外。1指定的模型组件对象被排除在覆盖记录之外。有关从覆盖范围中排除对象的详细信息,请参见覆盖过滤

第3.1条决定

对指定的模型组件进行过滤的基本原理对象如果对象被排除在承保范围之外,并指定了理由。有关从覆盖范围中排除对象的详细信息,请参见覆盖过滤

数据类型:结构体

R2014b中引入