Можно использовать инструмент Metrics Dashboard, чтобы помочь вам повторно использовать подсистемы путем идентификации клонов в иерархии модели. Клоны являются идентичными блоками MATLAB Function, идентичными диаграммами Stateflow и подсистемами, которые имеют одинаковые типы блоков и соединения. Клоны могут иметь различные настройки и значения параметров. Чтобы заменить клоны ссылками на библиотечные блоки, с панели Metrics Dashboard можно открыть приложение Clone Detector.
Чтобы открыть пример модели ex_clone_detection
, смените директорию на matlabroot\help\toolbox\simulink\examples
папка. В командной строке MATLAB введите:
cd(fullfile(docroot, 'toolbox','simulink','examples'));
Сохраните ex_clone_detection.slx
модель в локальную рабочую папку.
На вкладке Apps нажмите Metrics Dashboard.
На панели инструментов Metrics нажмите All Metrics.
В разделе « Архитектуре» желтая полоса в строке «Потенциальное повторное использование» указывает, что модель содержит клоны. Процент является частью общего количества подсистем, включая диаграммы Stateflow и блоки MATLAB function, которые являются клонами. Чтобы просмотреть подробности, щелкните желтую полосу.
Модель содержит три группы клонов. SS1
и SS4
являются частью группы клонов 1. SS3
и SS5
являются частью второй группы клонов. SS6
и SS7
являются частью группы клонов три.
Чтобы заменить клоны ссылками на библиотечные блоки, откройте приложение Clone Detector, нажав Открыть инструмент преобразования. Откроется приложение Обнаружение Клонов. Для получения дополнительной информации о приложении см. «Включить повторное использование компонента при помощи обнаружения клонов».
Щелкните Найти клоны (Find Clones). Приложение содержит список групп клонов на панели «Действия и результаты обнаружения клонов» на вкладке «Сопоставить группы клонов с библиотекой».
Щелкните Заменить клоны (Replace Clones). Приложение Clone Detector заменяет клоны ссылками на библиотечные блоки. Эти библиотечные блоки находятся в библиотеке, заданной параметром Library to place clones. Этот параметр находится на вкладке Сопоставить группы клонов с библиотекой. Библиотека находится в пути MATLAB. Оно имеет имя по умолчанию newLibraryFile
.
После того, как вы рефакторируете, можно удалить последние изменения из модели. На панели Действия и результаты обнаружения клонов, на вкладке Журналов, откройте последний журнал и нажатие кнопки Восстановить. Каждый раз, когда вы рефакторируете модель, инструмент создает резервную модель в папке с именем prefix m2m_
плюс имя модели.
Если у вас есть лицензия Simulink Test, можно проверить эквивалентность рефакторной модели и исходной модели. Щелкните Проверить эквивалентность (Check Equivalency).
Перейдите к инструментальной панели «Метрики».
Щелкните Все метрики.
В разделе « Архитектуре» синяя полоса в строке «Фактическое повторное использование» указывает, что 75% компонентов модели являются ссылками на подсистемы библиотеки. Строка Потенциальное повторное использование указывает, что модель не содержит клонов, не имеющих ссылок на библиотечные блоки.