主要内容

通过使用克隆检测启用组件重用

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

准确的克隆和相似的克隆

克隆有两种类型:完全克隆和相似克隆。精确克隆具有相同的块类型、连接和参数值。类似的克隆具有相同的块类型和连接,但它们可以具有不同的块参数值。例如,Gain块的值可以在相似的克隆中不同,但在完全相同的克隆中必须相同。

精确的克隆和相似的克隆有以下区别:

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

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

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

识别克隆后,可以用库块的链接替换它们。类似的克隆链接到屏蔽库子系统。

指定检测克隆的位置

克隆检测器应用程序支持两个选项检测克隆在一个模金宝app型。您可以使用克隆检测设置在子系统或模型中的任何地方搜索克隆。

  • 子系统克隆:仅在子系统中标识克隆。

  • 任何地方的克隆:识别模型中任何地方的克隆。

确定精确和相似的克隆

这个例子展示了如何使用Clone Detector应用程序来识别准确和类似的子系统克隆,然后用库块的链接替换它们。

  1. 打开模型ex_clone_detection.在MATLAB®命令行输入:

    目录(fullfile (docroot,“工具箱”,“模型”,“示例”金宝app))ex_clone_detection

  2. 将模型保存到工作文件夹中。模型必须是开放的,才能访问应用程序。

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

    clonedetection(“ex_clone_detection”)
  4. 应用程序打开克隆探测器选项卡。这个示例将带您了解每个部分。

设置克隆检测窗格

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

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

  • 结果.选择查看克隆检测操作和结果窗格。

  • 属性.选择以查看“已检测克隆属性”窗格。

设置克隆检测参数

克隆检测的参数可以通过设置下拉菜单。

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

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

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

  • 点击排除组件访问排除模型引用排除库链接,排除不活动和注释掉的区域选项。使排除不活动和注释掉的区域选项识别因素数字克隆因素而变异来源块在模型中。有关更多信息,请参见从克隆检测中排除子系统和引用模型.使排除模型引用排除库链接选择将导致识别更少的克隆,这取决于模型。

  • 点击将图案与图书馆匹配并选择一个外部库来查找克隆。有关更多信息,请参见识别和替换模型库中的克隆

  • 不匹配块参数的最大数目50默认情况下。这表示可以在子系统之间变化并仍然被分类为类似克隆的参数的数量。您可以减少这个数字,以识别和分类更少的类似克隆。将该值设置为零,将只识别精确的克隆。

  • 点击跨模型检测克隆以支持在模型的任何地方检测克隆。您可以选择的值最小区域大小最小克隆组大小用这些匹配块来检测克隆。默认大小设置为2

识别模型中的子系统克隆

  1. 要在模型中查找克隆,请单击要分析的子系统。在检测部分中,所选的子系统名称将出现在在系统中找到克隆选项卡。用大头针记住所选的内容。

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

  3. 子系统的颜色会发生变化,以反映识别出的相似和准确的克隆。红色高亮表示精确的克隆,蓝色高亮的不同深浅表示相似的克隆。

分析克隆检测结果

识别克隆后,您可以分析克隆检测的结果,并根据需要对模型进行更改。分析结果:

  1. 克隆检测结果和动作面板,在克隆的结果页签,显示克隆组列表。

  2. 单击>符号旁边精确克隆组1查看所有精确克隆的子系统、块的数量和块的差异。重复同样的步骤相似克隆组1相似克隆组2

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

    一个新窗口将打开克隆检测结果,其中包含关于已识别克隆、克隆类型、检测参数和克隆检测中的排除项的综合报告。

  4. 单击模型层次结构选项卡。单击超链接以突出显示模型中的特定子系统。回到高亮所有克隆体,在克隆的结果选项卡上,单击强调所有克隆

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

  6. 发现克隆属性面板中,单击ex_clone_detection /魔法石/国超链接,它打开增益块在子系统《魔法,您可以访问与基线子系统不同的参数。

  7. 改变增益参数的值一个B并点击发现克隆.这将重新分类相似克隆组1精确克隆组2因为你解决了子系统之间的差异并把它转化成了一模一样的克隆。

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

    克隆检测动作和结果窗格中,在克隆的结果选项卡,选择要重构的克隆。选择要重构的所有克隆组22.5806%模型重用。

取代克隆

  1. 您可以使用默认库名称或更改库文件的名称及其在克隆的结果标签,然后替换克隆。

  2. 点击取代克隆

    模型被重构,克隆被替换为指向newLibraryFile在工作目录中的库文件。

  3. 通过单击克隆,可以将模型恢复到原始配置恢复的克隆检测器日志中发现的按钮日志选项卡的克隆检测器结果和行动窗格。

识别和替换模型库中的克隆

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

    目录(fullfile (docroot,“工具箱”,“模型”,“示例”金宝app))ex_clone_library

  2. 点击使用库匹配模式并选择ex_clone_library.slx.然后单击发现克隆

    请注意

    使用外部库识别和重构克隆必须在模型中单独完成。在模型重构过程中,只有库中的精确克隆会被库链接替换。

  3. 点击取代克隆

    模型被重构,替换了精确的克隆。

检查模型的等效性

如果您有Simulink T金宝appest™许可证,您可以单击检查相等.打开一个窗口并显示当前模型已成功重构为等价模型。

相关话题