创建和使用覆盖过滤器
这个例子展示了如何使用仿真软件®覆盖™模型覆盖过滤器排除模型万博1manbetx项目覆盖率结果和证明丢失的覆盖率报告。
覆盖过滤器
在验证过程中,一个模型可以包含几个构造,防止全模型覆盖,如一个子系统,它包含一个司机控制器,不是测试并不是相关的验证过程。你可以排除这个子系统从报道的结果。
或者,你可能测试标准,需要锻炼一个街区的某些方面,如触及特定的决策点。如果不可行,以满足所有目标结果为这一块,你并不希望去测试这些不满意的结果,那么你就可以证明这个失踪的报道。
过滤这些构造在覆盖率结果扣除或证明他们允许你关注其他方面的失踪的报道,可以而且应该被测试。
存储在覆盖过滤器.cvf
文件。每个过滤器由规则,排除或证明特定的模型对象,或者个人客观报道的结果。多个过滤器文件可以应用于覆盖模型的结果。此外,多个模型也可以使用相同的过滤器文件。
覆盖过滤器可以创建和应用之前或之后模拟模型。在这个例子中提到的两个工作流。
开放模式
这个示例使用slvnvdemo_covfilt
模型。模型显示一些常见的模式,可能需要从覆盖率结果过滤。打开模型。
open_system (“slvnvdemo_covfilt”);
指定项目之前从覆盖率结果排除模拟
图书馆的块slvnvdemo_covfilt_lib /保护部门
防止除零。如果你确定测试预计不会或打算完全覆盖每一个实例的块在这种背景下,块可以被排除在报道的结果。
在模型编辑器中万博1manbetx,右键单击的一个实例受保护的部门
块并导航到库报道选项。这个块的选项允许你过滤特定的实例库或所有引用该库。选择排除引用库:slvnvdemo_covfilt_lib /部门保护过滤所有引用。
这将打开筛选编辑器部分的覆盖率结果探险家。注意,一个新的过滤器文件,最初命名无标题的
、创建过滤规则排除所有引用到图书馆块已被添加。
指定一个的名字和描述为新的过滤器文件。在表中,打开基本原理新规则和输入文本字段描述为什么这个块排除在外,如“除零保护”
。点击应用完成后保存过滤器文件。一个文件对话框将提示您指定保存该文件的位置。
重用现有的过滤器文件
你可以分享和重新应用过滤器文件与广义规则过滤覆盖率结果为各种不同的模型,包含相似的结构。
例如,现有的过滤器文件Filter_Tick.cvf
捕获一个规则排除Stateflow时间事件蜱虫
从报道的结果。这个事件不可能是假的,因此可以防止已满的状况和MCDC覆盖在任何模型使用蜱虫
在Stateflow基于事件的时序逻辑。
因为slvnvdemo_covfilt /模式逻辑
包含这样一个结构,您可以应用过滤器文件Filter_Tick.cvf
到模型中。
应用这个现有的过滤器文件,右键单击应用过滤器节点覆盖率结果探险家并选择加载滤波器。在打开的文件对话框,选择Filter_Tick.cvf
并点击开放。
请注意,应用过滤器现在列表Filter_DivBy0
和Filter_Tick
。
模拟和审查过滤覆盖率结果
单击运行(覆盖率)按钮来模拟模型和记录报道。当模拟完成后,覆盖模型和结果突出显示报道的细节窗口打开。
请注意,这两个引用受保护的部门
图书馆中颜色的灰色块模型画布,表明他们已经排除在报道的结果。万博1manbetx
滚动的内容报道的细节窗口,并注意一节对象从覆盖率分析过滤。本节列出的每个排除元素和相应的基本原理和由过滤器文件。这两个Filter_DivBy0
和Filter_Tick
已经被应用。
创建一个新的过滤器文件
上面使用的过滤器文件捕获广义过滤规则,可以广泛适用于许多不同的模型。
创建另一个过滤器文件分别捕获过滤规则只有关这个模型。
在覆盖率结果探险家,右键单击应用过滤器节点并选择新过滤器。
这个过滤器文件输入一个名称和描述。点击应用并指定保存文件。
排除项目覆盖仿真后的结果
前面的这个例子显示了如何指定过滤规则应用在运行模拟。您还可以创建并应用过滤规则覆盖仿真后的结果。这允许您检查覆盖率结果,创建或调整过滤器,并生成一个新的覆盖率报告,而无需重新运行模拟。
考虑,例如,可切换的配置子系统。这是一种常见的设计模式使用常量值驱动子系统启用端口改变模型配置;然而,使逻辑子系统内容可能导致失踪的报道。不使用这个配置在这个模型中,因此可以排除在报道的结果。
在模型编辑器中万博1manbetx,单击可切换的配置子系统。的报道的细节窗口将导航到这个子系统的详细信息。在这些细节,点击证明或排除链接。
一个新的过滤规则添加到当前选择的过滤器文件筛选编辑器。默认情况下,这个规则设置模式“排除”
。输入此规则的基本原理,如“未配置”
。
点击应用当完成。这节省了过滤器文件的变化,并自动更新覆盖率结果显示在模型。注意,可切换的配置子系统现在显示为灰色,表明它已经被排除在报道的结果。
从覆盖率结果证明个人的客观结果
在模型编辑器中万博1manbetx,单击饱和
块的覆盖率结果和审查报道的细节窗口。注意,两个决策结果不满意。这是因为饱和
块的下限0
和一个上限的200年
。然而,这一块的输入率
信号,不能小于或等于0
。的下限饱和
预计不会被完全执行,所以相应的决策结果是合理的。
点击添加理由规则旁边的图标假结果决定“输入>下限”
。
一个新的过滤规则添加到当前选择的过滤器文件筛选编辑器。指定辩护理由,例如“速度> 0 "
。
点击应用完成后保存过滤文件和更新覆盖率结果显示模型。
请注意,在报道的细节窗口,饱和
块的合理结果在浅蓝色突出显示,并链接到的基本原理。的真正的结果的决定“输入> =上限”
不是过滤和报告为不满意。因此,饱和
块仍强调模型中红色表示失踪的报道。
自动生成过滤器规则逻辑
在某些情况下,失踪的报道是由于死的逻辑。相关的覆盖目标是不可满足的。如果这个逻辑是用来构造,您不希望删除从您的模型,那么这些覆盖目标是合理的。
如果你有一个仿真软件设计校验万博1manbetx™许可证,然后你可以自动创建理由过滤规则逻辑。
在覆盖率结果探险家,选择应用过滤器节点。在筛选编辑器窗格中,选择的选项让死亡理由过滤规则逻辑(使用仿真软件设计验证器)万博1manbetx。
这个选项使用仿真软件设计校验™为死万博1manbetx去的逻辑分析模型。完成后,创建一个新的过滤器文件和证明规则为每个添加相应的报道结果。
这个过滤器文件指定一个名称和描述。点击应用当完成。在生成的文件对话框中,指定在哪里保存这个过滤器文件。
关闭万博1manbetx仿真软件设计校验结果窗口打开。
审查过滤覆盖率结果
在模型编辑器中万博1manbetx,导航到审查结果部分的报道应用程序,然后单击报道强调。
在应用这四个过滤器使用在这个例子中,仿真实现了100%的条件下,63%的决定,和75%执行覆盖这个模型。注意,覆盖率结果不再包含任何接受MCDC模型对象,所以这个指标不是上市。
其余失踪的覆盖率模式的逻辑
图表,时间捕获
子系统,饱和
块显示测试不充分,应由使用进一步模拟输入值,更彻底地练习这些元素。
结论
覆盖率模型的过滤提供了各种方法来指示方面出乎意料或旨在充分行使在当前的测试环境。
过滤模型对象和客观报道的结果,不需要行使允许你专注于失踪的覆盖结构,可以而且应该被测试。