Модельно-ориентированное проектирование (МОП) — это особая технология проектирования встраиваемых систем. Такое проектирование выполняется определенными методами, основанными на систематическом использовании моделей, которые развиваются, уточняются и эффективно используются на всех этапах жизненного цикла изделия. Основной целью применения МОП является гарантия того, что при разработке системы в динамике учтено взаимное влияние компонентов системы, параметры системы настроены оптимально для выполнения поставленных задач, испытания проведены во всех возможных режимах эксплуатации изделия и компания разработчик уложилась в бюджет при достижении нужного качества изделия в приемлемые сроки. Методология хорошо зарекомендовала себя при разработке различных сложных систем, в частности встраиваемых систем управления, цифровой обработки сигналов, компьютерного зрения, радиолокации и связи.

Архитектура системы

Создание любой системы начинается с описания компонентов и определения связей между ними. Однако продумывание архитектуры это непростой и итерационный процесс, который основывается на верхнеуровневых требованиях или тактическом техническом задании. И здесь мы сталкиваемся с необходимостью проработки уточнённых требований, которые естественным образом появляются в процессе продумывания поведения и сценариев работы системы. Модельно-ориентированное проектирование предоставляет гибкие инструменты для создания и проектирования архитектуры системы в виде модели, описания компонентов, их свойств, интерфейсов между компонентами, а также анализа свойств системы.

Ключевые особенности:

  • Построение архитектуры системы в графическом виде
  • Задание свойств компонентов и интерфейсов между ними
  • Возможность посмотреть на систему в разных видах (например, увидеть все интерфейсы MIL-STD-1553 или же только механическую подсистему)
  • Проведение аналитики и расчёт свойств системы с помощью скриптов

Исполнение системной модели

Модельно-ориентированное проектирование основано на построении системной модели, в которой объединены различные компоненты и подсистемы. На такой модели различные команды разработчиков совместно проверяют взаимное влияние подсистем, проводят любые виртуальные испытания, в том числе и безопасно отрабатывают аварийные или экстремальные режимы работы изделия. Системную модель нужно использовать не только как виртуальный полигон для отработки различных сценариев работы системы, но и как средство проектирования, то есть быстрого перебора решений или выбора оптимального компонента для установки в систему. Встроенные методы математической оптимизации и калибровки позволяют выбрать наилучшие параметры для достижения целевых показателей поведения системы.

Ключевые особенности:

  • Удобное хранение и отработка различных сценариев поведения системы
  • Возможность командной разработки, в том числе и с привлечением внешних подрядчиков
  • Встроенные методы для автоматизированного подбора оптимальных параметров системы или конкретных компонентов

Проектирование алгоритмов

Цифровые алгоритмы играют существенную роль в облике современных комплексных систем. МОП предоставляет среду для графического построения алгоритмов, наборы готовых библиотек с реализованными алгоритмами, а также средства для автоматической настройки алгоритмов для удовлетворения требований технического задания. Удобство заключается в том, что алгоритмы можно описывать в виде М-языка, привычном для программистов или в виде графических диаграмм, который легко воспринимается инженерами и технологами. На этом этапе алгоритм абстрагирован от вычислителя, на котором будет запущен, что позволяет сконцентрироваться на решении поставленной задачи и перебрать различные варианты ее решения, а не на программировании и тонкостях реализации.

Ключевые особенности:

  • Готовые графические библиотеки для построения алгоритмов машинного и глубокого обучения, систем управления, цифровой обработки сигналов и машинного зрения
  • Подпрограммы для быстрой настройки и автоматизированного подбора параметров алгоритмов
  • Гибкость построения алгоритмов в виде программного М-кода, графических блоков или диаграмм для описания конечных автоматов

Моделирование физических компонентов и окружения

При проектировании или выборе компонента для использования в системе крайне важным является анализ взаимовлияния этих подсистем или компонентов друг на друга. МОП позволяет в одной модели объединить все подсистемы и провести виртуальные комплексные испытания изделия. Это означает, что при разработке систем управления можно воссоздать физическую модель объекта управления, содержащую механическую, гидравлическую, пневматическую, электрическую и другие подсистемы. А при разработке систем ЦОС можно описать канал передачи данных, радиочастотный тракт, радиолокационную обстановку, антенную решетку или даже задать помехи, наводимые потенциальным противником.

Ключевые особенности:

  • МОП предоставляет необходимые для разработки алгоритмов инструменты для достоверного описания физического мира при разработке алгоритмов
  • Все подсистемы описываются в единой среде и взаимно интегрированы
  • Встроенные методы оптимизации позволяют подобрать параметры виртуальных компонентов на базе экспериментов, проведенных на реальном объекте

Быстрое прототипирование алгоритмов в реальном времени

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

Применение комплексов полунатурного моделирования позволяет запустить модели алгоритмов в режиме жесткого реального времени “нажатием одной кнопки”, а широкий выбор реализованных интерфейсов - подключить алгоритм к реальной системе.

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

Ключевые особенности:

  • Исключительно простое и удобное использование стенда
  • Быстрое прототипирование и проверка алгоритмов в реальном времени
  • Широкий выбор интерфейсов: ARINC 429, MIL-STD-1553B, цифровые и аналоговые вводы/выводы, ШИМ, CAN, SPI, I2C и т.д.
  • Удобные программные средства отладки в реальном времени: визуализация сигналов, настройка параметров “на лету”, запись сигналов и создание виртуальных приборов
  • Операционная система жесткого реального времени

Автоматическая генерация кода из моделей

Модельно-ориентированное проектирование предоставляет инструменты для автоматического перевода моделей алгоритмов в исходные коды для запуска на целевом вычислителе. Широта инструментов позволяет автоматически генерировать исходный код для различных микропроцессоров, операционных систем реального времени, программируемых логических интегральных схем (ПЛИС), программируемых логических контроллеров (ПЛК) и встраиваемых графических процессоров (GPU). Такой подход к разработке встраиваемых алгоритмов исключает ошибки ручного кодирования, гарантирует быстрое внесение изменений в проект, обеспечивает быстрый перенос алгоритмов с одной элементной базы на другую и с проекта на проект.

Ключевые особенности:

  • Автоматическая генерация читаемого, оптимизированного и единообразного кода
  • Поддержка любой отечественной и зарубежной элементной базы: Элвис, Миландр, Модуль, Texas Instruments, Analog Devices, Xilinx, Intel (Altera) и т.д.
  • Простота повторного использования и внесения изменений

Вы можете получить у нас пакет поддержки для расчета ЭКБ или вашей целевой платформы.

Тестирование кода на моделях

Создание надежных программных компонентов - это рутинный процесс, который связан с различными способами доказательства надежности программного кода. Модельно-ориентированнное проектирование предоставляет инструменты автоматизации тестирования для всестороннего анализа кода. Например, помимо функциональных тестов можно автоматически сгенерировать тестовые вектора для полного покрытия компонента тестами или, не выходя из модели, доказать полное соответствие алгоритма на уровне модели, Си кода и объектного кода, запущенного на целевом вычислителе.

Ключевые особенности:

  • Автоматизированная генерация тестовых сценариев для программного компонента
  • Доказательство отсутствия Run Time ошибок в коде
  • Регрессионное тестирование алгоритмов на модели, коде или процессоре
  • Статический анализ исходного кода
  • Формальная верификация Си кода методом абстрактной интерпретации
  • Удобный фреймворк для автоматизации функционального, модульного и нагрузочного тестирования

Стенды полунатурного моделирования

Проведение испытаний является неотъемлемой частью любой разработки, однако этот процесс может быть очень дорог, требовать специальных и труднодостижимых условий, а также быть небезопасным для здоровья людей или сохранности испытываемого изделия. Модельно-ориентированное проектирование снижает указанные риски и экономит бюджет за счет использования технологии программно-аппаратного тестирования (Hardware-in-the-Loop). Этот подход позволяет запустить модели окружения и физических компонентов системы на стенде реального времени, подключить к нему целевой вычислитель или контроллер с алгоритмами для того, чтобы проверить корректность его работы. При таком типе тестирования учитываются реальные интерфейсы, особенности реализации алгоритмов на целевом вычислителе, подключенное реальное оборудование и другие факторы. Таким образом, разработчики встраиваемых систем убеждаются в корректности, надежности и безопасности своего контроллера до проведения натурных испытаний на реальном объекте. По такому принципу строятся цифровые двойники (Digital Twin) или стенды типа “электронная/железная птица” в авиации.

Ключевые особенности:

  • Безопасные испытания встраиваемых систем с помощью стендов реального времени
  • Создание электронного двойника изделия для отработки решений
  • Экономия средств и времени за счет виртуальных испытаний, снижение количества натурных испытаний на полигоне
  • Быстрое переконфигурирование стендов под разные проекты

Систематическая верификация и валидация

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

Ключевые особенности:

  • Повторное использование тестовых сценариев на всех этапах проектирования
  • Автоматизация испытаний с помощью удобных инструментов
  • Применение формальных методов для доказательства надежности системы
  • Сертифицированные и квалифицируемые инструменты разработки и тестирования по международным и российским стандартам: КТ-178, КТ-254, ISO 26262, ГОСТ Р МЭК 61508, ГОСТ Р 51904, EN 50128, IEC 61511 и IEC 63204