(57)【要約】      （修正有）【課題】統合モジュール式アーキテクチャ（ＩＭＡ）モデルを生成するためのシステムを提供する。【解決手段】第１のＩＭＡプロトコル定義をコンピュータモデリング環境にインポートし、ライブラリを生成し、ＩＭＡモデルオブジェクトを生成するためのインターフェースインポータと、ＩＭＡモデルオブジェクトの一部をコンピュータモデリング環境にインポートし、航空機の航空機システム１０６に対応する第１のＩＭＡモデルを生成し、第１のＩＭＡモデルを含むＩＭＡモデルを生成することによって航空機に対応するＩＭＡシステムモデルを生成するためのモデルオブジェクトハンドラとを備える。ＩＭＡシステムモデルを検証するためのインターフェースバリデータ、ＩＭＡシステムモデルが検証されるときに航空機システムの製造ビルド命令を生成するためのインターフェースエクスポータ及び航空機システムの製作を開始するためのレポートジェネレータを備える。【選択図】図１
2019215855.tif 000002
【特許請求の範囲】
【請求項１】
インターフェースインポータ（４３０）であって、
第１の統合モジュール式アーキテクチャ（ＩＭＡ）プロトコル定義（５４０）を第１のコンピュータモデリング環境（５３０）にインポートし、前記第１のＩＭＡプロトコル定義（５４０）に基づいて複数のライブラリ（５５０）を生成し、
前記複数のライブラリ（５５０）に基づいて複数のＩＭＡモデルオブジェクト（７８０）を生成するためのインターフェースインポータ（４３０）と、
モデルオブジェクトハンドラ（４５０）であって、
前記複数のＩＭＡモデルオブジェクト（７８０）のうちの一部を前記第１のコンピュータモデリング環境（５３０）にインポートし、航空機（１０８）の航空機システム（１０６）に対応する第１のＩＭＡモデル（７０４）を生成し、
前記第１のＩＭＡモデル（７０４）を含む複数のＩＭＡモデル（７０２）を生成することによって、前記航空機（１０８）に対応するＩＭＡシステムモデル（７５４）を生成するためのモデルオブジェクトハンドラ（４５０）と、
前記ＩＭＡシステムモデル（７５４）の出力を検証出力と比較することによって、前記ＩＭＡシステムモデル（７５４）を検証するためのインターフェースバリデータ（４８０）と、
前記ＩＭＡシステムモデル（７５４）が検証されるときに、前記航空機システム（１０６）の製造ビルド命令（１２４）を生成するためのインターフェースエクスポータ（４４０）と、
前記製造ビルド命令（１２４）に基づいて前記航空機システム（１０６）の製作を開始するためのレポートジェネレータ（４９０）と
を備える装置（１００）。
【請求項２】
前記第１のＩＭＡプロトコル定義（５４０）が、前記航空機システム（１０６）に関連するインターフェース情報、要件情報、又は仕様情報のうちの少なくとも１つを含む、請求項１に記載の装置（１００）。
【請求項３】
前記インターフェースインポータ（４３０）が、
インターフェース制御データベース（ＩＣＤ）トランスレータ（４６０）に、第１のＩＣＤトランスレータ（５２０）を使用して、第１のＩＣＤソース（５０８）に含まれる第１のＩＣＤプロトコル定義（５１４）を、ＬＮＭ（５１８）に含まれる第１の言語中立モデル（ＬＮＭ）プロトコル定義（５２６）に変換するように命令することと、
言語固有モデル（ＬＳＭ）のトランスレータ（４７０）に、第１のＬＳＭトランスレータ（５３４）を使用して、前記第１のＬＮＭプロトコル定義（５２６）を前記第１のモデリング環境（５３０）に含まれる前記第１のＩＭＡプロトコル定義（５４０）に変換するように命令することとによって、前記第１のＩＭＡプロトコル定義（５４０）をインポートする、請求項１又は２に記載の装置（１００）。
【請求項４】
前記第１のＩＭＡモデル（７０４）が、下位層（６１８）、プレゼンテーション層（５００）、及び上位層（５０８）を含み、前記下位層（６１８）が、デジタル通信読取機能（７０８）又はセンサ読取機能（７１１）の少なくとも１つを含む、請求項１から３のいずれか一項に記載の装置（１００）。
【請求項５】
前記インターフェースバリデータ（４８０）が、デジタル通信読取機能（７０８）を介して、ネットワークスイッチ（７０６）からリアルタイムでネットワークデータを取得すること、又はセンサ読取機能（７１１）を介して、センサ（７１０）からリアルタイムでセンサデータを取得することのうちの少なくとも１つによって、前記ＩＭＡシステムモデル（７５４）を検証する、請求項１から４のいずれか一項に記載の装置（１００）。
【請求項６】
前記インターフェースエクスポータ（４４０）が、
前記ＩＭＡシステムモデル（７５４）に基づいて機械可読命令を生成し、
前記機械可読命令（１２４）を前記航空機システム（１０６）又は前記航空機（１０８）のうちの少なくとも１つに展開し、
前記機械可読命令（１２４）に基づいて、前記航空機システム（１０６）又は前記航空機（１０８）のうちの少なくとも１つの動作を引き起こす、請求項１から５のいずれか一項に記載の装置（１００）。
【請求項７】
第１の統合モジュール式アーキテクチャ（ＩＭＡ）プロトコル定義（５４０）を第１のコンピュータモデリング環境（５３０）にインポートし、前記第１のＩＭＡプロトコル定義（５４０）に基づいて複数のライブラリ（５５０）を生成することと、
前記複数のライブラリ（５５０）に基づいて、複数のＩＭＡモデルオブジェクト（７８０）を生成することと、
前記複数のＩＭＡモデルオブジェクト（７８０）のうちの一部を前記第１のコンピュータモデリング環境（５３０）にインポートし、航空機（１０８）の航空機システム（１０６）に対応する第１のＩＭＡモデル（７０４）を生成することと、
前記第１のＩＭＡモデル（７０４）を含む複数のＩＭＡモデル（７０２）を生成することによって、前記航空機（１０８）に対応するＩＭＡシステムモデル（７５４）を生成することと、
前記ＩＭＡシステムモデル（７５４）の出力を検証出力と比較することによって、前記ＩＭＡシステムモデル（７５４）を検証することと、
前記比較に基づいて前記ＩＭＡシステムモデル（７５４）を検証することに応じて、前記航空機システム（１０６）の製造ビルド命令（１２４）を生成することと、
前記製造ビルド命令（１２４）に基づいて、前記航空機システム（１０６）の製作を開始することと
を含む方法。
【請求項８】
前記第１のＩＭＡプロトコル定義（５４０）をインポートすることが、
第１のＩＣＤトランスレータ（４６０）を用いて、第１のＩＣＤソース（５０８）に含まれる第１のインターフェース制御データベース（ＩＣＤ）プロトコル定義（５１４）を、ＬＮＭ（５１８）に含まれる第１の言語中立モデル（ＬＮＭ）プロトコル定義（５２６）に変換することと、
第１の言語固有モデル（ＬＳＭ）トランスレータ（５３４）を用いて、前記第１のＬＮＭプロトコル定義（５２６）を、前記第１のモデリング環境（５３０）に含まれる前記第１のＩＭＡプロトコル定義（５４０）に変換することと
を含む、請求項７に記載の方法。
【請求項９】
第１のＬＮＭプロトコル定義（５２６）のうちの一部を少なくとも１つのＬＮＭ定義規則と比較し、前記比較に基づいて前記第１のＬＮＭプロトコル定義（５２６）を検証することと、
前記第１のＩＭＡプロトコル定義（５４０）のうちの一部を前記少なくとも１つのＩＭＡ定義規則と比較し、前記比較に基づいて前記第１のＩＭＡプロトコル定義（５４０）を検証することと
を更に含む、請求項７又は８に記載の方法。
【請求項１０】
前記第１のＩＭＡモデル（７０４）が、下位層（６１８）、プレゼンテーション層（６００）、及び上位層（６０８）を含み、前記下位層（６１８）が、デジタル通信読取機能（７０８）又はセンサ読取機能（７１１）の少なくとも１つを含む、請求項７から９のいずれか一項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に航空機に関し、より具体的には、統合モジュール式アーキテクチャモデルを生成するためのシステム、方法、及び装置に関する。
【背景技術】
【０００２】
近年、典型的な航空機システムは、航空機システムのモニタリング及び動作を改善するためにますます統合されるようになってきている。航空機システム間のインターフェースの管理は、次第に複雑になってきている。航空機システムの製造及び組み立て中に発見された統合の非効率性を改善するために、航空機システムを再設計することにより、コストの増加が起こる可能性がある。コンピュータ生成モデルは、製造時の使用のために公開される前に、航空機システム設計の有効性を評価するために使用することができる。
【発明の概要】
【０００３】
統合モジュール式アーキテクチャモデルを生成するためのシステム、方法、装置、及び製品が開示される。例示的装置は、第１のＩＭＡプロトコル定義を第１のコンピュータモデリング環境にインポートし、第１のＩＭＡプロトコル定義に基づいて複数のライブラリを生成し、複数のライブラリに基づいて複数のＩＭＡモデルオブジェクトを生成するためのインターフェースインポータと、複数のＩＭＡモデルオブジェクトのうちの一部を第１のコンピュータモデリング環境にインポートし、航空機の航空機システムに対応する第１のＩＭＡモデルを生成し、第１のＩＭＡモデルを含む複数のＩＭＡモデルを生成することによって、航空機に対応するＩＭＡシステムモデルを生成するためのモデルオブジェクトハンドラとを含む。例示的装置は、ＩＭＡシステムモデルの出力を検証出力と比較することによって、ＩＭＡシステムモデルを検証するためのインターフェースバリデータと、ＩＭＡシステムモデルが検証されるときに航空機システムの製造ビルド命令を生成するためのインターフェースエクスポータと、製造ビルド命令に基づいて航空機システムの製作を開始するためのレポートジェネレータとを更に備える。
【０００４】
例示的なコンピュータ実装方法は、第１の統合モジュール式アーキテクチャ（ＩＭＡ）プロトコル定義を第１のコンピュータモデリング環境にインポートし、第１のＩＭＡプロトコル定義に基づいて複数のライブラリを生成することと、複数のライブラリに基づいて複数のＩＭＡモデルオブジェクトを生成することと、複数のＩＭＡモデルオブジェクトのうちの一部を第１のコンピュータモデリング環境にインポートし、航空機の航空機システムに対応する第１のＩＭＡモデルを生成することと、第１のＩＭＡモデルを含む複数のＩＭＡモデルを生成することによって、航空機に対応するＩＭＡシステムモデルを生成することと、ＩＭＡシステムモデルの出力を検証出力と比較することによって、ＩＭＡシステムモデルを検証することと、比較に基づいてＩＭＡシステムモデルを検証することに応じて、航空機システムの製造ビルド命令を生成することと、製造ビルド命令に基づいて航空機システムの製作を開始することとを含む。
【０００５】
例示的な非一過性のコンピュータ可読記憶媒体は、実行されるときに、機械に、第１の統合モジュール式アーキテクチャ（ＩＭＡ）プロトコル定義を第１のコンピュータモデリング環境に少なくともインポートさせ、第１のＩＭＡプロトコル定義に基づいて複数のライブラリを生成させ、複数のライブラリに基づいて複数のＩＭＡモデルオブジェクトを生成させ、複数のＩＭＡモデルオブジェクトのうちの一部を第１のコンピュータモデリング環境にインポートさせ、航空機の航空機システムに対応する第１のＩＭＡモデルを生成させ、第１のＩＭＡモデルを含む複数のＩＭＡモデルを生成することによって、航空機に対応するＩＭＡシステムモデルを生成させ、ＩＭＡシステムモデルの出力を検証出力と比較することによって、ＩＭＡシステムモデルを検証させ、比較に基づいてＩＭＡシステムモデルが検証されるときに航空機システムの製造ビルド命令を生成させ、かつ製造ビルド命令に基づいて航空機システムの製作を開始させる命令を含む。
【図面の簡単な説明】
【０００６】
【図１】統合モジュール式アーキテクチャ（ＩＭＡ）を使用して例示的航空機に関連する複数の例示的航空機システムモデルを生成するための例示的システムワークフローを示す。
【図２】図１の航空機の例示的航空機制御ハードウェアを通信可能に結合するために使用される例示的航空機ネットワークの概略図である。
【図３】例示的モデリング環境における例示的ライン交換可能ユニット（ＬＲＵ）インターフェース制御データベース（ＩＣＤ）オブジェクト及びＬＲＵ  ＩＣＤオブジェクトの対応する例示的ＩＭＡモデルを示す。
【図４】本明細書に開示される例を実装するための例示的モデルマネージャ装置の例示的実施態様のブロック図である。
【図５】例示的言語中立ドメインを介して例示的データソースドメインから例示的言語固有ドメインに例示的情報をインポートする概略図である。
【図６】例示的モデリングシステムの例示的プレゼンテーション層の例示的実装態様である。
【図７Ａ】図１の航空機に関連する複数のＩＭＡ  ＬＲＵモデルを生成、実行、及び検証するための例示的ＩＭＡモデル生成システムを示す。
【図７Ｂ】図７ＡのＩＭＡモデル生成システムの続きを示す。
【図７Ｃ】例示的モデリング環境に関連するライブラリを生成する図４のモデルマネージャ装置を示す。
【図８】図１の航空機に関連するＩＭＡシステムモデルを生成するように図４のモデルマネージャ装置を実装するために実行することができる機械可読命令を表すフローチャートである。
【図９】ＩＭＡシステムモデルに関連する定義をモデリング環境にインポートするように図４のモデルマネージャ装置を実装するために実行することができる機械可読命令を表すフローチャートである。
【図１０】ＩＭＡシステムモデルに関連するモデルオブジェクトを構成するように図４のモデルマネージャ装置を実装するために実行することができる機械可読命令を表すフローチャートである。
【図１１】ＩＭＡシステムモデルに関連する出力を生成するように図４のモデルマネージャ装置を実装するために実行することができる機械可読命令を表すフローチャートである。
【図１２】図４のモデルマネージャ装置を実装するように図８から図１１の命令を実行するように構成された例示的な処理プラットフォームのブロック図である。
【発明を実施するための形態】
【０００７】
図面は、縮尺通りではない。一般に、図面及び添付の記載の全体を通して、同一の部分又は類似の部分は、同じ参照番号で示されることになる。
【０００８】
典型的な航空機は、航空機システムの制御、モニタリング、及び動作を改善するために高度に統合された航空機システムを使用する。本明細書で使用される際に、「航空機システム」という用語は、航空機機能を実行するように動作可能な、１つ又は複数の結合された（例えば、電気的に結合された、電気機械的に結合された、機械的に結合された、など）構成要素（例えば、電気構成要素、機械構成要素、電気機械構成要素など）を含む、航空機の下位区分（例えば、電気システム、機械システム、電気機械システムなど、及び／又はそれらの組み合わせ）を指す。例えば、航空機システムは、モータ、コントローラ、遠隔電子ユニットなどの構成要素に対応することができる。
【０００９】
典型的な航空機システムは、ますます多くの電気的に相互接続された構成要素を含むので、航空機システムの設計を検証することは、ますます複雑になる。例えば、航空機システムを設計することは、航空機システムと航空機システムに電気的に結合された他の航空機システムとの間のインターフェース及び相互接続を評価することを含むことができる。コンピュータ生成モデルは、製造時に使用するために公開される前に、相互接続を分析し、航空機システムの設計を検証するために使用することができる。
【００１０】
従来のコンピュータ生成モデル分析の実装では、複数の相互接続された航空機システムを分析するためのコンピュータ生成モデルの使用には問題があった。例えば、第１の航空機システムをシミュレートするために使用される第１のコンピュータ生成モデルは、第２のコンピュータ生成モデルを使用してモデル化された第２の航空機システムとは、異なるアーキテクチャ、異なる分析基準、異なるタイミング分析などを使用しうる。そのような例では、第１の航空機システムと第２の航空機システムとの間の相互接続を検証するために、第１及び第２のコンピュータ生成モデルをうまく統合する試みは、見込みがなかった。
【００１１】
同様に、従来のコンピュータ生成モデル分析実装では、第１のコンピュータモデリング環境（例えば、ＭＡＴＬＡＢ（登録商標）Ｓｉｍｕｌｉｎｋ（登録商標）、Ｎａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ（登録商標）ＬＡＢＶＩＥＷ（登録商標）、ＯＭＧ  ＳｙｓＭＬ（登録商標）など）に基づく第１のモデル、及び第２のコンピュータモデリング環境に基づく第２のモデルをうまく統合する及び／又はそうでなければ通信可能に結合する試みにより、互換性は複雑になった。例えば、互換性の複雑さは、必然的にコンピュータ技術に根ざしているが、それは、構成、定義、機能性などは、コンピュータモデリング環境間で根本的に異なる可能性があり、そのため、統合時にモデルインターフェース間で互換性の問題が発生するからである。
【００１２】
従来の実施態様では、異なるコンピュータモデリング環境に基づくモデル間の互換性の問題を解決しようとすると、誤ったデータ及び変換エラーが発生した。いくつかの従来の実施態様では、モデル開発者は、異なるコンピュータモデリング環境を使用して、モデル間でデータを変換するための翻訳アプリケーション又はインターフェースを作成した。しかし、大規模モデルではモデル開発者が誤植を入力する機会が多く発生するため、変換インターフェースを作成する手動のプロセスは、人的ミスが発生しやすい傾向にあった。同様に、モデル開発者は、修正されたアスペクトを説明するために翻訳インターフェースを更新せずに、モデルのうちの１つのアスペクトを修正したため、システムモデル全体を壊し、誤ったデータを生成するなどということになった。
【００１３】
いくつかの従来の実施態様では、翻訳インターフェースに関連するモデルは、アプリケーション間で容易に移植できなかった。例えば、第１のアプリケーション内の第１の翻訳インターフェースに関連するモデルは、モデルが第２のアプリケーションに移動したときに第２の翻訳インターフェースを作成することを必要とすることになるだろうが、これは、翻訳インターフェースが、アプリケーション及び／又はコンピュータモデリング環境に固有のものであったからだ。その結果、様々なアプリケーションや様々なコンピュータモデリング環境にわたってモデルを再利用しようとすると再作業が発生し、開発、検証、及びプロジェクト開発の試験時間の増加につながった。
【００１４】
本明細書に開示される例は、統合モジュール式アーキテクチャ（ＩＭＡ）モデルを生成するために動作可能である。ＩＭＡモデルは、移動体システム（例えば、航空機システム）又は移動体サブシステム（例えば、航空機サブシステム）に関連する機能をシミュレート及び／又は他の方法で検証するために使用されるコンピュータ生成モデルである。いくつかの例では、ＩＭＡモデルは、いくつかの航空機では、より少数のより集中型のＩＭＡ処理ユニットで多数の別個のプロセッサ及びライン交換可能ユニット（ＬＲＵ）を置き換えることができる統合モジュール式アビオニクス概念に基づく。いくつかの航空機では、共通コアシステムは、１つ又は複数の処理モジュール、電力制御モジュール、ネットワークスイッチ、特定用途向けモジュールなど及び／又はそれらの組合せを含む１つ又は複数の共通コアリソース（ＣＣＲ）キャビネット又はＩＭＡ処理ユニットを含む。
【００１５】
本明細書のいくつかの開示された例では、ＩＭＡモデルマネージャ装置は、データソースドメインに格納されている移動体（例えば、航空機、無人航空機、陸上移動体など）の要件及び仕様を、言語固有ドメイン内の複数の移動体モデル（例えば、１００の移動体モデル、１０００の移動体モデル、１００００の移動体モデルなど）に変換（例えば自動的に変換）する。例えば、複数の移動体モデルのそれぞれは、コンピュータモデリング環境における要件及び仕様の複数の抽象概念又はソフトウェア表示を含むことができる。
【００１６】
いくつかの例では、ＩＭＡモデルマネージャ装置は、大規模モデル生成の自動化によるモデルベースの開発アプローチで使用される場合、インターフェース制御データベース（ＩＣＤ）の定義、保守、検証、分析、及びネイティブ設計ツールにおける機能要件との統合を可能にし、様々なコンピュータモデリング環境に関連する変換インターフェースの開発時間を短縮することにより、エラーを排除し、プロジェクト開発時間を短縮する。本明細書で使用される際、「インターフェース制御データベース」という用語は、サブシステム、システムなどの間のインターフェース、及び／又はそれらの組み合わせに関連する、インターフェース情報（例えば、通信アドレス、通信ノード、装置アドレス、装置識別子、物理的接続情報（例えば、電気接点位置、ピン配列詳細、配線情報など））に関連する情報を含むリポジトリを指す。
【００１７】
いくつかの例では、移動体のＣＣＲキャビネットは、同一の又は実質的に類似のハードウェアを含む。しかしながら、ＣＣＲキャビネットの各々は、様々な機能を提供することができ、様々な請負業者又は供給業者によって移動体製造業者に提供することができる。供給業者間、又は供給業者と移動体製造業者との間の統合は、たとえそれらが同じＣＣＲキャビネット（例えば、同じハードウェア）を使用していても問題を引き起こす可能性がある。本明細書に開示される例は、ＩＭＡモデル間でパラメータ及び信号を通信するための標準化された定義を用いて、ＩＭＡモデルを生成することによって、そのような問題を軽減することができる。いくつかの例では、標準化された定義を有するＩＭＡモデルには、ＩＣＤ、モデルライブラリなどからの入力データ及び／又はＩＣＤ、モデルライブラリなどへの出力データを変換する又は変形するために、メタデータが埋め込まれている。
【００１８】
本明細書で開示されるいくつかの例では、言語中立ドメインで動作する言語中立モデル（ＬＮＭ）は、ＩＣＤと言語固有モデル（例えば、モデリング環境で動作するＩＭＡモデル）との間のバッファとして展開される。いくつかの例では、ＬＮＭは、ＩＣＤとコンピュータモデリング環境との間のバッファとして動作する。例えば、ＩＭＡモデル管理装置は、ＩＣＤに含まれる情報に基づいて、ＩＭＡモデルオブジェクトを含むＩＭＡライブラリを生成することにより、ＩＭＡモデルを生成することができる。例えば、ＩＭＡモデルマネージャ装置は、ＬＮＭを介してＩＣＤから情報をインポートし、インポートされた情報を用いてＩＭＡモデルオブジェクトの定義を事前設定することができる。
【００１９】
いくつかの例では、ＩＭＡモデルマネージャ装置は、ＩＭＡモデルオブジェクトをＩＭＡライブラリからコンピュータモデリング環境にインポートして、設計検証、機能試験などを実行することによって、ＩＭＡモデルを生成することができる。例えば、ＬＮＭは、ＩＣＤの第１のデータフォーマットスキーマに基づくＩＣＤトランスレータ機構を使用して、ＩＣＤから対応する情報を取得し、コンピュータモデリング環境の第２のデータフォーマットスキーマに基づく言語固有モデルトランスレータ機構を使用して、情報をコンピュータモデリング環境に送信することができる。そのような例では、ＩＣＤが変更された場合、コンピュータモデリング環境又は第２のトランスレータを新しいＩＣＤの影響を受けずに、新しいＩＣＤ情報をＬＮＭフォーマットに変換するための新しい変換機構を開発することができる。
【００２０】
図１は、ＩＭＡを使用して１つ又は複数の例示的移動体モデル１０４を生成するために例示的モデル生成システム１０２を実行する例示的モデルマネージャ１００を示す。例えば、モデルマネージャ１００は、ＩＭＡモデルマネージャとすることができる。例えば、モデル生成システム１０２は、ＩＭＡモデル生成システムとすることができる。例えば、移動体モデル１０４は、航空機システムモデル、無人航空機システムモデル、陸上移動体モデルなどとすることができる。図１では、移動体モデル１０４は、移動体モデル１０４は、例示的航空機１０８に含まれる例示的航空機システム１０６に関連する１つ又は複数のコンピュータベースのモデルオブジェクトを含むモデルである。例えば、航空機システム１０６は、１つ又は複数の電気部品、電気機械部品、油圧部品などを含むエルロン作動システム、フラップ作動システムなどとすることができる。航空機１０８が図１に示されているが、追加的又は代替的には、本明細書に開示される例は、陸上移動体（例えば、自動車、バス、トラックなど）、無人航空機、水上移動体（例えば、ボート、潜水艦など）の任意の他の種類の移動体などに適用可能である。
【００２１】
図１において、モデル生成システム１０２は、第１の動作１１２を含むモデル管理ワークフロー１１０を実装する。代替的には、モデル管理ワークフロー１１０は、図１に示される様々なブロック又は動作で開始又は実行することができる。代替的には、モデル管理ワークフロー１１０は、図１に示されるよりも少ない又は多い動作を含むことができる。第１の動作１１２において、モデルマネージャ１００は、ＩＣＤ１１４に変換するためのモデルを識別する。例えば、モデルマネージャ１００は、ＬＲＵ、遠隔データ集信装置（ＲＤＣ）、ＣＣＲキャビネットなどに含まれる汎用処理モジュール（ＧＰＭ）などのＩＣＤで定義される航空機システム構成要素に関連するコンピュータベースモデルを識別することができる。
【００２２】
図１の例示的な実施例では、モデル管理ワークフロー１１０は、モデルマネージャ１００がモデル−ＩＣＤ変換を生成する第２の動作１１６を含む。例えば、モデルマネージャ１００は、モデル定義（例えば、モデル入力パラメータ、モデル出力パラメータなど）とＩＣＤ定義との間のマッピングを生成することができる。ＩＣＤ定義は、ＩＣＤのデータフォーマットに基づいて、データフィールド、データ構造などに対応することができる。例えば、モデルマネージャ１００は、機能ステータス、パラメータ、データセット、メッセージ構造、通信ポートなどの標準的なデータフィールドを航空機システム構成要素に割り当てることによって、変換を生成することができる。モデルマネージャ１００は、航空機システム構成要素に対応する情報を使用して標準データフィールドを事前設定することができる。標準データフィールドを事前設定することに応じて、モデルマネージャ１００は、モデルマネージャ１００による格納及び将来の検索のために変換をＩＣＤ１１４にエクスポートすることができる。
【００２３】
いくつかの例では、モデルマネージャ１００は、航空機システム構成要素をＩＣＤ１１４内の基準航空機システム構成要素（例えば、以前に定義された航空機システム構成要素）にマッピングすることによって変換を生成する。例えば、航空機システム構成要素と基準航空機システム構成要素との一致を決定することに応じて、ＩＣＤ１１４は、モデルマネージャ１００によって航空機システム構成要素に割り当てられる及び／又は別の方法で適用される定義を返すことができる。例えば、モデルマネージャ１００は、基準航空機システム構成要素に関連する定義を航空機システム構成要素に割り当て、及び／又は別の方法で適用することができる。
【００２４】
図１において、モデル管理ワークフロー１１０は、モデルマネージャ１００がモデル−ＩＣＤ変換を使用してモデルを生成する第３の動作１１８を含む。例えば、モデルマネージャ１００は、関心の対象となる航空機システム構成要素のためのＩＭＡモデルを生成することができる。モデルマネージャ１００は、コンピュータモデリング環境（ＣＭＥ）内の対象の航空機システム構成要素に関連するＩＣＤモデルオブジェクト及び対応するＩＣＤ定義についてＩＣＤ１１４に照会することができる。照会に応じて、ＩＣＤ１１４は、ＩＣＤモデルオブジェクトを返すことができ、モデルマネージャ１００は、ＩＣＤモデルオブジェクトをＣＭＥモデルオブジェクトに変換することができる。モデルマネージャ１００は、ＩＣＤモデルオブジェクトに関連するＩＣＤ定義をＣＭＥモデルオブジェクトに関連するＣＭＥ定義に変換することができる。
【００２５】
いくつかの例では、モデルマネージャ１００は、返されたＩＣＤ定義に含まれる構成パラメータを１つ又は複数のＩＭＡ定義規則と比較することによって、ＩＣＤ定義を検証する。１つ又は複数のＩＭＡ定義規則を満たす返されたＩＣＤ定義に応じて、モデルマネージャ１００は、変換モデル１２０及び／又は変換モデルライブラリ１２０を生成することができる。例えば、モデルマネージャ１００は、ＩＭＡモデルに含まれる及び／又はそれに関連する１つ又は複数のモデルオブジェクト、論理条件、接続点などを生成することができる。
【００２６】
図１では、モデルマネージャ１００は、変換モデル１２０及び／又は変換モデルライブラリ１２０を使用して、移動体モデル１０４を実行して、モデル出力を生成する。例えば、モデルマネージャ１００は、移動体モデル１０４を実行してモデル出力を生成することによって、航空機１０８の航空機システム１０６の機能又は動作モードをシミュレートすることができる。
【００２７】
図１では、航空機システム１０６は、例示的な出力１２４を生成することによって、第４の動作１２２で製作にリリースされる。例えば、対応する移動体モデル１０４をシミュレートすることによって航空機システム１０６の動作をうまく検証したことに応じて、モデルマネージャ１００は、航空機システム１０６が組み立て、建設、製造などのためにリリースされることを示す、警告、レポートなどの出力を生成することができる。
【００２８】
いくつかの例では、出力１２４は、サプライチェーン構築命令である。例えば、モデルマネージャ１００は、サプライチェーンコンピューティングシステムによって実行される命令を生成することができ、移動体モデル１０４のうちの１つ又は複数を含むＩＭＡシステムモデルに関連する航空機システム１０６を構築するために、構成要素の注文、作業の割り当てなどを開始する。別の例では、モデルマネージャ１００は、サプライチェーン構築命令を含むレポートを生成することができる。例えば、サプライチェーン構築命令は、ＩＭＡシステムモデルに関連する航空機システム１０６の構築に関連する図面、要求文書、仕様文書、ＩＣＤ文書などを含むことができる。
【００２９】
いくつかの例では、出力１２４は、製造ビルド命令である。例えば、モデルマネージャ１００は、製造コンピューティングシステムによって実行される命令を生成することができ、移動体モデル１０４のうちの１つ又は複数を含むＩＭＡシステムモデルに関連する航空機システム１０６を構築するために、構成要素の製造、作業の割り当てなどを開始する。別の例では、モデルマネージャ１００は、製造ビルド命令を含むレポートを生成することができる。例えば、製造ビルド命令は、ＩＭＡシステムモデル７５４に関連する航空機システムの構築に関連する図面、要求文書、仕様文書、ＩＣＤ文書などを含むことができる。
【００３０】
いくつかの例では、出力１２４は、機械可読命令である。例えば、モデルマネージャ１００は、航空機１０８、航空機１０８に関連する飛行シミュレータなどによって展開される変換モデル１２０に基づいて、コンピュータ可読命令（例えば、バイナリコード、ハードウェア論理命令など）を生成することができる。例えば、出力１２４は、変換モデル１２０に含まれる機能を実装するためのバイナリコードでありうる。１つ又は複数のハードウェア回路が、飛行中に航空機１０８の１つ又は複数の航空機システム１０６を動作させるためにバイナリコードを展開することができる。代替的には、飛行シミュレータは、飛行中に航空機１０８の１つ又は複数の航空機システム１０６をシミュレートするためにバイナリコードを実行することができる。
【００３１】
図２は、図１の航空機１０８の例示的航空機制御ハードウェアを通信可能に結合するために使用される例示的航空機ネットワーク２００の概略図である。図２の航空機ネットワーク２００は、例示的な共通コアリソース（ＣＣＲ）キャビネット２０２に含まれる共通コアリソースを含むＩＭＡに基づいている。図２では、ＣＣＲキャビネット２０２は、１つ又は複数のプロセッサ、１つ又は複数のグラフィック処理ユニット、１つ又は複数のネットワークインターフェースなど、及び／又はそれらの組み合わせを含むことができるコンピューティングハードウェアプラットフォームである、例示的な汎用処理モジュール（ＧＰＭ）２０４を含む。
【００３２】
図２のＧＰＭ２０４は、例示的なソフトウェア区画２０６ａ、２０８ａ、２１０ａを含み、ソフトウェア区画２０６ａ、２０８ａ、２１０ａの各々が、異なる航空機システム機能を実行することができる。区画１  ２０６ａは、ＧＰＭ  ２０４に含まれる第１の区画とすることができ、区画２  ２０８ａは、ＧＰＭ  ２０４に含まれる第２の区画とすることができ、区画３  ２１０ａは、ＧＰＭ  ２０４に含まれる第３の区画とすることができる。図２では、区画１  ２０６ａは、例示的ソフトウェア通信ポート（ＳＷ  ＣＯＭ  ＰＯＲＴ）２０６ｂ及び第１の例示的ホスト型アプリケーション２０６ｃを含む。ソフトウェア通信ポート２０６ｂは、区画１  ２０６ａを第１の例示的なＡ６６４エンドシステム２１４に結合するために使用される１つ又は複数の待ち行列ポート及び／又はサンプリングポートに対応することができる。例えば、図２のソフトウェア通信ポート２０６ｂは、ＡＲＩＮＣ  ６５３通信プロトコル受信ポート、及びＡＲＩＮＣ  ６５３通信プロトコル送信ポートなどのソフトウェア抽象概念とすることができ、ＧＰＭ２０４と航空機ネットワーク２０８に含まれる別の構成要素との間の通信を容易にする。
【００３３】
図２において、図２の第１のホスト型アプリケーション２０６ｃは、航空機システム機能に関連するソフトウェアタスクを実行し、かつ／又はそうでなければ実施することができるソフトウェアアプリケーションである。同様に、図２では、区画２  ２０８ａは、第２の例示的なソフトウェア通信ポート２０８ｂ及び第２の例示的なホスト型アプリケーション２０８ｃを含む。例えば、ソフトウェア通信ポート２０８ｂは、ＡＲＩＮＣ  ６５３通信プロトコル受信ポート、ＡＲＩＮＣ  ６５３通信プロトコル送信ポートなどのソフトウェア抽象概念とすることができる。いくつかの例では、第２のホスト型アプリケーション２０８ｃは、第１のホスト型アプリケーション２０６ｃと同じソフトウェアアプリケーションであるが、他の例では、第１及び第２のホスト型アプリケーション２０６ｃ、２０８ｃは異なる。
【００３４】
図２では、ＧＰＭ２０４は、例示的なコアオペレーティングシステム（ＯＳ）２１２及び第１のＡ６６４エンドシステム２１４を含む。図２のコアＯＳ２１２は、ソフトウェア区画２０６ａ、２０８ａ、２１０ａが動作する基本オペレーティングシステムである。第１のＡ６６４エンドシステム２１４は、例示的なネットワークインターフェースコントローラ（ＮＩＣ）２１６を含み、これは、例示的なＣＣＲネットワークスイッチ（ＮＳ）２１８からデータパケットを受信し、ソフトウェア区画２０６ａ、２０８ａ、２１０ａによる使用のための受信データパケットを抽象概念することができるハードウェアコントローラである。同様に、第１のＡ６６４エンドシステム２１４は、ソフトウェア区画２０６ａ、２０８ａ、２１０ａからデータパケットの抽象概念を受信し、ＣＣＲ  ＮＳ  ２１８を介して送信されるべき抽象概念に基づいてデータパケットを生成することができる。ＣＣＲ  ＮＳ  ２１８は、光ファイバネットワークスイッチである。代替的には、銅ベースのイーサネット（登録商標）スイッチといった他の種類のネットワークスイッチを使用することができる。
【００３５】
図２の図示的な例では、ＣＣＲキャビネット２０２のＣＣＲ  ＮＳ  ２１８は、第２のＡ６６４エンドシステム２２０を含む例示的特定用途向けモジュール（ＡＳＭ）２１９に通信可能に結合される。ＡＳＭ２１９は、第２のＡ６６４エンドシステム２２０を介して、データを取得、送信、及び／又は処理するためのハードウェア及び／又はソフトウェアである。ＣＣＲ  ＮＳ  ２１８は、例示的ＮＳ  ２２２を介して、ＣＣＲキャビネット２０２を航空機ネットワーク２００に結合する。ＮＳ２２２は、ＡＲＩＮＣ６６４（Ａ６６４）通信プロトコルを介して、通信を容易にする。例えば、ＮＳ２２２は、Ａ６６４通信プロトコルを介したＡ６６４ライン交換可能ユニット（ＬＲＵ）２２４と遠隔データ集信装置（ＲＤＣ）２２６との間の通信を容易にすることができる。しかしながら、ＡＲＩＮＣ  ４２９（Ａ４２９）のような代替的通信プロトコルを使用することができる。
【００３６】
図２では、Ａ６６４  ＬＲＵ２２４は、第３の例示的なＡ６６４エンドシステム２２８を使用して、Ａ６６４通信を容易にすることができる、１つ又は複数のプロセッサ、１つ又は複数のネットワークインターフェースなどを含むモジュール式ハードウェアである。図２のＲＤＣ２２６は、Ａ４２９、Ａ６６４などの通信プロトコルによる、エフェクタデータ、センサデータなどを処理しフォーマットして共通のデジタルフォーマットに変換することが可能な、高速モジュール式のアナログからデジタルへの及び／又はデジタルからアナログへの変換コンピューティングデバイスである。例えば、図２に示すように、ＲＤＣ２２６は、例示的なセンサ２３０からデータ（例えば、アナログ信号、離散的信号など）を取得し、例示的なエフェクタ２３２にコマンド（例えば、制御信号）を送信する。図２において、ＲＤＣ２２６は、Ａ４２９通信プロトコルを介して、Ａ４２９エンドシステム２３６を含むＡ４２９ＬＲＵ２３４とデータを送受信する。図２では、ＲＤＣ２２６は、例示的なコントローラエリアネットワーク（ＣＡＮ）バス２３８（例えば、ＣＡＮ通信プロトコルベースのバス）に通信可能に結合される。図２では、ＣＡＮバス２３８は、第１の例示的ＣＡＮ  ＬＲＵ２４０及び第２の例示的ＣＡＮ  ＬＲＵ２４２（例えば、ＣＡＮを介して通信可能なＬＲＵ、ＣＡＮベースのＬＲＵなど）に通信可能に結合される。
【００３７】
図３は、例示的なモデリング環境３０４における例示的なＬＲＵ  ＩＣＤオブジェクト３００及び対応する例示的なモデル３０２を示す。図３において、ＬＲＵ  ＩＣＤオブジェクト３００は、高レベルインターフェースを用いて低レベルハードウェアの詳細を抑制可能な図１のＩＣＤ１１４に含まれるソフトウェア抽象概念である。例えば、ＬＲＵ  ＩＣＤオブジェクト３００は、図２のＡ６６４  ＬＲＵ  ２２４、Ａ  ４２９  ＬＲＵ  ２３４、第１のＣＡＮ  ＬＲＵ  ２４０、又は第２のＣＡＮ  ＬＲＵ  ２４２に対応するハードウェア及び／又はソフトウェアの高レベル表示に対応することができる。図３のＬＲＵ  ＩＣＤオブジェクト３００はＬＲＵに対応するが、代替的には、他の任意のハードウェア及び／又はソフトウェアは、図３に関連して説明したように抽象概念又は表示することができる。
【００３８】
図３では、ＬＲＵ  ＩＣＤオブジェクト３００は、例示的ＩＣＤアプリケーション定義３０８を含む例示的ＩＣＤアプリケーションブロック３０６を含む。ＩＣＤアプリケーションブロック３０６は、ＬＲＵ上で実行されているソフトウェア（例えば、アプリケーションソフトウェア）によって実行される機能の表示である。ＩＣＤアプリケーション定義３０８は、図１のＩＣＤ１１４によって使用される１つ又は複数のデータフォーマットに基づくＬＲＵの制御論理機能のデータ構造を表す。図３において、ＩＣＤアプリケーション定義３０８は、第１の機能状態定義３０９ａ、第２の機能状態定義３０９ｂ、第１のパラメータ定義３１１ａ、第２のパラメータ定義３１１ｂ、第１のデータセット定義３１３ａ、第２のデータセット定義３１３ｂ、及びメッセージ構造定義３１５を含む。代替的には、ＩＣＤアプリケーション定義３０８は、図３の例示的実施例に示される機能状態定義３０９ａ、３０９ｂ、パラメータ定義３１１ａ、３１１ｂ、データセット定義３１３ａ、３１３ｂ、及び／又はメッセージ構造定義３１５よりも少ない又は多いものを含むことができる。
【００３９】
図３では、パラメータ定義３１１ａ、３１１ｂは、信号データのカプセル化に対応することができる。例えば、パラメータ定義３１１ａ、３１１ｂは、任意の種類のデータフォーマットのデータ値を含むことができる。図３では、データセット定義３１３ａ、３１３ｂは、複数のパラメータ定義３１１ａ、３１１ｂに関連するコヒーレンシを提供することができる。例えば、第１のデータセット定義３１３ａは、第１のデータソースに関連するインターフェース情報に対応することができ、第２のデータセット定義３１３ｂは、第２のデータソースに関連するインターフェース情報に対応することができる。例えば、パラメータ定義３１１ａ、３１１ｂは、対応する機能状態定義３０９ａ、３０９ｂと関連付けられており、同じデータだが異なるソースからのものに対応することができる。例えば、第１のパラメータ定義３１１ａは、第１の機能状態定義３０９ａに対応し、第２のパラメータ定義３１１ｂは、第２の機能状態定義３０９ｂに対応することができる。第１のパラメータ定義３１１ａは、図２のＣＡＮ  ＬＲＵ  １  ２４０から得られた航空機システムの状態に対応することができる。第２のパラメータ定義３１１ｂは、同じステータスだが、図２のＣＡＮ  ＬＲＵ２  ２４２から取得されるステータスに対応することができる。
【００４０】
図３の図示された例では、機能状態定義３０９ａ、３０９ｂは、データセット定義３１３ａ、３１３ｂに関連したメタデータに対応することができる。例えば、機能状態定義３０９ａ、３０９ｂは、関連データの状態を評価すること及び／又はそうでなければ決定することによって、関連データ（例えば、パラメータ定義３１１ａ、３１１ｂ）の有効性を記述することができる。例えば、状態は、「失敗／警告」状態、「計算データなし」状態、「通常動作状態」状態、又は「機能試験」状態とすることができる。例えば、第１の機能状態定義３０９ａは、未検証のデータ値を有する第１のパラメータ定義３１１ａに対応する「失敗／警告」状態を有することができるが、これは、第２のパラメータ定義３１１ｂが検証済みデータ値を有する間、ＣＡＮ  ＬＲＵ  １  ２４０は応答しないからである。
【００４１】
いくつかの例では、「失敗／警告」状態は、第１のパラメータ定義３１１ａのソースが応答しないことを示す警告を規定する。第１のパラメータ定義３１１ａが応答しないことに応じて、モデルマネージャ１００は、第２のパラメータ定義３１１ｂに関連する検証済みデータ値を選択することができる。いくつかの例では、第１の機能状態定義３０９ｂは、ＬＲＵ  ＩＣＤオブジェクト３００に提供するための利用可能なデータ値を持たない第１のパラメータ定義３１１ａに対応する「計算データなし」状態を有することができる。いくつかの例では、検証済みデータ値が第１のパラメータ定義３１１ａに関連するとき、第１の機能状態定義３０９ｂは、「通常動作」状態を有することができる。いくつかの例では、第１の機能状態定義３０９ｂは、第１のパラメータ定義３１１ａに関連するデータ値がモデル試験動作中に計算されるときに「機能試験」状態を有することができる。
【００４２】
図３では、メッセージ構造定義３１５は、ＩＣＤアプリケーションブロック３０６に関連する１つ又は複数のデータセット定義のアセンブリ又は構成に対応することができる。例えば、メッセージ構造定義３１５は、ＩＣＤアプリケーションブロック３０６の全てのデータセット定義３１３ａ、３１３ｂを含むことができる。追加的又は代替的には、ＩＣＤアプリケーション定義３０８は、図３に示すＩＣＤアプリケーション定義３０８よりも少ない又は多いものを含むことができる。
【００４３】
いくつかの例では、ＩＣＤ１１４に含まれる各ＬＲＵは、異なる値を有する同じＩＣＤアプリケーション定義３０８を有する。例えば、図２のＡ６６４  ＬＲＵ  ２２４は、図２のＡ  ４２９  ＬＲＵ  ２３４と同じＩＣＤアプリケーション定義３０８を含むことができるが、Ａ６６４  ＬＲＵ２２４は、Ａ４２９  ＬＲＵ２３４と比較して、機能状態定義３０９ａ、３０９ｂ、パラメータ定義３１１ａ、３１１ｂ、データセット定義３１３ａ、３１３ｂなどに対して異なる値を有することができる。そのような例では、あらゆる類似又は実質的に類似の構成要素に対して標準化されたＩＣＤアプリケーション定義３０８を使用することによって、図１の第２の動作１１６の間に、異なる種類のＬＲＵを図１のＩＣＤ１１４に迅速かつ正確にインスタンス化することができる。例えば、各ＬＲＵは、同じＩＣＤアプリケーション定義３０８を有することができ、各Ａ６６４エンドシステムは、他のＡ６６４エンドシステムなどと同じＩＣＤアプリケーション定義を有することができる。
【００４４】
図３では、ＬＲＵ  ＩＣＤオブジェクト３００は、ＩＣＤインターフェース定義３１２を含む例示的なＩＣＤインターフェースブロック３１０を含む。ＩＣＤインターフェースブロック３１０は、ＩＣＤによって定義されているように通信エンドシステムによって実行される通信機能の表示である。例えば、ＩＣＤインターフェースブロック３１０は、図２の第１のＡ６６４エンドシステム２１４、第２のＡ６６４エンドシステム２２０、第３のＡ６６４エンドシステム２２８、又はＡ４２９エンドシステム２３６に対応するハードウェア及び／又はソフトウェアの抽象概念に対応することができる。
【００４５】
図３では、ＩＣＤインターフェース定義３１２は、図１のＩＣＤ１１４によって使用される１つ又は複数のデータフォーマットに基づいて、ＬＲＵの通信機能に関連するデータ構造を表す。図３において、ＩＣＤインターフェース定義３１２は、通信（ＣＯＭ）ポート定義、仮想リンク（ＶＬ）定義、及びサブＶＬ定義を含む。図３では、ＣＯＭポート定義は、ソケットである。例えば、ＣＯＭポート定義は、モデルオブジェクト、アプリケーション、コンピューティングデバイスなどへの送信メッセージの待ち行列、又はそこからの受信メッセージの待ち行列を提供する事前構成済み通信ソケットに対応することができる。例えば、ＣＯＭポート定義は、図２の区画１  ２０６ａなどのソフトウェア区画を図２の第１のＡ６６４エンドシステム２１４などの通信エンドシステムに結合するために使用する待ち行列ポート又はサンプリングポートに対応することができる。
【００４６】
図３において、ＶＬ定義は、選択された通信プロトコルに基づく交換パケットルーティング方式を表す。例えば、ＶＬ定義は、宛先ＭＡＣアドレスがＶＬ識別指示子ごとにツリー状の経路を実装するために使用されるＡ６６４パート７規格で定義された交換パケットルーティング方式に対応することができる。図３において、サブＶＬ定義は、データを送信する前にＶＬ定義にアクセスすることによって、データのカプセル化を呼び出すための送信器によって使用されるプロセスを表す。例えば、サブＶＬ定義は、カプセル化されたデータを送信するために、ＣＯＭポートからのデータを、図２のＮＩＣ２１６などの送信器によって使用されるデータフォーマットにカプセル化するための命令を含むことができる。追加的又は代替的には、ＩＣＤインターフェース定義３１２は、図３に示された定義よりも少ない又は多い定義を含むことができる。
【００４７】
図３の図示された例では、モデル３０２は、ＩＭＡモデルオブジェクト３１４、３１６を含むＩＭＡモデルである。図３では、モデルマネージャ１００は、ＩＭＡモデルオブジェクト３１４、３１６をモデリング環境３０４にインポートし、ＬＲＵ  ＩＣＤオブジェクト３００からモデリング環境３０４への情報の変換に基づいてＩＭＡ定義３１８、３２０を事前設定することによって、モデリング環境３０４内にモデル３０２を生成する。
【００４８】
図３では、モデル３０２は、変換された及び／又はそうでなければモデリング環境３０４にインポートされたときのＬＲＵ  ＩＣＤオブジェクト３００の対応する抽象概念である。図３では、モデリング環境３０４は、ＭＡＴＬＡＢ（登録商標）Ｓｉｍｕｌｉｎｋ（登録商標）である。あるいは、他の任意のコンピュータベースのモデリング環境を使用することができる。モデル３０２は、ＬＲＵ  ＩＣＤオブジェクト３００が移植され、かつ／又は別の方法でＩＣＤデータフォーマットなどの第１のデータフォーマットから第２のデータフォーマットに変換されるときに生成され、この場合、第２のデータフォーマットは、モデリング環境３０４に固有である。しかしながら、従来の実施態様では、ＬＲＵ  ＩＣＤオブジェクト３００が、図３のモデリング環境３０４とは異なるモデリング環境に変換されると、第２のモデルが生成され、それは図３のモデル３０２とは異なりうる。いくつかの例では、図３のモデル３０２を第２のモデルに結合しようとするときに、統合問題が発生する。本明細書に開示される例は、そのような従来の実施態様の統合問題を解決する。
【００４９】
図３では、モデル３０２は、航空機システム設計をシミュレート及び／又は別の方法で検証するためにＩＭＡモデルオブジェクト３１４、３１６を含む。ＩＭＡモデルオブジェクト３１４、３１６は、ＩＭＡアプリケーションモデルオブジェクト３１４及びＩＭＡインターフェースモデルオブジェクト３１６を含む。図３のＩＭＡアプリケーションモデルオブジェクト３１４は、ＬＲＵ  ＩＣＤオブジェクト３００のＩＣＤアプリケーション定義３０８に関連する例示的なＩＭＡアプリケーション定義３１８を含む。図３では、ＩＭＡアプリケーション定義３１８は、メッセージ構造定義３１５に関連するメタデータパラメータを表す。例えば、ＩＭＡアプリケーションモデルオブジェクト３１４のＩＭＡアプリケーション定義「ＦＵＮＣＴＩＯＮＡＬ  ＳＴＡＴＵＳ  Ａ＿ＭＥＳＳＡＧＥ」は、ＩＣＤアプリケーション定義３０８において定義された「機能ステータス」ＩＣＤアプリケーション定義に対応することができ、ここでＩＭＡアプリケーション定義は、ＩＣＤアプリケーション定義３０８に含まれるデータセット定義３１３ａ、３１ｂ及びメッセージ構造定義３１５に基づいて構成される。ＩＭＡアプリケーション定義３１８は、実行中のアプリケーション論理に基づく値の抽象概念に対応する。例えば、ＩＭＡアプリケーション定義「ＦＵＮＣＴＩＯＮＡＬ  ＳＴＡＴＵＳ  Ａ＿ＭＥＳＳＡＧＥ」は、１つ又は複数の変換又はスケーリング機能に基づいて圧力センサ測定値の工学値を計算する圧力センサ計算機能の出力値に対応することができる。
【００５０】
図３のＩＭＡインターフェースモデルオブジェクト３１６は、ＩＣＤインターフェース定義３１２に関連する例示的なＩＭＡインターフェース定義３２０を含む。例えば、ＩＭＡインターフェース定義「ＴＸ＿ＣＯＭ＿ＰＯＲＴ＿１０１２１」は、ＩＣＤインターフェース定義３１２に定義された「ＣＯＭ  ＰＯＲＴ」ＩＣＤインターフェース定義に対応することができ、ここでＩＭＡインターフェース定義は、ＩＣＤインターフェース定義３１２で定義されたＳＵＢ−ＶＬ及びＶＬ  ＩＣＤインターフェース定義に基づいて構成される。ＩＭＡインターフェース定義３２０は、異なるモデルブロック及び／又は異なるモデルを相互接続するために使用されるソフトウェアポートの抽象概念に対応する。
【００５１】
図３では、ＩＭＡインターフェース定義３２０は、ｓｅｎｄ（）機能コール、ｒｅｃｖ（）機能コール、ｗｒｉｔｅ（）機能コール、ｒｅａｄ（）機能コール、ｒｅｃｖｆｒｏｍ（）機能コールなどのソケットアプリケーションプログラミングインターフェース（ＡＰＩ）に対応することができる。例えば、ＩＭＡインターフェース定義「ＴＸ＿ＣＯＭ＿ＰＯＲＴ＿１０１２１」は、機能を実行するか又はソフトウェア論理ルーチンを実行するために、対応する「機能ステータスＡ＿ＭＥＳＳＡＧＥ」の値を受け取る別のモデルブロック及び／又は別のモデルに含まれるリンク又はポインタに対応することができる。
【００５２】
図３では、ＩＭＡインターフェースモデルオブジェクト３１６は、ＬＲＵのソフトウェア層とＬＲＵのハードウェア層との結合をシミュレートするための例示的なネットワークポートモデルオブジェクト３２２を含む。例えば、ネットワークポートモデルオブジェクト３２２は、Ａ６６４ネットワークポートモデルオブジェクトとすることができる。例えば、ネットワークポートモデルオブジェクト３２２は、Ａ６６４通信プロトコルを介して送信されるＩＭＡインターフェース定義３２０に結合されたＩＭＡアプリケーション定義３１８を使用して、データパケットを生成することをシミュレートすることができる。
【００５３】
図４は、本明細書に記載の例を実装するための図１及び図３のモデルマネージャ１００の例示的実施態様のブロック図である。図４に図示された例では、モデルマネージャ１００は、例示的モデリング環境セレクタ４１０、例示的データソースセレクタ４２０、例示的インターフェースインポータ４３０、例示的インターフェースエクスポータ４４０、例示的モデルオブジェクトハンドラ４５０、例示的ＩＣＤトランスレータ４６０、例示的言語固有モデル（ＬＳＭ）トランスレータ４７０、例示的インターフェースバリデータ４８０、及び例示的レポートジェネレータ４９０を含む。
【００５４】
図４の図示された例では、モデルマネージャ１００は、モデリング環境を決定し、図３のモデル３０２のようなＩＭＡモデルを生成するためのモデリング環境セレクタ４１０を含む。いくつかの例では、モデリング環境セレクタ４１０は、図１の航空機１０８の航空機システム１０６に関連するＩＭＡモデルを生成するために、ＬＳＭ環境を選択する。例えば、モデリング環境セレクタ４１０は、モデル３０２を生成するために、ＭＡＴＬＡＢ（登録商標）Ｓｉｍｕｌｉｎｋ（登録商標）を選択することができる。いくつかの例では、モデリング環境セレクタ４１０は、別のモデルを生成するかどうかを決定する。例えば、モデリング環境セレクタ４１０は、モデル３０２が生成され、検証され、及び／又は図１のＩＣＤ１１４にエクスポートされた後に、第２のモデルを生成することを決定することができる。
【００５５】
図４の図示された例では、モデルマネージャ１００は、モデル化する航空機システムに関連するインターフェース制御データソースを決定するためのデータソースセレクタ４２０を含む。いくつかの例では、インターフェース制御データソースは、データベース、スプレッドシート（例えば、ゴールデンスプレッドシート）など、又は他の任意の種類のインターフェース制御文書又は情報である。例えば、モデルマネージャ１００は、図１のＩＣＤ１１４を選択することができる。
【００５６】
図４の図示された例では、モデルマネージャ１００は、インターフェース制御データソースからデータを検索及び／又は別の方法で取得するためのインターフェースインポータ４３０を含む。いくつかの例では、インターフェースインポータ４３０は、インターフェース制御データソースから定義を取得して、図３のモデル３０２のような最上位抽象概念モデルを事前設定する。例えば、インターフェースインポータ４３０は、図３のＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０などに関連するＩＣＤアプリケーション定義３０８、ＩＣＤインターフェース定義３１２などを、図１のＩＣＤ１１４から取得することができる。いくつかの例では、インターフェースインポータ４３０は、モデル３０２を事前設定するために、インターフェース制御データソースからＩＣＤブロックを取得する。例えば、インターフェースインポータ４３０は、図１のＩＣＤ１１４から、ＩＣＤアプリケーションブロック３０６、ＩＣＤインターフェースブロック３１０などを取得することができる。いくつかの例では、インターフェースインポータ４３０は、モデルライブラリを生成する。例えば、インターフェースインポータ４３０は、ＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０などの生成に応じて、モデリング環境３０４の１つ又は複数のライブラリを生成することができる。
【００５７】
図４に図示された例では、モデルマネージャ１００は、ＩＭＡモデルに関連するデータを送信及び／又はエクスポートするためのインターフェースエクスポータ４４０を含む。いくつかの例では、インターフェースエクスポータ４４０は、ＩＭＡ定義をＩＣＤにエクスポートする。例えば、インターフェースエクスポータ４４０は、図３のモデリング環境３０４から図１のＩＣＤ１１４に、ＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０などのうちの１つ又は複数をエクスポートすることができる。いくつかの例では、インターフェースエクスポータ４４０は、ＩＭＡモデルオブジェクトをＩＣＤにエクスポートする。例えば、インターフェースエクスポータは、モデリング環境３０４からＩＣＤ１１４に、ＩＭＡアプリケーションモデルオブジェクト３１４、ＩＭＡインターフェースモデルオブジェクトなどのうちの１つ又は複数をエクスポートすることができる。いくつかの例では、インターフェースエクスポータ４４０は、モデリング環境３０４からＩＣＤ１１４に、図３のモデル３０２などのＩＭＡモデルをエクスポートする。
【００５８】
いくつかの例では、インターフェースエクスポータ４４０は、ＩＭＡモデルに基づいて出力を生成する。例えば、インターフェースエクスポータ４４０は、図３のモデル３０２に基づいて、機械可読命令（例えば、バイナリコード）を生成することができる。例えば、インターフェースエクスポータ４４０は、モデル３０２に関連する情報をコンパイル及び／又は別の方法でコンピュータ実行可能コードに変換することができる。例えば、インターフェースエクスポータ４４０は、ＩＭＡアプリケーションモデルオブジェクト３１４及び関連する制御論理、ＩＭＡインターフェースモデルオブジェクト３１６及び関連する制御論理、ＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０など、及び／又はその組み合わせを、航空機システム１０６、航空機１０８、航空機１０８に関連付けられた飛行シミュレータなどによって実行することができる機械可読命令にコンパイルすることができる。いくつかの例では、インターフェースエクスポータ４４０は、機械可読命令を移動体及び／又は移動体シミュレータに展開する。例えば、インターフェースエクスポータ４４０は、機械可読命令を、航空機システム１０６、航空機１０８など、及び／又は航空機システム１０６、航空機１０８などに関連するフライトシミュレータに展開することができる。いくつかの例では、インターフェースエクスポータ４４０は、移動体及び／又は移動体シミュレータの動作を指示し、命令し、及び／又は他の方法で引き起こす。例えば、インターフェースエクスポータ４４０は、航空機システム１０６、航空機１０８などに含まれる既存の機械可読命令をインターフェースエクスポータ４４０によって生成された機械可読命令で置き換えるように、航空機システム１０６、航空機１０８などに命令することができる。そのような例では、インターフェースエクスポータ４４０は、インターフェースエクスポータ４４０によって生成された機械可読命令を使用して、航空機システム１０６、航空機１０８に飛行動作、模擬飛行動作などの動作を実行させることができる。
【００５９】
いくつかの例では、インターフェースエクスポータ４４０は、図３のモデル３０２に基づいて、サプライチェーン及び製造ビルド命令を生成する。例えば、インターフェースエクスポータ４４０は、モデル３０２に関連する航空機システム１０６を図１の第４の動作１２２における製作のためにリリースすることができることを示す、図１のＩＣＤ１１４、図３のモデル３０２などに含まれる情報に基づいて要件、仕様などを生成することができる。例えば、インターフェースエクスポータ４４０は、航空機システム１０６、及び／又はより一般的には航空機１０８の製造及びサプライチェーンに関連する１つ又は複数のコンピューティングデバイス又はシステムに、航空機システム１０６、航空機１０８などの１つ又は複数のプロトタイプ、１つ又は複数の生産ラインアセンブリなどの構築を開始するよう指示又は命令することができる。例えば、インターフェースエクスポータ４４０は、ＩＭＡシステムモデルに関連した移動体システムの製造を開始することができる。例えば、インターフェースエクスポータ４４０は、生成されたサプライチェーン及び／又は製造ビルド命令に基づいて、航空機システム１０６及び／又は航空機１０８の製作を開始することができる。
【００６０】
図４の図示された例では、モデルマネージャ１００は、モデリング環境に含まれるモデルをインポート、構成、及び／又は修正するためのモデルオブジェクトハンドラ４５０を含む。いくつかの例では、モデルオブジェクトハンドラ４５０は、処理対象のモデルブロックをインポートする。例えば、モデルオブジェクトハンドラ４５０は、ＩＭＡアプリケーションモデルオブジェクト３１４、ＩＭＡインターフェースモデルオブジェクト３１６などをモデリング環境３０４にインポートして処理することができる。いくつかの例では、モデルオブジェクトハンドラ４５０は、ＩＭＡモデルに関連する２つ以上のモデルオブジェクトを結合する。例えば、モデルオブジェクトハンドラ４５０は、モデル３０２内にブロック間関係を作成するために、図３のＩＭＡアプリケーションモデルオブジェクト３１４とＩＭＡインターフェースモデルオブジェクト３１６とを結合又は通信可能に接続することができる。
【００６１】
いくつかの例では、モデルオブジェクトハンドラ４５０は、処理するモデルオブジェクトを選択し、かつ／又は処理する別のモデルオブジェクトを選択するかどうかを決定する。いくつかの例では、モデルオブジェクトハンドラ４５０は、ＩＭＡモデルに関連する定義を調整する。例えば、モデルオブジェクトハンドラ４５０は、図３のＩＭＡアプリケーション定義３１８に含まれるＩＭＡアプリケーション定義「ＦＵＮＣＴＩＯＮＡＬ  ＳＴＡＴＵＳ  Ａ＿ＭＥＳＳＡＧＥ」に対応する定義を調整することができる。いくつかの例では、モデルオブジェクトハンドラ４５０は、図３のモデリング環境３０４内に新しいモデルオブジェクトを生成する。例えば、モデルオブジェクトハンドラ４５０は、空白のモデルオブジェクトを作成し、モデリング環境３０４内に１つ又は複数のＩＭＡアプリケーション定義、１つ又は複数のＩＭＡインターフェース定義などを含むことによって新しいモデルオブジェクトを生成し、その後、新しいモデルオブジェクト関係及び新しいモデルオブジェクトに関連するモデルオブジェクト接続を生成することができる。例えば、モデルオブジェクトは、ＩＭＡ構成要素に対応することができる。モデルオブジェクト関係及びモデルオブジェクト結合は、ソフトウェア区画からエンドシステムへのソフトウェア結合に対応することができる。例えば、モデルオブジェクト関係及びモデルオブジェクト結合は、図２の第１から第３のソフトウェア区画２０６ａ、２０８ａ、２１０ａを図２の第１のＡ６６４エンドシステム２１４に通信可能に結合する待ち行列ポート及びサンプリングポートに対応することができる。いくつかの例では、モデルオブジェクトハンドラ４５０は、１つ又は複数のＩＭＡモデルを生成することに応じて、ＩＭＡシステムモデルを生成することができる。
【００６２】
図４の図示された例では、モデルマネージャ１００は、図１のＩＣＤ１１４に含まれるデータを、ＩＣＤデータフォーマットから言語中立モデル（ＬＮＭ）データフォーマットに変換及び／又は転換するＩＣＤトランスレータ４６０を含む。例えば、ＩＣＤトランスレータ４６０は、ＩＣＤ−ＬＮＭトランスレータとすることができる。ＩＣＤトランスレータ４６０は、（１）ＩＣＤ１１４に関連するＩＣＤデータフォーマットのＩＣＤ１１４からのＩＣＤアプリケーション定義３０８を、（２）ＬＮＭに関連するＬＮＭデータフォーマットのＬＮＭに含まれるＬＮＭ定義に転換することができる。例えば、ＩＣＤトランスレータ４６０は、ＬＲＵ  ＩＣＤオブジェクト３００などの対象となるＩＣＤオブジェクトを選択し、ＬＮＭ内のＬＲＵ  ＩＣＤオブジェクト３００をインスタンス化し、ＬＮＭ内のインスタンス化されたオブジェクトに関連するＬＮＭ定義をＩＣＤアプリケーション定義３０８、ＩＣＤインターフェース定義３１２などで事前設定することができる。
【００６３】
図４に図示された例では、モデルマネージャ１００は、ＬＮＭに含まれるデータを、ＬＮＭデータフォーマットからＬＳＭデータフォーマットに変換及び／又は別の方法で転換するためのＬＳＭトランスレータ４７０を含む。例えば、ＬＳＭトランスレータ４７０は、ＬＮＭ−ＬＳＭトランスレータとすることができる。例えば、ＬＳＭトランスレータ４７０は、ＩＭＡアプリケーションモデルオブジェクト３１４などの対象となるＩＭＡモデルオブジェクトを選択し、モデリング環境３０４内でＩＭＡアプリケーションモデルオブジェクト３１４をインスタンス化し、ＩＭＡアプリケーション定義３１８に、ＩＣＤ１１４に含まれるＩＣＤアプリケーション定義３０８に対応する、ＬＮＭに含まれる対応するＬＮＭ定義を事前設定することができる。例えば、各ＩＭＡモデルオブジェクトに対するＬＮＭモデルオブジェクトがある。各モデルオブジェクトには、同数かつ同種の属性と要素が含まれているため、ＬＮＭモデルオブジェクトとＩＭＡモデルオブジェクト間のデータを同期することができる。例えば、ＩＭＡアプリケーション定義３１８に関連するＬＮＭに含まれるＬＮＭ定義は、同数かつ同種の属性及び要素を含んだ。
【００６４】
いくつかの例では、ＬＳＭトランスレータ４７０は、（１）ＬＮＭに固有のＬＮＭデータフォーマットのＬＮＭに含まれるＬＮＭ定義を、（２）図３のモデリング環境３０４に固有のＬＳＭデータフォーマットにおけるＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０などに転換する。いくつかの例では、ＬＳＭトランスレータ４７０は、プレゼンテーション層を生成する。例えば、ＬＳＭトランスレータ４７０は、プレゼンテーション層に対する上位層をサポートするために、フォーマット変換、暗号化／復号などを含むメッセージデータのハンドリングシンタックス処理などのタスクを担当するネットワーク層をシミュレートするためのプレゼンテーション層を生成することができる。例えば、ＬＳＭトランスレータ４７０は、図６に関連して以下に説明されるようにプレゼンテーション層６００を生成することができる。
【００６５】
図４に図示される例では、モデルマネージャ１００は、変換された情報が定義規則（例えば、ＩＣＤ定義規則、ＬＮＭ定義規則、ＩＭＡ定義規則など）に準拠していることを確認及び／又は検証するためのインターフェースバリデータ４８０を含む。いくつかの例では、インターフェースバリデータ４８０は、ＩＣＤ情報を検証する。例えば、インターフェースバリデータ４８０は、ＩＣＤ１１４に格納されるべき情報をＩＣＤ定義規則と比較し、情報が比較に基づいて検証されると、ＩＣＤ１１４に情報を格納することができる。いくつかの例では、インターフェースバリデータ４８０は、ＬＮＭ情報を検証する。例えば、インターフェースバリデータ４８０は、ＬＮＭに格納されるべき情報をＬＮＭ定義規則と比較し、その比較に基づいて情報が検証されると、その情報をＬＮＭに格納することができる。
【００６６】
いくつかの例では、インターフェースバリデータ４８０は、ＬＳＭ情報を検証する。例えば、インターフェースバリデータ４８０は、ＬＳＭ（例えば、図３のモデリング環境３０４）にインポートされる情報をＩＭＡ定義規則と比較し、その比較に基づいて情報が検証されると、その情報をＬＳＭにインポートすることができる。いくつかの例では、インターフェースバリデータ４８０は、ＩＣＤ、ＬＮＭ、及び／又はＬＳＭ情報を検証しないことに応じて、警告を生成する。例えば、インターフェースバリデータ４８０は、ＩＭＡシステムモデルの動作を停止し、エラーメッセージ、警告などを生成することができる。いくつかの例では、警告は、ＩＣＤ、ＬＮＭ、及び／又はＬＳＭ情報が定義規則に準拠するように修正される必要があることをユーザに通知するために、ユーザインターフェースに送信される。例えば、ユーザは、モデルオブジェクトを定義規則に準拠させるために、モデルオブジェクトに関連する定義を修正することができる。
【００６７】
いくつかの例では、インターフェースバリデータ４８０は、ＩＭＡシステムモデルを実行する。例えば、インターフェースバリデータ４８０は、図３のモデル３０２を実行、実施、操作などし、１つ又は複数の出力を生成することができる。例えば、インターフェースバリデータ４８０は、エフェクタ、センサ、ネットワークスイッチなどの航空機システム構成要素の出力を生成することができる。例えば、インターフェースバリデータ４８０は、モデル３０２を実行して、エフェクタ２３２が無効、有効、特定の容量又は電力パーセンテージで動作しているなど、図２のエフェクタ２３２のステータスをシミュレートすることができる。別の例では、インターフェースバリデータ４８０は、モデル３０２を実行して、センサ２３０が圧力、速度、温度などを測定するなど、図２のセンサ２３０の測定値をシミュレートすることができる。更に別の例では、インターフェースバリデータ４８０は、モデル３０２を実行して、帯域幅、待ち時間、スループット、ＩＰアドレス、メディアアクセス制御（ＭＡＣ）アドレス、通信プロトコルパラメータなどのような、図２のＮＳ２２２のパラメータをシミュレートすることができる。
【００６８】
いくつかの例では、インターフェースバリデータ４８０は、ＩＭＡシステムモデルの出力に基づいて、ＩＭＡシステムモデルを検証する。例えば、インターフェースバリデータ４８０は、モデル３０２の出力（例えば、センサ２３０の圧力測定値、ＮＳ２２２の待ち時間など）を検証出力と比較することによって、図３のモデル３０２を検証し、比較に基づいてモデル３０２を検証することができる。例えば、検証出力は、モデル３０２の期待値に対応することができる。例えば、インターフェースバリデータ４８０は、モデル３０２の出力を対応する検証出力と比較し、検証出力を実質的に一致させること（例えば、一致又は許容範囲内で一致させること）によって、出力が検証出力を満たすかどうかを判定することができる。いくつかの例では、インターフェースバリデータ４８０は、１つ又は複数の出力を１つ又は複数の対応する検証出力と比較することによって、図３のモデル３０２を検証し、その比較に基づいて、１つ又は複数の出力が１つ又は複数の対応する検証出力を満たすと判定することができる。
【００６９】
図４の図示された例では、モデルマネージャ１００は、モデルマネージャ１００によって実行された動作に基づいて、レポートを生成するためのレポートジェネレータ４９０を含む。いくつかの例では、レポートジェネレータ４９０は、モデルマネージャ１００がＩＭＡモデルを作成すると、レポートを生成する。例えば、レポートジェネレータ４９０は、ＩＭＡアプリケーションモデルオブジェクト３１４、ＩＭＡインターフェースモデルオブジェクト３１６、ＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０などのうちの１つ又は複数、及び／又はそれらの組み合わせが検証される（例えば、ＬＮＭからインポートされたＬＮＭ定義は、ＬＳＭ定義規則との比較に基づいて検証される）と、レポートを生成することができる。
【００７０】
いくつかの例では、レポートジェネレータ４９０は、図１の出力１２４を含むレポートを生成することによって動作を開始する。例えば、レポートジェネレータ４９０は、モデル３０２を用いてモデル化された図２のＡ６６４  ＬＲＵ２２４を製作用にリリースすることができることを示すレポートを生成することができる。レポートは、機械可読命令、サプライチェーンビルド命令、製造ビルド命令などのうちの少なくとも１つを含むことができる。例えば、レポートジェネレータ４９０は、モデル３０２が、Ａ６６４  ＬＲＵ２２４、図１の航空機システム１０６などに関連する検証及び／又は検証試験機能をうまく実行したと決定することができる。例えば、レポートジェネレータ４９０は、対応するモデル３０２が実行及び／又は検証されたときに、製造オーダ、プロトタイプ製造オーダなどを生成してＡ６６４  ＬＲＵ２２４、航空機システム１０６などを製作するように構成された、サプライチェーンコンピューティングシステムや製造コンピューティングシステムなどの別のコンピューティングシステムへのレポートを含む、レポートを生成し、警告、通知などを送信することによって、航空機システム１０６及び／又はより一般的には図１の航空機１０８の製造を開始することができる。例えば、レポートジェネレータ４９０は、製造ビルド命令、サプライチェーンビルド命令、機械可読命令などのうちの少なくとも１つに基づいて、航空機システム１０６及び／又はより一般的には、航空機１０８の製作を開始することができる。
【００７１】
図１及び図３のモデルマネージャ１００を実装する例示的な方法が図４に示されているが、図４に示されている要素、プロセス、及び／又はデバイスのうちの１つ又は複数を組み合わせ、分割し、再配置し、省略し、排除し、及び／又は他の方法で実装することができる。更に、モデリング環境セレクタ４１０、データソースセレクタ４２０、インターフェースインポータ４３０、インターフェースエクスポータ４４０、モデルオブジェクトハンドラ４５０、ＬＮＭトランスレータ４６０、ＬＳＭトランスレータ４７０、インターフェースバリデータ４８０、レポートジェネレータ４９０、及び／又はより一般的には、図１及び図３のモデルマネージャ１００は、ハードウェア、ソフトウェア、ファームウェア、並びに／又はハードウェア、ソフトウェア、及び／若しくはファームウェアの任意の組み合わせにより、実施することができる。したがって、例えば、モデリング環境セレクタ４１０、データソースセレクタ４２０、インターフェースインポータ４３０、インターフェースエクスポータ４４０、モデルオブジェクトハンドラ４５０、ＬＮＭトランスレータ４６０、ＬＳＭトランスレータ４７０、インターフェースバリデータ４８０、レポートジェネレータ４９０、及び／又はより一般的には、モデルマネージャ１００のいずれかは、１つ又は複数のアナログ若しくはデジタル回路、論理回路、プログラマブルプロセッサ、プログラマブルコントローラ、グラフィック処理ユニット（ＧＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）、及び／又はフィールドプログラマブル論理デバイス（ＦＰＬＤ）によって、実施することができるだろう。純粋にソフトウェア及び／又はファームウェアの実装をカバーするために、この特許の装置又はシステムの請求項のいずれかを読むとき、モデリング環境セレクタ４１０、データソースセレクタ４２０、インターフェースインポータ４３０、インターフェースエクスポータ４４０、モデルオブジェクトハンドラ４５０、ＬＮＭトランスレータ４６０、ＬＳＭトランスレータ４７０、インターフェースバリデータ４８０、及び／又はレポートジェネレータ４９０のうちの少なくとも１つは、これにより、ソフトウェア及び／又はファームウェアを含む、メモリ、デジタル多用途ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、ブルーレイディスクなどといった、非一過性のコンピュータ可読記憶デバイス又は記憶ディスクを含むように明確に定義される。
【００７２】
また更に、図１及び図３のモデルマネージャ１００は、図４に示すものに加えて、又はその代わりに、１つ又は複数の要素、プロセス、及び／又はデバイスを含むことができ、及び／又は例示された要素、プロセス、及びデバイスのいずれか又はすべてのうちの２つ以上を含むことができる。本明細書では、その変形を含む「通信中」という表現は、１つ又は複数の中間構成要素を介した直接通信及び／又は間接通信を含み、直接物理（例えば有線）通信及び／又は常時通信を必要としないが、むしろ、周期的間隔、スケジュールされた間隔、非周期的な間隔、及び／又はワンタイムイベントでの選択的な通信を更に含む。
【００７３】
図５は、例示的言語中立ドメイン５０６を介して、例示的データソースドメイン５０２から例示的言語固有ドメイン５０４に情報をインポートすることの概略図である。図５では、データソースドメイン５０２は、第１の例示的ＩＣＤソース５０８、第２の例示的ＩＣＤソース５１０、及び第３の例示的ＩＣＤソース５１２などの例示的ＩＣＤソースを含む。第１のＩＣＤソース５０８及び第２のＩＣＤソース５１０は、データベースである。第３のＩＣＤソース５１２は、１つ又は複数の文書（例えば、スプレッドシート、要求文書、仕様文書など）のセットを表す。
【００７４】
図５では、第１のＩＣＤソース５０８は、第１のＩＣＤプロトコル定義５１４を含む。例えば、第１のＩＣＤプロトコル定義５１４は、第１の通信プロトコルに関連するＩＣＤ定義（例えば、図３のＩＣＤアプリケーション定義３０８、ＩＣＤインターフェース定義３１２など）とすることができる。例えば、第１の通信プロトコルは、Ａ４２９通信プロトコルとすることができる。例えば、第１のＩＣＤプロトコル定義５１４は、１つ又は複数のＡ４２９通信ポートに対応するＩＣＤ定義、及び／又はＡ４２９通信ポートを実装するための制御論理を含むことができる。例えば、第１のＩＣＤプロトコル定義５１４は、Ａ４２９エンドシステム２３６及び／又はより一般的には図２のＡ４２９ＬＲＵ２３４に関連する待ち行列ポート及び／又はサンプリングポートに対応することができる。
【００７５】
いくつかの例では、第１のＩＣＤプロトコル定義５１４などのＩＣＤプロトコル定義は、図１の航空機システム１０６に関連するインターフェース情報、要件情報、仕様情報などとすることができる。
【００７６】
例えば、第１のＩＣＤプロトコル定義５１４は、通信ポート情報（例えば、ＩＰアドレス、メディアアクセス制御（ＭＡＣ）アドレス、通信プロトコルアドレスなど）、コネクタピン配列情報、配線情報などを含む、図２のＮＳ２２２に関連するインターフェース情報とすることができる。別の例では、第１のＩＣＤプロトコル定義５１４は、図２の航空機ネットワーク２００内のある量のネットワークスイッチの量などの、航空機システム１０６に含まれる構成要素の量及び／又は種類、エフェクタ２３２及び／又はセンサ２３０の種類、図２のＧＰＭ２０４によって使用されるいくつかのパーティションなどの、要件情報とすることができる。更に別の例では、第１のＩＣＤプロトコル定義５１４は、航空機システム構成要素（例えば、ＮＳ２２２の帯域幅、データスループット、待ち時間など）の性能情報、航空機システム構成要素のファームウェアバージョン情報、航空機システム構成要素のソフトウェアバージョン情報などとすることができる。
【００７７】
図５では、第２のＩＣＤソース５１０は、第２のＩＣＤプロトコル定義５１６を含む。例えば、第２のＩＣＤプロトコル定義５１６は、第２の通信プロトコルに関連したＩＣＤ定義とすることができる。例えば、第２の通信プロトコルは、Ａ６６４通信プロトコルとすることができる。例えば、第２のＩＣＤプロトコル定義５１６は、１つ又は複数のＡ６６４通信ポートに対応するＩＣＤ定義、及び／又はＡ６６４通信ポートを実装するための制御論理を含むことができる。例えば、第２のＩＣＤプロトコル定義５１６は、第１のＡ６６４エンドシステム２１４及び／又はより一般的には図２のＧＰＭ２０４に関連する待ち行列ポート及び／又はサンプリングポートに対応することができる。図５では、第３のＩＣＤソース５１２は、第２のＩＣＤプロトコル定義５１６に関連する情報を含む文書を含む。
【００７８】
例えば、第３のＩＣＤソース５１２は、１つ又は複数のＡ６６４通信ポートに対応するＩＣＤ定義、及び／又はＡ６６４通信ポートを実装するための制御論理を含む文書を含むことができる。
【００７９】
第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、及び／又は第３のＩＣＤソース５１２は、揮発性メモリ（例えば、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳダイナミックランダムアクセスメモリ（ＲＤＲＡＭ）など）及び／又は不揮発性メモリ（例えば、フラッシュメモリ）によって、実装することができる。第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、及び／又は第３のＩＣＤソース５１２は、追加的又は代替的には、ＤＤＲ、ＤＤＲ２、ＤＤＲ３、ＤＤＲ４、モバイルＤＤＲ（ｍＤＤＲ）などといった、１つ又は複数のダブルデータレート（ＤＤＲ）メモリによって実装することができる。第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、及び／又は第３のＩＣＤソース５１２は、追加的又は代替的には、ハードディスクドライブ、コンパクトディスクドライブ、デジタル多用途ディスクドライブ、ソリッドステートドライブなどといった、１つ又は複数の大容量記憶デバイスによって実装することができる。図示された例では、第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、及び第３のＩＣＤソース５１２は、単一のデータベース又は単一セットの文書として示されるが、第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、及び第３のＩＣＤソース５１２は、任意の数及び／又は種類のデータベース若しくはセットの文書によって実装することができる。
【００８０】
図５に図示された例では、モデルマネージャ１００は、第１のＩＣＤトランスレータ５２０、第２のＩＣＤトランスレータ５２２、及び第３のＩＣＤトランスレータ５２４を介して、データソースドメイン５０２と言語中立ドメイン５０６に含まれる言語中立モデル（ＬＮＭ）５１８との間でデータを変換する。例えば、図４のＩＣＤトランスレータ４６０は、第１から第３のＩＣＤトランスレータ５２０、５２２、５２４を実装することができる。例えば、図４のＩＣＤトランスレータ４６０は、（１）第１のＩＣＤソース５０８によって指定されたＩＣＤデータフォーマットの第１のＩＣＤソース５０８に含まれる第１のＩＣＤプロトコル定義５１４を（２）ＬＮＭ５１８によって指定されるＬＮＭデータフォーマットのＬＮＭ５１８に含まれる第１のＬＮＭプロトコル定義５２６に変換するために、第１のＩＣＤトランスレータ５２０を実装することができる。いくつかの例では、インターフェースインポータ４３０は、第１から第３のＩＣＤトランスレータ５２０、５２２、５２４を実装するようにＩＣＤトランスレータ４６０に命令する。
【００８１】
別の例では、ＩＣＤトランスレータ４６０は、（１）第２のＩＣＤソース５１０によって指定されたＩＣＤデータフォーマットの第２のＩＣＤソース５１０に含まれる第２のＩＣＤプロトコル定義５１６を（２）ＬＮＭ５１８で指定されるＬＮＭデータフォーマットのＬＮＭ５１８に含まれる第２のＬＮＭプロトコル定義５２８に変換するために、第２のＩＣＤトランスレータ５２２を実装することができる。更に別の例では、ＩＣＤトランスレータ４６０は、（１）第３のＩＣＤソース５１２によって指定されたＩＣＤデータフォーマットの第３のＩＣＤソース５１２に含まれる第２のＩＣＤプロトコル定義５１６を（２）ＬＮＭ５１８によって指定されたＬＮＭデータフォーマットのＬＮＭ５１８に含まれる第２のＬＮＭプロトコル定義５２８に変換するために、第３のＩＣＤトランスレータ５２４を実装することができる。
【００８２】
図５では、第１のＬＮＭプロトコル定義５２６は、第１のＩＣＤプロトコル定義５１４に関連する言語中立定義である。本明細書で使用する際、「言語中立定義」という用語は、データソースドメイン５０２及び言語固有ドメイン５０４とは無関係に、航空機構成要素、航空機サブシステム、航空機システムなどの機能に対応する制御論理機能及び関連する構成パラメータのデータ構造を指す。例えば、言語中立定義は、ＩＣＤ定義及び／又は言語固有定義と属性又は要素の同じ値を含むことができるが、ＩＣＤ定義又は言語固有定義のいずれによっても使用されないデータフォーマット又はデータ構造でありうる。したがって、データソースドメイン５０２に含まれるＩＣＤソース又は言語固有ドメイン５０４に含まれるモデリング環境は、ＬＮＭ５１８に含まれる言語中立定義（例えば、第１のＬＮＭプロトコル定義５２６、第２のＬＮＭプロトコル定義５２８など）に影響を及ぼすことなく、追加、削除、又は変更することができる。
【００８３】
図５では、第１のＬＮＭプロトコル定義５２６及び第２のＬＮＭプロトコル定義５２８に含まれるデータのフォーマットは、処理するために、第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、又は第３のＩＣＤソース５１２のうちの１つの選択とは無関係である。例えば、第１のＬＮＭプロトコル定義５２６に含まれる情報は、選択された定義、又は第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、又は第３のＩＣＤソース５１２のうちの１つの選択とは無関係に、同じデータフォーマットを保持する。結果として、ＬＮＭ５１８が、第１から第３のＩＣＤトランスレータ５２０、５２２、５２４のうちの１つを介して、第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、又は第３のＩＣＤソース５１２と相互作用するので、モデルマネージャ１００が第１のＩＣＤソース５０８、第２のＩＣＤソース５１０、又は第３のＩＣＤソース５１２のうちの１つ又は複数を修正するときに、ＬＮＭ５１８は影響を受けない。
【００８４】
図５では、第１のＬＮＭプロトコル定義５２６は、第１のＩＣＤプロトコル定義５１４と同数かつ同種の属性及び要素を含むことができる。第１のＬＮＭプロトコル定義５２６に含まれる情報は、第１のＩＣＤプロトコル定義５１４と同じ通信プロトコルに関連付けられる。例えば、第１のＬＮＭプロトコル定義５２６は、Ａ４２９通信プロトコルに対応することができる。例えば、第１のＬＮＭプロトコル定義５２６は、１つ又は複数のＡ４２９通信ポート及び／又はＡ４２９通信ポートを実装するための制御論理に対応する言語中立定義を含むことができる。例えば、第１のＬＮＭプロトコル定義５２６は、Ａ４２９エンドシステム２３６及び／又はより一般的には図２のＡ４２９ＬＲＵ２３４に関連する待ち行列ポート及び／又はサンプリングポートに対応することができる。
【００８５】
図５では、第２のＬＮＭプロトコル定義５２８は、第２のＩＣＤプロトコル定義５１６と同数かつ同種の属性及び要素を含むことができる。第２のＬＮＭプロトコル定義５２８に含まれる情報は、第２のＩＣＤプロトコル定義５１６と同じ通信プロトコルに関連付けられる。例えば、第２のＬＮＭプロトコル定義５２８は、Ａ６６４通信プロトコルに対応することができる。例えば、第２のＬＮＭプロトコル定義５２８は、１つ又は複数のＡ６６４通信ポート及び／又はＡ６６４通信ポートを実装するための制御論理に対応する言語中立定義を含むことができる。例えば、第２のＬＮＭプロトコル定義５２８は、第１のＡ６６４エンドシステム２１４及び／又はより一般的には図２のＧＰＭ２０４に関連する待ち行列ポート及び／又はサンプリングポートに対応することができる。
【００８６】
図５の図示された例では、言語固有ドメイン５０４は、第１のモデリング環境５３０と第２のモデリング環境５３２とを含む。代替的には、図５に示す第１のモデリング環境５３０及び第２のモデリング環境５３２よりも少ない又は多い環境が存在してもよい。図５に示す例では、モデルマネージャ１００は、第１の言語固有モデル（ＬＳＭ）トランスレータ５３４、第２のＬＳＭトランスレータ５３６、及び第３のＬＳＭトランスレータ５３８を介して、言語中立ドメイン５０６と言語固有ドメイン５０４との間でデータを変換する。例えば、図４のＬＳＭトランスレータ４７０は、第１から第３のＬＳＭトランスレータ５３４、５３６、５３８を実装することができる。例えば、図４のＬＳＭトランスレータ４７０は、（１）ＬＮＭ５１８によって指定されたＬＮＭデータフォーマットのＬＮＭ５１８に含まれる第１のＬＮＭプロトコル定義５２６を（２）第１のモデリング環境５３０によって指定された第１のＬＳＭデータフォーマット５４２で第１のモデリング環境５３０に含まれる第１のＩＭＡプロトコル定義５４０に変換するために、第１のＬＳＭトランスレータ５３４を実装することができる。いくつかの例では、インターフェースインポータ４３０は、第１から第３のＬＳＭトランスレータ５３４、５３６、５３８を実装するようにＬＳＭトランスレータ４７０に指示する。
【００８７】
別の例では、図４のＬＳＭトランスレータ４７０は、（１）ＬＮＭ５１８によって指定されたＬＮＭデータフォーマットのＬＮＭ５１８に含まれる第２のＬＮＭプロトコル定義５２８を（２）第１のモデリング環境５３０によって指定された第１のＬＳＭデータフォーマット５４２で第１のモデリング環境５３０に含まれる第２のＩＭＡプロトコル定義５４４に変換するために、第２のＬＳＭトランスレータ５３６を実装することができる。図５では、第１のＩＭＡプロトコル定義５４０、第２のＩＭＡプロトコル定義５４４などは、図３のＩＭＡアプリケーション定義３１８及び／又はＩＭＡインターフェース定義３２０に対応することができる。
【００８８】
更に別の例では、図４のＬＳＭトランスレータ４７０は、（１）ＬＮＭ５１８によって指定されたＬＮＭデータフォーマットのＬＮＭ５１８に含まれる第２のＬＮＭプロトコル定義５２８を（２）第２のモデリング環境５３２によって指定された第２のＬＳＭデータフォーマット５４８で第２のモデリング環境５３２に含まれる第３のＩＭＡプロトコル定義５４６に変換するために、第３のＬＳＭトランスレータ５３８を実装することができる。
【００８９】
図５では、第１のモデリング環境５３０は、第１のＬＳＭデータフォーマット５４２に基づいている。図５の第１のＬＳＭデータフォーマット５４２は、ＩＣＤプロトコル定義（例えば、第１のＩＣＤプロトコル定義５１４、第２のＩＣＤプロトコル定義５１６など）の１つの選択、及び／又はＩＣＤソース（例えば、第１のＩＣＤソース５０８、第２のＩＣＤソース５１０など）の選択に基づくライブラリ５５０（例えば、モデルライブラリ、モデルオブジェクトライブラリなど）によって定義される。例えば、モデルマネージャ１００は、第１のモデリング環境５３０においてＩＭＡモデルを生成するために、第１のＩＣＤソース５０８を選択することができる。第１のＩＣＤソース５０８の選択に応じて、モデルマネージャ１００は、第１のＩＣＤトランスレータ５２０を介して、第１のＩＣＤプロトコル定義５１４を、第１のＬＮＭプロトコル定義５２６に変換することができる。第１のＬＮＭプロトコル定義５２６の生成に応じて、モデルマネージャ１００は、第１のＬＳＭトランスレータ５３４を介して、第１のＬＮＭプロトコル定義５２６を第１のＩＭＡプロトコル定義５４０に変換することができる。モデルマネージャ１００は、第１のＩＭＡプロトコル定義５４０に基づいてライブラリ５５０を生成することができる。
【００９０】
図５では、第２のモデリング環境５３２は、第２のＬＳＭデータフォーマット５４８に基づいている。図５の第２のＬＳＭデータフォーマット５４８は、ＩＣＤプロトコル定義（例えば、第１のＩＣＤプロトコル定義５１４、第２のＩＣＤプロトコル定義５１６など）のうちの１つの選択、及び／又はＩＣＤソース（例えば、第１のＩＣＤソース５０８、第２のＩＣＤソース５１０など）の選択に基づくブロック定義５５２（例えば、モデルブロック定義、モデルブロックオブジェクト定義など）によって定義される。例えば、モデルマネージャ１００は、第２のモデリング環境５３２においてＩＭＡモデルを生成するために第２のＩＣＤソース５１０を選択することができる。第２のＩＣＤソース５１０の選択に応じて、モデルマネージャ１００は、第２のＩＣＤトランスレータ５２２を介して、第２のＩＣＤプロトコル定義５１６を第２のＬＮＭプロトコル定義５２８に変換することができる。第２のＬＮＭプロトコル定義５２８の生成に応じて、モデルマネージャ１００は、第３のＬＳＭトランスレータ５３８を介して、第２のＬＮＭプロトコル定義５２８を第３のＩＭＡプロトコル定義５４６に変換することができる。モデルマネージャ１００は、第３のＩＭＡプロトコル定義５４６に基づいて、ブロック定義５５２を生成することができる。
【００９１】
図５では、第１のＬＮＭプロトコル定義５２６及び第２のＬＮＭプロトコル定義５２８に含まれるデータのフォーマットは、第１のモデリング環境５３０又は第２のモデリング環境５３２のいずれかの選択とは無関係である。例えば、第２のＬＮＭプロトコル定義５２８に含まれる情報は、第１のモデリング環境５３０又は第２のモデリング環境５３２のいずれかの選択とは無関係に同じデータフォーマットを保持する。結果として、ＬＮＭ５１８が、第１から第３のＬＳＭトランスレータ５３４、５３６、５３８のうちの１つを介して、第１のモデリング環境５３０及び第２のモデリング環境５３２と相互作用するため、モデルマネージャ１００が１つ又は複数のライブラリ５５０又は１つ又は複数のブロック定義５５２を修正すると、ＬＮＭ５１８は影響を受けない。例えば、モデルマネージャ１００は、第２のＬＮＭプロトコル定義５２８を修正することなく、第２のＬＮＭプロトコル定義５２８を、第１のモデリング環境５３０又は第２のモデリング環境５３２のいずれかにインポートすることができる。
【００９２】
いくつかの例では、モデルマネージャ１００は、１つ又は複数の変換規則を使用して、ＬＮＭ定義（例えば、第１及び第２のＬＮＭプロトコル定義５２６、５２８）を生成する。変換規則は、ＬＮＭ定義がＬＮＭ５１８に格納されるために準拠しなければならない及び／又は満たさなければならない１つ又は複数のデータ構成要素を含むデータ構造（例えば、変換データ構造）を表すことができる。例えば、モデルマネージャ１００は、第１のＬＳＭトランスレータ５３４を介して、第１のＩＭＡプロトコル定義５４０を第１のＬＮＭプロトコル定義５２６に変換することができる。そのような例では、第１のＬＳＭトランスレータ５３４は、第１のＩＭＡプロトコル定義５４０のうちの１つのデータ構造を、変換データ構造を含む変換規則と比較することができる。データ構造が変換データ構造と一致しないことに応じて、第１のＬＳＭトランスレータ５３４は、データ構造の欠落データ構成要素を、データ構造の既存のデータ構成要素と集約し、集約された構成要素をＬＮＭ定義にコンパイルすることができる。第１のＬＳＭトランスレータ５３４は、第１のＬＮＭプロトコル定義５２６及び／又は第２のＬＮＭプロトコル定義５２８の一部になるように、ＬＮＭ定義をＬＮＭ５１８にエクスポートすることができる。
【００９３】
図６は、例示的モデリングシステム６０２の例示的プレゼンテーション層６００の例示的実施態様である。例えば、モデリングシステム６０２は、ＩＭＡモデリングシステムとすることができる。図６のモデリングシステム６０２は、オープンプロトコルインターコネクション（ＯＳＩ）モデルに基づく第１のシステム６０４及び第２のシステム６０６のモデリングシステムを表し、これは、ある層から次の層に制御が渡される、通信プロトコルを層で実装するためのネットワーキングフレームワークである。図６において、上位層６０８（例えば、アプリケーション層）は、ネットワークを介したプロセス間通信に焦点を合わせるプロトコルを含むエンドユーザアプリケーションにネットワークサービスを供給するネットワーク層をシミュレートする。例えば、上位層６０８は、イーサネットベースのプロトコル（例えば、ＨＴＴＰパケット）、ＣＡＮバスプロトコル（例えば、ＣＡＮバスパケット）、Ａ４２９プロトコルなどの抽象概念を表すことができる。
【００９４】
図６において、上位層６０８は、プレゼンテーション層６００によって提供されるサービスを使用して、互いにデータを交換する。プレゼンテーション層６００は、プレゼンテーション層６００の上の上位層６０８をサポートするために、フォーマット変換、暗号化／復号などを含むメッセージデータのシンタックス処理を扱うなどのタスクを担当するネットワーク層をシミュレートする。図６のプレゼンテーション層６００は、例示的ＭＡＰＯＵＴ抽象概念６１０及び対応する例示的ＭＡＰＩＮ抽象概念６１２を含む。ＭＡＰＯＵＴ抽象概念６１０及びＭＡＰＩＮ抽象概念６１２は、モデリング環境内のモデルに含めることができるパラメトリックデータプロトコル通信ブロックの抽象概念である。例えば、ＭＡＰＯＵＴ抽象概念６１０は、モデルマネージャ１００が要素名（例えば、パラメータフィールド名、定義済みニーモニック名、定義済みパラメータ名など）の表示スタイルを選択できるようにするための、モデリング環境内のモデルに挿入可能なプレゼンテーションモデルブロックとすることができる。そのような例では、ＭＡＰＩＮ抽象概念６１２は、ＭＡＰＯＵＴ抽象概念６１０から要素名を取得することができ、それはモデルマネージャ１００、モデリング環境のユーザ（例えば、設計エンジニア）などに提示することができる。
【００９５】
図６のプレゼンテーション層６００は、例示的なＤＥＣＯＤＥ抽象概念６１４、及び対応する例示的なＥＮＣＯＤＥ抽象概念６１６を含む。いくつかの例では、ＤＥＣＯＤＥ抽象概念６１４及びＥＮＣＯＤＥ抽象概念６１６は、バスオブジェクト要素へのバイナリフレームバッファにエンコードされたデータを操作する。例えば、ＤＥＣＯＤＥ抽象概念６１４及びＥＮＣＯＤＥ抽象概念６１６は、データのエンコード／デコードを可能にするために、モデリング環境内のモデルに挿入可能なプレゼンテーションモデルブロックとすることができる。例えば、ＥＮＣＯＤＥ抽象概念６１６は、アナログ電圧値を２進値に変換することによって、データ（例えば、センサ値）をエンコードすることができる。そのような例では、ＤＥＣＯＤＥ抽象概念６１４は、２進値をアナログ電圧値に変換することによって、データをデコードすることができる。
【００９６】
図６の図示された例では、モデリングシステム６０２は、物理媒体によってサポートされる種類のシグナリングを使用して、デジタルデータビットの送信をシミュレートするための下位層６１８を含む。例えば、下位層６１８は、セッション層、トランスポート層、ネットワーク層、データリンク層、又は物理層のうちの１つ又は複数を含むことができる。例えば、下位層６１８は、電気信号、電磁気信号、赤外線又は通常の光のパルスなどによって送信されるデータのシミュレーションとすることができる。例えば、下位層６１８は、イーサネットケーブル、ラジオアンテナ、光ファイバーケーブルなどによって、送信及び／又は受信されているデータのシミュレーションでありうる。
【００９７】
図７Ａは、図１の航空機１０８に関連する複数のＩＭＡモデル７０２を生成し、実行し、かつ検証するためのＩＭＡモデル生成システム７００を示す。図７Ａでは、ＩＭＡモデル７０２は、ＩＭＡ  ＬＲＵモデル７０２である。代替的には、ＩＭＡモデル７０２は、ＩＭＡ  ＧＰＭモデル、ＩＭＡ  ＡＳＭモデル、ＩＭＡネットワークスイッチモデル、ＩＭＡ  ＲＤＣモデルなど、及び／又はそれらの組み合わせとすることができる。
【００９８】
図７Ａでは、複数のＩＭＡ  ＬＲＵモデル７０２は、１００００を超えるＩＭＡモデルを含む。代替的には、ＩＭＡモデル生成システム７００は、１００００未満のＩＭＡモデルを生成することができる。図７Ａでは、複数のＩＭＡ  ＬＲＵモデル７０２は、第１のＩＭＡモデル７０４を含む。図７Ａにおいて、第１のＩＭＡモデル７０４は、第１のＩＭＡ  ＬＲＵモデル（ＩＭＡ  ＬＲＵ  ＭＯＤＥＬ  １）７０４である。例えば、第１のＩＭＡ  ＬＲＵモデル７０４は、図２のＡ４２９  ＬＲＵ２３４、Ａ６６４  ＬＲＵ２２４などのＩＭＡモデルに対応することができる。例えば、第１のＩＭＡ  ＬＲＵモデル７０４は、Ａ４２９  ＬＲＵ  ２３４、Ａ６６４  ＬＲＵなどをシミュレートすることができる。別の例では、複数のＩＭＡ  ＬＲＵモデル７０２のうちの１つ又は複数は、航空機システム１０６及び／又はより一般には図１の航空機１０８に対応することができる。
【００９９】
図７Ａにおいて、モデルマネージャ１００は、ＩＭＡモデル生成システム７００を管理する。図７Ａでは、モデルマネージャ１００は、第１のＩＣＤトランスレータ５２０を介して、第１のＩＣＤプロトコル定義５１４などの第１のＩＣＤソース５０８からの情報をＬＮＭ５１８に変換する。図７Ａでは、モデルマネージャ１００は、第１のＬＳＭトランスレータ５３４を介して、ＬＮＭ５１８からの情報を第１のモデリング環境５３０内の第１のＩＭＡ  ＬＲＵモデル７０４に変換する。例えば、第１のＬＳＭトランスレータ５３４は、図７Ａに示すように、ＬＮＭ５１８からの情報を１００００を超えるＩＭＡ  ＬＲＵモデルに変換することができる。
【０１００】
図７Ａに図示した例では、モデルマネージャ１００は、第１のＩＭＡ  ＬＲＵモデル７０４を含む複数のＩＭＡ  ＬＲＵモデル７０２を生成し、実行し、検証する。図７Ａでは、第１のＩＭＡ  ＬＲＵモデル７０４は、図６の下位層６１８、プレゼンテーション層６００、及び上位層６０８を含む。図７Ａにおいて、下位層６１８は、物理的構成要素からデータを取得することをシミュレートする。図７Ａでは、下位層６１８は、例示的ネットワークスイッチ７０６からネットワークデータを取得することをシミュレートする。例えば、ネットワークスイッチ７０６は、図２のＣＣＲ  ＮＳ  ２１８、ＮＳ  ２２２などに対応することができる。図７Ａにおいて、下位層６１８は、デジタル通信（ＣＯＭ）読取機能（ＦＸ）７０８を介して、ネットワークスイッチ７０６からネットワークデータ（例えば、通信プロトコルデータパケット）を取得する。図７Ａにおいて、デジタルＣＯＭ読取機能７０８は、ネットワークスイッチ７０６からネットワークデータを取得し、取得したネットワークデータをバイナリデータ形式などのデジタルデータ形式に変換することをシミュレートする機械可読命令を使用して、第１のモデリング環境５３０によって実施される。
【０１０１】
いくつかの例では、ネットワークスイッチ７０６がシミュレートされる。例えば、デジタルＣＯＭ読取機能７０８は、ネットワークスイッチ７０６に関連する以前に記録されたネットワークデータを取得することができる。例えば、デジタルＣＯＭ読取機能７０８は、データベースから以前に記録された及び／又はシミュレートされた通信プロトコルデータパケットを読み取ることができる。いくつかの例では、ネットワークスイッチ７０６はシミュレートされない。例えば、デジタルＣＯＭ読取機能７０８は、リアルタイムで図２のＣＣＲ  ＮＳ  ２１８のような物理的装置からネットワークデータを取得することができる。
【０１０２】
図７Ａでは、下位層６１８は、例示的なセンサ７１０からセンサデータを取得することをシミュレートする。例えば、センサ７１０は、図２のセンサ２３０に対応することができる。図７Ａでは、下位層６１８は、センサ読取機能７１１を介して、センサ７１０からセンサデータ（例えば、アナログ信号、デジタル信号など）を取得する。図７Ａでは、センサ読取機能７１１は、センサ７１０からセンサデータを取得し、取得したセンサデータをバイナリデータフォーマットなどのデジタルフォーマットに変換することをシミュレートする機械可読命令を使用して、第１のモデリング環境５３０によって実施される。
【０１０３】
いくつかの例では、センサ７１０は、シミュレートされる。例えば、センサ読取機能７１１は、センサ７１０に関連して以前に記録されたセンサデータを取得することができる。例えば、センサ読取機能７１１は、データベースから以前に記録された及び／又はシミュレートされたアナログ信号、デジタル信号などを読み取ることができる。いくつかの例では、センサ７１０は、シミュレートされない。例えば、センサ読取機能７１１は、図２のセンサ２３０などの物理的装置からセンサデータをリアルタイムで取得することができる。
【０１０４】
図７Ａにおいて、第１のＩＭＡ  ＬＲＵモデル７０４は、下位層６１８から得られたバイナリデータを上位層６０８によって使用される工学単位のデータに変換するシミュレーションを容易にするためのプレゼンテーション層６００を含む。図７Ａでは、第１のＩＭＡ  ＬＲＵモデル７０４は、例示的ＤＥＣＯＤＥ機能７１２を介して、データをデコード又は解凍する。例えば、デコード機能７１２は、図６のデコード抽象概念６１４に対応することができる。ＤＥＣＯＤＥ機能７１２は、デジタルＣＯＭ読取機能７０８によって取得されたネットワークデータを解凍して、ネットワークアドレス、ネットワークパラメータ、ペイロードデータといった含まれる情報を分析することができる。
【０１０５】
図７Ａにおいて、第１のＩＭＡ  ＬＲＵモデル７０４は、例示的なＭＡＰＯＵＴ機能７１４を介して、解凍されたネットワークデータを図５の第１のＩＭＡプロトコル定義５４０などのＩＭＡプロトコル定義にマッピングする。例えば、ＭＡＰＯＵＴ機能７１４は、図６のＭＡＰＯＵＴ抽象概念６１０に対応することができる。ＭＡＰＯＵＴ機能７１４は、解凍されたネットワークデータに含まれる情報を、第１のＩＭＡプロトコル定義５４０に含まれる適切なデータフィールドに関連付ける、又は指示することができる。例えば、ＭＡＰＯＵＴ機能７１４は、関連する値を有する属性を表す１つ又は複数のパラメータを生成することができる。例えば、パラメータは、ネットワークアドレスの値、ネットワークパラメータの値、ペイロードデータに関連する値などとすることができる。
【０１０６】
図７Ａにおいて、第１のＩＭＡ  ＬＲＵモデル７０４は、工学単位（ＥＵ）スケーリング機能７１６を介して、バイナリデータを工学単位のデータに変換及び／又はスケーリングする。例えば、ＥＵスケーリング機能７１６は、センサ７１０からのアナログ信号値（例えば、電圧信号、電流信号など）に関連するバイナリデータを、例えば、圧力（例えば、０−１０００ポンド／平方インチ（ＰＳＩ））、速度（例えば、０−５０００回転／分（ＲＰＭ））、位置百分率（例えば、２５％開放、７５％閉鎖など）、流れ（例えば、０−２５ガロン／分）などの物理パラメータの範囲に関連する工学単位まで、変換することができる。
【０１０７】
図７Ａでは、第１のＩＭＡ  ＬＲＵモデル７０４は、主要機能７１８、内蔵試験（ＢＩＴ）機能７２０、及び上位層６０８に関連するサポート機能７２２を介して、ＥＵスケーリング機能７１６からの工学単位データを使用して、制御論理を実行する。図７Ａでは、主要機能７１８は、１つ又は複数の制御論理ルーチンを含むことができる。例えば、主要機能７１８は、ネットワークスイッチ７０６から得られたデータに基づいて、航空機１０８のフラップ作動コマンド、スラット作動コマンドなどを実行することを含むことができる。例えば、主要機能７１８は、モータ、ポンプ、ソレノイド、バルブなどの、航空機システム１０６及び／又はより一般的には航空機１０８の物理的構成要素を作動させることを含むことができる。
【０１０８】
図７Ａでは、ＢＩＴ機能７２０は、図２のＲＤＣ２２６に関連する実行機能に対応することができる。例えば、ＢＩＴ機能７２０は、図２のＡ４２９  ＬＲＵ  ２３４からネットワークデータを取得すること、図２のセンサ２３０からセンサデータを取得すること、図２のエフェクタ２３２に制御信号を生成及び／又は送信することなどをシミュレートすることができる。図７Ａに示すように、ＢＩＴ機能７２０は、遠隔モニタ機能７２４及びモニタ機能７２６を含む。図７Ａでは、遠隔モニタ機能７２４は、ネットワークスイッチ７０６からネットワークデータを取得し、そのネットワークデータを図２のＣＡＮバス２３８などのネットワークに送信することをシミュレートする。図７Ａでは、モニタ機能７２６は、センサ７１０からセンサデータを取得し、そのセンサデータを図２のＣＡＮバス２３８、図２のＮＳ２２２などのネットワークに送信することをシミュレートする。
【０１０９】
図７Ａでは、第１のＩＭＡ  ＬＲＵモデル７０４は、ＥＵスケーリング機能７１６からの工学単位データを使用して、補助制御論理機能をシミュレートするためのサポート機能７２２を含む。図７Ａでは、サポート機能７２２は、動作状態管理７２８、ファイルシステム７３０、及びデータロード７３２を含む。図７Ａでは、動作状態管理７２８は、取得されたネットワークデータ及び／又はセンサデータに基づいて、ネットワークスイッチ７０６、センサ７１０などのような第１のＩＭＡ  ＬＲＵモデル７０４に関連する物理的構成要素に関するステータス情報のシミュレーションに対応する。図７Ａでは、ファイルシステム７３０は、図２のＡ４２９、ＬＲＵ２３４、Ａ６６４、ＬＲＵ２２４などのシミュレートされたＬＲＵのオペレーティングシステムのシミュレーションに対応する。図７Ａでは、データロード７３２は、シミュレートされたＬＲＵのプロセッサ利用率、ストレージ利用率、メモリ利用率などのステータス情報のシミュレーションに対応する。
【０１１０】
図７Ａでは、第１のＬＳＭトランスレータ５３４は、１つ又は複数のＤＥＣＯＤＥ機能７１２、ＭＡＰＯＵＴ機能７１４、及び／又はＥＵスケーリング機能７１６を変換する。例えば、第１のＬＳＭトランスレータ５３４は、各インスタンスが第１のＩＭＡプロトコル定義５４０に関連するパラメータを含んで、１００００を超えるＤＥＣＯＤＥ機能７１２のインスタンスを変換することができる。例えば、第１のＬＳＭトランスレータ５３４は、シミュレートされたＬＲＵの第１の機能に対応する第１のＩＭＡプロトコル定義５４０に基づいて、第１のＤＥＣＯＤＥ機能７１２のインスタンスを第１のパラメータセットで変換することができる。そのような例では、第１のＬＳＭトランスレータ５３４は、シミュレートされたＬＲＵの第２の機能に対応する第１のＩＭＡプロトコル定義５４０に基づいて、ＤＥＣＯＤＥ機能７１２の第２のインスタンスを第２のセットのパラメータに変換することができ、この場合、第１のセットのパラメータは第２のセットのパラメータとは異なる。そのような例では、モデルマネージャ１００は、第１のＩＭＡプロトコル定義５４０に基づいてシミュレートされたＬＲＵの複数のシミュレート機能を生成することができる。
【０１１１】
図７Ｂは、図７ＡのＩＭＡモデル生成システム７００の続きを示す。図７Ｂでは、第１のＩＭＡ  ＬＲＵモデル７０４は、工学単位データをバイナリデータに変換するための例示的なバイナリスケーリング機能７３４を含む。図７Ｂにおいて、第１のＩＭＡ  ＬＲＵモデル７０４は、例示的なＭＡＰＩＮ機能７３６を介して、変換されたバイナリデータを図５の第１のＩＭＡプロトコル定義５４０などのＩＭＡプロトコル定義にマッピングする。例えば、ＭＡＰＩＮ機能７３６は、図６のＭＡＰＩＮ抽象概念６１２に対応することができる。ＭＡＰＩＮ機能７３６は、変換されたバイナリに含まれる情報を、第１のＩＭＡプロトコル定義５４０に含まれる適切なデータフィールドに関連付ける、又は指示することができる。例えば、ＭＡＰＩＮ機能７３６は、変換されたバイナリデータを図３のＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０などに関連付けることができる。
【０１１２】
図７Ｂでは、第１のＩＭＡ  ＬＲＵモデル７０４は、例示的ＥＮＣＯＤＥ機能７３８を介して、バイナリデータを通信プロトコルデータパケットにエンコード又はカプセル化する。例えば、ＥＮＣＯＤＥ機能７３８は、図６のＥＮＣＯＤＥ抽象概念６１６に対応することができる。ＥＮＣＯＤＥ機能７３８は、上位層６０８によって処理されたバイナリデータをデジタルデータに変換することができる。
【０１１３】
図７Ｂでは、第１のＩＭＡ  ＬＲＵモデル７０４は、デジタルＣＯＭ書き込み機能７４０、不揮発性メモリ書き込み機能７４２、及び／又はエフェクタ書き込み機能７４４を介して、デジタルデータを送信及び／又は記憶するための下位層６１８を含む。図７Ｂにおいて、デジタルＣＯＭ書き込み機能７４０は、デジタルデータが通信送信バッファに書き込まれ、そこでデジタルデータがカプセル化され、先入れ先出し（ｆｉｒｓｔ−ｉｎ−ｆｉｒｓｔ−ｏｕｔ：ＦＩＦＯ）の順序でネットワークに送信することができるネットワークデータセッションの開始をシミュレートするために、機械可読命令を使用して第１のモデリング環境５３０によって実施される。図７Ｂでは、不揮発性メモリ書き込み機能７４２が、デジタルデータを不揮発性メモリに書き込む。図７Ｂでは、エフェクタ書き込み機能７４４は、デジタルデータを図２のエフェクタ２３２のようなエフェクタを制御するために制御信号に変換することができるエフェクタバッファへのデジタルデータの書き込みをシミュレートするための機械可読命令を使用して、第１のモデリング環境５３０によって実施される。
【０１１４】
図７Ｂでは、第１のＩＭＡ  ＬＲＵモデル７０４は、デジタルデータを、例示的なＣＯＭコントローラ７４８を介してネットワークに送信される通信プロトコルデータフォーマット（例えば、Ａ４２９通信プロトコルデータフォーマット、Ａ６６４通信プロトコルデータフォーマットなど）にカプセル化するための例示的なＣＯＭプロトコル機能７４６を含む。例えば、ＣＯＭプロトコル機能７４６はデジタルデータをＡ４２９データパケットにカプセル化することができ、ＣＯＭコントローラ７４８はＡ４２９通信プロトコルを介してＡ４２９データパケットを送信することができる。
【０１１５】
図７Ｂでは、ＮＶＭ書き込み機能７４２は、デジタルデータを例示的なボードサポートパッケージ（ＢＳＰ）ドライバアプリケーションプログラミングインターフェース（ＡＰＩ）７５０に送信する。例えば、ＢＳＰドライバＡＰＩ７５０は、ハードウェア出力に対する機械可読命令を容易にするために、１つ又は複数のドライバ又はミドルウェアを実装することができる。ＢＳＰドライバＡＰＩ７５０がデジタルデータを処理するのに応じて、第１のＩＭＡ  ＬＲＵモデル７０４は、処理されたデジタルデータをＮＶＭフラッシュメモリ７５２に格納する。
【０１１６】
図７Ｂにおいて、エフェクタ書き込み機能７４４は、デジタルデータをＢＳＰドライバＡＰＩ７５０に送信して、デジタルデータを制御信号に変換し、図２のエフェクタ２３２などのエフェクタを制御する。制御信号の生成に応じて、第１のＩＭＡ  ＬＲＵモデル７０４は、生成された制御信号をＮＶＭフラッシュメモリ７５２に格納する。
【０１１７】
図７Ｂでは、第１のＬＳＭトランスレータ５３４は、１つ又は複数のバイナリスケーリング機能７３４、ＭＡＰＩＮ機能７３６、ＥＮＣＯＤＥ機能７３８、デジタルＣＯＭ書き込み機能７４０、ＮＶＭ書き込み機能７４２、及び／又はエフェクタ書き込み機能７４４を変換する。例えば、第１のＬＳＭトランスレータ５３４は、各インスタンスが第１のＩＭＡプロトコル定義５４０に関連するパラメータを含んで、１００００を超えるＥＮＣＯＤＥ機能７３８のインスタンスを変換することができる。例えば、第１のＬＳＭトランスレータ５３４は、シミュレートされたＬＲＵの第１の機能に対応する第１のＩＭＡプロトコル定義５４０に基づいて、ＤＥＣＯＤＥ機能７３８の第１のインスタンスを第１のセットのパラメータで変換することができる。そのような例では、第１のＬＳＭトランスレータ５３４は、シミュレートされたＬＲＵの第２の機能に対応する第１のＩＭＡプロトコル定義５４０に基づいて、ＥＮＣＯＤＥ機能７３８の第２のインスタンスを第２のセットのパラメータに変換することができ、この場合、第１のセットのパラメータは第２のセットのパラメータとは異なる。そのような例では、モデルマネージャ１００は、第１のＩＭＡプロトコル定義５４０に基づいてシミュレートされたＬＲＵの複数のシミュレート機能を生成することができる。
【０１１８】
図７Ｃは、図５の第１のモデリング環境５３０に関連するライブラリ５５０を生成するモデルマネージャ１００を示す。図７Ｃに図示される例では、モデルマネージャ１００は、展開されるべきモデリング環境を選択及び／又は別の方法で決定する。図７Ｃでは、モデルマネージャ１００は、例示的なＩＭＡシステムモデル７５４を生成するために、図５の第１のモデリング環境５３０を選択する。例えば、ＩＭＡシステムモデル７５４は、図７Ａ及び図７Ｂの第１のＩＭＡ  ＬＲＵモデル７０４を含む複数のＩＭＡ  ＬＲＵモデル７０２を含むことができる。
【０１１９】
図７の図示された例では、第１のモデリング環境５３０は、ＩＭＡバス要素７５８を含む例示的ＩＭＡバス構造７５６を含む。ＩＭＡバス構造７５６は、シミュレートされた通信バスのアーキテクチャ特性を指定するバスオブジェクトであり、これはシミュレートされた通信バスが促進する信号の値とは異なる。例えば、ＩＭＡバス構造７５６は、バス内の要素の量、要素の順序、要素がネストされているかどうか及び要素がどのようにネストされているか、対応する信号のデータ種類などを指定することができる。例えば、モデルマネージャ１００は、ＡＲＩＮＣ４２９、ＡＲＩＮＣ６６４などの航空機通信プロトコルの構成、シンタックス、又は構造をシミュレートするために、ＩＭＡバス構造７５６を作成することができる。例えば、ＩＭＡバス構造７５６は、ＡＲＩＮＣ６６４の構造に対応することができ、ここでＩＭＡバス要素７５８はＡＲＩＮＣ６６４バス信号の定義又は特性（例えば、ＡＲＩＮＣ６６４バス信号の値、測定単位など）に対応する。
【０１２０】
図７Ｃでは、第１のモデリング環境５３０は、例示的ＩＣＤバス要素７６２を含むＩＣＤバス構造７６０を含む。ＩＣＤバス構造７６０は、図５の第１のＩＣＤソース５０８などのデータソースドメイン５０２に格納されている特性に基づいて、シミュレートされた通信バスのアーキテクチャ特性を指定するバスオブジェクトである。図７Ｃでは、ＩＣＤバス構造７６０は、データソースドメイン５０２に含まれる情報を第１のモデリング環境５３０に含まれる情報にマッピングするためのＩＣＤバス要素７６２を含む。例えば、モデルマネージャ１００は、ＩＣＤバス要素７６２に含まれるデータを使用して、ＩＭＡバス要素７５８に含まれるデータを事前設定することができる。例えば、モデルマネージャ１００は、ＩＣＤバス要素７６２に含まれる第１のＩＣＤバス要素７６６に含まれるデータを使用して、ＩＭＡバス要素７５８に含まれる第１のＩＭＡバス要素７６４を事前設定することができる。
【０１２１】
動作中、モデルマネージャ１００は、ＬＮＭ５１８に含まれる情報をインポートすることによって、ＩＭＡシステムモデル７５４を生成する。図７Ｃでは、モデルマネージャ１００は、第１のモデリング環境５３０がＩＭＡシステムモデル７５４を生成するために使用されるべきであると決定する。例えば、モデルマネージャ１００は、図５の第１のＩＣＤソース５０８などのデータソースを選択して、ＩＭＡシステムモデル７５４を生成するために使用される情報を検索することができる。モデルマネージャ１００は、（１）第１のＩＣＤソース５０８から検索された第１のＩＣＤプロトコル定義５１４に基づく第１のＬＮＭプロトコル定義５２６を（２）第１のＩＭＡプロトコル定義５４０に変換及び／又は別の方法で転換するために、第１の命令７６８を実行する。
【０１２２】
図７Ｃでは、モデルマネージャ１００は、第２の命令７７０を実行して、ＩＭＡバス構造７５６及びＩＣＤバス構造７６０を生成する。例えば、モデルマネージャ１００は、第１のモデリング環境５３０に、第１のモデリング環境５３０内で第２の命令７７０を実行するよう指示することができる。ＩＭＡバス構造７５６及びＩＣＤバス構造７６０の生成に応じて、モデルマネージャ１００は、第３の命令７７２を実行し、第１のモデリング環境５３０を初期化又は開始する。例えば、モデルマネージャ１００は、第１のモデリング環境５３０に、第１のモデリング環境５３０内で第３の命令７７２を実行するよう指示することができる。
【０１２３】
図７Ｃに示す例では、第１のモデリング環境５３０の初期化に応じて、モデルマネージャ１００は、ＬＮＭ５１８に含まれる第１のＬＮＭプロトコル定義５２６に基づいて、図５のライブラリ５５０を生成するために第４の命令７７４を実行する。図７Ｃでは、ライブラリ５５０は、例示的ＩＭＡ  ＭＡＰＩＮモデルライブラリ（ＭＬ）７７５、例示的ＩＭＡ  ＥＮＣＯＤＥモデルライブラリ７７６、例示的ＩＭＡ  ＤＥＣＯＤＥモデルライブラリ７７７、及び例示的ＩＭＡ  ＭＡＰＯＵＴモデルライブラリ７７８を含む。ライブラリ５５０の各々は、複数のＩＭＡモデル、ＩＭＡモデルオブジェクト、ＩＭＡ定義などを含むことができる。
【０１２４】
図７Ｃでは、第４の命令７７４は、第１のＬＮＭプロトコル定義５２６を第１のＩＭＡプロトコル定義５４０に変換する。例えば、モデルマネージャ１００は、第１のモデリング環境５３０に、適用可能であれば、モデルライブラリ５５０内の第１のモデリング環境５３０に含まれる、ＩＭＡモデル、ＩＭＡモデルオブジェクト（例えば、ＩＭＡアプリケーションモデルオブジェクト３１４、ＩＭＡインターフェースモデルオブジェクト３１６など）、ＩＭＡ定義（例えば、ＩＭＡアプリケーション定義３１８、ＩＭＡインターフェース定義３２０など）などを、第１のモデリング環境５３０内にインポートするよう指示することができる。
【０１２５】
図７Ｃでは、第４の命令７７４は、例示的ＩＭＡ  ＭＡＰＩＮモデルオブジェクト７８１、例示的ＩＭＡ  ＥＮＣＯＤＥモデルオブジェクト７８２、例示的ＤＥＣＯＤＥモデルオブジェクト７８３、及び例示的ＭＡＰＯＵＴモデルオブジェクト７８４を含むＩＭＡモデルオブジェクト７８０を生成する。いくつかの例では、第４の命令７７４は、ユーザ入力に応じて実行される。例えば、ユーザ入力に応じて、第４の命令７７４は、ＩＭＡモデルオブジェクト７８０のうちの１つ又は複数を生成することができる。
【０１２６】
図７Ｃでは、ＩＭＡモデルオブジェクト７８０は、図６のプレゼンテーション層６００に対応する。例えば、ＩＭＡ  ＭＡＰＩＮモデルオブジェクト７８１は、図６のＭＡＰＩＮ抽象概念６１２に対応することができる。図７において、各ＩＭＡモデルオブジェクト７８０は、対応するパラメータ情報を含む。例えば、ＩＭＡ  ＭＡＰＩＮモデルオブジェクト７８１は、対応するパラメータ定義（例えば、図３のパラメータ定義３１１ａ、３１１ｂ）を有する１つ又は複数のパラメータ識別子を含むことができる。
【０１２７】
図７Ｃに示す例では、モデルマネージャ１００は、第１のＩＭＡ  ＬＲＵモデル７０４を含む複数のＩＭＡ  ＬＲＵモデル７０２のうちの１つ又は複数をインポートすることによって、ＩＭＡシステムモデル７５４を生成する。図７Ｃでは、モデルマネージャ１００は、第１のライブラリリンク７８６を介して、ライブラリ５５０からモデルオブジェクトをインポートすることによって、複数のＩＭＡ  ＬＲＵモデル７０２のそれぞれ各々を生成する。例えば、モデルマネージャ１００は、第１のモデリング環境５３０に、第１のライブラリリンク７８６を介して、ライブラリ５５０から、第１のＩＭＡ  ＬＲＵモデル７０４を、下位層６１８、プレゼンテーション層６００、及び上位層６０８に関連した対応するＩＭＡモデルオブジェクトと共にインポートするよう指示することができる。図７Ｃでは、モデルマネージャ１００は、下位層６１８、プレゼンテーション層６００、及び上位層６０８が対応する第１のＩＭＡプロトコル定義５４０を含む複数のＩＭＡ  ＬＲＵモデル７０２をインポートする。図７Ｃでは、ライブラリ５５０は、第２のライブラリリンク７８８を介して、ＩＭＡモデルオブジェクト７８０から情報をインポートすることに基づいて生成される。
【０１２８】
図７Ｃの図示された例では、モデルマネージャ１００は、ＩＭＡシステムモデル７５４に含まれる１つ又は複数の特性と、ＩＭＡバス要素７５８、ＩＣＤバス要素７６２などに含まれる１つ又は複数の特性との比較に基づいて、ＩＭＡシステムモデル７５４を検証する。例えば、ＩＭＡシステムモデル７５４は、航空機システム１０６及び／又はより一般的には図１の航空機１０８のシミュレーションに対応することができる。第１のＩＭＡ  ＬＲＵモデル７０４の下位層６１８、プレゼンテーション層６００、及び上位層６０８は、ＩＭＡバス構造７５６と一緒に結合される。図７Ｃでは、モデルマネージャ１００は、第１のＩＭＡ  ＬＲＵモデル７０４の下位層６１８、プレゼンテーション層６００、及び上位層６０８を結合するＩＭＡバス構造７５６が、ＩＣＤバス構造７６０によって指定された特性を含むかどうかを検証する。
【０１２９】
例えば、モデルマネージャ１００は、下位層６１８に含まれるパラメータのうちの１つの特性をＩＣＤバス要素７６２に含まれる特性と比較することができる。比較に基づいて、ＩＭＡバス構造７５６がＩＣＤバス要素７６６によって指定された１つ又は複数の特性を有しないと判定したことに応じて、第１のモデリング環境５３０は、ＩＭＡシステムモデル７５４の動作を停止し、エラーメッセージ、警告などを生成する。図４のモデルマネージャ１００を実装するための例示的なハードウェア論理又は機械可読命令を表すフローチャートが、図８から図１１に示される。機械可読命令は、図１２に関連して以下で説明される例示的なプロセッサプラットフォーム１２００に示されるプロセッサ１２１２などのプロセッサによる実行のためのプログラム又はプログラムの一部とすることができる。
【０１３０】
プログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ハードドライブ、ＤＶＤ、ブルーレイディスク、又はプロセッサ１２１２に関連するメモリなどの非一過性のコンピュータ可読記憶媒体に記憶されたソフトウェアで実施することができるが、代替的には、プログラム全体及び／又はその一部を、プロセッサ１２１２以外の装置によって実行すること、及び／又はファームウェア若しくは専用ハードウェアで実施することも可能であろう。更に、例示的なプログラムが図８から図１１に示すフローチャートを参照して説明されているが、代替的には、モデルマネージャ１００を実装する他の多くの方法を使用することができる。例えば、ブロックの実行順序は、変更することができ、及び／又は説明したブロックのいくつかは、変更、削除、又は組み合わせることができる。追加的に又は代替的には、ブロックのいずれか又はすべては、ソフトウェアやファームウェアを実行せずに対応する操作を実行するように構成された１つ又は複数のハードウェア回路（例えば、個別及び／又は集積アナログ及び／又はデジタル回路、ＦＰＧＡ、ＡＳＩＣ、比較器、演算増幅器（オペアンプ）、論理回路など）によって実装することができる。
【０１３１】
上述のように、図８から図１１のプロセスは、情報が任意の期間（例えば、長期間、恒久的に、短時間、一時的にバッファリングする間、及び／又は情報をキャッシュする間）に格納される、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、及び／又は他の任意の記憶デバイス若しくは記憶ディスクといった、非一過性のコンピュータ及び／又は機械可読媒体に格納された実行可能命令（例えば、コンピュータ及び／又は機械可読命令）を使用して、実装することができる。本明細書で使用されるとき、非一過性のコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読記憶デバイス及び／又は記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外するように明確に定義される。
【０１３２】
「含む（ｉｎｃｌｕｄｉｎｇ）」及び「備える（ｃｏｍｐｒｉｓｉｎｇ）」（及びそれらのすべての形及び時制）は、本明細書では、オープンエンドの用語（ｏｐｅｎ  ｅｎｄｅｄ  ｔｅｒｍ）であるように使用される。したがって、請求項が前文として又は任意の種類の請求項の列挙内で任意の形態の「含む（ｉｎｃｌｕｄｅ）」又は「備える（ｃｏｍｐｒｉｓｅ）」（例えば、備える（ｃｏｍｐｒｉｓｅｓ）、含む（ｉｎｃｌｕｄｅｓ）、備えている（ｃｏｍｐｒｉｓｉｎｇ）、含んでいる（ｉｎｃｌｕｄｉｎｇ）、有している（ｈａｖｉｎｇ）など）を用いるときはいつでも、追加の要素、用語などが、対応する請求項又は列挙の範囲を逸脱することなく存在しうると理解されたい。本明細書で使用されるように、「少なくとも（ａｔ  ｌｅａｓｔ）」というフレーズが、例えば、請求項の前文において移行用語として使用されるとき、それは「備えている（ｃｏｍｐｒｉｓｉｎｇ）」及び「含んでいる（ｉｎｃｌｕｄｉｎｇ）」という用語がオープンエンドであるのと同じく、オープンエンドである。「及び／又は」という用語は、例えば、Ａ、Ｂ、及び／又はＣなどの形式で使用される場合、（１）Ａ単独、（２）Ｂ単独、（３）Ｃ単独、（４）ＡとＢ、（５）ＡとＣ、及び（６）ＢとＣといった、Ａ、Ｂ、Ｃの任意の組み合わせ又はサブセットを指す。
【０１３３】
図８は、図１の航空機１０８のＩＭＡシステムモデルを生成するために、図１及び図３から図７Ｃのモデルマネージャ１００によって実行することができる例示的な方法８００を表すフローチャートである。方法８００は、ブロック８０２で開始し、ここでモデルマネージャ１００が、モデリング環境を選択する。例えば、モデリング環境セレクタ４１０は、図７ＣのＩＭＡシステムモデル７５４を生成するために、図５の第１のモデリング環境５３０の使用を決定することができる。
【０１３４】
ブロック８０４で、モデルマネージャ１００は、処理するデータソースを選択する。例えば、データソースセレクタ４２０は、処理するために、図５の第１のＩＣＤソース５０８の使用を決定することができる。ブロック８０６で、モデルマネージャ１００は定義をモデリング環境にインポートする。例えば、インターフェースインポータ４３０は、言語中立ドメイン５０６を介して、データソースドメイン５０２から言語固有ドメイン５０４に情報をインポートすることができる。ブロック８０６を実装するために使用することができる例示的なプロセスが、図９に関連して以下に説明される。
【０１３５】
ブロック８０８で、モデルマネージャ１００は、モデルオブジェクトをモデリング環境にインポートする。例えば、モデルオブジェクトハンドラ４５０は、図７Ａ及び図７Ｂの下位層６１８、プレゼンテーション層６００、上位層６０８などに関連する機能を、第１のモデリング環境５３０にインポートして、第１のＩＭＡ  ＬＲＵモデル７０４を生成することができる。例えば、モデルオブジェクトハンドラ４５０は、デジタルＣＯＭ読取機能７０８、センサ読取機能７１１などを、図７Ａの下位層６１８にインポートすることができる。
【０１３６】
別の例では、モデルオブジェクトハンドラ４５０は、ＤＥＣＯＤＥ機能７１２、ＭＡＰＯＵＴ機能７１４などを、図７Ａのプレゼンテーション層６００にインポートすることができる。
【０１３７】
ブロック８１０で、モデルマネージャ１００は、モデルオブジェクトを構成する。例えば、モデルオブジェクトハンドラ４５０は、第１のＩＭＡプロトコル定義５４０、第２のＩＭＡプロトコル定義５４４などに含まれる１つ又は複数の定義を構成することができる。ブロック８１０を実装するために使用することができる例示的なプロセスが、図１０に関連して以下に説明される。
【０１３８】
ブロック８１２で、モデルマネージャ１００は、別のＩＭＡモデルを生成するかどうかを判定する。例えば、モデルオブジェクトハンドラ４５０は、複数のＩＭＡ  ＬＲＵモデル７０２に含まれる第２のＩＭＡ  ＬＲＵモデル、複数のＩＭＡ  ＬＲＵモデル７０２に含まれる第３のＩＭＡ  ＬＲＵモデルなどの生成を決定することができる。
【０１３９】
ブロック８１２で、モデルマネージャ１００が別のＩＭＡモデルを生成することを決定した場合、制御は、ブロック８０８に戻り、モデルオブジェクトをモデリング環境にインポートして、別のＩＭＡモデルを生成する。ブロック８１２で、モデルマネージャ１００が別のＩＭＡモデルを生成しないと決定した場合、ブロック８１４で、モデルマネージャ１００は、ＩＭＡシステムモデルを生成する。例えば、モデルオブジェクトハンドラ４５０は、複数のＩＭＡ  ＬＲＵモデル７０２を生成することによって、図７ＣのＩＭＡシステムモデル７５４を生成することができる。
【０１４０】
ブロック８１６で、モデルマネージャ１００は、ＩＭＡシステムモデルを検証する。例えば、インターフェースバリデータ４８０は、ＩＭＡシステムモデル７５４を実行し、ＩＭＡシステムモデル７５４の出力を検証出力（例えば、検証閾値、検証規則など）と比較して、出力マッチングに基づいて、及び／又はそうでなければ検証出力を満たすことに基づいて、ＩＭＡシステムモデル７５４を検証することができる。別の例では、インターフェースバリデータ４８０は、ＩＭＡシステムモデル７５４に含まれる１つ又は複数の特性をＩＭＡバス要素７５８、ＩＣＤバス要素７６２などに含まれる１つ又は複数の特性と比較し、その比較に基づいてＩＭＡシステムモデル７５４を検証することによって、ＩＭＡシステムモデル７５４を検証することができる。例えば、ＩＭＡシステムモデル７５４に含まれる１つ又は複数の特性は、第１のＩＭＡプロトコル定義５４０のうちの１つの特性に対応することができる。
【０１４１】
ブロック８１８で、モデルマネージャ１００は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ４８０は、ＩＭＡシステムモデル７５４に含まれる１つ又は複数の特性と、ＩＭＡバス要素７５８、ＩＣＤバス要素７６２などに含まれる１つ又は複数の特性との比較に基づいて、ＩＭＡシステムモデル７５４が１つ又は複数のＩＭＡ定義規則に準拠していないと決定することができる。
【０１４２】
ブロック８１８で、検証が成功しなかったとモデルマネージャ１００が判定した場合、制御はブロック８１０に戻り、モデルオブジェクトを再構成する。ブロック８１８で、検証が成功したとモデルマネージャ１００が判定した場合、ブロック８２０で、モデルマネージャ１００は出力を生成する。例えば、インターフェースエクスポータ４４０は、航空機システム１０６及び／又はより一般的には図１の航空機１０８に対して実行するための、ＩＭＡシステムモデル７５４に関連する機械可読命令を生成し展開することができる。例えば、航空機１０８は、ＩＭＡシステムモデル７５４に基づいて、機械可読命令を実行することによって動作することができる。別の例では、インターフェースエクスポータ４４０は、ＩＭＡシステムモデル７５４に基づいて、航空機システム１０６及び／又はより一般的には図１の航空機１０８の製作を開始するためのサプライチェーン及び／又は製造ビルド命令を生成し展開することができる。ブロック８２０を実装するために使用することができる例示的なプロセスが、図１１に関連して以下に説明される。出力を生成することに応じて、図８の方法８００が終了する。
【０１４３】
図９は、定義をモデリング環境にインポートするために、図１及び図３から図７Ｃのモデルマネージャ１００によって実行することができる例示的な方法９００を表すフローチャートである。図９のプロセスは、図８のブロック８０６の動作を実施するために使用することができる。方法９００は、ブロック９０２で始まり、そこでモデルマネージャ１００は、インポートするＩＣＤ定義を選択する。例えば、データソースセレクタ４２０は、インポートする第１のＩＣＤソース５０８の第１のＩＣＤプロトコル定義５１４を選択することができる。
【０１４４】
ブロック９０４で、モデルマネージャ１００は、ＩＣＤ定義をＬＮＭ定義に変換する。例えば、ＩＣＤトランスレータ４６０は、第１のＩＣＤプロトコル定義５１４を、図５のＬＮＭ５１８に含まれる第１のＬＮＭプロトコル定義５２６に変換するために、第１のＩＣＤトランスレータ５２０を実装することができる。ブロック９０６で、モデルマネージャ１００は、ＬＮＭ定義を検証する。例えば、インターフェースバリデータ４８０は、第１のＬＮＭプロトコル定義５２６を１つ又は複数のＬＮＭ定義規則と比較し、その比較に基づいて、第１のＬＮＭプロトコル定義５２６を検証することができる。
【０１４５】
ブロック９０８で、モデルマネージャ１００は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ４８０は、第１のＬＮＭプロトコル定義５２６が、１つ又は複数のＬＮＭ定義規則に準拠し、かつ／又はそうでなければそれを満たす第１のＬＮＭプロトコル定義５２６に基づいて検証されると決定することができる。
【０１４６】
ブロック９０８で、モデルマネージャ１００は検証が成功しないと判定した場合、制御は、ブロック９１６に進み、警告が生成される。ブロック９０８で、検証が成功したとモデルマネージャ１００が判定した場合、ブロック９１０で、モデルマネージャ１００は、ＬＮＭ定義をＩＭＡ定義に変換する。例えば、ＬＳＭトランスレータ４７０は、第１のＬＮＭプロトコル定義５２６を第１のＩＭＡプロトコル定義５４０に変換するために、第１のＬＳＭトランスレータ５３４を実装することができる。
【０１４７】
ブロック９１２で、モデルマネージャ１００は、ＩＭＡ定義を検証する。例えば、インターフェースバリデータ４８０は、第１のＩＭＡプロトコル定義５４０を、１つ又は複数のＩＭＡ定義規則と比較し、その比較に基づいて、第１のＩＭＡプロトコル定義５４０を検証することができる。
【０１４８】
ブロック９１４で、モデルマネージャ１００は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ４８０は、第１のＩＭＡプロトコル定義５４０が、１つ又は複数のＩＭＡ定義規則に準拠し、かつ／又はそうでなければそれを満たす第１のＩＭＡプロトコル定義５４０に基づいて検証されると決定させることができる。
【０１４９】
ブロック９１４で、モデルマネージャ１００は検証が成功しないと判定した場合、制御は、ブロック９１６に進み、警告が生成される。例えば、インターフェースバリデータ４８０は、アラートを生成し、そのアラートをユーザインターフェースに表示して、検証が成功しないことをユーザに通知することができる。アラートの生成に応じて、図９の方法９００は、図８の例のブロック８０８に戻り、モデルオブジェクトをモデリング環境にインポートして、ＩＭＡモデルを生成する。
【０１５０】
ブロック９１４で、モデルマネージャ１００が検証が成功したと判定した場合、制御はブロック９１８に進み、モデリング環境モデルライブラリを生成する。例えば、インターフェースインポータ４３０は、第１のＩＭＡプロトコル定義５４０の生成に応じて、図５のライブラリ５５０を生成することができる。
【０１５１】
ブロック９２０で、モデルマネージャ１００は、モデルオブジェクトを生成する。例えば、インターフェースインポータ４３０は、ライブラリ５５０の生成に応じて、図７ＣのＩＭＡモデルオブジェクト７８０を生成することができる。モデルオブジェクトの生成に応じて、図９の方法９００は、図８の例のブロック８０８に戻り、モデルオブジェクトをモデリング環境にインポートしてＩＭＡモデルを生成する。
【０１５２】
図１０は、モデルオブジェクトを構成するために、図１及び図３から図７Ｃのモデルマネージャ１００によって実行することができる例示的な方法１０００を表すフローチャートである。図１０のプロセスは、図８のブロック８１０の動作を実施するために使用することができる。方法１０００は、ブロック１００２で開始し、ここでモデルマネージャ１００は処理するモデルオブジェクトを選択する。例えば、モデルオブジェクトハンドラ４５０は、処理する図７ＡのＤＥＣＯＤＥ機能７１２を選択することができる。
【０１５３】
ブロック１００４で、モデルマネージャ１００は、処理する定義を選択する。例えば、モデルオブジェクトハンドラ４５０は、図３のＩＭＡインターフェース定義３２０に含まれる「ＴＸ＿ＣＯＭ＿ＰＯＲＴ  １０１２１」ＩＭＡインターフェース定義など、処理する第１のＩＭＡプロトコル定義５４０のうちの第１のものを選択することができる。
【０１５４】
ブロック１００６で、モデルマネージャ１００は、定義を処理する。例えば、モデルオブジェクトハンドラ４５０は、第１のＩＭＡプロトコル定義５４０のうちの１つを追加、削除、又は修正することができる。例えば、モデルオブジェクトハンドラ４５０は、図３のＩＭＡインターフェース定義３２０に含まれる「ＴＸ＿ＣＯＭ＿ＰＯＲＴ  １０１２１」ＩＭＡインターフェース定義に関連する情報を修正することができる。
【０１５５】
ブロック１００８で、モデルマネージャ１００は、処理する他の定義を選択するかどうかを判定する。例えば、モデルオブジェクトハンドラ４５０は、処理する第１のＩＭＡプロトコル定義５４０のうちの第２のものを選択することを決定することができる。
【０１５６】
ブロック１００８で、モデルマネージャ１００が処理する別の定義を選択すると決定した場合、制御は、ブロック１００４に戻り、処理する別の定義を選択する。ブロック１００８で、モデルマネージャ１００が処理する別の定義を選択しないと決定した場合、ブロック１０１０で、モデルマネージャ１００は、ＩＭＡ定義規則を使用してモデルオブジェクトを検証する。例えば、インターフェースバリデータ４８０は、１つ又は複数の第１のＩＭＡプロトコル定義５４０を１つ又は複数のＩＭＡ定義規則と比較することができる。
【０１５７】
ブロック１０１２で、モデルマネージャ１００は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ４８０は、１つ又は複数の第１のＩＭＡプロトコル定義５４０が、１つ又は複数のＩＭＡ定義規則に準拠していること、及び／又はそうでなければそれを満たすことを決定することができる。
【０１５８】
ブロック１０１２で、モデルマネージャ１００が検証が成功しないと判定した場合、制御は、ブロック１００４に戻り、処理する定義を選択する。例えば、モデルオブジェクトハンドラ４５０は、検証に失敗した定義を選択することができる。ブロック１０１２で、モデルマネージャ１００が検証が成功したと判定した場合、ブロック１０１４で、モデルマネージャ１００は、ＩＭＡバス要素を生成する。例えば、モデルマネージャ１００は、第１のＩＭＡバス要素７６４を生成し、第１のＩＭＡバス要素７６４をＤＥＣＯＤＥ機能７１２に関連付けることができる。
【０１５９】
ブロック１０１６で、モデルマネージャ１００は、処理する別のモデルオブジェクトを選択する。例えば、モデルオブジェクトハンドラ４５０は、処理するための図７ＡのＭＡＰＯＵＴ機能７１４を選択することを決定することができる。ブロック１０１６で、モデルマネージャ１００が処理する他のモデルオブジェクトを選択すると決定した場合、制御はブロック１００２に戻り、処理する他のモデルオブジェクトを選択する。ブロック１０１６で、モデルマネージャ１００が処理する別のモデルオブジェクトを選択しないと決定した場合、図１０の方法１０００は、図８の例のブロック８１２に戻って、別のＩＭＡモデルを生成するかどうかを決定する。
【０１６０】
図１１は、出力を生成するために図１及び図３から図７Ｃのモデルマネージャ１００によって実行することができる例示的な方法１１００を表すフローチャートである。図１１のプロセスは、図８のブロック８２０の動作を実施するために使用することができる。方法１１００はブロック１１０２で始まり、そこでモデルマネージャ１００は、変換規則を用いて、言語中立モデル（ＬＮＭ）定義を生成する。例えば、インターフェースエクスポータ４４０は、図７ＣのＩＭＡシステムモデル７５４に含まれる第１のＩＭＡプロトコル定義５４０に基づいて、図５のＬＮＭ５１８にエクスポートされる図５の第１のＬＮＭプロトコル定義５２６を生成することができる。
【０１６１】
ブロック１１０４で、モデルマネージャ１００は、機械可読命令を生成する。例えば、インターフェースエクスポータ４４０は、図７ＣのＩＭＡシステムモデル７５４に含まれる複数のＩＭＡ  ＬＲＵモデル７０２の実行に対応するコンピュータ実行可能コードを生成することができる。
【０１６２】
ブロック１１０６で、モデルマネージャ１００は、サプライチェーンビルド命令を生成する。例えば、インターフェースエクスポータ４４０は、図７ＣのＩＭＡシステムモデル７５４に関連する航空機システム（例えば、図１の航空機システム１０６）を構築するために、構成要素の注文、労働力の割り当てなどを開始するために、サプライチェーンコンピューティングシステムによって実行される命令を含むように、図１の出力１２４を生成することができる。
【０１６３】
ブロック１１０８で、モデルマネージャ１００は、製造ビルド命令を生成する。例えば、インターフェースエクスポータ４４０は、図７ＣのＩＭＡシステムモデル７５４に関連する航空機システム（例えば、図１の航空機システム１０６）を構築するために、構成要素の注文、労働力の割り当てなどを開始するために、製造コンピューティングシステムによって実行される命令を含むように、図１の出力１２４を生成することができる。
【０１６４】
ブロック１１１０で、モデルマネージャ１００は、ＬＮＭ定義をＬＮＭにエクスポートする。例えば、インターフェースエクスポータ４４０は、第１のＬＮＭプロトコル定義５２６をＬＮＭ５１８にエクスポートすることができ、これは他のＩＭＡモデル、他のＩＭＡシステムモデルなどによって使用することができる。そのような例では、インターフェースエクスポータ４４０は、第１のＩＣＤトランスレータ５２０を介して、第１のＬＮＭプロトコル定義５２６を第１のＩＣＤプロトコル定義５１４に変換するよう指示することができる。
【０１６５】
ブロック１１１２で、モデルマネージャ１００は、機械可読命令を移動体及び／又は車両シミュレータに展開する。例えば、インターフェースエクスポータ４４０は、図１の航空機システム１０６及び／又は航空機１０８に機械可読命令を展開して、航空機システム１０６及び／又は航空機１０８によって実行することができる。
【０１６６】
ブロック１１１４で、モデルマネージャ１００は、ＩＭＡシステムモデルに関連する車両移動体の製造を開始する。例えば、インターフェースエクスポータ４４０は、ＩＭＡシステムモデル７５４に関連した航空機システム１０６、航空機１０８などの生産を開始することができる。ＩＭＡシステムモデルに関連する移動体の製作を開始することに応じて、方法１１００は、終了するために図８の例に戻る。
【０１６７】
図１２は、図１及び図３から図７Ｃのモデルマネージャ１００を実装するために、図８から図１１の命令を実行するように構成されたプロセッサプラットフォーム１２００のブロック図である。プロセッサプラットフォーム１２００は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、自己学習機械（例えば、中立ネットワーク）、又は他の任意の種類のコンピューティングデバイスとすることができる。図示される例のプロセッサプラットフォーム１２００は、プロセッサ１２１２を含む。図示された例のプロセッサ１２１２は、ハードウェアである。例えば、プロセッサ１２１２は、１つ又は複数の集積回路、論理回路、マイクロプロセッサ、ＧＰＵ、ＤＳＰ、又は任意の所望のファミリー又は製造業者からのコントローラによって実装することができる。ハードウェアプロセッサは、半導体ベース（例えば、シリコンベース）のデバイスとすることができる。この例では、プロセッサ１２１２は、モデリング環境セレクタ４１０、データソースセレクタ４２０、インターフェースインポータ４３０、インターフェースエクスポータ４４０、モデルオブジェクトハンドラ４５０、ＩＣＤトランスレータ４６０、ＬＳＭトランスレータ４７０、インターフェースバリデータ４８０、及び図４のレポートジェネレータ４９０を実施する。
【０１６８】
図示された例のプロセッサ１２１２は、ローカルメモリ１２１３（例えば、キャッシュ）を含む。図示された例のプロセッサ１２１２は、バス１２１８を介して、揮発性メモリ１２１４及び不揮発性メモリ１２１６を含むメインメモリと通信している。揮発性メモリ１２１４は、同期型ダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳ（登録商標）ダイナミックランダムアクセスメモリ（ＲＤＲＡＭ（登録商標））、及び／又は他の任意のタイプのランダムアクセスメモリデバイスによって実装することができる。不揮発性メモリ１２１６は、フラッシュメモリ及び／又は任意の他の所望の種類のメモリデバイスによって実装することができる。メインメモリ１２１４、１２１６へのアクセスは、メモリコントローラによって制御される。
【０１６９】
図示の例のプロセッサプラットフォーム１２００はまた、インターフェース回路１２２０を含む。インターフェース回路１２２０は、イーサネットインターフェース、ユニバーサルシリアルバス（ＵＳＢ）、ブルートゥース（登録商標）インターフェース、近距離無線通信（ＮＦＣ）インターフェース、及び／又はＰＣＩエクスプレスインターフェースなどの任意の種類のインターフェース規格によって実装することができる。
【０１７０】
図示された例では、１つ又は複数の入力デバイス１２２２が、インターフェース回路１２２０に接続される。入力デバイス１２２２により、ユーザは、データ及び／又はコマンドをプロセッサ１２１２に入力することができる。入力デバイスは、例えば、音声センサ、マイクロフォン、カメラ（静止画又はビデオ）、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイントデバイス、及び／又は音声認識システムなどによって実現することができる。
【０１７１】
１つ又は複数の出力デバイス１２２４もまた、図示された例のインターフェース回路１２２０に接続される。出力デバイス１２２４は、例えば、ディスプレイデバイス（例えば、発光ダイオード（ＬＥＤ）、有機発光ダイオード（ＯＬＥＤ）、液晶ディスプレイ（ＬＣＤ）、陰極線管ディスプレイ（ＣＲＴ）、インプレーススイッチング（ＩＰＳ）ディスプレイ、タッチスクリーンなど）、触覚出力デバイス、プリンタ、及び／又はスピーカによって、実装することができる。したがって、図示された例のインターフェース回路１２２０は、通常、グラフィックドライバカード、グラフィックドライバチップ、及び／又はグラフィックドライバプロセッサを含む。
【０１７２】
図示された例のインターフェース回路１２２０はまた、送信機、受信機、トランシーバ、モデム、住宅用ゲートウェイ、無線アクセスポイント、及び／又は外部機器とのデータ交換を容易にするためのネットワークインターフェースといった、ネットワーク１２２６を介して外部のマシン（例えば、あらゆる種類のコンピューティングデバイス）との通信デバイスを含む。通信は、例えば、イーサネット接続、デジタル加入者線（ＤＳＬ）接続、電話線接続、同軸ケーブルシステム、衛星システム、サイト内無線システム、セルラ電話システムなどを介することができる。
【０１７３】
図示された例のプロセッサプラットフォーム１２００は、ソフトウェア及び／又はデータを格納するための１つ又は複数の大容量記憶デバイス１２２８も含む。そのような大容量記憶デバイス１２２８の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、独立ディスク冗長アレイ（ＲＡＩＤ）システム、及びデジタル多用途ディスク（ＤＶＤ）ドライブを含む。
【０１７４】
図８から図１１の機械実行可能命令１２３２は、大容量記憶デバイス１２２８、揮発性メモリ１２１４、不揮発性メモリ１２１６、及び／又は取り外し可能な非一過性のコンピュータ可読記憶媒体、例えばＣＤ又はＤＶＤなどに記憶することができる。
【０１７５】
以上から、統合モジュール式アーキテクチャモデルを生成する例示的なシステム、方法、装置、及び製造品が開示されたと理解されよう。本明細書に記載のモデルマネージャ装置は、コンピュータモデリング環境においてＩＭＡモデルを生成するために使用される航空機構成要素及びシステムの抽象概念を生成する。本明細書に記載のモデルマネージャ装置は、ＩＭＡモデル間の抽象概念の再利用を容易にするために、定義をインターフェース制御データソースに格納する。本明細書に記載のモデルマネージャ装置は、言語中立モデルを介して、インターフェース制御データソースに含まれる情報を、コンピュータモデリング環境に変換する。
【０１７６】
本明細書に記載される例は、モデルマネージャ装置が以前に定義された又は生成されたＩＭＡモデルを新しいＩＭＡモデルにインポートすることができるために、ＩＭＡモデルを生成する時間を以前の例と比較して短縮する。本明細書に記載の例は、移動体のＩＭＡモデルを生成するために必要とされる固有のＩＭＡモデルの数が減少するため、航空機などの移動体に対応するＩＭＡモデルを生成するために必要な記憶容量を減少させる。本明細書に記載の例は、言語中立モデルデータベースを使用して、データベース効率を改善し、異種のデータソース間の情報のマッピングを容易にするために、異なるデータベースを必要とする前の例と比較して、異種のデータフォーマットの情報記憶システム間でのデータの変換を容易にする。
【０１７７】
更に、本開示は、以下の条項による実施形態を含む。
条項１は、第１の統合モジュール式アーキテクチャ（ＩＭＡ）プロトコル定義を第１のコンピュータモデリング環境にインポートし、第１のＩＭＡプロトコル定義に基づいて複数のライブラリを生成し、複数のライブラリに基づいて複数のＩＭＡモデルオブジェクトを生成するためのインターフェースインポータと、複数のＩＭＡモデルオブジェクトのうちの一部を第１のコンピュータモデリング環境にインポートし、航空機の航空機システムに対応する第１のＩＭＡモデルを生成し、第１のＩＭＡモデルを含む複数のＩＭＡモデルを生成することによって、航空機に対応するＩＭＡシステムモデルを生成するためのモデルオブジェクトハンドラと、ＩＭＡシステムモデルの出力を検証出力と比較することによって、ＩＭＡシステムモデルを検証するためのインターフェースバリデータと、ＩＭＡシステムモデルが検証されるときに航空機システムの製造ビルド命令を生成するためのインターフェースエクスポータと、製造ビルド命令に基づいて航空機システムの製作を開始するためのレポートジェネレータとを備える装置（１００）を含む。
条項２は、第１のＩＭＡプロトコル定義が、航空機システムに関連するインターフェース情報、要件情報、又は仕様情報のうちの少なくとも１つを含む、条項１に記載の装置を含む。
条項３は、インターフェースインポータが、インターフェース制御データベース（ＩＣＤ）トランスレータに、第１のＩＣＤトランスレータを使用して、第１のＩＣＤソースに含まれる第１のＩＣＤプロトコル定義を、ＬＮＭに含まれる第１の言語中立モデル（ＬＮＭ）プロトコル定義に変換するように命令することと、言語固有モデル（ＬＳＭ）トランスレータに、第１のＬＳＭトランスレータを使用して、第１のＬＮＭプロトコル定義を第１のモデリング環境に含まれる第１のＩＭＡプロトコル定義に変換するように命令することとによって、第１のＩＭＡプロトコル定義をインポートする、条項１に記載の装置を含む。
条項４は、第１のＩＭＡモデルが、下位層、プレゼンテーション層、及び上位層を含み、下位層が、デジタル通信読取機能又はセンサ読取機能の少なくとも１つを含む、条項１に記載の装置を含む。
条項５は、インターフェースバリデータが、デジタル通信読取機能を介してネットワークスイッチからリアルタイムでネットワークデータを取得すること、又はセンサ読取機能を介してセンサからリアルタイムでセンサデータを取得することのうちの少なくとも１つによって、ＩＭＡシステムモデルを検証する、条項４に記載の装置を含む。
条項６は、インターフェースエクスポータが、ＩＭＡシステムモデルに基づいて機械可読命令を生成し、機械可読命令を航空機システム又は航空機のうちの少なくとも１つに展開し、機械可読命令に基づいて航空機システム又は航空機のうちの少なくとも１つの動作を引き起こす、条項１に記載の装置を含む。
条項７は、第１の統合モジュール式アーキテクチャ（ＩＭＡ）プロトコル定義を第１のコンピュータモデリング環境にインポートし、第１のＩＭＡプロトコル定義に基づいて複数のライブラリを生成することと、複数のライブラリに基づいて複数のＩＭＡモデルオブジェクトを生成することと、複数のＩＭＡモデルオブジェクトのうちの一部を第１のコンピュータモデリング環境にインポートし、航空機の航空機システムに対応する第１のＩＭＡモデルを生成することと、第１のＩＭＡモデルを含む複数のＩＭＡモデルを生成することによって、航空機に対応するＩＭＡシステムモデルを生成することと、ＩＭＡシステムモデルの出力を検証出力と比較することによって、ＩＭＡシステムモデルを検証することと、比較に基づいてＩＭＡシステムモデルを検証することに応じて、航空機システムの製造ビルド命令を生成することと、製造ビルド命令に基づいて航空機システムの製作を開始することとを含む方法を含む。
条項８は、第１のＩＭＡプロトコル定義が、航空機システムに関連するインターフェース情報、要件情報、又は仕様情報のうちの少なくとも１つを含む、条項７に記載の方法を含む。
条項９は、第１のＩＭＡプロトコル定義をインポートすることが、第１のＩＣＤトランスレータを用いて、第１のＩＣＤソースに含まれる第１のインターフェース制御データベース（ＩＣＤ）プロトコル定義を、ＬＮＭに含まれる第１の言語中立モデル（ＬＮＭ）プロトコル定義に変換することと、第１の言語固有モデル（ＬＳＭ）トランスレータを用いて、第１のＬＮＭプロトコル定義を、第１のモデリング環境に含まれる第１のＩＭＡプロトコル定義に変換することとを含む、条項７に記載の方法を含む。
条項１０は、第１のＬＮＭプロトコル定義のうちの一部を少なくとも１つのＬＮＭ定義規則と比較し、その比較に基づいて第１のＬＮＭプロトコル定義を検証することと、第１のＩＭＡプロトコル定義のうちの一部を少なくとも１つのＩＭＡ定義規則と比較し、その比較に基づいて第１のＩＭＡプロトコル定義を検証することとを更に含む、条項９に記載の方法を含む。
条項１１は、第１のＩＭＡモデルが、下位層、プレゼンテーション層、及び上位層を含み、下位層が、デジタル通信読取機能又はセンサ読取機能の少なくとも１つを含む、条項７に記載の方法を含む。
条項１２は、ＩＭＡシステムモデルを検証することが、デジタル通信読取機能を介してネットワークスイッチからリアルタイムでネットワークデータを取得すること、又はセンサ読取機能を介してセンサからリアルタイムでセンサデータを取得することのうちの少なくとも１つを含む、条項１１に記載の方法を含む。
条項１３は、ＩＭＡシステムモデルに基づいて機械可読命令を生成することと、機械可読命令を航空機システム又は航空機のうちの少なくとも１つに展開することと、機械可読命令に基づいて航空機システム又は航空機のうちの少なくとも１つの動作を引き起こすこととを更に含む、条項７に記載の方法を含む。
条項１４は、実行されるときに、機械に、第１の統合モジュール式アーキテクチャ（ＩＭＡ）プロトコル定義を第１のコンピュータモデリング環境に少なくともインポートさせ、第１のＩＭＡプロトコル定義に基づいて複数のライブラリを生成させ、複数のライブラリに基づいて複数のＩＭＡモデルオブジェクトを生成させ、複数のＩＭＡモデルオブジェクトのうちの一部を第１のコンピュータモデリング環境にインポートさせ、航空機の航空機システムに対応する第１のＩＭＡモデルを生成させ、第１のＩＭＡモデルを含む複数のＩＭＡモデルを生成することによって、航空機に対応するＩＭＡシステムモデルを生成させ、ＩＭＡシステムモデルの出力を検証出力と比較することによって、ＩＭＡシステムモデルを検証させ、比較に基づいてＩＭＡシステムモデルが検証されるときに航空機システムの製造ビルド命令を生成させ、かつ製造ビルド命令に基づいて航空機システムの製作を開始させる命令を含む非一過性のコンピュータ可読記憶媒体を含む。
条項１５は、第１のＩＭＡプロトコル定義が、航空機システムに関連するインターフェース情報、要件情報、又は仕様情報のうちの少なくとも１つを含む、条項１４に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項１６は、実行されるときに、機械に、少なくとも、第１のＩＣＤトランスレータを用いて、第１のＩＣＤソースに含まれる第１のインターフェース制御データベース（ＩＣＤ）プロトコル定義を、ＬＮＭに含まれる第１の言語中立モデル（ＬＮＭ）プロトコル定義に変換させ、第１の言語固有モデル（ＬＳＭ）トランスレータを用いて、第１のＬＮＭプロトコル定義を、第１のモデリング環境に含まれる第１のＩＭＡプロトコル定義に変換させる命令を更に含む、条項１４に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項１７は、実行されるときに、機械に、少なくとも、第１のＬＮＭプロトコル定義のうちの一部をＬＮＭ定義規則と比較させ、その比較に基づいて第１のＬＮＭプロトコル定義を検証させ、かつ第１のＩＭＡプロトコル定義のうちの一部を少なくとも１つのＩＭＡ定義規則と比較させ、その比較に基づいて第１のＩＭＡプロトコル定義を検証させる命令を更に含む、条項１４に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項１８は、第１のＩＭＡモデルが、下位層、プレゼンテーション層、及び上位層を含み、下位層が、デジタル通信読取機能又はセンサ読取機能の少なくとも１つを含む、条項１４に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項１９は、実行されるときに、機械に、少なくとも、デジタル通信読取機能を介してネットワークスイッチからリアルタイムでネットワークデータを取得させ、又はセンサ読取機能を介してセンサからリアルタイムでセンサデータを取得させる命令を更に含む、条項１８に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項２０は、実行されるときに、機械に、少なくとも、ＩＭＡシステムモデルに基づいて機械可読命令を生成させ、機械可読命令を航空機システム又は航空機のうちの少なくとも１つに展開させ、機械可読命令に基づいて航空機システム又は航空機のうちの少なくとも１つの動作を引き起こさせる命令を更に含む、条項１４に記載の非一過性のコンピュータ可読記憶媒体を含む。
【０１７８】
本明細書で、特定の条項のシステム、方法、装置、及び製品が開示されてきたが、本特許出願の範囲は、これらに限定されるものではない。それどころか、本特許出願は、本特許出願の特許請求の範囲内に公正に当てはまるすべての、システム、方法、装置、及び製品を包含する。
【図１】
2019215855.tif 000003
【図２】
2019215855.tif 000004
【図３】
2019215855.tif 000005
【図４】
2019215855.tif 000006
【図５】
2019215855.tif 000007
【図６】
2019215855.tif 000008
【図７Ａ】
2019215855.tif 000009
【図７Ｂ】
2019215855.tif 000010
【図７Ｃ】
2019215855.tif 000011
【図８】
2019215855.tif 000012
【図９】
2019215855.tif 000013
【図１０】
2019215855.tif 000014
【図１１】
2019215855.tif 000015
【図１２】
2019215855.tif 000016
【外国語明細書】
2019215855000001.pdf
2019215855000002.pdf
2019215855000003.pdf
2019215855000004.pdf