主要内容

slcoverage.MetricSelectorclass

包:slcoverage

选择度量标准覆盖过滤器

描述

使用的对象slcoverage.MetricSelector类为覆盖过滤器规则指定指标选择标准。

slcoverage.MetricSelector类是一个处理类。

创建

描述

选取= slcoverage.MetricSelector (类型,元素,objIndex,outIndex)创建一个度量选择器类型的对象类型为指定的模型元素元素在目标指数objIndex和结果指标outIndex

你只能创建一个证明规则的度量选择器。更多信息关于理由和排斥之间的区别,明白了覆盖过滤

有关条件的更多信息和决策表产生的报告报道,看到的顶层模型覆盖率报告

输入参数

全部展开

指标选择器类型,指定为:

  • slcoverage.MetricSelectorType.ConditionOutcome对象选择条件指标客观结果。

  • slcoverage.MetricSelectorType.DecisionOutcome对象选择决定度量客观结果。

  • slcoverage.MetricSelectorType.MCDCOutcome对象选择MCDC度量客观结果。

  • slcoverage.MetricSelectorType.RelationalBoundaryOutcome对象选择的结果指标相关关系边界的结果。

  • slcoverage.MetricSelectorType.SaturationOverflowOutcome对象选择的结果指标与饱和度在整数溢出的结果。

模型元素来选择、处理或指定仿真软件模型元素的标识符。万博1manbetx

例子:“slcoverage_lct_bus: 18”

指数的目标你想过滤,指定为一个整数。

例子:1

指数的结果你想过滤,指定为一个整数。

例子:2

属性

全部展开

代码用于创建这个选择器对象,作为一个特征向量返回。

属性:

GetAccess
公共
SetAccess
受保护的

选择器的描述,作为一个特征向量返回。万博1manbetx仿真软件覆盖™根据选择器创建描述。

属性:

GetAccess
公共
SetAccess
受保护的

模型元素的标识符,作为模型的特征向量返回ID或处理。万博1manbetx

属性:

GetAccess
公共
SetAccess
受保护的

指数的客观选择器,返回一个整数。

属性:

GetAccess
公共
SetAccess
受保护的

指数的结果选择器,返回一个整数。

属性:

GetAccess
公共
SetAccess
受保护的

选择器类型,返回ConditionOutcome,DecisionOutcome,MCDCOutcome,RelationalBoundaryOutcome,或SaturationOverflowOutcome

属性:

GetAccess
公共
SetAccess
受保护的

方法

全部展开

例子

全部折叠

这个例子展示了如何选择一个指标,并添加一个规则,使用指标。在本例中,您创建一个规则来证明一个不满意的决定对于一个饱和。

打开模型,使覆盖率分析

模型加载到内存中。

modelName =“slvnvdemo_covfilt”;load_system (modelName);

使用一个万博1manbetxSimulink.SimulationInput对象配置覆盖模型。

covSet = 万博1manbetxSimulink.SimulationInput (modelName);covSet = covSet.setModelParameter (“CovEnable”,“上”);covSet = covSet.setModelParameter (“CovMetricStructuralLevel”,“MCDC”);covSet = covSet.setModelParameter (“CovSFcnEnable”,“上”);covSet = covSet.setModelParameter (“StopTime”,“20”);covSet = covSet.setModelParameter (“CovSaveSingleToWorkspaceVar”,“上”);covSet = covSet.setModelParameter (“CovSaveName”,“covData”);

使用模拟模型SimulationInput对象作为输入。

simOut = sim (covSet);

查看覆盖率结果之前应用过滤器。您可以访问范围使用decisioninfo,或者你可以查看HTML报告使用cvhtml

covInitial = decisioninfo (covData modelName,/饱和度的]);percentInitial = 100 * covInitial covInitial / (1) (2)
percentInitial = 50
cvhtml (“covReportInitial”covData)

这两个decisioninfocvhtml显示相同的结果覆盖50%的决定。如果你不希望你现在去测试这个结果,可以证明结果是不再报道失踪的报道。

在这个例子中,我们证明决定的结果输入>下限决定目标饱和。

证明丢失的客观条件

MetricSelector对象接受块路径或处理第二个输入。获得块处理饱和块的使用get万博1manbetxSimulinkBlockHandle

id = get万博1manbetxSimulinkBlockHandle ([modelName,/饱和度的]);

因为我们的目标是证明是一个决定的结果,第一个输入指标选择器的构造函数slcoverage.MetricSelectorType.DecisionOutcome。第二个输入块处理。最后两个是客观证明和索引的索引的结果这一目标,分别。

因为输入>下限决策目标是饱和块的第一个目标,其目标指数1。因为这一目标的结果是第一个结果,其结果指数也1。因此,最后两个输入1,- 1

metr = slcoverage.MetricSelector (slcoverage.MetricSelectorType.DecisionOutcome, id, 1, 1);

创建一个过滤器和规则。在本例中,我们使用默认的过滤器的证明方式。然后添加过滤器使用的规则addRule方法。

filt = slcoverage.Filter;规则= slcoverage.FilterRule (metr,“预期结果”);filt.addRule(规则);

保存过滤器过滤器文件使用保存方法。然后应用的过滤器文件cvdata对象通过分配过滤器房地产新过滤器文件。

filt.save (“metrfilter”);covData。过滤器=“metrfilter”;

重新生成饱和的覆盖率结果块使用新的过滤cvdata对象。

covFiltered = decisioninfo (covData modelName,/饱和度的]);percentInitial = 100 * covFiltered covFiltered / (1) (2)
percentInitial = 75
cvhtml (“covReportFiltered”covData)

HTML报告,缺少决策结果突出表明,它是有道理的。决定现在饱和块覆盖率是75%。

版本历史

介绍了R2017b

全部展开