mcdcinfo

检索修正条件/判定覆盖信息cvdata目的

句法

覆盖率= mcdcinfo(cvdo,对象)
覆盖率= mcdcinfo(cvdo,对象,模式)
覆盖率= mcdcinfo(cvdo,对象,ignore_descendants)
[覆盖,描述] = mcdcinfo(cvdo,对象)

描述

覆盖= mcdcinfo(cvdo目的返回改性条件/判定覆盖(MCDC)从结果cvdata目的cvdo用于通过指定的模型组件目的

覆盖= mcdcinfo(cvdo目的模式返回改性条件/判定覆盖(MCDC)从结果cvdata目的cvdo用于通过指定的模型组件目的为模拟模式模式

覆盖= mcdcinfo(cvdo目的ignore_descendants返回MCDC结果目的取决于的值ignore_descendants

[覆盖描述] = mcdcinfo(cvdo目的返回每个条件/判定的结果MCDC和文字说明目的

输入参数

cvdo

cvdata目的

ignore_descendants

逻辑值,指定是否忽略子对象的覆盖范围

1- 忽略子对象的覆盖范围
0- 收集覆盖的子对象

目的

目的参数指定在Simulink对象万博1manbetx®模型或Stateflow的®图接收判定覆盖。有效值目的包括以下这些:

对象规范 描述

BlockPath

完整路径模型或块

BlockHandle

处理到模型或块

slObj

句柄Simulink的A万博1manbetxPI对象

SFID

Stateflow的ID

sfObj

句柄Stateflow的API对象

{BlockPath,SFID}

单元阵列的路径的状态流图表或原子subchart和对象的ID包含在该图表或subchart在

{BlockPath,sfObj}

单元阵列的路径的状态流图表或原子subchart和状态流对象API句柄包含在该图表或subchart在

{BlockHandle,SFID}

单元阵列具有手柄的状态流图表或原子subchart和对象的ID包含在该图表或subchart在

用于当指定S-功能块,有效值目的包括以下这些:

对象规范 描述

{BlockPath,FNAME}

单元阵列与所述路径成S-功能块和源文件的名称。

{BlockHandle,FNAME}

单元阵列具有S-功能块手柄和源文件的名称。

{BlockPath,FNAME,funName}

单元阵列与所述路径成S-功能块,源文件的名称,和一个函数名。

{BlockHandle,FNAME,funName}

单元阵列具有S-功能柄部件,源文件中的函数名的名称。

用于在软件在环(SIL)模式或处理器在环(PIL)仿真模式中,对于有效的值收集覆盖数据目的包括以下这些:

对象规范 描述

{文件名,funName}

单元阵列与源文件名和功能名。

{模型,文件名}

单元阵列具有型号名称(或模型句柄)和源文件的名称。

{模型,文件名,funName}

单元阵列具有型号名称(或模型手柄),源文件的名称,和一个函数名。

模式

模式参数指定覆盖范围模拟模式。有效值模式包括以下这些:

对象规范 描述

'正常'

模型模拟正常模式。

'SIL'(或 'PIL')

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

'ModelRefSIL'(或 'ModelRefPIL')

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

'ModelRefTopSIL'(或 'ModelRefTopPIL')

在软件在环(SIL或处理器在环(PIL)模拟模式与代码接口集顶部模型模型参考。

输出参数

覆盖

形式的两个元素的矢量[covered_outcomestotal_outcomes]覆盖是空的,如果cvdo不包含修正条件/判定覆盖结果目的。这两个要素是:

covered_outcomes 条件/判定的结果数为满足目的
total_outcomes 条件总数/决策结果为目的

描述

包含下列字段的结构数组:

文本 的条件/判定的说明测定
健康)状况 各个条件的结果将含有结构排列条件/判定信息
isFiltered 是否该块被过滤
filterRationale 过滤原理
justifiedCoverage 在合理的范围条件
isJustified 无论块是有道理的

例子

收集MCDC覆盖率为slvnvdemo_cv_small_controller建模并确定所收集在增益子系统中的逻辑块MCDC覆盖的百分比:

MDL = 'slvnvdemo_cv_small_controller';open_system(MDL)%创建测试规范对象testObj = cvtest(MDL)%启用MCDC覆盖testObj.settings.mcdc = 1;%模拟模型数据= cvsim(testObj)%检索MCDC结果逻辑块blk_handle = get_param([MDL, '/增益/逻辑'], '句柄');COV = mcdcinfo(数据,blk_handle)MCDC的%百分比的结果覆盖percent_cov = 100 * COV(1)/ COV(2)

备择方案

使用范围设置收集MCDC覆盖模型:

  1. 打开模型。

  2. 在模型编辑器,选择模型设置造型标签。

  3. 覆盖配置参数对话框的窗格中,选择启用覆盖分析

  4. 覆盖度量, 选择MCDC作为结构的覆盖水平。

  5. 覆盖>结果窗格中,指定所需的输出。

  6. 请点击关闭配置参数对话框,并保存更改。

  7. 模拟模型和审查MCDC覆盖率结果。

介绍了在R2006b