Компонентно-ориентированные руководства по моделированию

Компонентизация приносит пользу организациям, разрабатывающим Simulink® модели, которые состоят из многих функциональных частей. Используя компоненты модели может включить:

  • Основанная на команде разработка — Уменьшает конкуренцию файла и тщательно продуманные компоненты независимо через четко определенные интерфейсы.

  • Уменьшаемая сложность проекта — Каждый компонент решает меньшие задачи.

  • Повторное использование компонента — алгоритмы Повторного использования и модели среды в рамках проекта и через несколько проектов.

  • Модульное тестирование — Устраняет перетестирование на неизменные компоненты и уменьшает стоимость верификации.

  • Выигрыши в производительности, которые масштабируются — Уменьшают использование памяти и время, требуемое загружать и симулировать модели.

  • Варианты компонента — Выбирают среди нескольких реализаций компонента.

  • Защита интеллектуальной собственности — Предельная функциональность и видимость содержимого для компонентов, которые вы совместно используете с третьими лицами.

Необходимо ли создать компоненты модели?

Считая работу требуемой задать и управлять компонентами, необходимо использовать компонентно-ориентированное моделирование только, когда преимущества перевешивают стоимость.

Разделение существующей модели Simulink на компоненты походит на взятие большой части кода (C, Java или MATLAB® код) и разламывание его на несколько функций. Преобразование может потребовать значительного усилия и обширных модификаций, если проект не является модульным с начала.

Рассмотрение масштабируемости модели и потенциальных требований заранее делает разделение модели Simulink на компоненты легче. Идентификация компонентов заранее может помочь вам избежать этих трудностей:

  • Плохое определение компонента — осциллограф подсистем, которые выращены в зависимости от времени, может не удовлетворить требования компонента. Например, они могут содержать слишком много или слишком мало функциональности, которая будет снова использована, сгенерирует код, который объединяется с устаревшей функциональностью, или поддерживать оборудование в тестах цикла.

  • Объедините конфликты — Если дополнительные инженеры начинают работать над моделью, которая была первоначально спроектирована для разработки одним инженером, они могут столкнуться с длительными и подверженными ошибкам слияниями.

  • Алгебраические циклы — Если один инженер разрабатывает модель с самого начала, они, вероятно, сгруппируют блоки в подсистемы, когда сложность модели увеличивается. Подсистемы в модели являются, вероятно, визуальными группировками, которые не влияют на выполнение модели. Когда вы делаете эти подсистемы атомарными, или преобразуете их в модели, на которые ссылаются, можно ввести нежелательные алгебраические циклы, которые затрудняют, чтобы диагностировать и зафиксировать.

Компоненты также полезны, когда проект становится слишком сложным для одного человека, чтобы управлять всеми деталями. Например, сложная модель может быть моделью, которая имеет:

  • Тысячи блоков

  • Сотни логических решений

  • Множество различных настроек той же функциональности

Проекты и система контроля версий могут помочь вам управлять компонентами. Для получения дополнительной информации смотрите то, Что Проекты? и управление конфигурацией.

Задайте компоненты модели

1. Выберите Among Types of Model Components

Идентифицируйте компоненты Simulink, которые выравниваются с вашими высокоуровневыми требованиями моделирования.

2. Сравните возможности компонентов моделиЗаймитесь расследованиями, какие типы компонентов модели удовлетворяют ваши низкоуровневые требования моделирования.
3. Задайте интерфейсы компонентов моделиСконфигурируйте атрибуты проекта в интерфейсах и управляйте данными для компонентов модели.