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