克隆是具有相同块类型和连接的建模模式。这个克隆探测器App识别引用的模型边界的克隆。您可以使用克隆探测器应用来通过从子系统克隆创建库块并用链接替换到这些库块的链接来重用组件。您还可以使用该工具链接到现有库中的Clones。
克隆有两种类型:精确克隆和相似克隆。精确克隆具有相同的块类型、连接和参数值。类似克隆具有相同的块类型和连接,但它们可以具有不同的块参数值。例如,增益块的值在类似克隆中可能不同,但在精确克隆中必须相同。
确切的克隆和类似的克隆可以具有这些差异:
两个克隆可以有不同的排序顺序。
如果块连接相同,则信号线的长度以及块的位置和大小可能不同。
块和信号可以具有不同的名称。
要检测确切的克隆,每个检查识别建模克隆工具,请设置不匹配块参数的最大数目到0
.增加该参数值增加了工具可能潜在地检测的类似克隆的数量。
标识克隆后,可以将其替换为指向库块的链接。类似的克隆链接到屏蔽库子系统。
此示例演示如何使用Clone Detector应用程序识别精确克隆和类似克隆,然后用指向库块的链接替换它们。
打开模型ex_clone_detection.
. 在MATLAB®在命令行中,输入:
AddPath(FullFile(Docroot,'工具箱','simu金宝applink','示例'))ex_clone_detection
将模型保存到工作文件夹中。必须打开模型才能访问应用程序。
上应用程序选项卡,单击克隆探测器. 或者,在MATLAB命令行上输入:
克隆检测(“ex_克隆检测”)
该应用程序打开克隆探测器选项卡。此示例带您完成每个部分。
该应用程序显示有关多个窗格的信息。您可以选择三个窗格看法菜单。窗格是:
帮助.选择访问包含克隆检测工作流程概述的帮助窗格。
结果.选择以查看克隆检测操作和结果窗格。
性质. 选择以查看检测到的克隆属性窗格。
您可以使用设置克隆检测的参数设置下拉式菜单。
挑选忽略>信号名称中的差异当信号名称不同时识别和分类克隆。
挑选忽略>块属性的差异在块属性不同时识别和分类克隆。有关块属性的更多信息,请参阅指定块特性.
点击排除组件访问这一点排除模型引用,排除库链接, 和排除非活动区域和已注释区域选项。启用排除非活动区域和已注释区域选项标识变量数目克隆,因为变体源模型中的块。有关更多信息,请参阅从克隆检测中排除子系统和引用模型. 启用排除模型引用和排除库链接选项将导致识别更少的克隆,具体取决于型号。
点击用库匹配模式并选择外部库以查找克隆。有关更多信息,请参阅识别和替换模型库中的克隆.
这个最大无与伦比的块参数数是50
默认情况下。这表示子系统之间可以不同的参数的数量,并且仍被归类为类似的克隆。您可以减少此号码以识别和分类更少的类似克隆。将值设置为零,将仅识别确切的克隆。
要在模型中找到克隆,请单击要分析的子系统。在里面探测部分,出现所选子系统名称在系统中查找克隆标签。使用PIN记住选择。
点击查找克隆识别克隆。
子系统的颜色会发生变化,以反映所识别的相似和精确克隆。红色高亮显示表示精确的克隆,蓝色高亮显示的不同阴影表示相似的克隆。
在识别克隆后,您可以分析克隆检测结果并根据需要进行更改。分析结果:
在里面克隆检测动作和结果面板,在日志窗格,单击超链接。
一个新窗口打开克隆检测结果,其中包含已识别克隆、克隆类型、检测参数和克隆检测中排除的集成报告。
在里面克隆检测动作和结果窗格,单击将克隆组映射到图书馆标签。
将显示克隆组的列表。
点击>
旁边的象征确切的克隆组1
查看所有精确克隆的子系统、块数和块差异。重复同样的步骤相似克隆组1
和相似克隆组2
.
点击模型层次结构标签。单击超链接以突出显示模型中存在的子系统。
上将克隆组映射到图书馆标签,展开相似克隆组1
然后点击这一点查看参数差异超链接。
上检测到克隆属性面板,单击ex_clone_detection / ss5 / g9
超链接,打开增益块G9
在子系统中SS5
,您可以在其中访问与基线子系统不同的参数。
变更增益参数的值A.
到B
然后点击查找克隆. 这将重新分类相似克隆组1
到确切的克隆组2
因为您解决了子系统中的差异,并将其转换为精确的克隆。
在下面重构的好处小组,你可以考虑不同类型的克隆存在的百分比。
在里面克隆检测动作和结果窗格,在将克隆组映射到图书馆选项卡上,选择要重构的克隆。选择所有要重构的克隆组以减少22.5806%
模型重用的实现。
您可以使用默认库名称或更改库文件的名称及其位置将克隆组映射到图书馆选项卡,然后再替换克隆。
点击更换克隆.
该模型是重构,克隆用链接替换为新建库文件
工作目录中的库文件。
您可以通过单击将模型恢复到原始配置的原始配置恢复在克隆探测器日志中找到的按钮日志页签克隆探测器的动作和结果窗格。
打开图书馆ex_clone_library.
. 在MATLAB命令行中,输入:
addpath(fullfile(docroot、'toolbox'、'金宝appsimulink'、'examples'))ex_clone_库
点击设置>使用库匹配模式选择ex_clone_library.slx
. 然后点击查找克隆.
注
识别和重构外部库中的克隆必须与模型分开进行。在模型重构期间,只有库中的精确克隆将被库链接替换。
点击更换克隆.
该模型重构,确切的克隆更换。
如果您有SIMULINK T金宝appEST™许可证,可以单击检查等效性.将打开一个窗口,并显示当前模型已成功重新转换为等效模型。