FMI/FMUについて

FMI

概要

FMI

  • Functional Mock-up Interfaceの略
  • 動的シミュレーションモデルを行うためのインターフェイス仕様
  • CC-BY-SA 4.0 (Creative Common Attribution-ShareAlike 4.0 International)ライセンス
  • Modelca Association Project(MAP)として管理されており、MAP FMIとあらわされることもある

FMU

  • Functional Mock-up Unitの略
  • FMIを持つモデルの実体で、XMLファイルとc言語プログラム等からなる
  • Modelcaからリファレンスモデルを公開している:https://github.com/modelica/Reference-FMUs

略歴

  • 2008~2014年までアクティブであったEurekaプロジェクトのITEA2の、2008~2011年まで乗用車の組込みシステムを改善するために取り組まれたMODELISARというプロジェクトの成果のひとつとしてFMIが生まれた
    • ITEA2はInformation Technology for European Advancementの略で、Eurekaソフトウェア集約型システムでヨーロッパのリーダーシップを維持するための業界主導の共同R&Dプログラムである
    • Eurekaは1985年にヨーロッパの政治家によって設立された、R&Dのファンド等のための国際的な政府間組織。イノベーションにおける国際協力のためのオープン プラットフォームとして機能し、組織や企業はEurekaプログラムを通じて国や地域の省庁や機関からの国際R&Dプロジェクトへの資金提供や支援を受けることができる
    • 乗用車の組込みシステムの改善は、モデルベース開発と関連が大きい
      参考:モデルベースデザイン(Model-based Design:MBD)、モデルベース開発について
    • MODELISARのもう一つの大きな成果物は、AUTOSAR(AUTomotive Open System ARchitecture)
  • FMIはシミュレーションツールで広く使われたため、ITEA2が終わった後も、MODELISARのコアパートナーがFMIについて継続して取り組むことに同意し、Modelica Associationの傘下で行われることになった
    • 上記のことで関連する企業はDassault Systems, Siemens, dSPACE, ETAS, Bosch, Daimler
    • Modelica Associationは、1997年にVersion1.0をリリースしたオブジェクト指向のモデリング言語であるModelicaを継続的に取り組むために2000年に設立された組織
  • 2014年にFMI 2.0がリリース
  • 2017年に、ITEA3のEMPHYSIS (Embedded systems with physical models in the production code software)というプロジェクト内で、eFMI (FMI for embedded systems)という電子制御ユニット (Electronic Control Units: ECU) のソフトウェア開発環境を使用して、モデリング環境とシミュレーション環境の間で物理ベースのモデルを交換するための新しい標準仕様の作成に取り組まれた
  • 2020年にFMI 2.0.2がリリース
  • 2022年にFMI 3.0がリリース

FMUの実体

  • 下記のファイルをzipアーカイブしたもの(拡張子は.fmu)
    • XML
      • FMUの変数やstaticな情報が定義されている
      • 必須ではない
    • C
      • モデルを表すプログラム
      • Co-simulation県境へのインターフェイス
    • その他
      • モデルのアイコン
      • 説明のためのドキュメント
      • など、なんでも入れていい

Versionの違い

FMI 1.0

  • Model Exchange(ME)
    • サプライヤーとOEM企業の間でシミュレーションモデルをやりとりできるようにすることが主な目的

FMI 2.0

  • Model Exchange(ME)
  • Co-simulation of dynamic models(CS)
    • 異なるシミュレーション環境間のインターフェイス標準を定めることが主な目的

FMI 3.0

  • Model Exchange
  • Cosimulation of dynamic models
  • Scheduled execution interface
    • モデルの計算時間を細かく制御するリアルタイムシミュレーションやイベントドリブンのシミュレーションなどに対応することが目的
    • vECU(virtual ECU)のシミュレーションが意識されている

参考

  1. https://fmi-standard.org/about/
  2. https://en.wikipedia.org/wiki/Eureka_(organisation)#Significant_projects
  3. https://web.archive.org/web/20120114005036/http://www.eurekanetwork.org/project/-/id/3674
  4. https://www.tubitak.gov.tr/tubitak_content_files/EUREKA/itea2/itea2_leaflet.pdf
  5. https://www.asam.net/index.php
  6. https://fmi-standard.org/assets/literature/FMI_User_Meeting_2017/01_MAP-FMI_User_Meeting_Kickoff.pdf
  7. https://modelon.com/blog/functional-mock-up-interface-fmi/
  8. https://emphysis.github.io/