分析 Initialize、Reset、Reinitialize 和 Terminate 函数的计划测试框架
当您拥有一个包含 Initialize、Reinitialize、Reset 和 Terminate Function 模块的导出函数模型以及被测模型的调度程序框架时,您可以执行:
设计错误检测分析
测试生成分析
通过运行模型顾问检查 Simulink® Design Verifier™ 对模型进行质量分析
当您对此类模型执行设计错误检测分析时,Simulink Design Verifier 会显示不兼容性,表明该模型包含 Simulink Design Verifier 不支持的 Reinitialize Function 或 Reset Function 模块。
为了解决这种不兼容性,请生成一个测试框架,提供调用重新初始化或重置函数的时间表。然后,您可以分析包含明确入口点的框架模型。有关详细信息,请参阅 Create Test Harness to Generate Function Calls。
使用初始化函数、重置函数和 Terminate Function 模块为模型生成测试用例
此示例显示如何为测试框架生成测试,该测试框架对事件调度程序建模以触发初始化函数、重置函数和 Terminate Function 模块内容的执行。
模型描述
模型 sldvExportFcnIRTScheduler
仿真函数调用事件。sldvExportFcnIRT
模型被 sldvExportFcnIRTScheduler
模型中的 Model 模块引用。使用 Stateflow® 图建模的事件调度程序生成函数调用事件,从而驱动模型的执行。初始化函数和 Reset Function 模块从 NVRAM 数据存储器中读取 Discrete-Time Integrator 模块状态,Terminate Function 模块将这些状态写入数据存储器。
打开模型 sldvExportFcnIRTScheduler.
open_system('sldvExportFcnIRTScheduler')
执行测试生成分析
要对模型执行测试生成分析,请在 Design Verifier 选项卡的 Analyze 部分中点击 Generate Tests。
Simulink Design Verifier 为模型生成测试用例。Simulink Design Verifier 结果摘要窗口显示测试生成已成功完成。有关测试生成分析的更多信息,请参阅 测试生成工作流。
查看分析结果
sldvExportFcnIRT
Model 模块以红色突出显示,表示满足其测试目标的测试用例。分析报告显示,一个目标已经满足。
双击 sldvExportFcnIRT
子系统,查看分析后的初始化函数、重置函数和 Terminate Function 模块。
要访问详细的分析报告,点击结果窗口中的 HTML。
限制
Simulink Design Verifier 不支持在以下情况下分析计划执行 Initialize Function、Reset Function、Reinitialize Function 和 Terminate Function 模块的测试框架:
执行增强型 MCDC 或属性证明分析。
使用引用基于速率的模型参考并启用初始化、重置、重新初始化和终止端口的模型模块。
使用包含 Observer Reference 模块的框架模型。
使用在根级别具有多个模型模块的框架模型。
使用包含以下内容的模型参考:
可变大小的输入。
模型参考层次结构中具有未连接触发端口的函数调用子系统。
Simulink Function 模块在其模型参考层次结构中具有输入端口和输出端口。
Stateflow® 图形函数。
通过信号路由模块(例如 Mux、Demux 和 Vector Concatenate)将输入或输出信号连接到来自不同维度的父模型的信号。
注意
如果 Reset
、Reinitialize
或 Terminate
子系统没有从相应的事件端口接收到函数调用事件信号,Simulink Design Verifier 分析将忽略这些子系统的行为。