Main Content

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

管理Simulink Design Verifier框架模型

框架模型生成

框架模型提供了一个隔离的环境来测试设计变更。您可以在Simulink® Design Verifier™分析期间或分析之后创建框架模型。

框架模型的内容取决于Design Verifier窗格上的配置参数对话框中设置的模式参数的值:

  • 设计错误检测 —框架模型包含在仿真期间导致错误的测试用例。

  • 测试生成 —框架模型包含实现测试目标的测试用例。

  • 属性证明 — 该框架模型包含证伪证明目标的反例。

默认情况下,分析后生成单独的框架模型 参数是禁用的。

注意

仅当您正在分析的顶层模型包含 Inport模块时,Simulink Design Verifier 软件才会生成框架模型。

创建框架模型

要在分析之前或之后创建框架模型,请使用以下方法:

  • 分析之前,在配置参数对话框的 Design Verifier > 结果窗格中,选择 分析后生成单独的框架模型

  • 分析完成后,在Simulink Design Verifier结果摘要窗口中,选择创建框架模型

框架模型的内容

Simulink Design Verifier 软件会创建一个包含以下项目的框架模型:

  • 输入 — 输入模块是基于 Design Verifier > 结果窗格中设置的 框架来源 选项的 Signal EditorSignal Builder模块。

    • Signal Editor:此模块包含由 Simulink Design Verifier 生成的测试用例或反例组成的场景。Signal Editor模块仅包含模型中使用的输入信号。如果输入信号对模型的输出没有影响,则该信号不包含在Signal Editor模块中。

      Simulink Design Verifier 生成框架模型后,Signal Editor模块的输入 MAT 文件将保存在默认位置 <current_folder>\sldv_output\<model_name>\<model_name>_harness_HarnessInputs.mat

      要打开信号编辑器对话框并查看信号源场景,请双击输入模块。激活场景列出了测试用例或反例。要创建和编辑场景,请启动信号编辑器用户界面。有关更多信息,请参阅 创建和编辑信号数据

    • Signal Builder:该模块包含由 Simulink Design Verifier 生成的测试用例或反例组成的信号。Signal Builder模块仅包含模型中使用的输入信号。如果输入信号对模型的输出没有影响,则该信号不包含在Signal Builder模块中。

      要打开信号生成器对话框并查看其信号,请双击输入模块。每个信号组代表一个独特的测试用例或反例。要查看与特定测试用例或反例相关的信号,请在信号生成器对话框中选择 活动组

      Simulink Design Verifier使用默认选项对sldvdemo_cruise_control模型执行测试生成分析后,此Signal Builder模块显示Test Case 7的信号。

      如果选择测试套件优化参数的LongTestcases选项,分析将创建更少、更长的测试用例。例如,如果为 sldvdemo_cruise_control模型选择 LongTestcases 选项,则分析将生成一个长测试用例,而不是九个较短的测试用例。此信号生成器对话框显示长测试用例的信号。有关信号生成器对话框的更多信息,请参阅 信号组

  • Size-Type — 这个 Subsystem模块将信号从输入模块传输到Test Unit 模块。它验证信号的大小和数据类型是否与Test Unit 模块一致。

  • 测试单元 — 这个 Model模块引用了 Simulink Design Verifier 分析的原始模型。

    如果没有在配置参数对话框中的Design Verifier > 结果窗格上选择生成的框架中的引用输入模型,则创建的测试单元Subsystem模块。

    如果框架模型中的测试单元是子系统,则优化数学和数据类型 窗格上的参数值可能会影响覆盖率结果。

  • Test Case Explanation — 这个 DocBlock模块记录了 Simulink Design Verifier 生成的测试用例或反例。要查看每个测试用例或反例的描述,请双击测试用例解释模块。该模块列出了每个测试用例实现的测试目标或每个反例证伪的证明目标。

框架模型的配置

Simulink Design Verifier 使用这些设置生成框架模型。

  • 框架模型启动时间始终为 0 。如果原始模型使用非零开始时间,软件将忽略该开始时间并使用 0 作为测试用例和反例的仿真开始时间。

  • 框架模型停止时间始终等于输入模块中最长的测试用例的停止时间。

  • 默认情况下,该软件启用覆盖率分析并为包含测试用例的框架模型生成覆盖率报告。覆盖率报告使用默认选项启用。您可以使用 指定覆盖率选项 (Simulink Coverage) 自定义这些设置。

  • 默认情况下,如果您选择 Ignore objective based on filter 并为测试单元提供覆盖率过滤器文件,则该覆盖率过滤器文件适用于框架模型。有关更多信息,请参阅 覆盖率数据

  • 对于使用复杂类型 Inport模块的模型,无论您指定的 框架源 如何,Signal Editor模块都将用作框架源。

仿真框架模型

通过框架模型,您可以使用 Simulink Design Verifier 生成的测试用例或反例来仿真原始模型的副本。使用框架模型,您可以仿真:

  • 一个反例。

  • 单个测试用例,Simulink Coverage™ 软件收集并显示模型覆盖率信息。

  • Simulink Coverage 软件收集并显示累积模型覆盖率信息的所有测试用例。

注意

如果您分析一个带有采样时间警告的模型,则当您仿真框架模型时,警告可能会被报告为错误,从而导致仿真失败。

使用信号生成器源模块仿真框架模型

仿真单个测试用例或反例:

  1. 框架模型中,双击输入模块。

  2. 在信号生成器对话框中,选择具有特定测试用例或反例的活动组

    信号生成器对话框显示组成所选测试用例或反例的信号。

  3. 单击 开始仿真 按钮

    Simulink 软件使用与所选测试用例或反例相关的信号来仿真框架模型。在仿真测试用例时,Simulink Coverage软件会收集模型覆盖率信息并显示覆盖率报告。

仿真所有测试用例并测量它们的组合模型覆盖率:

  1. 框架模型中,双击输入模块。

  2. 在信号生成器对话框中,点击全部运行 按钮

    Simulink 软件使用所有测试用例来仿真框架模型,而Simulink Coverage 软件收集模型覆盖率信息并显示覆盖率报告。

    当您点击“全部运行”时,软件将使用框架模型的停止时间仿真所有测试用例。停止时间等于最长测试用例的停止时间,因此当您仿真较短的测试用例时,您可能会积累额外的覆盖率。

有关更多信息,请参阅 使用信号组进行仿真

使用信号编辑器输入模块仿真框架模型

仿真单个测试用例或反例:

  1. 框架模型中,双击输入模块。

  2. 在信号编辑器对话框中,选择具有特定测试用例或反例的激活场景,然后点击OK

  3. 在 Simulink 编辑器中,点击运行 按钮。

    Simulink 软件使用与所选测试用例或反例相关的信号源场景来仿真框架模型。在仿真测试用例时,Simulink Coverage软件会收集模型覆盖率信息并显示覆盖率报告。

要仿真所有测试用例并测量它们的组合模型覆盖率,请使用cvsim (Simulink Coverage)parsim命令。例如,参见使用信号编辑器输入模块仿真框架模型

另请参阅

|