Функциональный макет интерфейса - Functional Mock-up Interface

Функциональный макет интерфейса
Положение делОпубликовано
Год начался2010
Последняя версия2.0.1[1]
31 октября 2019 г.,; 13 месяцев назад (2019-10-31)
ОрганизацияПроект ассоциации Modelica (MAP)
Связанные стандартыСовместное моделирование
ДоменКомпьютерное моделирование
ЛицензияCC_BY_SA 3.0
СокращениеFMI
Интернет сайтСайт FMI

В Функциональный макет интерфейса (или же FMI) определяет стандартизованный интерфейс для использования в компьютерное моделирование разрабатывать сложные киберфизические системы.

Видение FMI состоит в том, чтобы поддержать этот подход: если реальный продукт должен быть собран из широкого диапазона частей, взаимодействующих сложным образом, каждая из которых контролируется сложным набором физические законы, тогда должна появиться возможность создать виртуальный продукт, который можно собрать из набора моделей, каждая из которых представляет собой комбинацию частей, каждая из которых является моделью физических законов, а также моделью Системы управления (с помощью электроника, гидравлика, и цифровой программного обеспечения ) собран в цифровом виде. Таким образом, стандарт FMI предоставляет средства для разработки систем на основе моделей и используется, например, для проектирования функций, которые управляются электронными устройствами внутри транспортных средств (например, контроллеры ESP, системы активной безопасности, контроллеры горения). Действия, связанные с системным моделированием, симуляцией, валидацией и тестированием, могут быть охвачены подходом на основе FMI.

Чтобы создать стандарт FMI, большое количество компаний-разработчиков программного обеспечения и исследовательских центров работали в рамках проекта сотрудничества, созданного через европейский консорциум, который был проведен Dassault Systèmes под именем МОДЕЛЬ. Проект MODELISAR начался в 2008 году с целью определения спецификаций FMI, проведения технологических исследований, подтверждения концепций FMI с помощью сценариев использования, разработанных партнерами консорциума, и предоставления поставщикам инструментов возможности создавать передовые прототипы или, в некоторых случаях, даже продукты. Разработка спецификаций FMI координировалась Daimler AG. После завершения проекта MODELISAR в 2011 году FMI управляется и развивается как Проект ассоциации Modelica (MAP).

Четыре необходимых аспекта FMI для создания моделей, которые можно собирать, были рассмотрены в проекте Modelisar:

  • FMI для обмена моделями,
  • FMI для совместное моделирование,
  • FMI для приложений,
  • FMI для PLM (интеграция моделей и связанных данных в управление жизненным циклом продукта).

На практике реализация FMI с помощью программного инструмента моделирования позволяет создать имитационную модель, которая может быть взаимосвязана, или создать программную библиотеку под названием FMU (Functional Mock-up Unit).[2]

Подход FMI

Типичный подход ИФР описывается следующими этапами:

  • Среда моделирования описывает подсистему продукта с помощью дифференциальных, алгебраических и дискретных уравнений со временем, состоянием и шаговыми событиями. Эти модели могут быть большими для использования в автономном или интерактивном моделировании или могут использоваться во встроенных системах управления;
  • в качестве альтернативы инженерный инструмент определяет код контроллера для управления системой транспортного средства;
  • такие инструменты генерируют и экспортируют компонент в FMU (Functional Mock-up Unit);
  • затем FMU можно импортировать в другую среду для выполнения;
  • Таким образом, несколько FMU могут сотрудничать во время выполнения через среду совместного моделирования, благодаря определениям их интерфейсов в FMI.

Лицензия

В Спецификации FMI распространяются по лицензиям с открытым исходным кодом:

  • спецификации находятся под лицензией CC-BY-SA (Creative Commons Attribution-Sharealike 3.0 Unported) CC_BY_SA 3.0
  • файлы C-заголовка и XML-схемы, которые сопровождают этот документ, доступны под BSD лицензия с расширением, что модификации также должны предоставляться по лицензии BSD.

Архитектура

Каждый FMU (Functional Mock-up Unit) распространяется в zip файл с расширением ".fmu", которое содержит:[2]

  • XML-файл, содержащий, помимо прочего, определение переменных, используемых FMU;
  • все уравнения, используемые моделью (определяемые как набор C функции);
  • необязательные другие данные, такие как таблицы параметров, пользовательский интерфейс, документация, которая может потребоваться для модели.

Пример

Ниже приведен пример описания модели FMI, полученного от Modelica.

<?xml version="1.0" encoding="UTF8"?>  fmiVersion ="1.0"  modelName ="ModelicaExample"  modelIdentifier ="ModelicaExample_Friction"...  >      unit ="рад">         displayUnit ="град" усиление ="23.26"/>     </BaseUnit>  </UnitDefinitions>  <TypeDefinitions>     <Тип имя ="Modelica.SIunits.AngularVelocity">         количество ="Угловая скорость" unit ="рад / с"/>     </Type>  </TypeDefinitions>  <ModelVariables>     <Скалярная переменная        имя ="inertia1.J"        valueReference ="16777217"        description ="Момент инерции"        изменчивость ="параметр">        <Реальный объявленный тип =«Модель.СИУнитц.Момент» начало ="1"/>     </ScalarVariable>...  </ModelVariables></fmiModelDescription>

Сравнение с S-функциями Simulink

FMI часто сравнивают с Simulink S-функции, поскольку обе технологии могут использоваться для интеграции сторонних инструментов вместе. S-функции используются для определения описания динамической системы на компьютерном языке. Они скомпилированы как MEX-файлы, которые динамически связаны с MATLAB при необходимости. S-функции используют синтаксис вызова, который взаимодействует с средствами решения уравнений Simulink. Это взаимодействие похоже на взаимодействие, которое имеет место между встроенными блоками Simulink и решающими программами.[3]

Сторонники FMI объясняют, что модели FMI имеют несколько преимуществ перед S-функциями Simulink:[4]

  • Формат S-функций является проприетарным, тогда как схема FMI лицензируется на условиях Лицензия BSD.
  • Строительные блоки S-функций намного сложнее, чем FMI, поэтому их очень сложно интегрировать в другие симуляторы, кроме самого Simulink.
  • Кроме того, формат S-функций специфичен для Simulink.
  • S-функции не подходят для встроенные системы, из-за накладных расходов памяти S-функций.

При использовании FMI / FMU также упоминается несколько ограничений:[5]

  • Память - параметры, состояния, входы и выходы не отображаются напрямую извне, что контрастирует с тем, как программное обеспечение ЭБУ обычно организовано по отношению к памяти, чтобы обеспечить прозрачность, простоту и эффективность.
  • Обработка событий. События могут непредсказуемо увеличить время работы систем реального времени.
  • В ЭБУ могут быть включены потенциально опасные функции - Некоторые функции, которые имеют смысл для автономного моделирования, не должны присутствовать в ЭБУ. Примеры функций, которые либо поддерживаются, либо явно не запрещены в FMI, включают ведение журнала и операции ввода-вывода, такие как print ().
  • Поддержка типов данных - для оптимизированного кода необходимо больше поддерживаемых типов данных. Например, нет способа различить переменную uint8 и uint32.

Сопровождающие стандарты и рекомендации

В мае 2014 года проектная группа Smart Systems Engineering (SmartSE) из ProSTEP iViP Ассоциация опубликовала свою Рекомендацию PSI 11 по обмену моделями поведения между компаниями.[6] Таким образом, FMI является технологической базой. PSI 11 определяет сценарии взаимодействия, варианты использования, эталонный процесс и шаблоны, которые, таким образом, могут упростить промышленное приложение. В конце 2016 года группа выпустила фильм, в котором следует осветить промышленные преимущества.[7]

Смотрите также

Рекомендации

  1. ^ «Спецификация FMI 2.0.1». github.com/modelica. 2019-10-31. Получено 2020-04-08.
  2. ^ а б «Интерфейс функционального макета (FMI)». modelica.org. Январь 2010 г.. Получено 2011-12-22. 26 января была выпущена версия 1.0 открытого функционального макета интерфейса (FMI for model exchange 1.0). Этот интерфейс был разработан в проекте ITEA2 MODELISAR для поддержки обмена моделями между инструментами моделирования и симуляции. Проект Modelisar координируется Dassault Systèmes. Разработка FMI была организована Daimler.
  3. ^ Степан Озана; Мартин Пироги. «Использование S-функций Simulink с методом конечных разностей, применяемым для теплообменников» (PDF). Материалы 13-й Международной конференции WSEAS по системам). Получено 2015-08-05.
  4. ^ Мартин Оттер; Хильдинг Эльмквист; Торстен Блохвиц; Якоб Маусс; Андреас Юнгханс; Ханс Ольссон. «Интерфейс функционального макета - Обзор» (PDF). synchronics.inria.fr. INRIA. Архивировано из оригинал (PDF) 20 июля 2011 г.. Получено 2011-01-23.
  5. ^ Кристиан Берч; Джонатан Нойдорфер; Эльмар Але; Шива Санкар Арумугхам; Картикеян Рамачандран; Андреас Туи. «FMI для физических моделей на встраиваемых автомобильных мишенях» (PDF). Материалы 11-й Международной конференции Modelica). Получено 2015-09-21.
  6. ^ ProSTEP iViP Рекомендация PSI 11, Разработка интеллектуальных систем, Обмен моделями поведения, версия 1.0, Май 2014 г.
  7. ^ Преимущества использования FMI для реализации системного инжиниринга между компаниями, По состоянию на февраль 2017 г.

внешняя ссылка