Компонентность выгодна организациям, разрабатывающим модели Simulink ®, состоящие из множества функциональных элементов. Использование компонентов модели позволяет:
Командная разработка - снижение конфликтности файлов и независимая разработка компонентов с помощью четко определенных интерфейсов.
Снижение сложности конструкции - каждый компонент решает меньшие задачи.
Повторное использование компонентов - повторное использование алгоритмов и моделей среды в рамках проекта и нескольких проектов.
Модульное тестирование - исключение повторного тестирования для неизмененных компонентов и снижение затрат на проверку.
Масштабируемые преимущества производительности - сокращение использования памяти и времени, необходимого для загрузки и моделирования моделей.
Варианты компонента - выбор нескольких реализаций компонента.
Защита интеллектуальной собственности - ограничение функциональности и видимости содержимого для компонентов, совместно используемых третьими сторонами.
Учитывая работу, необходимую для определения компонентов и управления ими, следует использовать моделирование на основе компонентов только тогда, когда преимущества перевешивают затраты.
Разделение существующей модели Simulink на компоненты аналогично разделению большого фрагмента кода (кода C, Java или MATLAB ®) на несколько функций. Преобразование может потребовать значительных усилий и значительных модификаций, если конструкция не является модульной с самого начала.
Учет масштабируемости модели и потенциальных требований заранее упрощает разделение модели Simulink на компоненты. Определение компонентов заранее может помочь избежать этих трудностей:
Плохое определение компонентов - Объем подсистем, выросших с течением времени, может не соответствовать требованиям к компонентам. Например, они могут содержать слишком много или слишком мало функциональных возможностей для повторного использования, для создания кода, который интегрируется с устаревшими функциональными возможностями, или для поддержки тестов аппаратного обеспечения в цикле.
Конфликты слияния - если дополнительные инженеры начинают работать над моделью, изначально разработанной для разработки одним инженером, они могут столкнуться с длительными и подверженными ошибкам слияниями.
Алгебраические петли - если один инженер разрабатывает модель снизу вверх, они, вероятно, группируют блоки в подсистемы по мере увеличения сложности модели. Подсистемы внутри модели, вероятно, являются визуальными группировками, которые не влияют на выполнение модели. Если сделать эти подсистемы атомарными или преобразовать их в ссылочные модели, можно ввести нежелательные алгебраические циклы, которые трудно диагностировать и исправить.
Компоненты также полезны, когда конструкция становится слишком сложной для одного человека, чтобы управлять всеми деталями. Например, сложная модель может быть моделью, которая имеет:
Тысячи блоков
Сотни логических решений
Конфигурации с несколькими вариантами одной и той же функциональности
Проекты и система управления версиями помогают управлять компонентами. Дополнительные сведения см. в разделе Что такое проекты? и управление конфигурацией.
| 1. Выбор между типами компонентов модели | Определение компонентов Simulink, соответствующих высоким требованиям к моделированию. |
| 2. Сравнение возможностей компонентов модели | Изучите, какие типы компонентов модели соответствуют низким требованиям к моделированию. |
| 3. Определение интерфейсов компонентов модели | Настройка атрибутов сигнала на интерфейсах и управление данными для компонентов модели. |