Точные клоны моделируют шаблоны, которые имеют идентичные типы блока, связи и значения параметров. Приложение Clone Detector идентифицирует эти клоны через контуры модели, на которые ссылаются. Можно затем снова использовать компоненты, заменив точные клоны на ссылки библиотеки и блоки Ссылки Подсистемы. Чтобы заменить точные клоны на ссылки библиотеки, смотрите, Включают Повторное использование Компонента при помощи Обнаружения клонов. Этот пример демонстрирует, как заменить клоны на блоки Ссылки Подсистемы.
Откройте модель ex_clone_detection
. В командной строке MATLAB®, введите:
addpath(fullfile(docroot,'toolbox','simulink','examples')) ex_clone_detection
Сохраните модель в свою рабочую папку. Модель должна быть открыта, чтобы получить доступ к приложению.
На вкладке Apps нажмите Clone Detector. В качестве альтернативы на командной строке MATLAB войдите:
clonedetection("ex_clone_detection")
Приложение открывает вкладку Clone Detector. Этот пример берет вас через каждый раздел.
Информация об отображениях приложения о трех панелях. Чтобы открыть панели, используйте меню View. Панели:
Справка. Выберите, чтобы получить доступ к панели справки, которая содержит обзор рабочего процесса обнаружения клонов.
Results. Выберите, чтобы просмотреть панель Clone Detection and Results.
Свойства. Выберите, чтобы просмотреть панель Detected Clone Properties.
Можно настроить параметры для обнаружения клонов при помощи Settings выпадающее меню.
Выберите Replace Exact Clones with Subsystem References.
Нажмите Exclude Components, чтобы получить доступ к Exclude model references, Exclude library Links и опциям Exclude inactive and commented out regions. При включении опции Exclude inactive and commented out regions, приводит к точному клону SS1
не будучи идентифицированным из-за блока Variant Source в модели. Для получения дополнительной информации смотрите, Исключают подсистемы и модели, на которые ссылаются, от обнаружения клонов. Сохраните опцию Exclude inactive and commented out regions очищенной.
Нажмите Find Clones, чтобы идентифицировать клоны.
Цвет подсистем SS1
и SS4
изменения в красном, чтобы указать, что они - точные клоны.
После идентификации клонов можно анализировать результаты и внести изменения в модель по мере необходимости. Анализировать результаты:
Откройте панель Clone Detection Action and Results. На вкладке Logs кликните по гиперссылке.
Новое окно открывается, который перечисляет обнаружение клонов, заканчивается и показывает интегрированный отчет относительно идентифицированных клонов, параметров обнаружения и исключений в обнаружении клонов.
В панели Clone Detection Action and Results кликните по вкладке Map Clone Groups to Subsystem Reference.
Группа клонов Exact Clone Group 1
отображен.
Нажмите >
символ рядом с Exact Clone Group 1
видеть все подсистемы, которые являются точными клонами и количеством блоков на клон.
Кликните по вкладке Model Hierarchy и расширьте ex_clone_detection
. Кликните по гиперссылкам, чтобы подсветить подсистемы, которые присутствуют в модели.
В панели Detected Clone Properties, в разделе Refactor Benefits, можно считать процент точных клонов существующим.
Рефакторинг модели уменьшает 6,4516% повторного использования модели.
Во вкладке Clone Detector нажмите Replace Clones. Точные клоны заменяются блоками Ссылки Подсистемы. Вы видите .slx
файлы ссылок подсистемы в вашей рабочей папке.
Можно восстановить модель к ее исходной настройке в панели Clone Detector Actions and Results. Откройте вкладку Logs, кликните по гиперссылке для версии, вы хотите восстановить, и нажать Restore.
Если у вас есть Simulink Test™, можно проверять, что эквивалентность новой модели к исходной модели во вкладке the Clone Detection путем нажатия на Check Equivalency.