主要内容

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

重构模型以提高组件复用率

您可以使用度量仪表板来识别模型层次结构中的克隆。克隆体是相同的 MATLAB 功能块、相同的 Stateflow® 图以及具有相同模块类型和连接的子系统。克隆体可以拥有不同的参数设置和值。要将克隆替换为指向库块的链接,您可以从度量仪表板打开克隆检测器应用程序。

使用克隆检测器应用程序重构模型,提高模型组件化和可读性,并在模型中重用组件。在这个示例中,您将从度量仪表板启动克隆检测器。但是,您也可以通过打开 App 选项卡并点击克隆检测器来打开它。

识别并替换克隆内容,将其替换为指向库块的链接。

  1. 架构部分中,“实际重用”小组件中的蓝色条表示链接库块的子组件总数所占的比例。将鼠标悬停在实际重用小组件上以查看更多信息。对于该模型,子组件总数的 10% 是链接库块。

  2. 点击蓝色横条可查看更多详情。System LagThrottle CommandCheckRange 是链接的库块。

    Table with details on the library linked component content metric results for the sldemo_fuelsys model and its subsystems, charts, and MATLAB Function blocks

  3. 返回主控制面板页面。

  4. 架构部分中,潜在重用条形表示该模型包含克隆。暂停在潜在重用上。对于该模型,7% 的子组件是克隆的。

  5. 点击黄色横条查看更多详情。Pressure.map_estimateThrottle.throttle_estimate 互为克隆。

  6. 要确定这些克隆是否可作为链接库块的候选对象,点击打开转换工具

    克隆检测器应用在模型中以新标签页的形式打开。

  7. 克隆检测结果和操作窗格中,点击克隆结果选项卡。

    只有一个克隆群。浅蓝色阴影表示这些克隆体是相似的克隆体,而不是完全相同的克隆体。类似的克隆版本具有不同的参数设置和值。

  8. 扩展克隆组。

    该克隆组由两个子图组成。

    Clone Detector App showing Clone Detection Results and Actions for the clone group

  9. 要确定参数差异,请在模块差异列中点击查看参数差异

    此克隆组中的子图调用 Simulink® 函数,这些函数仅在其内部的 Lookup Table 块中的断点参数的值上有所不同。

  10. 克隆结果选项卡中,对于要放置克隆的库参数,使用浏览按钮选择一个库或指定一个新的库名称。如果您指定一个新的库名称,应用程序将创建该库。

  11. 将模型保存到您的工作文件夹,然后在克隆检测器选项卡中,点击替换克隆。如果可能,该应用程序会将类似的克隆替换为指向已屏蔽库子系统的链接。

    日志选项卡中,点击最新日志。

    日志中包含一条消息,表明克隆无法用链接库块替换,因为 Simulink 函数中的数据无法提升为子图数据。

  12. 关闭度量仪表板和模型。

当克隆检测器应用程序重构模型以将克隆替换为指向库块的链接时,该应用程序会创建一个备份文件夹。备份文件夹名称以 m2m_<model name> 为前缀。如果您拥有 Simulink Test™ 许可证,您可以通过在克隆检测器选项卡中点击检查等效性来验证重构模型和原始模型的等效性。

探索其他选项

此表包含您可以使用 Simulink Check™ 处理的一些常见任务列表。

任务参考

简化和调试复杂模型。

突出功能依赖关系

运行模型顾问检查是否符合与高完整性系统建模和 MAB 控制算法建模规范相关的安全标准。

使用模型顾问检查模型合规性
编写自定义模型顾问检查。定义自定义模型顾问检查
创建并部署自定义模型顾问配置。创建和部署模型顾问自定义配置使用模型顾问配置编辑器来自定义模型顾问

了解更多关于如何使用度量仪表板收集和查看质量评估度量数据的信息。

使用度量仪表板收集和探查度量数据
配置合规性度量、添加度量阈值并自定义度量仪表板布局。 自定义度量盘布局和功能

使用模型转换器工具和克隆检测器应用程序重构模型,以提高模型组件化和可读性,并实现重用。

将模型转换为变体系统通过使用克隆检测启用组件重用

创建一个可重复的开发和验证过程,您的团队可以在本地和持续集成环境中运行该过程。

持续集成
了解更多关于如何使用 Simulink 产品来测试模型和代码、检查设计错误、对照标准进行检查、测量覆盖率以及验证系统的信息。验证和确认