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