Точные клоны моделируют шаблоны, которые имеют идентичные типы блока, связи и значения параметров. 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 Actions 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 очищенной.
Нажмите Detect Clones Across Model, чтобы включить обнаруживают клоны где угодно через модель. Можно выбрать значения Minimum Region Size и Minimum Clone Group Size, чтобы обнаружить клоны с этими блоками соответствия. Размер по умолчанию установлен в 2
.
Нажмите Find Clones, чтобы идентифицировать клоны.
Цвет подсистем SS1
и SS4
изменения в красном, чтобы указать, что они - точные клоны.
После идентификации клонов можно анализировать результаты и внести изменения в модель по мере необходимости. Анализировать результаты:
В панели Clone Detection Results and Actions, на вкладке Clone Results, группа клонов Exact Clone Group 1
отображен.
Нажмите >
символ рядом с Exact Clone Group 1
видеть все подсистемы, которые являются точными клонами и количеством блоков на клон.
В панели Clone Detection Actions and Results кликните по вкладке Logs. Кликните по гиперссылке на панели Logs.
Новое окно открывает результаты обнаружения клонов с интегрированным отчетом относительно идентифицированных клонов, типов клонов, параметров обнаружения и исключений в обнаружении клонов.
Кликните по вкладке 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.