克隆建模具有相同的块类型和连接图案。跨越参考模型边界克隆探测器的应用程序识别克隆。您可以通过从子系统克隆创建库块和链接到这些库块替换克隆使用克隆探测器应用复用构件。您还可以在现有库使用该工具来链接克隆。
有两种类型的克隆:精确克隆和相似克隆。确切克隆具有相同的块类型,连接和参数值。类似的克隆具有相同的块类型和连接,但是它们可以具有不同块参数的值。例如,增益块的值可以在相似的克隆不同,但必须在精确的克隆相同。
精确的克隆和相似的克隆可能有以下不同:
两个克隆可以有不同的排序顺序。
如果块连接是相同的信号线的块的长度和位置和大小可以是不同的。
块和信号可以有不同的名称。
若要仅检测精确的克隆,请在“标识建模克隆”工具中的每次检查中设置无与伦比的块参数的最大数量至0
。增加这个参数值会增加该工具可能检测到的类似克隆的数量。
在您确定克隆,你可以链接到库中的块替换它们。类似的克隆链接到屏蔽库子系统。
这个例子说明了如何使用Clone探测器的应用程序,以确定确切的克隆和克隆类似,然后链接到库中的块替换它们。
打开模型ex_clone_detection
。在MATLAB®命令行中输入:
目录(fullfile (docroot,“工具箱”,“模型”,“示例”万博1manbetx))ex_clone_detection
模型保存到工作文件夹。模型必须是开放访问的应用程序。
在应用选项卡,单击克隆探测器。另外,在MATLAB命令行中输入:
clonedetection( “ex_clone_detection”)
应用程序打开克隆检测选项卡。这个示例将带您浏览每个部分。
该应用程序在多个窗格上显示信息。属性下的三个窗格视图菜单。窗格是:
帮助。选择以访问包含克隆检测工作流程概述的帮助窗格。
结果。选择以查看克隆检测和结果窗格。
属性。选择要查看的检测克隆属性窗格。
您可以通过使用设置了克隆检测的参数设置下拉菜单。
选择忽略>信号名称的差异当信号名称不同时,对克隆进行识别和分类。
选择忽略>块属性中的差异当块属性不同时,识别和分类克隆。有关块属性的更多信息,请参见指定块的属性(万博1manbetx模型)。
请点击排除组件访问排除模型引用,排除库链接,排除无效,注释掉地区选项。启用排除无效,注释掉地区选项标识变量编号克隆,因为变异来源模型中的块。有关更多信息,请参见排除来自克隆检测子系统和参考模型。启用排除模型引用和排除库链接选项将导致更少的克隆鉴定,根据不同的型号。
请点击与库匹配模式并选择一个外部库来查找克隆。有关更多信息,请参见识别和替换模型库中的克隆。
该不匹配块参数的最大数目是50
默认情况下。这表示在子系统之间可以变化的参数的数量,并且仍然被归类为相似的克隆。您可以减少这个数字,以识别和分类更少的相似克隆。将该值设置为零,将只标识精确的克隆。
在检测部分中,在查找系统克隆选项卡上,输入ex_clone_detection
作为识别克隆的模型。切换大头针以访问其他子系统,以识别其中的克隆。
请点击发现克隆识别克隆。
该子系统的颜色变化,以反映所确定的相似和精确克隆。红色高亮显示表示确切的克隆和蓝色突出显示的不同的色调代表类似的克隆。
在识别克隆之后,您可以分析克隆检测的结果,并根据需要对模型进行更改。分析结果:
在克隆检测行动与结果面板,日志窗格,单击超链接。
打开一个新窗口与所识别的克隆,该类型的克隆,检测的参数,而排除在克隆检测于一体的综合报告克隆检测结果。
在克隆检测行动与结果窗格中,单击将克隆组映射到库选项卡。
显示克隆组的列表。
单击>
旁边的象征完全克隆组1
看到所有那些确切的克隆,块数,块差的子系统。重复相同的类似的克隆组1
和类似的克隆组2
。
单击模型层次选项卡。单击超链接以突出显示模型中存在的子系统。
在将克隆组映射到库选项卡,扩大类似的克隆组1
并单击视图参数差异超链接。
在发现克隆属性面板中,单击ex_clone_detection /魔法石/国
超链接,打开增益模块G9
在子系统《魔法
,在那里你可以访问是从基线子系统的不同参数。
更改增益参数的值一个
至乙
并点击发现克隆。这将重新分类类似的克隆组1
至完全克隆组2
因为你解决了各子系统的差异,并转换成精确克隆。
下重构的好处面板上,可以考虑不同类型的克隆目前的百分比。
在克隆检测动作和结果窗格中,在将克隆组映射到库选项卡,选择您想重构的克隆。选择所有克隆组进行重构,以减少22.5806%
模型重用。
可以使用默认库名,也可以更改库文件的名称及其在将克隆组映射到库在更换前的克隆标签。
请点击取代克隆。
对模型进行重构,并将克隆替换为指向的链接newLibraryFile
工作目录中的库文件。
您可以通过单击克隆将模型恢复到其原始配置恢复上生成的克隆检测日志中发现的按钮日志的标签克隆探测器的行动和结果窗格。
打开库ex_clone_library
。在MATLAB命令行中输入:
让addpath(完整文件(文档根, '工具箱',的Simulink',万博1manbetx '实施例'))ex_clone_library
请点击设置>与库匹配模式并选择ex_clone_library.slx
。然后点击发现克隆。
识别和外部库重构克隆必须分别从模型来完成。在模型重构库中唯一确切的克隆将被替换库链接。
请点击取代克隆。
用替换的克隆来重构模型。
如果您有Simulink测试万博1manbetx™许可证,您可以单击等效检查。将打开一个窗口并显示当前模型已成功重构为等效模型。