Точными клонами являются шаблоны моделирования, которые имеют одинаковые типы блоков, связи и значения параметров. Приложение Clone Detector идентифицирует эти клоны через контуры модели-ссылки. Затем можно повторно использовать компоненты путем замены точных клонов библиотечными ссылками и блоками Subsystem Reference. Чтобы заменить точные клоны библиотечными ссылками, смотрите Включить повторное использование компонента при помощи обнаружения клонов. Этот пример демонстрирует, как заменить клоны блоками Subsystem Reference.
Откройте модель ex_clone_detection
. В MATLAB® в командной строке введите:
addpath(fullfile(docroot,'toolbox','simulink','examples')) ex_clone_detection
Сохраните модель в рабочей папке. Модель должна быть открыта для доступа к приложению.
На вкладке Apps нажмите Clone Detector. Кроме того, в командной строке MATLAB введите:
clonedetection("ex_clone_detection")
Приложение открывает вкладку Clone Detector. В этом примере рассматривается каждый раздел.
Приложение отображает информацию на трех панелях. Для открытия панелей используйте меню View. Панели:
Help. Выберите для доступа к панели справки, содержащей обзор рабочего процесса обнаружения клонов.
Results. Выберите для просмотра панели Clone Detection Actions and Results.
Properties. Выберите для просмотра панели 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 Actions and Results. На вкладке Logs щелкните гиперссылку.
Откроется новое окно, в котором перечислены результаты обнаружения клонов и показан интегрированный отчет об идентифицированных клонах, параметрах обнаружения и исключениях в обнаружении клонов.
На панели Clone Detection Actions 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. Точные клоны заменяются блоками Subsystem Reference. Вы можете увидеть .slx
файлы ссылок подсистемы в рабочей папке.
Восстановить исходное строение модели можно на панели Clone Detector Actions and Results. Откройте вкладку Logs, щелкните гиперссылку для версии, которую вы хотите восстановить, и нажмите Restore.
Если у вас есть Simulink Test™, можно проверить эквивалентность новой модели исходной модели на вкладке Clone Detection, нажав Check Equivalency.