主要内容

使组件重用通过克隆检测

克隆是建模模式,相同的块类型和连接。的克隆探测器应用程序标识克隆跨子系统的模型或边界。您可以使用克隆探测器应用程序以编程方式或MATLAB命令重用组件通过创建库的克隆模式和块替换克隆与这些库块。您还可以使用它来链接克隆从现有的图书馆。

确切的克隆和类似的克隆

有两种类型的克隆:精确克隆和类似的克隆。确切的克隆有相同的块类型、连接和参数值。类似克隆有相同的块类型和关系,但他们可以有不同的参数值。例如,一块获得的价值可以在类似克隆不同但在精确克隆必须相同。

的克隆和类似的克隆可以有这些差异:

  • 两个克隆可以有一个不同的顺序。

  • 信号的长度线和块的位置和大小可以不同,如果块连接是一样的。

  • 块和信号可以有不同的名字。

您识别克隆后,可以用链接库模块。类似克隆蒙面链接库子系统。

指定在哪里检测克隆

克隆探测器应用支持检测模型中克隆的两个选项。万博1manbetx你可以在任何地方寻找克隆一个子系统或使用克隆整个模型检测设置。

  • 只在一个子系统子系统克隆:确定克隆。

  • 克隆在模型:确定克隆整个模型。

确定准确的和类似的克隆

这个例子展示了如何使用克隆探测器应用识别精确克隆和类似的子系统,然后用链接库模块。

  1. 打开模型ex_detect_clones

    openExample (“ex_detect_clones”)

    万博1manbetx仿真软件帆布ex_detect_clones模型

  2. 保存模型到你的工作目录。模型必须开放访问应用程序。

  3. 应用程序选项卡上,单击克隆探测器。另外,在MATLAB®命令行输入:

    clonedetection (“ex_detect_clones”)
  4. 应用程序打开克隆探测器选项卡。这个例子将介绍每个部分。

    克隆探测器将来发布的部分观点,准备、探测、重构,并验证

建立窗格用于克隆检测

应用程序在多个窗格显示信息。你可以选择三个窗格下视图菜单。窗格是:

  • 帮助。选择访问帮助窗格包含克隆检测工作流程的概述。

  • 结果。选择查看克隆检测结果和操作面板。

  • 属性。选择查看发现克隆属性窗格。

设置参数复制检测

您可以设置克隆检测使用的参数设置下拉菜单。

  • 选择忽略差异>信号名称识别和分类克隆当信号名称是不同的。

  • 选择忽略差异>块属性识别和分类克隆当块属性是不同的。关于块属性的更多信息,请参阅指定块的属性

  • 点击用子系统引用代替精确克隆查找和替换的克隆与子系统参考块。

  • 点击排除组件访问排除模型引用,排除库链接,排除不活跃和注释掉的地区选项。使排除不活跃和注释掉的地区选择识别变量克隆的数量变异来源块模型。有关更多信息,请参见从克隆排除组件检测。使排除模型引用排除库链接选项将导致更少的克隆鉴定,根据模型。

  • 点击模式匹配库并选择一个外部库来寻找克隆。有关更多信息,请参见在模式识别和替换克隆库

  • 最大数量的无与伦比的块参数50默认情况下。这是参数的数量,子系统之间的不同,还可以分为相似的克隆。你可以减少这个数字识别和分类更少的类似的克隆。将该值设置为0来,只会确定准确的克隆。

  • 点击在模型检测克隆使整个模型检测克隆任何地方。你可以选择的值最小区域大小最小克隆组大小检测这些匹配块的克隆。设置为默认大小2

在模型中识别子系统克隆

  1. 发现模型中的克隆,点击你想要分析的子系统。在检测部分中,选择子系统名称出现在系统找到克隆选项卡。利用销记得选择。

    发现克隆系统在检测部分将来发布选项卡

  2. 点击发现克隆确定克隆。

  3. 子系统的颜色变化反映了类似的和精确的克隆鉴定。红色的突出代表的克隆和深浅不同的蓝色高亮表示类似的克隆。

万博1manbetx仿真软件帆布ex_detect_clones模型与街区以红色和蓝色突出显示

克隆探测器应用程序创建一个工作目录的备份文件夹。备份文件夹名称的前缀m2m_<模型名称>。它节省了克隆MAT-file中的数据。你还可以找到在这个文件夹备份原始模型的重构模型来取代克隆与库模块。

分析了克隆检测结果

识别克隆后,可以分析克隆的结果检测和修改模型是必要的。分析结果:

  1. 克隆检测结果和行动面板,克隆的结果选项卡,显示克隆组的列表。

  2. 单击>旁边的象征精确克隆组1看到所有的子系统的克隆,块的数量,块的差异。重复相同的类似克隆组1类似克隆组2

  3. 克隆检测结果和行动窗格中,单击日志选项卡。点击的超链接日志窗格。

    打开一个新窗口克隆检测结果与一个完整的报告发现克隆,克隆的类型,参数检测和排除在克隆检测。

  4. 单击模型层次结构选项卡。单击超链接强调特定子系统的模型。回到强调所有克隆,克隆的结果选项卡上,单击强调所有克隆

  5. 克隆的结果选项卡,扩大类似克隆组1并单击视图参数差异超链接。

  6. 发现克隆属性面板中,单击ex_detect_clones /魔法石/国超链接,打开获得块在子系统《魔法,你可以从基线访问参数不同子系统。

  7. 改变增益参数的值一个B并点击发现克隆。这将重新分类类似克隆组1精确克隆组2因为你解决不同子系统和转换成一个精确的克隆。

  8. 重构的好处面板中,您可以考虑不同类型的克隆的百分比。

    克隆检测结果和行动窗格中,在克隆的结果选项卡上,选择你想重构的克隆。选择所有的克隆组织重构来减少22.5806%模型的重用。

    发现克隆属性对整体重构的好处,精确,和类似类型的克隆

取代克隆

  1. 你可以使用默认库名称或改变库文件的名称和它的位置克隆的结果标签替换之前克隆。

  2. 点击取代克隆

    模型重构和克隆的链接所取代newLibraryFile库文件在您的工作目录。

  3. 您可以恢复模型与克隆通过点击原来的配置恢复按钮在克隆探测器上生成的日志日志选项卡的克隆检测结果和行动窗格。

在模式识别和替换克隆库

  1. 开放图书馆ex_clone_library。在MATLAB命令行,输入:

    目录(fullfile (docroot,“工具箱”,“模型”,“示例”万博1manbetx))ex_clone_library

    万博1manbetx仿真软件为ex_clone_library帆布

  2. 点击设置>匹配模式库并选择ex_clone_library.slx。然后单击发现克隆

    请注意

    识别和重构克隆使用外部库必须在模型中分别完成。在模型重构只有精确克隆在图书馆将取代图书馆链接。

  3. 点击取代克隆

    精确的模型重构克隆所取代。

检查模型的等效性

如果你有一个仿真软件测试™许万博1manbetx可,你可以点击检查相等。出现一个窗口,并显示当前的模型已经成功地重构为一个等价的模型。

等效性检查窗口按钮来查看结果

相关的话题