| 略語 | FMI |
|---|---|
| 状態 | 公開済み |
| 開始年 | 2010 |
| 最新バージョン | 3.0 [1] 2022年5月11日 |
| 組織 | Modelica 協会プロジェクト (MAP) |
| 関連規格 | 協調シミュレーション |
| ドメイン | コンピュータシミュレーション |
| ライセンス | CC BY-SA-3.0 |
| Webサイト | FMIウェブサイト |
機能モックアップ インターフェース( FMI )は、複雑なサイバー フィジカル システムを開発するためのコンピュータ シミュレーションで使用される標準化されたインターフェースを定義します。
FMI のビジョンは、このアプローチをサポートすることです。実際の製品が、複雑な方法で相互作用し、それぞれが複雑な物理法則によって制御されるさまざまな部品から組み立てられる場合、部品の組み合わせを表す一連のモデルから組み立てられる仮想製品を作成できる必要があります。各モデルは、物理法則のモデルであると同時に、デジタルで組み立てられた制御システム(電子機器、油圧、デジタルソフトウェアを使用) のモデルでもあります。したがって、FMI 標準は、システムのモデルベース開発の手段を提供し、たとえば、車両内の電子機器によって駆動される機能 (ESP コントローラー、アクティブ セーフティ システム、燃焼コントローラーなど) の設計に使用されます。システム モデリング、シミュレーション、検証、テストのアクティビティは、FMI ベースのアプローチでカバーできます。
FMI 標準を作成するために、多数のソフトウェア企業と研究センターが、ダッソー・システムズがMODELISARという名前で実施しているヨーロッパのコンソーシアムを通じて設立された協力プロジェクトに取り組んできました。MODELISAR プロジェクトは、FMI 仕様の定義、技術研究の提供、コンソーシアム パートナーが作成したユース ケースによる FMI コンセプトの証明、ツール ベンダーによる高度なプロトタイプや場合によっては製品の構築を可能にすることを目的として、2008 年に開始されました。FMI 仕様の開発は、ダイムラー AGがコーディネートしました。2011 年に MODELISAR プロジェクトが終了した後、FMI は Modelica Association Project (MAP) として管理および開発されています。
組み立て可能なモデルを作成するために必要な 4 つの FMI 側面は、Modelisar プロジェクトでカバーされています。
- モデル交換のためのFMI、
- 協調シミュレーションのためのFMI 、
- アプリケーション用のFMI、
- PLM向け FMI (製品ライフサイクル管理におけるモデルと関連データの統合)。
実際には、ソフトウェアモデリングツールによるFMIの実装により、相互接続可能なシミュレーションモデルの作成や、FMU(Functional Mock-up Unit)と呼ばれるソフトウェアライブラリの作成が可能になります。[2]
FMIアプローチ
典型的な FMI アプローチは、次の段階で説明されます。
- モデリング環境は、時間、状態、ステップイベントを含む微分方程式、代数方程式、離散方程式によって製品のサブシステムを記述します。これらのモデルは、オフラインまたはオンラインのシミュレーションで使用するために大規模にすることも、組み込み制御システムで使用することもできます。
- 代替として、エンジニアリング ツールは車両システムを制御するためのコントローラー コードを定義します。
- このようなツールは、FMU (機能モックアップ ユニット) でコンポーネントを生成してエクスポートします。
- その後、FMU を別の環境にインポートして実行できます。
- この方法により、複数の FMU は、インターフェースの FMI 定義により、共同シミュレーション環境を通じて実行時に連携できるようになります。
ライセンス
FMI 仕様はオープン ソース ライセンスに基づいて配布されます。
- 仕様はCC BY-SA(クリエイティブ・コモンズ表示-継承3.0非移植)CC BY-SA 3.0の下でライセンスされています。
- このドキュメントに付属する C ヘッダーおよび XML スキーマ ファイルは、BSD ライセンスの下で利用可能ですが、変更も BSD ライセンスの下で提供される必要があります。
建築
各FMU(機能モックアップユニット)は、拡張子「.fmu」のzipファイルで配布され、次のものが含まれています。 [2]
- FMU で使用される変数の定義などを含む XML ファイル。
- モデルで使用されるすべての方程式(C関数のセットとして定義されます)。
- モデルに必要な可能性のあるパラメータ テーブル、ユーザー インターフェイス、ドキュメントなどのその他のオプション データ。
例
以下は、 Modelicaから発行された FMI モデル記述の例です。
<?xml version="1.0" encoding="UTF8"?>
<fmiModelDescription
fmiVersion= "1.0" modelName= "ModelicaExample" modelIdentifier= "ModelicaExample_Friction" >
...
<UnitDefinitions>
<BaseUnit unit= "rad" > <DisplayUnitDefinition displayUnit= "deg" gain= "23.26" /> </BaseUnit> </UnitDefinitions> <TypeDefinitions> <Type name= "Modelica.SIunits.AngularVelocity" > <RealType quantity= "AngularVelocity" unit= "rad/s" /> </Type> </TypeDefinitions> <ModelVariables> <ScalarVariable name= "inertia1.J" valueReference= "16777217" description= "慣性モーメント" variability= "parameter" > <Real declarationType= "Modelica.SIunits.Torque" start= "1" /> </ScalarVariable>
...
</モデル変数>
</fmiモデルの説明>
Simulink S-Functionsとの比較
FMI は、サードパーティのツールを統合するために両方のテクノロジーを使用できることから、Simulink S-Function と比較されることが多いです。S-Function は、動的システムのコンピュータ言語記述を指定するために使用されます。これらは、必要に応じてMATLABに動的にリンクされる MEX ファイルとしてコンパイルされます。S-Function は、Simulink の方程式ソルバーと対話する呼び出し構文を使用します。この対話は、組み込みの Simulink ブロックとソルバーの間で行われる対話に似ています。[3]
FMI支持者は、FMIモデルはSimulink S-Functionに比べていくつかの利点があると説明している。[4]
- S-Functions 形式は独自のものですが、FMI スキーマはBSD ライセンスに基づいてライセンスされます。
- S-Function のビルディング ブロックは FMI よりもはるかに複雑であるため、Simulink 自体以外のシミュレータに統合することは非常に困難です。
- さらに、S-Function 形式は Simulink に固有です。
- S-Functionはメモリ オーバーヘッドがあるため、組み込みシステムには適していません。
FMI/FMUの使用に際してはいくつかの制限も挙げられている。[5]
- メモリ - パラメータ、状態、入力、出力は外部に直接公開されません。これは、透明性、シンプルさ、効率性を実現するために ECU ソフトウェアがメモリに関して通常どのように構成されているかとは対照的です。
- イベント処理 - イベントにより、リアルタイム システムの実行時間が予期せず増加する可能性があります。
- 潜在的に危険な機能が ECU に含まれている可能性があります - オフライン シミュレーションに適した一部の機能は、ECU には存在すべきではありません。FMI でサポートされているか明示的に禁止されていない機能の例には、ログ記録や print() などの I/O 操作が含まれます。
- データ型のサポート - 最適化されたコードには、より多くのデータ型のサポートが必要です。たとえば、uint8 変数と uint32 変数を区別する方法はありません。
| 略語 | エスエスピー |
|---|---|
| 状態 | 公開済み |
| 最新バージョン | 1.0 [6] |
| 組織 | モデリカ協会 |
| 関連規格 | 協調シミュレーション |
| ドメイン | コンピュータシミュレーション |
| ライセンス | CC BY-SA-3.0 |
| Webサイト | SSPウェブサイト |
システム構造とパラメータ化 (SSP)
システム構造とパラメータ化(SSP)[7]は、FMIの関連規格であり、シミュレート可能な複雑で階層的な(技術的な)システムを記述するための標準化されたオープンファイル形式を定義します。SSPファイルには、システムアーキテクチャ、システム要素のインターフェース、およびそれらの接続とパラメータ化の定義が含まれています。SSPの目的は、さまざまなツールを使用してシミュレートされるシステムの分散開発で使用されるシステム要素の交換と統合を簡素化することです。 [8]
SSP は Modelica 協会のプロジェクトとして開発されており、FMI 仕様に基づいています。FMI では個々のシミュレーション コンポーネントの交換が可能で、SSP では完全なシミュレーション システム、そのバリアント、およびパラメータ化の交換が可能です。SSP で記述されたシミュレーション システムのシミュレーション コンポーネントは FMI から独立していて、他の実装にマップすることもできます。
SSP は、OSI、要件のドキュメント化、トレーサビリティ、プロセス ステップなど、特定の要件やドメイン固有の拡張機能をサポートするように拡張可能です。SSP はコンポーネント形式に関してオープンです。FMI に基づいていますが、他の形式のコンポーネント仕様でも使用できます。
付随する標準と推奨事項
2014年5月、 ProSTEP iViP協会のプロジェクトグループSmart Systems Engineering (SmartSE)は、企業間の行動モデル交換に関する勧告PSI 11を発表しました。[9] FMIは、その技術的基盤です。PSI 11は、インタラクションシナリオ、ユースケース、参照プロセス、テンプレートを規定しており、これにより産業への応用が容易になります。2016年末、グループは、産業上の利点を強調する動画を公開しました。[10]
参照
参考文献
- ^ 「FMI仕様3.0」。github.com/modelica。2022年5月10日。 2023年2月7日閲覧。
- ^ ab "Functional Mockup Interface (FMI)". modelica.org. 2010 年 1 月. 2011 年 12 月 22 日閲覧。1
月 26 日に、オープンな Functional Mockup Interface のバージョン 1.0 がリリースされました (FMI for model exchange 1.0)。このインターフェイスは、モデリング ツールとシミュレーション ツール間のモデル交換をサポートするために、ITEA2 MODELISAR プロジェクトで開発されました。Modelisar プロジェクトは、Dassault Systèmes がコーディネートしています。FMI の開発は、Daimler が組織しました。
- ^ Stepan Ozana、Martin Pies。「熱交換器に適用された有限差分法による Simulink S 関数の使用」(PDF)。第 13 回 WSEAS 国際システム会議の議事録。2015年 8 月 5 日閲覧。
- ^ Martin Otter、Hilding Elmqvist、Torsten Blochwitz、Jakob Mauss、Andreas Junghanns、Hans Olsson。「Functional Mockup Interface – Overview」(PDF)。synchronics.inria.fr。INRIA 。 2011年7月20日時点のオリジナル(PDF)からアーカイブ。 2011年1月23日閲覧。
- ^ Christian Bertsch、Jonathan Neudorfer、Elmar Ahle、Siva Sankar Arumugham、Karthikeyan Ramachandran、Andreas Thuy。「自動車組み込みターゲットの物理モデル向け FMI」(PDF)。第 11 回国際 Modelica カンファレンスの議事録。2015年 9 月 21 日閲覧。
- ^ 「SSP仕様1.0」(PDF)。2019年3月5日。
- ^ 「SSP 標準ウェブページ」。Modelica 協会プロジェクト SSP。2023 年。2023 年 5 月 11 日閲覧。
- ^ Hällqvist, Robert; Munjulury, Raghu Chaitanya; Braun, Robert; Eek, Magnus; Krus, Petter (2021). 「システム構造およびパラメータ化 (SSP) 標準を使用したドメイン相互運用性のエンジニアリング」。Proc. 14th Modelica Conference. doi :10.3384/ecp2118137.
- ^ ProSTEP iViP 勧告 PSI 11、スマートシステムエンジニアリング、動作モデル交換、V 1.0、2014 年 5 月。
- ^ 企業間システムエンジニアリングを実現するFMI活用のメリット、2017年2月の状況
外部リンク
- FMIメインサイト
- SSPメインサイト
