Main Content

本页采用了机器翻译。点击此处可查看英文原文。

cvdata

访问 MATLAB 工作区中的 Simulink Coverage 数据

说明

cvdata 对象存储模型覆盖率数据。

创建对象

当您仿真一个启用了覆盖率的模型时,会自动生成一个 cvdata 对象。您可以使用覆盖率函数访问覆盖率数据。如果关闭或者修改其父模型,cvdata 对象将变为无效。

属性

全部展开

此属性是只读的。

覆盖率数据来源发布,以字符数组形式返回。

数据类型: char

此属性是只读的。

内部覆盖率数据 ID,以标量形式返回。

数据类型: double

此属性是只读的。

内部覆盖率类型,返回为 TEST_DATA(表示单个覆盖率仿真)或 DERIVED_DATA(表示聚合或累计覆盖率数据)。

数据类型: char

此属性是只读的。

测试数据,以 cvtest 对象形式返回。该属性描述覆盖率配置。

数据类型: cvtest

此属性是只读的。

内部根 ID,以标量形式返回。

数据类型: double

此属性是只读的。

覆盖率数据校验和,以结构体数组形式返回。对模型的某些改变会导致 checksum 发生变化,例如,编辑模型结构体(如删除或添加模块),或者更改某些配置参数。要聚合覆盖率结果,cvdata.checksum 属性必须匹配。

数据类型: struct

此属性是只读的。

模型信息,以结构体数组形式返回。此属性包含有关覆盖率分析模型的元数据。

cvdata.modelinfo 具有以下字段:

字段

描述

modelVersion

为覆盖率而分析的模型版本。

character array 包含版本号

creator

该模型的原创者。

系统名称或组织名称

lastModifiedDate

上次修改模型的日期和时间。

character array 包含日期和时间

defaultParameterBehavior

表示默认参数行为设置。

'Tunable' | 'Inlined'

blockReductionStatus

指示是否启用模块减少。

查看 模块简化 以了解更多信息。

'off' | 'on'

conditionallyExecuteInputs

条件输入执行开关。1 的值为 'on'0 的值为 'off'

1 | 0

mdcdMode

用于修正条件决策覆盖率(MCDC)分析的定义。1 的值表示模型使用了 MCDC 的掩蔽定义,而 0 的值表示模型使用了 MCDC 的唯一原因定义。

有关更多信息,请参阅Simulink Coverage 中的修改条件和决策覆盖 (MCDC) 定义

1 | 0

analyzedModel

所分析的模型或模型对象的名称。如果分析范围限定为子系统、Stateflow® 图或其他模型对象,则这就是该模型对象的路径。

character array

reducedBlocks

如果启用了模块简化参数并且减少了任何模块,则列出由模块减少参数减少的模块列表。

character array

ownerModel

在测组件或包含在测组件的模型。如果您有一个模块框架,这就是框架测试的模型。如果您有一个子系统框架,那么这就是包含该子系统的模型。

character array

ownerBlock

如果模型包含子系统框架,那么这就是框架正在测试的子系统。

character array

harnessModel

框架模型名称。如果您有从多次测试运行中聚合的数据,其中每次运行都使用具有相同 ownerModel 的不同框架,则此字段显示 Not Unique

character array

logicBlkShortcircuit

指示是否启用短路选项。

0 | 1

数据类型: struct

仿真开始时的系统时间,以字符数组的形式返回。

数据类型: char

仿真停止时的系统时间,以字符数组形式返回。

数据类型: char

覆盖区间开始时间,以标量形式返回。该值来自 CovStartTime 参数。有关更多信息,请参阅覆盖率区间开始时间

数据类型: double

覆盖区间停止时间,以标量形式返回。该值来自 CovStopTime 参数。有关更多信息,请参阅覆盖率区间停止时间

数据类型: double

覆盖率过滤器文件名,以字符数组或字符数组的元胞数组返回。此属性包含覆盖率过滤器文件名。如果未应用覆盖率过滤器,则该字段为空。您可以通过为此属性分配有效的过滤文件的名称来在仿真之后应用覆盖率过滤器。

数据类型: char | cell

仿真模式,以字符数组形式返回。有关更多信息,请参阅仿真模式

数据类型: char

是否在覆盖率报告中排除非活动变体,指定为 01。将此属性设置为 0 以在覆盖率报告中报告非活动变体,将此属性设置为 1 以从覆盖率报告中排除非活动变体。

此属性仅影响具有启动激活时间的 Simulink® 变体和 Stateflow 图非活动变体配置。

如果聚合两个或多个具有不同 excludeInactiveVariants 值的 cvdata 对象,则生成的聚合 cvdata 对象的 excludeInactiveVariants 属性值为 0

示例: covData.excludeInactiveVariants = 1;

数据类型: double

对象函数

全部展开

cvhtml根据模型覆盖率对象创建 HTML 覆盖率报告
cvmodelview通过模型突出显示来显示模型覆盖率结果
cvresults返回活动覆盖率数据,清除并从文件中加载活动覆盖率数据
cvsave将覆盖率设置和结果保存到文件
extract从系统级覆盖率数据中提取子系统覆盖率数据
complexityinfocvdata 对象中检索圈复杂度覆盖率信息
conditioninfocvdata 对象中检索条件覆盖率信息
decisioninfocvdata 对象检索决策覆盖率信息
executioninfocvdata 对象检索执行覆盖率信息
getCoverageInfocvdata 对象检索 Simulink Design Verifier 模块的覆盖率信息
mcdcinfocvdata 对象中检索修正条件/决策覆盖率信息
overflowsaturationinfocvdata 对象检索整数溢出覆盖率的饱和度
relationalboundaryinfocvdata 对象检索关系边界覆盖率
sigrangeinfocvdata 对象检索信号范围覆盖率信息
sigsizeinfocvdata 对象检索信号大小覆盖率信息
tableinfocvdata 对象检索查找表覆盖率信息

您可以将这些专门的 MATLAB® 运算符与 cvdata 对象一起使用。

+

返回两个 cvdata 对象的并集。返回的 cvdata 对象包含两次仿真或测试的总聚合覆盖率。

-

返回左操作数和右操作数之间的集合差异。返回的 cvdata 对象包含左操作数满足但不满足右操作数的覆盖率目标结果。使用 - 来确定有多少额外覆盖率归因于特定的仿真或测试。

* and .*

返回两个 cvdata 对象之间的交集。返回的 cvdata 对象仅包含两个操作数满足的覆盖率。使用 * 检测两个仿真或测试之间的重叠覆盖率。

示例

全部折叠

此示例显示如何查看模型中模块的决策覆盖率数据。

加载模型。

modelName = 'slvnvdemo_cv_small_controller';
load_system(modelName);

使用 Simulink.SimulationInput 对象配置模型的覆盖率设置。

simIn = Simulink.SimulationInput(modelName);
simIn = setModelParameter(simIn,'CovEnable','on');
simIn = setModelParameter(simIn,'CovMetricStructuralLevel','Decision');
simIn = setModelParameter(simIn,'CovSaveSingleToWorkspaceVar','on');
simIn = setModelParameter(simIn,'CovSaveName','covData');

通过将 simIn 作为输入传递给 sim 来仿真模型。

simOut = sim(simIn);

SimulationOutput 对象 simOut 中提取覆盖率数据作为 cvdata 对象。

covData = simOut.covData;

通过使用模块路径调用 decisioninfo 来查看 Saturation 模块的决策覆盖率结果。

blockPath = [modelName,'/Saturation'];
decisionCov = decisioninfo(covData,blockPath)
decisionCov =

     3     4

decisioninfo 返回一个包含两个标量的数组。第一个值是满意的决策结果的数量,第二个值是总决策结果的数量。使用这些来确定 Saturation 模块的满意决策结果的百分比。

percentDecisionCov = 100 * decisionCov(1) / decisionCov(2)
percentDecisionCov =

    75

版本历史记录

在 R2006a 之前推出