図面は、縮尺通りではない。一般に、図面及び添付の記載の全体を通して、同一の部分又は類似の部分は、同じ参照番号で示されることになる。
典型的な航空機は、航空機システムの制御、モニタリング、及び動作を改善するために高度に統合された航空機システムを使用する。本明細書で使用される際に、「航空機システム」という用語は、航空機機能を実行するように動作可能な、1つ又は複数の結合された(例えば、電気的に結合された、電気機械的に結合された、機械的に結合された、など)構成要素(例えば、電気構成要素、機械構成要素、電気機械構成要素など)を含む、航空機の下位区分(例えば、電気システム、機械システム、電気機械システムなど、及び/又はそれらの組み合わせ)を指す。例えば、航空機システムは、モータ、コントローラ、遠隔電子ユニットなどの構成要素に対応することができる。
典型的な航空機システムは、ますます多くの電気的に相互接続された構成要素を含むので、航空機システムの設計を検証することは、ますます複雑になる。例えば、航空機システムを設計することは、航空機システムと航空機システムに電気的に結合された他の航空機システムとの間のインターフェース及び相互接続を評価することを含むことができる。コンピュータ生成モデルは、製造時に使用するために公開される前に、相互接続を分析し、航空機システムの設計を検証するために使用することができる。
従来のコンピュータ生成モデル分析の実装では、複数の相互接続された航空機システムを分析するためのコンピュータ生成モデルの使用には問題があった。例えば、第1の航空機システムをシミュレートするために使用される第1のコンピュータ生成モデルは、第2のコンピュータ生成モデルを使用してモデル化された第2の航空機システムとは、異なるアーキテクチャ、異なる分析基準、異なるタイミング分析などを使用しうる。そのような例では、第1の航空機システムと第2の航空機システムとの間の相互接続を検証するために、第1及び第2のコンピュータ生成モデルをうまく統合する試みは、見込みがなかった。
同様に、従来のコンピュータ生成モデル分析実装では、第1のコンピュータモデリング環境(例えば、MATLAB(登録商標)Simulink(登録商標)、National Instruments(登録商標)LABVIEW(登録商標)、OMG SysML(登録商標)など)に基づく第1のモデル、及び第2のコンピュータモデリング環境に基づく第2のモデルをうまく統合する及び/又はそうでなければ通信可能に結合する試みにより、互換性は複雑になった。例えば、互換性の複雑さは、必然的にコンピュータ技術に根ざしているが、それは、構成、定義、機能性などは、コンピュータモデリング環境間で根本的に異なる可能性があり、そのため、統合時にモデルインターフェース間で互換性の問題が発生するからである。
従来の実施態様では、異なるコンピュータモデリング環境に基づくモデル間の互換性の問題を解決しようとすると、誤ったデータ及び変換エラーが発生した。いくつかの従来の実施態様では、モデル開発者は、異なるコンピュータモデリング環境を使用して、モデル間でデータを変換するための翻訳アプリケーション又はインターフェースを作成した。しかし、大規模モデルではモデル開発者が誤植を入力する機会が多く発生するため、変換インターフェースを作成する手動のプロセスは、人的ミスが発生しやすい傾向にあった。同様に、モデル開発者は、修正されたアスペクトを説明するために翻訳インターフェースを更新せずに、モデルのうちの1つのアスペクトを修正したため、システムモデル全体を壊し、誤ったデータを生成するなどということになった。
いくつかの従来の実施態様では、翻訳インターフェースに関連するモデルは、アプリケーション間で容易に移植できなかった。例えば、第1のアプリケーション内の第1の翻訳インターフェースに関連するモデルは、モデルが第2のアプリケーションに移動したときに第2の翻訳インターフェースを作成することを必要とすることになるだろうが、これは、翻訳インターフェースが、アプリケーション及び/又はコンピュータモデリング環境に固有のものであったからだ。その結果、様々なアプリケーションや様々なコンピュータモデリング環境にわたってモデルを再利用しようとすると再作業が発生し、開発、検証、及びプロジェクト開発の試験時間の増加につながった。
本明細書に開示される例は、統合モジュール式アーキテクチャ(IMA)モデルを生成するために動作可能である。IMAモデルは、移動体システム(例えば、航空機システム)又は移動体サブシステム(例えば、航空機サブシステム)に関連する機能をシミュレート及び/又は他の方法で検証するために使用されるコンピュータ生成モデルである。いくつかの例では、IMAモデルは、いくつかの航空機では、より少数のより集中型のIMA処理ユニットで多数の別個のプロセッサ及びライン交換可能ユニット(LRU)を置き換えることができる統合モジュール式アビオニクス概念に基づく。いくつかの航空機では、共通コアシステムは、1つ又は複数の処理モジュール、電力制御モジュール、ネットワークスイッチ、特定用途向けモジュールなど及び/又はそれらの組合せを含む1つ又は複数の共通コアリソース(CCR)キャビネット又はIMA処理ユニットを含む。
本明細書のいくつかの開示された例では、IMAモデルマネージャ装置は、データソースドメインに格納されている移動体(例えば、航空機、無人航空機、陸上移動体など)の要件及び仕様を、言語固有ドメイン内の複数の移動体モデル(例えば、100の移動体モデル、1000の移動体モデル、10000の移動体モデルなど)に変換(例えば自動的に変換)する。例えば、複数の移動体モデルのそれぞれは、コンピュータモデリング環境における要件及び仕様の複数の抽象概念又はソフトウェア表示を含むことができる。
いくつかの例では、IMAモデルマネージャ装置は、大規模モデル生成の自動化によるモデルベースの開発アプローチで使用される場合、インターフェース制御データベース(ICD)の定義、保守、検証、分析、及びネイティブ設計ツールにおける機能要件との統合を可能にし、様々なコンピュータモデリング環境に関連する変換インターフェースの開発時間を短縮することにより、エラーを排除し、プロジェクト開発時間を短縮する。本明細書で使用される際、「インターフェース制御データベース」という用語は、サブシステム、システムなどの間のインターフェース、及び/又はそれらの組み合わせに関連する、インターフェース情報(例えば、通信アドレス、通信ノード、装置アドレス、装置識別子、物理的接続情報(例えば、電気接点位置、ピン配列詳細、配線情報など))に関連する情報を含むリポジトリを指す。
いくつかの例では、移動体のCCRキャビネットは、同一の又は実質的に類似のハードウェアを含む。しかしながら、CCRキャビネットの各々は、様々な機能を提供することができ、様々な請負業者又は供給業者によって移動体製造業者に提供することができる。供給業者間、又は供給業者と移動体製造業者との間の統合は、たとえそれらが同じCCRキャビネット(例えば、同じハードウェア)を使用していても問題を引き起こす可能性がある。本明細書に開示される例は、IMAモデル間でパラメータ及び信号を通信するための標準化された定義を用いて、IMAモデルを生成することによって、そのような問題を軽減することができる。いくつかの例では、標準化された定義を有するIMAモデルには、ICD、モデルライブラリなどからの入力データ及び/又はICD、モデルライブラリなどへの出力データを変換する又は変形するために、メタデータが埋め込まれている。
本明細書で開示されるいくつかの例では、言語中立ドメインで動作する言語中立モデル(LNM)は、ICDと言語固有モデル(例えば、モデリング環境で動作するIMAモデル)との間のバッファとして展開される。いくつかの例では、LNMは、ICDとコンピュータモデリング環境との間のバッファとして動作する。例えば、IMAモデル管理装置は、ICDに含まれる情報に基づいて、IMAモデルオブジェクトを含むIMAライブラリを生成することにより、IMAモデルを生成することができる。例えば、IMAモデルマネージャ装置は、LNMを介してICDから情報をインポートし、インポートされた情報を用いてIMAモデルオブジェクトの定義を事前設定することができる。
いくつかの例では、IMAモデルマネージャ装置は、IMAモデルオブジェクトをIMAライブラリからコンピュータモデリング環境にインポートして、設計検証、機能試験などを実行することによって、IMAモデルを生成することができる。例えば、LNMは、ICDの第1のデータフォーマットスキーマに基づくICDトランスレータ機構を使用して、ICDから対応する情報を取得し、コンピュータモデリング環境の第2のデータフォーマットスキーマに基づく言語固有モデルトランスレータ機構を使用して、情報をコンピュータモデリング環境に送信することができる。そのような例では、ICDが変更された場合、コンピュータモデリング環境又は第2のトランスレータを新しいICDの影響を受けずに、新しいICD情報をLNMフォーマットに変換するための新しい変換機構を開発することができる。
図1は、IMAを使用して1つ又は複数の例示的移動体モデル104を生成するために例示的モデル生成システム102を実行する例示的モデルマネージャ100を示す。例えば、モデルマネージャ100は、IMAモデルマネージャとすることができる。例えば、モデル生成システム102は、IMAモデル生成システムとすることができる。例えば、移動体モデル104は、航空機システムモデル、無人航空機システムモデル、陸上移動体モデルなどとすることができる。図1では、移動体モデル104は、移動体モデル104は、例示的航空機108に含まれる例示的航空機システム106に関連する1つ又は複数のコンピュータベースのモデルオブジェクトを含むモデルである。例えば、航空機システム106は、1つ又は複数の電気部品、電気機械部品、油圧部品などを含むエルロン作動システム、フラップ作動システムなどとすることができる。航空機108が図1に示されているが、追加的又は代替的には、本明細書に開示される例は、陸上移動体(例えば、自動車、バス、トラックなど)、無人航空機、水上移動体(例えば、ボート、潜水艦など)の任意の他の種類の移動体などに適用可能である。
図1において、モデル生成システム102は、第1の動作112を含むモデル管理ワークフロー110を実装する。代替的には、モデル管理ワークフロー110は、図1に示される様々なブロック又は動作で開始又は実行することができる。代替的には、モデル管理ワークフロー110は、図1に示されるよりも少ない又は多い動作を含むことができる。第1の動作112において、モデルマネージャ100は、ICD114に変換するためのモデルを識別する。例えば、モデルマネージャ100は、LRU、遠隔データ集信装置(RDC)、CCRキャビネットなどに含まれる汎用処理モジュール(GPM)などのICDで定義される航空機システム構成要素に関連するコンピュータベースモデルを識別することができる。
図1の例示的な実施例では、モデル管理ワークフロー110は、モデルマネージャ100がモデル-ICD変換を生成する第2の動作116を含む。例えば、モデルマネージャ100は、モデル定義(例えば、モデル入力パラメータ、モデル出力パラメータなど)とICD定義との間のマッピングを生成することができる。ICD定義は、ICDのデータフォーマットに基づいて、データフィールド、データ構造などに対応することができる。例えば、モデルマネージャ100は、機能ステータス、パラメータ、データセット、メッセージ構造、通信ポートなどの標準的なデータフィールドを航空機システム構成要素に割り当てることによって、変換を生成することができる。モデルマネージャ100は、航空機システム構成要素に対応する情報を使用して標準データフィールドを事前設定することができる。標準データフィールドを事前設定することに応じて、モデルマネージャ100は、モデルマネージャ100による格納及び将来の検索のために変換をICD114にエクスポートすることができる。
いくつかの例では、モデルマネージャ100は、航空機システム構成要素をICD114内の基準航空機システム構成要素(例えば、以前に定義された航空機システム構成要素)にマッピングすることによって変換を生成する。例えば、航空機システム構成要素と基準航空機システム構成要素との一致を決定することに応じて、ICD114は、モデルマネージャ100によって航空機システム構成要素に割り当てられる及び/又は別の方法で適用される定義を返すことができる。例えば、モデルマネージャ100は、基準航空機システム構成要素に関連する定義を航空機システム構成要素に割り当て、及び/又は別の方法で適用することができる。
図1において、モデル管理ワークフロー110は、モデルマネージャ100がモデル-ICD変換を使用してモデルを生成する第3の動作118を含む。例えば、モデルマネージャ100は、関心の対象となる航空機システム構成要素のためのIMAモデルを生成することができる。モデルマネージャ100は、コンピュータモデリング環境(CME)内の対象の航空機システム構成要素に関連するICDモデルオブジェクト及び対応するICD定義についてICD114に照会することができる。照会に応じて、ICD114は、ICDモデルオブジェクトを返すことができ、モデルマネージャ100は、ICDモデルオブジェクトをCMEモデルオブジェクトに変換することができる。モデルマネージャ100は、ICDモデルオブジェクトに関連するICD定義をCMEモデルオブジェクトに関連するCME定義に変換することができる。
いくつかの例では、モデルマネージャ100は、返されたICD定義に含まれる構成パラメータを1つ又は複数のIMA定義規則と比較することによって、ICD定義を検証する。1つ又は複数のIMA定義規則を満たす返されたICD定義に応じて、モデルマネージャ100は、変換モデル120及び/又は変換モデルライブラリ120を生成することができる。例えば、モデルマネージャ100は、IMAモデルに含まれる及び/又はそれに関連する1つ又は複数のモデルオブジェクト、論理条件、接続点などを生成することができる。
図1では、モデルマネージャ100は、変換モデル120及び/又は変換モデルライブラリ120を使用して、移動体モデル104を実行して、モデル出力を生成する。例えば、モデルマネージャ100は、移動体モデル104を実行してモデル出力を生成することによって、航空機108の航空機システム106の機能又は動作モードをシミュレートすることができる。
図1では、航空機システム106は、例示的な出力124を生成することによって、第4の動作122で製作にリリースされる。例えば、対応する移動体モデル104をシミュレートすることによって航空機システム106の動作をうまく検証したことに応じて、モデルマネージャ100は、航空機システム106が組み立て、建設、製造などのためにリリースされることを示す、警告、レポートなどの出力を生成することができる。
いくつかの例では、出力124は、サプライチェーン構築命令である。例えば、モデルマネージャ100は、サプライチェーンコンピューティングシステムによって実行される命令を生成することができ、移動体モデル104のうちの1つ又は複数を含むIMAシステムモデルに関連する航空機システム106を構築するために、構成要素の注文、作業の割り当てなどを開始する。別の例では、モデルマネージャ100は、サプライチェーン構築命令を含むレポートを生成することができる。例えば、サプライチェーン構築命令は、IMAシステムモデルに関連する航空機システム106の構築に関連する図面、要求文書、仕様文書、ICD文書などを含むことができる。
いくつかの例では、出力124は、製造ビルド命令である。例えば、モデルマネージャ100は、製造コンピューティングシステムによって実行される命令を生成することができ、移動体モデル104のうちの1つ又は複数を含むIMAシステムモデルに関連する航空機システム106を構築するために、構成要素の製造、作業の割り当てなどを開始する。別の例では、モデルマネージャ100は、製造ビルド命令を含むレポートを生成することができる。例えば、製造ビルド命令は、IMAシステムモデル754に関連する航空機システムの構築に関連する図面、要求文書、仕様文書、ICD文書などを含むことができる。
いくつかの例では、出力124は、機械可読命令である。例えば、モデルマネージャ100は、航空機108、航空機108に関連する飛行シミュレータなどによって展開される変換モデル120に基づいて、コンピュータ可読命令(例えば、バイナリコード、ハードウェア論理命令など)を生成することができる。例えば、出力124は、変換モデル120に含まれる機能を実装するためのバイナリコードでありうる。1つ又は複数のハードウェア回路が、飛行中に航空機108の1つ又は複数の航空機システム106を動作させるためにバイナリコードを展開することができる。代替的には、飛行シミュレータは、飛行中に航空機108の1つ又は複数の航空機システム106をシミュレートするためにバイナリコードを実行することができる。
図2は、図1の航空機108の例示的航空機制御ハードウェアを通信可能に結合するために使用される例示的航空機ネットワーク200の概略図である。図2の航空機ネットワーク200は、例示的な共通コアリソース(CCR)キャビネット202に含まれる共通コアリソースを含むIMAに基づいている。図2では、CCRキャビネット202は、1つ又は複数のプロセッサ、1つ又は複数のグラフィック処理ユニット、1つ又は複数のネットワークインターフェースなど、及び/又はそれらの組み合わせを含むことができるコンピューティングハードウェアプラットフォームである、例示的な汎用処理モジュール(GPM)204を含む。
図2のGPM204は、例示的なソフトウェア区画206a、208a、210aを含み、ソフトウェア区画206a、208a、210aの各々が、異なる航空機システム機能を実行することができる。区画1 206aは、GPM 204に含まれる第1の区画とすることができ、区画2 208aは、GPM 204に含まれる第2の区画とすることができ、区画3 210aは、GPM 204に含まれる第3の区画とすることができる。図2では、区画1 206aは、例示的ソフトウェア通信ポート(SW COM PORT)206b及び第1の例示的ホスト型アプリケーション206cを含む。ソフトウェア通信ポート206bは、区画1 206aを第1の例示的なA664エンドシステム214に結合するために使用される1つ又は複数の待ち行列ポート及び/又はサンプリングポートに対応することができる。例えば、図2のソフトウェア通信ポート206bは、ARINC 653通信プロトコル受信ポート、及びARINC 653通信プロトコル送信ポートなどのソフトウェア抽象概念とすることができ、GPM204と航空機ネットワーク208に含まれる別の構成要素との間の通信を容易にする。
図2において、図2の第1のホスト型アプリケーション206cは、航空機システム機能に関連するソフトウェアタスクを実行し、かつ/又はそうでなければ実施することができるソフトウェアアプリケーションである。同様に、図2では、区画2 208aは、第2の例示的なソフトウェア通信ポート208b及び第2の例示的なホスト型アプリケーション208cを含む。例えば、ソフトウェア通信ポート208bは、ARINC 653通信プロトコル受信ポート、ARINC 653通信プロトコル送信ポートなどのソフトウェア抽象概念とすることができる。いくつかの例では、第2のホスト型アプリケーション208cは、第1のホスト型アプリケーション206cと同じソフトウェアアプリケーションであるが、他の例では、第1及び第2のホスト型アプリケーション206c、208cは異なる。
図2では、GPM204は、例示的なコアオペレーティングシステム(OS)212及び第1のA664エンドシステム214を含む。図2のコアOS212は、ソフトウェア区画206a、208a、210aが動作する基本オペレーティングシステムである。第1のA664エンドシステム214は、例示的なネットワークインターフェースコントローラ(NIC)216を含み、これは、例示的なCCRネットワークスイッチ(NS)218からデータパケットを受信し、ソフトウェア区画206a、208a、210aによる使用のための受信データパケットを抽象概念することができるハードウェアコントローラである。同様に、第1のA664エンドシステム214は、ソフトウェア区画206a、208a、210aからデータパケットの抽象概念を受信し、CCR NS 218を介して送信されるべき抽象概念に基づいてデータパケットを生成することができる。CCR NS 218は、光ファイバネットワークスイッチである。代替的には、銅ベースのイーサネット(登録商標)スイッチといった他の種類のネットワークスイッチを使用することができる。
図2の図示的な例では、CCRキャビネット202のCCR NS 218は、第2のA664エンドシステム220を含む例示的特定用途向けモジュール(ASM)219に通信可能に結合される。ASM219は、第2のA664エンドシステム220を介して、データを取得、送信、及び/又は処理するためのハードウェア及び/又はソフトウェアである。CCR NS 218は、例示的NS 222を介して、CCRキャビネット202を航空機ネットワーク200に結合する。NS222は、ARINC664(A664)通信プロトコルを介して、通信を容易にする。例えば、NS222は、A664通信プロトコルを介したA664ライン交換可能ユニット(LRU)224と遠隔データ集信装置(RDC)226との間の通信を容易にすることができる。しかしながら、ARINC 429(A429)のような代替的通信プロトコルを使用することができる。
図2では、A664 LRU224は、第3の例示的なA664エンドシステム228を使用して、A664通信を容易にすることができる、1つ又は複数のプロセッサ、1つ又は複数のネットワークインターフェースなどを含むモジュール式ハードウェアである。図2のRDC226は、A429、A664などの通信プロトコルによる、エフェクタデータ、センサデータなどを処理しフォーマットして共通のデジタルフォーマットに変換することが可能な、高速モジュール式のアナログからデジタルへの及び/又はデジタルからアナログへの変換コンピューティングデバイスである。例えば、図2に示すように、RDC226は、例示的なセンサ230からデータ(例えば、アナログ信号、離散的信号など)を取得し、例示的なエフェクタ232にコマンド(例えば、制御信号)を送信する。図2において、RDC226は、A429通信プロトコルを介して、A429エンドシステム236を含むA429LRU234とデータを送受信する。図2では、RDC226は、例示的なコントローラエリアネットワーク(CAN)バス238(例えば、CAN通信プロトコルベースのバス)に通信可能に結合される。図2では、CANバス238は、第1の例示的CAN LRU240及び第2の例示的CAN LRU242(例えば、CANを介して通信可能なLRU、CANベースのLRUなど)に通信可能に結合される。
図3は、例示的なモデリング環境304における例示的なLRU ICDオブジェクト300及び対応する例示的なモデル302を示す。図3において、LRU ICDオブジェクト300は、高レベルインターフェースを用いて低レベルハードウェアの詳細を抑制可能な図1のICD114に含まれるソフトウェア抽象概念である。例えば、LRU ICDオブジェクト300は、図2のA664 LRU 224、A 429 LRU 234、第1のCAN LRU 240、又は第2のCAN LRU 242に対応するハードウェア及び/又はソフトウェアの高レベル表示に対応することができる。図3のLRU ICDオブジェクト300はLRUに対応するが、代替的には、他の任意のハードウェア及び/又はソフトウェアは、図3に関連して説明したように抽象概念又は表示することができる。
図3では、LRU ICDオブジェクト300は、例示的ICDアプリケーション定義308を含む例示的ICDアプリケーションブロック306を含む。ICDアプリケーションブロック306は、LRU上で実行されているソフトウェア(例えば、アプリケーションソフトウェア)によって実行される機能の表示である。ICDアプリケーション定義308は、図1のICD114によって使用される1つ又は複数のデータフォーマットに基づくLRUの制御論理機能のデータ構造を表す。図3において、ICDアプリケーション定義308は、第1の機能状態定義309a、第2の機能状態定義309b、第1のパラメータ定義311a、第2のパラメータ定義311b、第1のデータセット定義313a、第2のデータセット定義313b、及びメッセージ構造定義315を含む。代替的には、ICDアプリケーション定義308は、図3の例示的実施例に示される機能状態定義309a、309b、パラメータ定義311a、311b、データセット定義313a、313b、及び/又はメッセージ構造定義315よりも少ない又は多いものを含むことができる。
図3では、パラメータ定義311a、311bは、信号データのカプセル化に対応することができる。例えば、パラメータ定義311a、311bは、任意の種類のデータフォーマットのデータ値を含むことができる。図3では、データセット定義313a、313bは、複数のパラメータ定義311a、311bに関連するコヒーレンシを提供することができる。例えば、第1のデータセット定義313aは、第1のデータソースに関連するインターフェース情報に対応することができ、第2のデータセット定義313bは、第2のデータソースに関連するインターフェース情報に対応することができる。例えば、パラメータ定義311a、311bは、対応する機能状態定義309a、309bと関連付けられており、同じデータだが異なるソースからのものに対応することができる。例えば、第1のパラメータ定義311aは、第1の機能状態定義309aに対応し、第2のパラメータ定義311bは、第2の機能状態定義309bに対応することができる。第1のパラメータ定義311aは、図2のCAN LRU 1 240から得られた航空機システムの状態に対応することができる。第2のパラメータ定義311bは、同じステータスだが、図2のCAN LRU2 242から取得されるステータスに対応することができる。
図3の図示された例では、機能状態定義309a、309bは、データセット定義313a、313bに関連したメタデータに対応することができる。例えば、機能状態定義309a、309bは、関連データの状態を評価すること及び/又はそうでなければ決定することによって、関連データ(例えば、パラメータ定義311a、311b)の有効性を記述することができる。例えば、状態は、「失敗/警告」状態、「計算データなし」状態、「通常動作状態」状態、又は「機能試験」状態とすることができる。例えば、第1の機能状態定義309aは、未検証のデータ値を有する第1のパラメータ定義311aに対応する「失敗/警告」状態を有することができるが、これは、第2のパラメータ定義311bが検証済みデータ値を有する間、CAN LRU 1 240は応答しないからである。
いくつかの例では、「失敗/警告」状態は、第1のパラメータ定義311aのソースが応答しないことを示す警告を規定する。第1のパラメータ定義311aが応答しないことに応じて、モデルマネージャ100は、第2のパラメータ定義311bに関連する検証済みデータ値を選択することができる。いくつかの例では、第1の機能状態定義309bは、LRU ICDオブジェクト300に提供するための利用可能なデータ値を持たない第1のパラメータ定義311aに対応する「計算データなし」状態を有することができる。いくつかの例では、検証済みデータ値が第1のパラメータ定義311aに関連するとき、第1の機能状態定義309bは、「通常動作」状態を有することができる。いくつかの例では、第1の機能状態定義309bは、第1のパラメータ定義311aに関連するデータ値がモデル試験動作中に計算されるときに「機能試験」状態を有することができる。
図3では、メッセージ構造定義315は、ICDアプリケーションブロック306に関連する1つ又は複数のデータセット定義のアセンブリ又は構成に対応することができる。例えば、メッセージ構造定義315は、ICDアプリケーションブロック306の全てのデータセット定義313a、313bを含むことができる。追加的又は代替的には、ICDアプリケーション定義308は、図3に示すICDアプリケーション定義308よりも少ない又は多いものを含むことができる。
いくつかの例では、ICD114に含まれる各LRUは、異なる値を有する同じICDアプリケーション定義308を有する。例えば、図2のA664 LRU 224は、図2のA 429 LRU 234と同じICDアプリケーション定義308を含むことができるが、A664 LRU224は、A429 LRU234と比較して、機能状態定義309a、309b、パラメータ定義311a、311b、データセット定義313a、313bなどに対して異なる値を有することができる。そのような例では、あらゆる類似又は実質的に類似の構成要素に対して標準化されたICDアプリケーション定義308を使用することによって、図1の第2の動作116の間に、異なる種類のLRUを図1のICD114に迅速かつ正確にインスタンス化することができる。例えば、各LRUは、同じICDアプリケーション定義308を有することができ、各A664エンドシステムは、他のA664エンドシステムなどと同じICDアプリケーション定義を有することができる。
図3では、LRU ICDオブジェクト300は、ICDインターフェース定義312を含む例示的なICDインターフェースブロック310を含む。ICDインターフェースブロック310は、ICDによって定義されているように通信エンドシステムによって実行される通信機能の表示である。例えば、ICDインターフェースブロック310は、図2の第1のA664エンドシステム214、第2のA664エンドシステム220、第3のA664エンドシステム228、又はA429エンドシステム236に対応するハードウェア及び/又はソフトウェアの抽象概念に対応することができる。
図3では、ICDインターフェース定義312は、図1のICD114によって使用される1つ又は複数のデータフォーマットに基づいて、LRUの通信機能に関連するデータ構造を表す。図3において、ICDインターフェース定義312は、通信(COM)ポート定義、仮想リンク(VL)定義、及びサブVL定義を含む。図3では、COMポート定義は、ソケットである。例えば、COMポート定義は、モデルオブジェクト、アプリケーション、コンピューティングデバイスなどへの送信メッセージの待ち行列、又はそこからの受信メッセージの待ち行列を提供する事前構成済み通信ソケットに対応することができる。例えば、COMポート定義は、図2の区画1 206aなどのソフトウェア区画を図2の第1のA664エンドシステム214などの通信エンドシステムに結合するために使用する待ち行列ポート又はサンプリングポートに対応することができる。
図3において、VL定義は、選択された通信プロトコルに基づく交換パケットルーティング方式を表す。例えば、VL定義は、宛先MACアドレスがVL識別指示子ごとにツリー状の経路を実装するために使用されるA664パート7規格で定義された交換パケットルーティング方式に対応することができる。図3において、サブVL定義は、データを送信する前にVL定義にアクセスすることによって、データのカプセル化を呼び出すための送信器によって使用されるプロセスを表す。例えば、サブVL定義は、カプセル化されたデータを送信するために、COMポートからのデータを、図2のNIC216などの送信器によって使用されるデータフォーマットにカプセル化するための命令を含むことができる。追加的又は代替的には、ICDインターフェース定義312は、図3に示された定義よりも少ない又は多い定義を含むことができる。
図3の図示された例では、モデル302は、IMAモデルオブジェクト314、316を含むIMAモデルである。図3では、モデルマネージャ100は、IMAモデルオブジェクト314、316をモデリング環境304にインポートし、LRU ICDオブジェクト300からモデリング環境304への情報の変換に基づいてIMA定義318、320を事前設定することによって、モデリング環境304内にモデル302を生成する。
図3では、モデル302は、変換された及び/又はそうでなければモデリング環境304にインポートされたときのLRU ICDオブジェクト300の対応する抽象概念である。図3では、モデリング環境304は、MATLAB(登録商標)Simulink(登録商標)である。あるいは、他の任意のコンピュータベースのモデリング環境を使用することができる。モデル302は、LRU ICDオブジェクト300が移植され、かつ/又は別の方法でICDデータフォーマットなどの第1のデータフォーマットから第2のデータフォーマットに変換されるときに生成され、この場合、第2のデータフォーマットは、モデリング環境304に固有である。しかしながら、従来の実施態様では、LRU ICDオブジェクト300が、図3のモデリング環境304とは異なるモデリング環境に変換されると、第2のモデルが生成され、それは図3のモデル302とは異なりうる。いくつかの例では、図3のモデル302を第2のモデルに結合しようとするときに、統合問題が発生する。本明細書に開示される例は、そのような従来の実施態様の統合問題を解決する。
図3では、モデル302は、航空機システム設計をシミュレート及び/又は別の方法で検証するためにIMAモデルオブジェクト314、316を含む。IMAモデルオブジェクト314、316は、IMAアプリケーションモデルオブジェクト314及びIMAインターフェースモデルオブジェクト316を含む。図3のIMAアプリケーションモデルオブジェクト314は、LRU ICDオブジェクト300のICDアプリケーション定義308に関連する例示的なIMAアプリケーション定義318を含む。図3では、IMAアプリケーション定義318は、メッセージ構造定義315に関連するメタデータパラメータを表す。例えば、IMAアプリケーションモデルオブジェクト314のIMAアプリケーション定義「FUNCTIONAL STATUS A_MESSAGE」は、ICDアプリケーション定義308において定義された「機能ステータス」ICDアプリケーション定義に対応することができ、ここでIMAアプリケーション定義は、ICDアプリケーション定義308に含まれるデータセット定義313a、31b及びメッセージ構造定義315に基づいて構成される。IMAアプリケーション定義318は、実行中のアプリケーション論理に基づく値の抽象概念に対応する。例えば、IMAアプリケーション定義「FUNCTIONAL STATUS A_MESSAGE」は、1つ又は複数の変換又はスケーリング機能に基づいて圧力センサ測定値の工学値を計算する圧力センサ計算機能の出力値に対応することができる。
図3のIMAインターフェースモデルオブジェクト316は、ICDインターフェース定義312に関連する例示的なIMAインターフェース定義320を含む。例えば、IMAインターフェース定義「TX_COM_PORT_10121」は、ICDインターフェース定義312に定義された「COM PORT」ICDインターフェース定義に対応することができ、ここでIMAインターフェース定義は、ICDインターフェース定義312で定義されたSUB-VL及びVL ICDインターフェース定義に基づいて構成される。IMAインターフェース定義320は、異なるモデルブロック及び/又は異なるモデルを相互接続するために使用されるソフトウェアポートの抽象概念に対応する。
図3では、IMAインターフェース定義320は、send()機能コール、recv()機能コール、write()機能コール、read()機能コール、recvfrom()機能コールなどのソケットアプリケーションプログラミングインターフェース(API)に対応することができる。例えば、IMAインターフェース定義「TX_COM_PORT_10121」は、機能を実行するか又はソフトウェア論理ルーチンを実行するために、対応する「機能ステータスA_MESSAGE」の値を受け取る別のモデルブロック及び/又は別のモデルに含まれるリンク又はポインタに対応することができる。
図3では、IMAインターフェースモデルオブジェクト316は、LRUのソフトウェア層とLRUのハードウェア層との結合をシミュレートするための例示的なネットワークポートモデルオブジェクト322を含む。例えば、ネットワークポートモデルオブジェクト322は、A664ネットワークポートモデルオブジェクトとすることができる。例えば、ネットワークポートモデルオブジェクト322は、A664通信プロトコルを介して送信されるIMAインターフェース定義320に結合されたIMAアプリケーション定義318を使用して、データパケットを生成することをシミュレートすることができる。
図4は、本明細書に記載の例を実装するための図1及び図3のモデルマネージャ100の例示的実施態様のブロック図である。図4に図示された例では、モデルマネージャ100は、例示的モデリング環境セレクタ410、例示的データソースセレクタ420、例示的インターフェースインポータ430、例示的インターフェースエクスポータ440、例示的モデルオブジェクトハンドラ450、例示的ICDトランスレータ460、例示的言語固有モデル(LSM)トランスレータ470、例示的インターフェースバリデータ480、及び例示的レポートジェネレータ490を含む。
図4の図示された例では、モデルマネージャ100は、モデリング環境を決定し、図3のモデル302のようなIMAモデルを生成するためのモデリング環境セレクタ410を含む。いくつかの例では、モデリング環境セレクタ410は、図1の航空機108の航空機システム106に関連するIMAモデルを生成するために、LSM環境を選択する。例えば、モデリング環境セレクタ410は、モデル302を生成するために、MATLAB(登録商標)Simulink(登録商標)を選択することができる。いくつかの例では、モデリング環境セレクタ410は、別のモデルを生成するかどうかを決定する。例えば、モデリング環境セレクタ410は、モデル302が生成され、検証され、及び/又は図1のICD114にエクスポートされた後に、第2のモデルを生成することを決定することができる。
図4の図示された例では、モデルマネージャ100は、モデル化する航空機システムに関連するインターフェース制御データソースを決定するためのデータソースセレクタ420を含む。いくつかの例では、インターフェース制御データソースは、データベース、スプレッドシート(例えば、ゴールデンスプレッドシート)など、又は他の任意の種類のインターフェース制御文書又は情報である。例えば、モデルマネージャ100は、図1のICD114を選択することができる。
図4の図示された例では、モデルマネージャ100は、インターフェース制御データソースからデータを検索及び/又は別の方法で取得するためのインターフェースインポータ430を含む。いくつかの例では、インターフェースインポータ430は、インターフェース制御データソースから定義を取得して、図3のモデル302のような最上位抽象概念モデルを事前設定する。例えば、インターフェースインポータ430は、図3のIMAアプリケーション定義318、IMAインターフェース定義320などに関連するICDアプリケーション定義308、ICDインターフェース定義312などを、図1のICD114から取得することができる。いくつかの例では、インターフェースインポータ430は、モデル302を事前設定するために、インターフェース制御データソースからICDブロックを取得する。例えば、インターフェースインポータ430は、図1のICD114から、ICDアプリケーションブロック306、ICDインターフェースブロック310などを取得することができる。いくつかの例では、インターフェースインポータ430は、モデルライブラリを生成する。例えば、インターフェースインポータ430は、IMAアプリケーション定義318、IMAインターフェース定義320などの生成に応じて、モデリング環境304の1つ又は複数のライブラリを生成することができる。
図4に図示された例では、モデルマネージャ100は、IMAモデルに関連するデータを送信及び/又はエクスポートするためのインターフェースエクスポータ440を含む。いくつかの例では、インターフェースエクスポータ440は、IMA定義をICDにエクスポートする。例えば、インターフェースエクスポータ440は、図3のモデリング環境304から図1のICD114に、IMAアプリケーション定義318、IMAインターフェース定義320などのうちの1つ又は複数をエクスポートすることができる。いくつかの例では、インターフェースエクスポータ440は、IMAモデルオブジェクトをICDにエクスポートする。例えば、インターフェースエクスポータは、モデリング環境304からICD114に、IMAアプリケーションモデルオブジェクト314、IMAインターフェースモデルオブジェクトなどのうちの1つ又は複数をエクスポートすることができる。いくつかの例では、インターフェースエクスポータ440は、モデリング環境304からICD114に、図3のモデル302などのIMAモデルをエクスポートする。
いくつかの例では、インターフェースエクスポータ440は、IMAモデルに基づいて出力を生成する。例えば、インターフェースエクスポータ440は、図3のモデル302に基づいて、機械可読命令(例えば、バイナリコード)を生成することができる。例えば、インターフェースエクスポータ440は、モデル302に関連する情報をコンパイル及び/又は別の方法でコンピュータ実行可能コードに変換することができる。例えば、インターフェースエクスポータ440は、IMAアプリケーションモデルオブジェクト314及び関連する制御論理、IMAインターフェースモデルオブジェクト316及び関連する制御論理、IMAアプリケーション定義318、IMAインターフェース定義320など、及び/又はその組み合わせを、航空機システム106、航空機108、航空機108に関連付けられた飛行シミュレータなどによって実行することができる機械可読命令にコンパイルすることができる。いくつかの例では、インターフェースエクスポータ440は、機械可読命令を移動体及び/又は移動体シミュレータに展開する。例えば、インターフェースエクスポータ440は、機械可読命令を、航空機システム106、航空機108など、及び/又は航空機システム106、航空機108などに関連するフライトシミュレータに展開することができる。いくつかの例では、インターフェースエクスポータ440は、移動体及び/又は移動体シミュレータの動作を指示し、命令し、及び/又は他の方法で引き起こす。例えば、インターフェースエクスポータ440は、航空機システム106、航空機108などに含まれる既存の機械可読命令をインターフェースエクスポータ440によって生成された機械可読命令で置き換えるように、航空機システム106、航空機108などに命令することができる。そのような例では、インターフェースエクスポータ440は、インターフェースエクスポータ440によって生成された機械可読命令を使用して、航空機システム106、航空機108に飛行動作、模擬飛行動作などの動作を実行させることができる。
いくつかの例では、インターフェースエクスポータ440は、図3のモデル302に基づいて、サプライチェーン及び製造ビルド命令を生成する。例えば、インターフェースエクスポータ440は、モデル302に関連する航空機システム106を図1の第4の動作122における製作のためにリリースすることができることを示す、図1のICD114、図3のモデル302などに含まれる情報に基づいて要件、仕様などを生成することができる。例えば、インターフェースエクスポータ440は、航空機システム106、及び/又はより一般的には航空機108の製造及びサプライチェーンに関連する1つ又は複数のコンピューティングデバイス又はシステムに、航空機システム106、航空機108などの1つ又は複数のプロトタイプ、1つ又は複数の生産ラインアセンブリなどの構築を開始するよう指示又は命令することができる。例えば、インターフェースエクスポータ440は、IMAシステムモデルに関連した移動体システムの製造を開始することができる。例えば、インターフェースエクスポータ440は、生成されたサプライチェーン及び/又は製造ビルド命令に基づいて、航空機システム106及び/又は航空機108の製作を開始することができる。
図4の図示された例では、モデルマネージャ100は、モデリング環境に含まれるモデルをインポート、構成、及び/又は修正するためのモデルオブジェクトハンドラ450を含む。いくつかの例では、モデルオブジェクトハンドラ450は、処理対象のモデルブロックをインポートする。例えば、モデルオブジェクトハンドラ450は、IMAアプリケーションモデルオブジェクト314、IMAインターフェースモデルオブジェクト316などをモデリング環境304にインポートして処理することができる。いくつかの例では、モデルオブジェクトハンドラ450は、IMAモデルに関連する2つ以上のモデルオブジェクトを結合する。例えば、モデルオブジェクトハンドラ450は、モデル302内にブロック間関係を作成するために、図3のIMAアプリケーションモデルオブジェクト314とIMAインターフェースモデルオブジェクト316とを結合又は通信可能に接続することができる。
いくつかの例では、モデルオブジェクトハンドラ450は、処理するモデルオブジェクトを選択し、かつ/又は処理する別のモデルオブジェクトを選択するかどうかを決定する。いくつかの例では、モデルオブジェクトハンドラ450は、IMAモデルに関連する定義を調整する。例えば、モデルオブジェクトハンドラ450は、図3のIMAアプリケーション定義318に含まれるIMAアプリケーション定義「FUNCTIONAL STATUS A_MESSAGE」に対応する定義を調整することができる。いくつかの例では、モデルオブジェクトハンドラ450は、図3のモデリング環境304内に新しいモデルオブジェクトを生成する。例えば、モデルオブジェクトハンドラ450は、空白のモデルオブジェクトを作成し、モデリング環境304内に1つ又は複数のIMAアプリケーション定義、1つ又は複数のIMAインターフェース定義などを含むことによって新しいモデルオブジェクトを生成し、その後、新しいモデルオブジェクト関係及び新しいモデルオブジェクトに関連するモデルオブジェクト接続を生成することができる。例えば、モデルオブジェクトは、IMA構成要素に対応することができる。モデルオブジェクト関係及びモデルオブジェクト結合は、ソフトウェア区画からエンドシステムへのソフトウェア結合に対応することができる。例えば、モデルオブジェクト関係及びモデルオブジェクト結合は、図2の第1から第3のソフトウェア区画206a、208a、210aを図2の第1のA664エンドシステム214に通信可能に結合する待ち行列ポート及びサンプリングポートに対応することができる。いくつかの例では、モデルオブジェクトハンドラ450は、1つ又は複数のIMAモデルを生成することに応じて、IMAシステムモデルを生成することができる。
図4の図示された例では、モデルマネージャ100は、図1のICD114に含まれるデータを、ICDデータフォーマットから言語中立モデル(LNM)データフォーマットに変換及び/又は転換するICDトランスレータ460を含む。例えば、ICDトランスレータ460は、ICD-LNMトランスレータとすることができる。ICDトランスレータ460は、(1)ICD114に関連するICDデータフォーマットのICD114からのICDアプリケーション定義308を、(2)LNMに関連するLNMデータフォーマットのLNMに含まれるLNM定義に転換することができる。例えば、ICDトランスレータ460は、LRU ICDオブジェクト300などの対象となるICDオブジェクトを選択し、LNM内のLRU ICDオブジェクト300をインスタンス化し、LNM内のインスタンス化されたオブジェクトに関連するLNM定義をICDアプリケーション定義308、ICDインターフェース定義312などで事前設定することができる。
図4に図示された例では、モデルマネージャ100は、LNMに含まれるデータを、LNMデータフォーマットからLSMデータフォーマットに変換及び/又は別の方法で転換するためのLSMトランスレータ470を含む。例えば、LSMトランスレータ470は、LNM-LSMトランスレータとすることができる。例えば、LSMトランスレータ470は、IMAアプリケーションモデルオブジェクト314などの対象となるIMAモデルオブジェクトを選択し、モデリング環境304内でIMAアプリケーションモデルオブジェクト314をインスタンス化し、IMAアプリケーション定義318に、ICD114に含まれるICDアプリケーション定義308に対応する、LNMに含まれる対応するLNM定義を事前設定することができる。例えば、各IMAモデルオブジェクトに対するLNMモデルオブジェクトがある。各モデルオブジェクトには、同数かつ同種の属性と要素が含まれているため、LNMモデルオブジェクトとIMAモデルオブジェクト間のデータを同期することができる。例えば、IMAアプリケーション定義318に関連するLNMに含まれるLNM定義は、同数かつ同種の属性及び要素を含んだ。
いくつかの例では、LSMトランスレータ470は、(1)LNMに固有のLNMデータフォーマットのLNMに含まれるLNM定義を、(2)図3のモデリング環境304に固有のLSMデータフォーマットにおけるIMAアプリケーション定義318、IMAインターフェース定義320などに転換する。いくつかの例では、LSMトランスレータ470は、プレゼンテーション層を生成する。例えば、LSMトランスレータ470は、プレゼンテーション層に対する上位層をサポートするために、フォーマット変換、暗号化/復号などを含むメッセージデータのハンドリングシンタックス処理などのタスクを担当するネットワーク層をシミュレートするためのプレゼンテーション層を生成することができる。例えば、LSMトランスレータ470は、図6に関連して以下に説明されるようにプレゼンテーション層600を生成することができる。
図4に図示される例では、モデルマネージャ100は、変換された情報が定義規則(例えば、ICD定義規則、LNM定義規則、IMA定義規則など)に準拠していることを確認及び/又は検証するためのインターフェースバリデータ480を含む。いくつかの例では、インターフェースバリデータ480は、ICD情報を検証する。例えば、インターフェースバリデータ480は、ICD114に格納されるべき情報をICD定義規則と比較し、情報が比較に基づいて検証されると、ICD114に情報を格納することができる。いくつかの例では、インターフェースバリデータ480は、LNM情報を検証する。例えば、インターフェースバリデータ480は、LNMに格納されるべき情報をLNM定義規則と比較し、その比較に基づいて情報が検証されると、その情報をLNMに格納することができる。
いくつかの例では、インターフェースバリデータ480は、LSM情報を検証する。例えば、インターフェースバリデータ480は、LSM(例えば、図3のモデリング環境304)にインポートされる情報をIMA定義規則と比較し、その比較に基づいて情報が検証されると、その情報をLSMにインポートすることができる。いくつかの例では、インターフェースバリデータ480は、ICD、LNM、及び/又はLSM情報を検証しないことに応じて、警告を生成する。例えば、インターフェースバリデータ480は、IMAシステムモデルの動作を停止し、エラーメッセージ、警告などを生成することができる。いくつかの例では、警告は、ICD、LNM、及び/又はLSM情報が定義規則に準拠するように修正される必要があることをユーザに通知するために、ユーザインターフェースに送信される。例えば、ユーザは、モデルオブジェクトを定義規則に準拠させるために、モデルオブジェクトに関連する定義を修正することができる。
いくつかの例では、インターフェースバリデータ480は、IMAシステムモデルを実行する。例えば、インターフェースバリデータ480は、図3のモデル302を実行、実施、操作などし、1つ又は複数の出力を生成することができる。例えば、インターフェースバリデータ480は、エフェクタ、センサ、ネットワークスイッチなどの航空機システム構成要素の出力を生成することができる。例えば、インターフェースバリデータ480は、モデル302を実行して、エフェクタ232が無効、有効、特定の容量又は電力パーセンテージで動作しているなど、図2のエフェクタ232のステータスをシミュレートすることができる。別の例では、インターフェースバリデータ480は、モデル302を実行して、センサ230が圧力、速度、温度などを測定するなど、図2のセンサ230の測定値をシミュレートすることができる。更に別の例では、インターフェースバリデータ480は、モデル302を実行して、帯域幅、待ち時間、スループット、IPアドレス、メディアアクセス制御(MAC)アドレス、通信プロトコルパラメータなどのような、図2のNS222のパラメータをシミュレートすることができる。
いくつかの例では、インターフェースバリデータ480は、IMAシステムモデルの出力に基づいて、IMAシステムモデルを検証する。例えば、インターフェースバリデータ480は、モデル302の出力(例えば、センサ230の圧力測定値、NS222の待ち時間など)を検証出力と比較することによって、図3のモデル302を検証し、比較に基づいてモデル302を検証することができる。例えば、検証出力は、モデル302の期待値に対応することができる。例えば、インターフェースバリデータ480は、モデル302の出力を対応する検証出力と比較し、検証出力を実質的に一致させること(例えば、一致又は許容範囲内で一致させること)によって、出力が検証出力を満たすかどうかを判定することができる。いくつかの例では、インターフェースバリデータ480は、1つ又は複数の出力を1つ又は複数の対応する検証出力と比較することによって、図3のモデル302を検証し、その比較に基づいて、1つ又は複数の出力が1つ又は複数の対応する検証出力を満たすと判定することができる。
図4の図示された例では、モデルマネージャ100は、モデルマネージャ100によって実行された動作に基づいて、レポートを生成するためのレポートジェネレータ490を含む。いくつかの例では、レポートジェネレータ490は、モデルマネージャ100がIMAモデルを作成すると、レポートを生成する。例えば、レポートジェネレータ490は、IMAアプリケーションモデルオブジェクト314、IMAインターフェースモデルオブジェクト316、IMAアプリケーション定義318、IMAインターフェース定義320などのうちの1つ又は複数、及び/又はそれらの組み合わせが検証される(例えば、LNMからインポートされたLNM定義は、LSM定義規則との比較に基づいて検証される)と、レポートを生成することができる。
いくつかの例では、レポートジェネレータ490は、図1の出力124を含むレポートを生成することによって動作を開始する。例えば、レポートジェネレータ490は、モデル302を用いてモデル化された図2のA664 LRU224を製作用にリリースすることができることを示すレポートを生成することができる。レポートは、機械可読命令、サプライチェーンビルド命令、製造ビルド命令などのうちの少なくとも1つを含むことができる。例えば、レポートジェネレータ490は、モデル302が、A664 LRU224、図1の航空機システム106などに関連する検証及び/又は検証試験機能をうまく実行したと決定することができる。例えば、レポートジェネレータ490は、対応するモデル302が実行及び/又は検証されたときに、製造オーダ、プロトタイプ製造オーダなどを生成してA664 LRU224、航空機システム106などを製作するように構成された、サプライチェーンコンピューティングシステムや製造コンピューティングシステムなどの別のコンピューティングシステムへのレポートを含む、レポートを生成し、警告、通知などを送信することによって、航空機システム106及び/又はより一般的には図1の航空機108の製造を開始することができる。例えば、レポートジェネレータ490は、製造ビルド命令、サプライチェーンビルド命令、機械可読命令などのうちの少なくとも1つに基づいて、航空機システム106及び/又はより一般的には、航空機108の製作を開始することができる。
図1及び図3のモデルマネージャ100を実装する例示的な方法が図4に示されているが、図4に示されている要素、プロセス、及び/又はデバイスのうちの1つ又は複数を組み合わせ、分割し、再配置し、省略し、排除し、及び/又は他の方法で実装することができる。更に、モデリング環境セレクタ410、データソースセレクタ420、インターフェースインポータ430、インターフェースエクスポータ440、モデルオブジェクトハンドラ450、LNMトランスレータ460、LSMトランスレータ470、インターフェースバリデータ480、レポートジェネレータ490、及び/又はより一般的には、図1及び図3のモデルマネージャ100は、ハードウェア、ソフトウェア、ファームウェア、並びに/又はハードウェア、ソフトウェア、及び/若しくはファームウェアの任意の組み合わせにより、実施することができる。したがって、例えば、モデリング環境セレクタ410、データソースセレクタ420、インターフェースインポータ430、インターフェースエクスポータ440、モデルオブジェクトハンドラ450、LNMトランスレータ460、LSMトランスレータ470、インターフェースバリデータ480、レポートジェネレータ490、及び/又はより一般的には、モデルマネージャ100のいずれかは、1つ又は複数のアナログ若しくはデジタル回路、論理回路、プログラマブルプロセッサ、プログラマブルコントローラ、グラフィック処理ユニット(GPU)、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、及び/又はフィールドプログラマブル論理デバイス(FPLD)によって、実施することができるだろう。純粋にソフトウェア及び/又はファームウェアの実装をカバーするために、この特許の装置又はシステムの請求項のいずれかを読むとき、モデリング環境セレクタ410、データソースセレクタ420、インターフェースインポータ430、インターフェースエクスポータ440、モデルオブジェクトハンドラ450、LNMトランスレータ460、LSMトランスレータ470、インターフェースバリデータ480、及び/又はレポートジェネレータ490のうちの少なくとも1つは、これにより、ソフトウェア及び/又はファームウェアを含む、メモリ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、ブルーレイディスクなどといった、非一過性のコンピュータ可読記憶デバイス又は記憶ディスクを含むように明確に定義される。
また更に、図1及び図3のモデルマネージャ100は、図4に示すものに加えて、又はその代わりに、1つ又は複数の要素、プロセス、及び/又はデバイスを含むことができ、及び/又は例示された要素、プロセス、及びデバイスのいずれか又はすべてのうちの2つ以上を含むことができる。本明細書では、その変形を含む「通信中」という表現は、1つ又は複数の中間構成要素を介した直接通信及び/又は間接通信を含み、直接物理(例えば有線)通信及び/又は常時通信を必要としないが、むしろ、周期的間隔、スケジュールされた間隔、非周期的な間隔、及び/又はワンタイムイベントでの選択的な通信を更に含む。
図5は、例示的言語中立ドメイン506を介して、例示的データソースドメイン502から例示的言語固有ドメイン504に情報をインポートすることの概略図である。図5では、データソースドメイン502は、第1の例示的ICDソース508、第2の例示的ICDソース510、及び第3の例示的ICDソース512などの例示的ICDソースを含む。第1のICDソース508及び第2のICDソース510は、データベースである。第3のICDソース512は、1つ又は複数の文書(例えば、スプレッドシート、要求文書、仕様文書など)のセットを表す。
図5では、第1のICDソース508は、第1のICDプロトコル定義514を含む。例えば、第1のICDプロトコル定義514は、第1の通信プロトコルに関連するICD定義(例えば、図3のICDアプリケーション定義308、ICDインターフェース定義312など)とすることができる。例えば、第1の通信プロトコルは、A429通信プロトコルとすることができる。例えば、第1のICDプロトコル定義514は、1つ又は複数のA429通信ポートに対応するICD定義、及び/又はA429通信ポートを実装するための制御論理を含むことができる。例えば、第1のICDプロトコル定義514は、A429エンドシステム236及び/又はより一般的には図2のA429LRU234に関連する待ち行列ポート及び/又はサンプリングポートに対応することができる。
いくつかの例では、第1のICDプロトコル定義514などのICDプロトコル定義は、図1の航空機システム106に関連するインターフェース情報、要件情報、仕様情報などとすることができる。
例えば、第1のICDプロトコル定義514は、通信ポート情報(例えば、IPアドレス、メディアアクセス制御(MAC)アドレス、通信プロトコルアドレスなど)、コネクタピン配列情報、配線情報などを含む、図2のNS222に関連するインターフェース情報とすることができる。別の例では、第1のICDプロトコル定義514は、図2の航空機ネットワーク200内のある量のネットワークスイッチの量などの、航空機システム106に含まれる構成要素の量及び/又は種類、エフェクタ232及び/又はセンサ230の種類、図2のGPM204によって使用されるいくつかのパーティションなどの、要件情報とすることができる。更に別の例では、第1のICDプロトコル定義514は、航空機システム構成要素(例えば、NS222の帯域幅、データスループット、待ち時間など)の性能情報、航空機システム構成要素のファームウェアバージョン情報、航空機システム構成要素のソフトウェアバージョン情報などとすることができる。
図5では、第2のICDソース510は、第2のICDプロトコル定義516を含む。例えば、第2のICDプロトコル定義516は、第2の通信プロトコルに関連したICD定義とすることができる。例えば、第2の通信プロトコルは、A664通信プロトコルとすることができる。例えば、第2のICDプロトコル定義516は、1つ又は複数のA664通信ポートに対応するICD定義、及び/又はA664通信ポートを実装するための制御論理を含むことができる。例えば、第2のICDプロトコル定義516は、第1のA664エンドシステム214及び/又はより一般的には図2のGPM204に関連する待ち行列ポート及び/又はサンプリングポートに対応することができる。図5では、第3のICDソース512は、第2のICDプロトコル定義516に関連する情報を含む文書を含む。
例えば、第3のICDソース512は、1つ又は複数のA664通信ポートに対応するICD定義、及び/又はA664通信ポートを実装するための制御論理を含む文書を含むことができる。
第1のICDソース508、第2のICDソース510、及び/又は第3のICDソース512は、揮発性メモリ(例えば、同期型ダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUSダイナミックランダムアクセスメモリ(RDRAM)など)及び/又は不揮発性メモリ(例えば、フラッシュメモリ)によって、実装することができる。第1のICDソース508、第2のICDソース510、及び/又は第3のICDソース512は、追加的又は代替的には、DDR、DDR2、DDR3、DDR4、モバイルDDR(mDDR)などといった、1つ又は複数のダブルデータレート(DDR)メモリによって実装することができる。第1のICDソース508、第2のICDソース510、及び/又は第3のICDソース512は、追加的又は代替的には、ハードディスクドライブ、コンパクトディスクドライブ、デジタル多用途ディスクドライブ、ソリッドステートドライブなどといった、1つ又は複数の大容量記憶デバイスによって実装することができる。図示された例では、第1のICDソース508、第2のICDソース510、及び第3のICDソース512は、単一のデータベース又は単一セットの文書として示されるが、第1のICDソース508、第2のICDソース510、及び第3のICDソース512は、任意の数及び/又は種類のデータベース若しくはセットの文書によって実装することができる。
図5に図示された例では、モデルマネージャ100は、第1のICDトランスレータ520、第2のICDトランスレータ522、及び第3のICDトランスレータ524を介して、データソースドメイン502と言語中立ドメイン506に含まれる言語中立モデル(LNM)518との間でデータを変換する。例えば、図4のICDトランスレータ460は、第1から第3のICDトランスレータ520、522、524を実装することができる。例えば、図4のICDトランスレータ460は、(1)第1のICDソース508によって指定されたICDデータフォーマットの第1のICDソース508に含まれる第1のICDプロトコル定義514を(2)LNM518によって指定されるLNMデータフォーマットのLNM518に含まれる第1のLNMプロトコル定義526に変換するために、第1のICDトランスレータ520を実装することができる。いくつかの例では、インターフェースインポータ430は、第1から第3のICDトランスレータ520、522、524を実装するようにICDトランスレータ460に命令する。
別の例では、ICDトランスレータ460は、(1)第2のICDソース510によって指定されたICDデータフォーマットの第2のICDソース510に含まれる第2のICDプロトコル定義516を(2)LNM518で指定されるLNMデータフォーマットのLNM518に含まれる第2のLNMプロトコル定義528に変換するために、第2のICDトランスレータ522を実装することができる。更に別の例では、ICDトランスレータ460は、(1)第3のICDソース512によって指定されたICDデータフォーマットの第3のICDソース512に含まれる第2のICDプロトコル定義516を(2)LNM518によって指定されたLNMデータフォーマットのLNM518に含まれる第2のLNMプロトコル定義528に変換するために、第3のICDトランスレータ524を実装することができる。
図5では、第1のLNMプロトコル定義526は、第1のICDプロトコル定義514に関連する言語中立定義である。本明細書で使用する際、「言語中立定義」という用語は、データソースドメイン502及び言語固有ドメイン504とは無関係に、航空機構成要素、航空機サブシステム、航空機システムなどの機能に対応する制御論理機能及び関連する構成パラメータのデータ構造を指す。例えば、言語中立定義は、ICD定義及び/又は言語固有定義と属性又は要素の同じ値を含むことができるが、ICD定義又は言語固有定義のいずれによっても使用されないデータフォーマット又はデータ構造でありうる。したがって、データソースドメイン502に含まれるICDソース又は言語固有ドメイン504に含まれるモデリング環境は、LNM518に含まれる言語中立定義(例えば、第1のLNMプロトコル定義526、第2のLNMプロトコル定義528など)に影響を及ぼすことなく、追加、削除、又は変更することができる。
図5では、第1のLNMプロトコル定義526及び第2のLNMプロトコル定義528に含まれるデータのフォーマットは、処理するために、第1のICDソース508、第2のICDソース510、又は第3のICDソース512のうちの1つの選択とは無関係である。例えば、第1のLNMプロトコル定義526に含まれる情報は、選択された定義、又は第1のICDソース508、第2のICDソース510、又は第3のICDソース512のうちの1つの選択とは無関係に、同じデータフォーマットを保持する。結果として、LNM518が、第1から第3のICDトランスレータ520、522、524のうちの1つを介して、第1のICDソース508、第2のICDソース510、又は第3のICDソース512と相互作用するので、モデルマネージャ100が第1のICDソース508、第2のICDソース510、又は第3のICDソース512のうちの1つ又は複数を修正するときに、LNM518は影響を受けない。
図5では、第1のLNMプロトコル定義526は、第1のICDプロトコル定義514と同数かつ同種の属性及び要素を含むことができる。第1のLNMプロトコル定義526に含まれる情報は、第1のICDプロトコル定義514と同じ通信プロトコルに関連付けられる。例えば、第1のLNMプロトコル定義526は、A429通信プロトコルに対応することができる。例えば、第1のLNMプロトコル定義526は、1つ又は複数のA429通信ポート及び/又はA429通信ポートを実装するための制御論理に対応する言語中立定義を含むことができる。例えば、第1のLNMプロトコル定義526は、A429エンドシステム236及び/又はより一般的には図2のA429LRU234に関連する待ち行列ポート及び/又はサンプリングポートに対応することができる。
図5では、第2のLNMプロトコル定義528は、第2のICDプロトコル定義516と同数かつ同種の属性及び要素を含むことができる。第2のLNMプロトコル定義528に含まれる情報は、第2のICDプロトコル定義516と同じ通信プロトコルに関連付けられる。例えば、第2のLNMプロトコル定義528は、A664通信プロトコルに対応することができる。例えば、第2のLNMプロトコル定義528は、1つ又は複数のA664通信ポート及び/又はA664通信ポートを実装するための制御論理に対応する言語中立定義を含むことができる。例えば、第2のLNMプロトコル定義528は、第1のA664エンドシステム214及び/又はより一般的には図2のGPM204に関連する待ち行列ポート及び/又はサンプリングポートに対応することができる。
図5の図示された例では、言語固有ドメイン504は、第1のモデリング環境530と第2のモデリング環境532とを含む。代替的には、図5に示す第1のモデリング環境530及び第2のモデリング環境532よりも少ない又は多い環境が存在してもよい。図5に示す例では、モデルマネージャ100は、第1の言語固有モデル(LSM)トランスレータ534、第2のLSMトランスレータ536、及び第3のLSMトランスレータ538を介して、言語中立ドメイン506と言語固有ドメイン504との間でデータを変換する。例えば、図4のLSMトランスレータ470は、第1から第3のLSMトランスレータ534、536、538を実装することができる。例えば、図4のLSMトランスレータ470は、(1)LNM518によって指定されたLNMデータフォーマットのLNM518に含まれる第1のLNMプロトコル定義526を(2)第1のモデリング環境530によって指定された第1のLSMデータフォーマット542で第1のモデリング環境530に含まれる第1のIMAプロトコル定義540に変換するために、第1のLSMトランスレータ534を実装することができる。いくつかの例では、インターフェースインポータ430は、第1から第3のLSMトランスレータ534、536、538を実装するようにLSMトランスレータ470に指示する。
別の例では、図4のLSMトランスレータ470は、(1)LNM518によって指定されたLNMデータフォーマットのLNM518に含まれる第2のLNMプロトコル定義528を(2)第1のモデリング環境530によって指定された第1のLSMデータフォーマット542で第1のモデリング環境530に含まれる第2のIMAプロトコル定義544に変換するために、第2のLSMトランスレータ536を実装することができる。図5では、第1のIMAプロトコル定義540、第2のIMAプロトコル定義544などは、図3のIMAアプリケーション定義318及び/又はIMAインターフェース定義320に対応することができる。
更に別の例では、図4のLSMトランスレータ470は、(1)LNM518によって指定されたLNMデータフォーマットのLNM518に含まれる第2のLNMプロトコル定義528を(2)第2のモデリング環境532によって指定された第2のLSMデータフォーマット548で第2のモデリング環境532に含まれる第3のIMAプロトコル定義546に変換するために、第3のLSMトランスレータ538を実装することができる。
図5では、第1のモデリング環境530は、第1のLSMデータフォーマット542に基づいている。図5の第1のLSMデータフォーマット542は、ICDプロトコル定義(例えば、第1のICDプロトコル定義514、第2のICDプロトコル定義516など)の1つの選択、及び/又はICDソース(例えば、第1のICDソース508、第2のICDソース510など)の選択に基づくライブラリ550(例えば、モデルライブラリ、モデルオブジェクトライブラリなど)によって定義される。例えば、モデルマネージャ100は、第1のモデリング環境530においてIMAモデルを生成するために、第1のICDソース508を選択することができる。第1のICDソース508の選択に応じて、モデルマネージャ100は、第1のICDトランスレータ520を介して、第1のICDプロトコル定義514を、第1のLNMプロトコル定義526に変換することができる。第1のLNMプロトコル定義526の生成に応じて、モデルマネージャ100は、第1のLSMトランスレータ534を介して、第1のLNMプロトコル定義526を第1のIMAプロトコル定義540に変換することができる。モデルマネージャ100は、第1のIMAプロトコル定義540に基づいてライブラリ550を生成することができる。
図5では、第2のモデリング環境532は、第2のLSMデータフォーマット548に基づいている。図5の第2のLSMデータフォーマット548は、ICDプロトコル定義(例えば、第1のICDプロトコル定義514、第2のICDプロトコル定義516など)のうちの1つの選択、及び/又はICDソース(例えば、第1のICDソース508、第2のICDソース510など)の選択に基づくブロック定義552(例えば、モデルブロック定義、モデルブロックオブジェクト定義など)によって定義される。例えば、モデルマネージャ100は、第2のモデリング環境532においてIMAモデルを生成するために第2のICDソース510を選択することができる。第2のICDソース510の選択に応じて、モデルマネージャ100は、第2のICDトランスレータ522を介して、第2のICDプロトコル定義516を第2のLNMプロトコル定義528に変換することができる。第2のLNMプロトコル定義528の生成に応じて、モデルマネージャ100は、第3のLSMトランスレータ538を介して、第2のLNMプロトコル定義528を第3のIMAプロトコル定義546に変換することができる。モデルマネージャ100は、第3のIMAプロトコル定義546に基づいて、ブロック定義552を生成することができる。
図5では、第1のLNMプロトコル定義526及び第2のLNMプロトコル定義528に含まれるデータのフォーマットは、第1のモデリング環境530又は第2のモデリング環境532のいずれかの選択とは無関係である。例えば、第2のLNMプロトコル定義528に含まれる情報は、第1のモデリング環境530又は第2のモデリング環境532のいずれかの選択とは無関係に同じデータフォーマットを保持する。結果として、LNM518が、第1から第3のLSMトランスレータ534、536、538のうちの1つを介して、第1のモデリング環境530及び第2のモデリング環境532と相互作用するため、モデルマネージャ100が1つ又は複数のライブラリ550又は1つ又は複数のブロック定義552を修正すると、LNM518は影響を受けない。例えば、モデルマネージャ100は、第2のLNMプロトコル定義528を修正することなく、第2のLNMプロトコル定義528を、第1のモデリング環境530又は第2のモデリング環境532のいずれかにインポートすることができる。
いくつかの例では、モデルマネージャ100は、1つ又は複数の変換規則を使用して、LNM定義(例えば、第1及び第2のLNMプロトコル定義526、528)を生成する。変換規則は、LNM定義がLNM518に格納されるために準拠しなければならない及び/又は満たさなければならない1つ又は複数のデータ構成要素を含むデータ構造(例えば、変換データ構造)を表すことができる。例えば、モデルマネージャ100は、第1のLSMトランスレータ534を介して、第1のIMAプロトコル定義540を第1のLNMプロトコル定義526に変換することができる。そのような例では、第1のLSMトランスレータ534は、第1のIMAプロトコル定義540のうちの1つのデータ構造を、変換データ構造を含む変換規則と比較することができる。データ構造が変換データ構造と一致しないことに応じて、第1のLSMトランスレータ534は、データ構造の欠落データ構成要素を、データ構造の既存のデータ構成要素と集約し、集約された構成要素をLNM定義にコンパイルすることができる。第1のLSMトランスレータ534は、第1のLNMプロトコル定義526及び/又は第2のLNMプロトコル定義528の一部になるように、LNM定義をLNM518にエクスポートすることができる。
図6は、例示的モデリングシステム602の例示的プレゼンテーション層600の例示的実施態様である。例えば、モデリングシステム602は、IMAモデリングシステムとすることができる。図6のモデリングシステム602は、オープンプロトコルインターコネクション(OSI)モデルに基づく第1のシステム604及び第2のシステム606のモデリングシステムを表し、これは、ある層から次の層に制御が渡される、通信プロトコルを層で実装するためのネットワーキングフレームワークである。図6において、上位層608(例えば、アプリケーション層)は、ネットワークを介したプロセス間通信に焦点を合わせるプロトコルを含むエンドユーザアプリケーションにネットワークサービスを供給するネットワーク層をシミュレートする。例えば、上位層608は、イーサネットベースのプロトコル(例えば、HTTPパケット)、CANバスプロトコル(例えば、CANバスパケット)、A429プロトコルなどの抽象概念を表すことができる。
図6において、上位層608は、プレゼンテーション層600によって提供されるサービスを使用して、互いにデータを交換する。プレゼンテーション層600は、プレゼンテーション層600の上の上位層608をサポートするために、フォーマット変換、暗号化/復号などを含むメッセージデータのシンタックス処理を扱うなどのタスクを担当するネットワーク層をシミュレートする。図6のプレゼンテーション層600は、例示的MAPOUT抽象概念610及び対応する例示的MAPIN抽象概念612を含む。MAPOUT抽象概念610及びMAPIN抽象概念612は、モデリング環境内のモデルに含めることができるパラメトリックデータプロトコル通信ブロックの抽象概念である。例えば、MAPOUT抽象概念610は、モデルマネージャ100が要素名(例えば、パラメータフィールド名、定義済みニーモニック名、定義済みパラメータ名など)の表示スタイルを選択できるようにするための、モデリング環境内のモデルに挿入可能なプレゼンテーションモデルブロックとすることができる。そのような例では、MAPIN抽象概念612は、MAPOUT抽象概念610から要素名を取得することができ、それはモデルマネージャ100、モデリング環境のユーザ(例えば、設計エンジニア)などに提示することができる。
図6のプレゼンテーション層600は、例示的なDECODE抽象概念614、及び対応する例示的なENCODE抽象概念616を含む。いくつかの例では、DECODE抽象概念614及びENCODE抽象概念616は、バスオブジェクト要素へのバイナリフレームバッファにエンコードされたデータを操作する。例えば、DECODE抽象概念614及びENCODE抽象概念616は、データのエンコード/デコードを可能にするために、モデリング環境内のモデルに挿入可能なプレゼンテーションモデルブロックとすることができる。例えば、ENCODE抽象概念616は、アナログ電圧値を2進値に変換することによって、データ(例えば、センサ値)をエンコードすることができる。そのような例では、DECODE抽象概念614は、2進値をアナログ電圧値に変換することによって、データをデコードすることができる。
図6の図示された例では、モデリングシステム602は、物理媒体によってサポートされる種類のシグナリングを使用して、デジタルデータビットの送信をシミュレートするための下位層618を含む。例えば、下位層618は、セッション層、トランスポート層、ネットワーク層、データリンク層、又は物理層のうちの1つ又は複数を含むことができる。例えば、下位層618は、電気信号、電磁気信号、赤外線又は通常の光のパルスなどによって送信されるデータのシミュレーションとすることができる。例えば、下位層618は、イーサネットケーブル、ラジオアンテナ、光ファイバーケーブルなどによって、送信及び/又は受信されているデータのシミュレーションでありうる。
図7Aは、図1の航空機108に関連する複数のIMAモデル702を生成し、実行し、かつ検証するためのIMAモデル生成システム700を示す。図7Aでは、IMAモデル702は、IMA LRUモデル702である。代替的には、IMAモデル702は、IMA GPMモデル、IMA ASMモデル、IMAネットワークスイッチモデル、IMA RDCモデルなど、及び/又はそれらの組み合わせとすることができる。
図7Aでは、複数のIMA LRUモデル702は、10000を超えるIMAモデルを含む。代替的には、IMAモデル生成システム700は、10000未満のIMAモデルを生成することができる。図7Aでは、複数のIMA LRUモデル702は、第1のIMAモデル704を含む。図7Aにおいて、第1のIMAモデル704は、第1のIMA LRUモデル(IMA LRU MODEL 1)704である。例えば、第1のIMA LRUモデル704は、図2のA429 LRU234、A664 LRU224などのIMAモデルに対応することができる。例えば、第1のIMA LRUモデル704は、A429 LRU 234、A664 LRUなどをシミュレートすることができる。別の例では、複数のIMA LRUモデル702のうちの1つ又は複数は、航空機システム106及び/又はより一般には図1の航空機108に対応することができる。
図7Aにおいて、モデルマネージャ100は、IMAモデル生成システム700を管理する。図7Aでは、モデルマネージャ100は、第1のICDトランスレータ520を介して、第1のICDプロトコル定義514などの第1のICDソース508からの情報をLNM518に変換する。図7Aでは、モデルマネージャ100は、第1のLSMトランスレータ534を介して、LNM518からの情報を第1のモデリング環境530内の第1のIMA LRUモデル704に変換する。例えば、第1のLSMトランスレータ534は、図7Aに示すように、LNM518からの情報を10000を超えるIMA LRUモデルに変換することができる。
図7Aに図示した例では、モデルマネージャ100は、第1のIMA LRUモデル704を含む複数のIMA LRUモデル702を生成し、実行し、検証する。図7Aでは、第1のIMA LRUモデル704は、図6の下位層618、プレゼンテーション層600、及び上位層608を含む。図7Aにおいて、下位層618は、物理的構成要素からデータを取得することをシミュレートする。図7Aでは、下位層618は、例示的ネットワークスイッチ706からネットワークデータを取得することをシミュレートする。例えば、ネットワークスイッチ706は、図2のCCR NS 218、NS 222などに対応することができる。図7Aにおいて、下位層618は、デジタル通信(COM)読取機能(FX)708を介して、ネットワークスイッチ706からネットワークデータ(例えば、通信プロトコルデータパケット)を取得する。図7Aにおいて、デジタルCOM読取機能708は、ネットワークスイッチ706からネットワークデータを取得し、取得したネットワークデータをバイナリデータ形式などのデジタルデータ形式に変換することをシミュレートする機械可読命令を使用して、第1のモデリング環境530によって実施される。
いくつかの例では、ネットワークスイッチ706がシミュレートされる。例えば、デジタルCOM読取機能708は、ネットワークスイッチ706に関連する以前に記録されたネットワークデータを取得することができる。例えば、デジタルCOM読取機能708は、データベースから以前に記録された及び/又はシミュレートされた通信プロトコルデータパケットを読み取ることができる。いくつかの例では、ネットワークスイッチ706はシミュレートされない。例えば、デジタルCOM読取機能708は、リアルタイムで図2のCCR NS 218のような物理的装置からネットワークデータを取得することができる。
図7Aでは、下位層618は、例示的なセンサ710からセンサデータを取得することをシミュレートする。例えば、センサ710は、図2のセンサ230に対応することができる。図7Aでは、下位層618は、センサ読取機能711を介して、センサ710からセンサデータ(例えば、アナログ信号、デジタル信号など)を取得する。図7Aでは、センサ読取機能711は、センサ710からセンサデータを取得し、取得したセンサデータをバイナリデータフォーマットなどのデジタルフォーマットに変換することをシミュレートする機械可読命令を使用して、第1のモデリング環境530によって実施される。
いくつかの例では、センサ710は、シミュレートされる。例えば、センサ読取機能711は、センサ710に関連して以前に記録されたセンサデータを取得することができる。例えば、センサ読取機能711は、データベースから以前に記録された及び/又はシミュレートされたアナログ信号、デジタル信号などを読み取ることができる。いくつかの例では、センサ710は、シミュレートされない。例えば、センサ読取機能711は、図2のセンサ230などの物理的装置からセンサデータをリアルタイムで取得することができる。
図7Aにおいて、第1のIMA LRUモデル704は、下位層618から得られたバイナリデータを上位層608によって使用される工学単位のデータに変換するシミュレーションを容易にするためのプレゼンテーション層600を含む。図7Aでは、第1のIMA LRUモデル704は、例示的DECODE機能712を介して、データをデコード又は解凍する。例えば、デコード機能712は、図6のデコード抽象概念614に対応することができる。DECODE機能712は、デジタルCOM読取機能708によって取得されたネットワークデータを解凍して、ネットワークアドレス、ネットワークパラメータ、ペイロードデータといった含まれる情報を分析することができる。
図7Aにおいて、第1のIMA LRUモデル704は、例示的なMAPOUT機能714を介して、解凍されたネットワークデータを図5の第1のIMAプロトコル定義540などのIMAプロトコル定義にマッピングする。例えば、MAPOUT機能714は、図6のMAPOUT抽象概念610に対応することができる。MAPOUT機能714は、解凍されたネットワークデータに含まれる情報を、第1のIMAプロトコル定義540に含まれる適切なデータフィールドに関連付ける、又は指示することができる。例えば、MAPOUT機能714は、関連する値を有する属性を表す1つ又は複数のパラメータを生成することができる。例えば、パラメータは、ネットワークアドレスの値、ネットワークパラメータの値、ペイロードデータに関連する値などとすることができる。
図7Aにおいて、第1のIMA LRUモデル704は、工学単位(EU)スケーリング機能716を介して、バイナリデータを工学単位のデータに変換及び/又はスケーリングする。例えば、EUスケーリング機能716は、センサ710からのアナログ信号値(例えば、電圧信号、電流信号など)に関連するバイナリデータを、例えば、圧力(例えば、0-1000ポンド/平方インチ(PSI))、速度(例えば、0-5000回転/分(RPM))、位置百分率(例えば、25%開放、75%閉鎖など)、流れ(例えば、0-25ガロン/分)などの物理パラメータの範囲に関連する工学単位まで、変換することができる。
図7Aでは、第1のIMA LRUモデル704は、主要機能718、内蔵試験(BIT)機能720、及び上位層608に関連するサポート機能722を介して、EUスケーリング機能716からの工学単位データを使用して、制御論理を実行する。図7Aでは、主要機能718は、1つ又は複数の制御論理ルーチンを含むことができる。例えば、主要機能718は、ネットワークスイッチ706から得られたデータに基づいて、航空機108のフラップ作動コマンド、スラット作動コマンドなどを実行することを含むことができる。例えば、主要機能718は、モータ、ポンプ、ソレノイド、バルブなどの、航空機システム106及び/又はより一般的には航空機108の物理的構成要素を作動させることを含むことができる。
図7Aでは、BIT機能720は、図2のRDC226に関連する実行機能に対応することができる。例えば、BIT機能720は、図2のA429 LRU 234からネットワークデータを取得すること、図2のセンサ230からセンサデータを取得すること、図2のエフェクタ232に制御信号を生成及び/又は送信することなどをシミュレートすることができる。図7Aに示すように、BIT機能720は、遠隔モニタ機能724及びモニタ機能726を含む。図7Aでは、遠隔モニタ機能724は、ネットワークスイッチ706からネットワークデータを取得し、そのネットワークデータを図2のCANバス238などのネットワークに送信することをシミュレートする。図7Aでは、モニタ機能726は、センサ710からセンサデータを取得し、そのセンサデータを図2のCANバス238、図2のNS222などのネットワークに送信することをシミュレートする。
図7Aでは、第1のIMA LRUモデル704は、EUスケーリング機能716からの工学単位データを使用して、補助制御論理機能をシミュレートするためのサポート機能722を含む。図7Aでは、サポート機能722は、動作状態管理728、ファイルシステム730、及びデータロード732を含む。図7Aでは、動作状態管理728は、取得されたネットワークデータ及び/又はセンサデータに基づいて、ネットワークスイッチ706、センサ710などのような第1のIMA LRUモデル704に関連する物理的構成要素に関するステータス情報のシミュレーションに対応する。図7Aでは、ファイルシステム730は、図2のA429、LRU234、A664、LRU224などのシミュレートされたLRUのオペレーティングシステムのシミュレーションに対応する。図7Aでは、データロード732は、シミュレートされたLRUのプロセッサ利用率、ストレージ利用率、メモリ利用率などのステータス情報のシミュレーションに対応する。
図7Aでは、第1のLSMトランスレータ534は、1つ又は複数のDECODE機能712、MAPOUT機能714、及び/又はEUスケーリング機能716を変換する。例えば、第1のLSMトランスレータ534は、各インスタンスが第1のIMAプロトコル定義540に関連するパラメータを含んで、10000を超えるDECODE機能712のインスタンスを変換することができる。例えば、第1のLSMトランスレータ534は、シミュレートされたLRUの第1の機能に対応する第1のIMAプロトコル定義540に基づいて、第1のDECODE機能712のインスタンスを第1のパラメータセットで変換することができる。そのような例では、第1のLSMトランスレータ534は、シミュレートされたLRUの第2の機能に対応する第1のIMAプロトコル定義540に基づいて、DECODE機能712の第2のインスタンスを第2のセットのパラメータに変換することができ、この場合、第1のセットのパラメータは第2のセットのパラメータとは異なる。そのような例では、モデルマネージャ100は、第1のIMAプロトコル定義540に基づいてシミュレートされたLRUの複数のシミュレート機能を生成することができる。
図7Bは、図7AのIMAモデル生成システム700の続きを示す。図7Bでは、第1のIMA LRUモデル704は、工学単位データをバイナリデータに変換するための例示的なバイナリスケーリング機能734を含む。図7Bにおいて、第1のIMA LRUモデル704は、例示的なMAPIN機能736を介して、変換されたバイナリデータを図5の第1のIMAプロトコル定義540などのIMAプロトコル定義にマッピングする。例えば、MAPIN機能736は、図6のMAPIN抽象概念612に対応することができる。MAPIN機能736は、変換されたバイナリに含まれる情報を、第1のIMAプロトコル定義540に含まれる適切なデータフィールドに関連付ける、又は指示することができる。例えば、MAPIN機能736は、変換されたバイナリデータを図3のIMAアプリケーション定義318、IMAインターフェース定義320などに関連付けることができる。
図7Bでは、第1のIMA LRUモデル704は、例示的ENCODE機能738を介して、バイナリデータを通信プロトコルデータパケットにエンコード又はカプセル化する。例えば、ENCODE機能738は、図6のENCODE抽象概念616に対応することができる。ENCODE機能738は、上位層608によって処理されたバイナリデータをデジタルデータに変換することができる。
図7Bでは、第1のIMA LRUモデル704は、デジタルCOM書き込み機能740、不揮発性メモリ書き込み機能742、及び/又はエフェクタ書き込み機能744を介して、デジタルデータを送信及び/又は記憶するための下位層618を含む。図7Bにおいて、デジタルCOM書き込み機能740は、デジタルデータが通信送信バッファに書き込まれ、そこでデジタルデータがカプセル化され、先入れ先出し(first-in-first-out:FIFO)の順序でネットワークに送信することができるネットワークデータセッションの開始をシミュレートするために、機械可読命令を使用して第1のモデリング環境530によって実施される。図7Bでは、不揮発性メモリ書き込み機能742が、デジタルデータを不揮発性メモリに書き込む。図7Bでは、エフェクタ書き込み機能744は、デジタルデータを図2のエフェクタ232のようなエフェクタを制御するために制御信号に変換することができるエフェクタバッファへのデジタルデータの書き込みをシミュレートするための機械可読命令を使用して、第1のモデリング環境530によって実施される。
図7Bでは、第1のIMA LRUモデル704は、デジタルデータを、例示的なCOMコントローラ748を介してネットワークに送信される通信プロトコルデータフォーマット(例えば、A429通信プロトコルデータフォーマット、A664通信プロトコルデータフォーマットなど)にカプセル化するための例示的なCOMプロトコル機能746を含む。例えば、COMプロトコル機能746はデジタルデータをA429データパケットにカプセル化することができ、COMコントローラ748はA429通信プロトコルを介してA429データパケットを送信することができる。
図7Bでは、NVM書き込み機能742は、デジタルデータを例示的なボードサポートパッケージ(BSP)ドライバアプリケーションプログラミングインターフェース(API)750に送信する。例えば、BSPドライバAPI750は、ハードウェア出力に対する機械可読命令を容易にするために、1つ又は複数のドライバ又はミドルウェアを実装することができる。BSPドライバAPI750がデジタルデータを処理するのに応じて、第1のIMA LRUモデル704は、処理されたデジタルデータをNVMフラッシュメモリ752に格納する。
図7Bにおいて、エフェクタ書き込み機能744は、デジタルデータをBSPドライバAPI750に送信して、デジタルデータを制御信号に変換し、図2のエフェクタ232などのエフェクタを制御する。制御信号の生成に応じて、第1のIMA LRUモデル704は、生成された制御信号をNVMフラッシュメモリ752に格納する。
図7Bでは、第1のLSMトランスレータ534は、1つ又は複数のバイナリスケーリング機能734、MAPIN機能736、ENCODE機能738、デジタルCOM書き込み機能740、NVM書き込み機能742、及び/又はエフェクタ書き込み機能744を変換する。例えば、第1のLSMトランスレータ534は、各インスタンスが第1のIMAプロトコル定義540に関連するパラメータを含んで、10000を超えるENCODE機能738のインスタンスを変換することができる。例えば、第1のLSMトランスレータ534は、シミュレートされたLRUの第1の機能に対応する第1のIMAプロトコル定義540に基づいて、DECODE機能738の第1のインスタンスを第1のセットのパラメータで変換することができる。そのような例では、第1のLSMトランスレータ534は、シミュレートされたLRUの第2の機能に対応する第1のIMAプロトコル定義540に基づいて、ENCODE機能738の第2のインスタンスを第2のセットのパラメータに変換することができ、この場合、第1のセットのパラメータは第2のセットのパラメータとは異なる。そのような例では、モデルマネージャ100は、第1のIMAプロトコル定義540に基づいてシミュレートされたLRUの複数のシミュレート機能を生成することができる。
図7Cは、図5の第1のモデリング環境530に関連するライブラリ550を生成するモデルマネージャ100を示す。図7Cに図示される例では、モデルマネージャ100は、展開されるべきモデリング環境を選択及び/又は別の方法で決定する。図7Cでは、モデルマネージャ100は、例示的なIMAシステムモデル754を生成するために、図5の第1のモデリング環境530を選択する。例えば、IMAシステムモデル754は、図7A及び図7Bの第1のIMA LRUモデル704を含む複数のIMA LRUモデル702を含むことができる。
図7の図示された例では、第1のモデリング環境530は、IMAバス要素758を含む例示的IMAバス構造756を含む。IMAバス構造756は、シミュレートされた通信バスのアーキテクチャ特性を指定するバスオブジェクトであり、これはシミュレートされた通信バスが促進する信号の値とは異なる。例えば、IMAバス構造756は、バス内の要素の量、要素の順序、要素がネストされているかどうか及び要素がどのようにネストされているか、対応する信号のデータ種類などを指定することができる。例えば、モデルマネージャ100は、ARINC429、ARINC664などの航空機通信プロトコルの構成、シンタックス、又は構造をシミュレートするために、IMAバス構造756を作成することができる。例えば、IMAバス構造756は、ARINC664の構造に対応することができ、ここでIMAバス要素758はARINC664バス信号の定義又は特性(例えば、ARINC664バス信号の値、測定単位など)に対応する。
図7Cでは、第1のモデリング環境530は、例示的ICDバス要素762を含むICDバス構造760を含む。ICDバス構造760は、図5の第1のICDソース508などのデータソースドメイン502に格納されている特性に基づいて、シミュレートされた通信バスのアーキテクチャ特性を指定するバスオブジェクトである。図7Cでは、ICDバス構造760は、データソースドメイン502に含まれる情報を第1のモデリング環境530に含まれる情報にマッピングするためのICDバス要素762を含む。例えば、モデルマネージャ100は、ICDバス要素762に含まれるデータを使用して、IMAバス要素758に含まれるデータを事前設定することができる。例えば、モデルマネージャ100は、ICDバス要素762に含まれる第1のICDバス要素766に含まれるデータを使用して、IMAバス要素758に含まれる第1のIMAバス要素764を事前設定することができる。
動作中、モデルマネージャ100は、LNM518に含まれる情報をインポートすることによって、IMAシステムモデル754を生成する。図7Cでは、モデルマネージャ100は、第1のモデリング環境530がIMAシステムモデル754を生成するために使用されるべきであると決定する。例えば、モデルマネージャ100は、図5の第1のICDソース508などのデータソースを選択して、IMAシステムモデル754を生成するために使用される情報を検索することができる。モデルマネージャ100は、(1)第1のICDソース508から検索された第1のICDプロトコル定義514に基づく第1のLNMプロトコル定義526を(2)第1のIMAプロトコル定義540に変換及び/又は別の方法で転換するために、第1の命令768を実行する。
図7Cでは、モデルマネージャ100は、第2の命令770を実行して、IMAバス構造756及びICDバス構造760を生成する。例えば、モデルマネージャ100は、第1のモデリング環境530に、第1のモデリング環境530内で第2の命令770を実行するよう指示することができる。IMAバス構造756及びICDバス構造760の生成に応じて、モデルマネージャ100は、第3の命令772を実行し、第1のモデリング環境530を初期化又は開始する。例えば、モデルマネージャ100は、第1のモデリング環境530に、第1のモデリング環境530内で第3の命令772を実行するよう指示することができる。
図7Cに示す例では、第1のモデリング環境530の初期化に応じて、モデルマネージャ100は、LNM518に含まれる第1のLNMプロトコル定義526に基づいて、図5のライブラリ550を生成するために第4の命令774を実行する。図7Cでは、ライブラリ550は、例示的IMA MAPINモデルライブラリ(ML)775、例示的IMA ENCODEモデルライブラリ776、例示的IMA DECODEモデルライブラリ777、及び例示的IMA MAPOUTモデルライブラリ778を含む。ライブラリ550の各々は、複数のIMAモデル、IMAモデルオブジェクト、IMA定義などを含むことができる。
図7Cでは、第4の命令774は、第1のLNMプロトコル定義526を第1のIMAプロトコル定義540に変換する。例えば、モデルマネージャ100は、第1のモデリング環境530に、適用可能であれば、モデルライブラリ550内の第1のモデリング環境530に含まれる、IMAモデル、IMAモデルオブジェクト(例えば、IMAアプリケーションモデルオブジェクト314、IMAインターフェースモデルオブジェクト316など)、IMA定義(例えば、IMAアプリケーション定義318、IMAインターフェース定義320など)などを、第1のモデリング環境530内にインポートするよう指示することができる。
図7Cでは、第4の命令774は、例示的IMA MAPINモデルオブジェクト781、例示的IMA ENCODEモデルオブジェクト782、例示的DECODEモデルオブジェクト783、及び例示的MAPOUTモデルオブジェクト784を含むIMAモデルオブジェクト780を生成する。いくつかの例では、第4の命令774は、ユーザ入力に応じて実行される。例えば、ユーザ入力に応じて、第4の命令774は、IMAモデルオブジェクト780のうちの1つ又は複数を生成することができる。
図7Cでは、IMAモデルオブジェクト780は、図6のプレゼンテーション層600に対応する。例えば、IMA MAPINモデルオブジェクト781は、図6のMAPIN抽象概念612に対応することができる。図7において、各IMAモデルオブジェクト780は、対応するパラメータ情報を含む。例えば、IMA MAPINモデルオブジェクト781は、対応するパラメータ定義(例えば、図3のパラメータ定義311a、311b)を有する1つ又は複数のパラメータ識別子を含むことができる。
図7Cに示す例では、モデルマネージャ100は、第1のIMA LRUモデル704を含む複数のIMA LRUモデル702のうちの1つ又は複数をインポートすることによって、IMAシステムモデル754を生成する。図7Cでは、モデルマネージャ100は、第1のライブラリリンク786を介して、ライブラリ550からモデルオブジェクトをインポートすることによって、複数のIMA LRUモデル702のそれぞれ各々を生成する。例えば、モデルマネージャ100は、第1のモデリング環境530に、第1のライブラリリンク786を介して、ライブラリ550から、第1のIMA LRUモデル704を、下位層618、プレゼンテーション層600、及び上位層608に関連した対応するIMAモデルオブジェクトと共にインポートするよう指示することができる。図7Cでは、モデルマネージャ100は、下位層618、プレゼンテーション層600、及び上位層608が対応する第1のIMAプロトコル定義540を含む複数のIMA LRUモデル702をインポートする。図7Cでは、ライブラリ550は、第2のライブラリリンク788を介して、IMAモデルオブジェクト780から情報をインポートすることに基づいて生成される。
図7Cの図示された例では、モデルマネージャ100は、IMAシステムモデル754に含まれる1つ又は複数の特性と、IMAバス要素758、ICDバス要素762などに含まれる1つ又は複数の特性との比較に基づいて、IMAシステムモデル754を検証する。例えば、IMAシステムモデル754は、航空機システム106及び/又はより一般的には図1の航空機108のシミュレーションに対応することができる。第1のIMA LRUモデル704の下位層618、プレゼンテーション層600、及び上位層608は、IMAバス構造756と一緒に結合される。図7Cでは、モデルマネージャ100は、第1のIMA LRUモデル704の下位層618、プレゼンテーション層600、及び上位層608を結合するIMAバス構造756が、ICDバス構造760によって指定された特性を含むかどうかを検証する。
例えば、モデルマネージャ100は、下位層618に含まれるパラメータのうちの1つの特性をICDバス要素762に含まれる特性と比較することができる。比較に基づいて、IMAバス構造756がICDバス要素766によって指定された1つ又は複数の特性を有しないと判定したことに応じて、第1のモデリング環境530は、IMAシステムモデル754の動作を停止し、エラーメッセージ、警告などを生成する。図4のモデルマネージャ100を実装するための例示的なハードウェア論理又は機械可読命令を表すフローチャートが、図8から図11に示される。機械可読命令は、図12に関連して以下で説明される例示的なプロセッサプラットフォーム1200に示されるプロセッサ1212などのプロセッサによる実行のためのプログラム又はプログラムの一部とすることができる。
プログラムは、CD-ROM、フロッピーディスク、ハードドライブ、DVD、ブルーレイディスク、又はプロセッサ1212に関連するメモリなどの非一過性のコンピュータ可読記憶媒体に記憶されたソフトウェアで実施することができるが、代替的には、プログラム全体及び/又はその一部を、プロセッサ1212以外の装置によって実行すること、及び/又はファームウェア若しくは専用ハードウェアで実施することも可能であろう。更に、例示的なプログラムが図8から図11に示すフローチャートを参照して説明されているが、代替的には、モデルマネージャ100を実装する他の多くの方法を使用することができる。例えば、ブロックの実行順序は、変更することができ、及び/又は説明したブロックのいくつかは、変更、削除、又は組み合わせることができる。追加的に又は代替的には、ブロックのいずれか又はすべては、ソフトウェアやファームウェアを実行せずに対応する操作を実行するように構成された1つ又は複数のハードウェア回路(例えば、個別及び/又は集積アナログ及び/又はデジタル回路、FPGA、ASIC、比較器、演算増幅器(オペアンプ)、論理回路など)によって実装することができる。
上述のように、図8から図11のプロセスは、情報が任意の期間(例えば、長期間、恒久的に、短時間、一時的にバッファリングする間、及び/又は情報をキャッシュする間)に格納される、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、及び/又は他の任意の記憶デバイス若しくは記憶ディスクといった、非一過性のコンピュータ及び/又は機械可読媒体に格納された実行可能命令(例えば、コンピュータ及び/又は機械可読命令)を使用して、実装することができる。本明細書で使用されるとき、非一過性のコンピュータ可読媒体という用語は、任意の種類のコンピュータ可読記憶デバイス及び/又は記憶ディスクを含み、伝搬信号を除外し、伝送媒体を除外するように明確に定義される。
「含む(including)」及び「備える(comprising)」(及びそれらのすべての形及び時制)は、本明細書では、オープンエンドの用語(open ended term)であるように使用される。したがって、請求項が前文として又は任意の種類の請求項の列挙内で任意の形態の「含む(include)」又は「備える(comprise)」(例えば、備える(comprises)、含む(includes)、備えている(comprising)、含んでいる(including)、有している(having)など)を用いるときはいつでも、追加の要素、用語などが、対応する請求項又は列挙の範囲を逸脱することなく存在しうると理解されたい。本明細書で使用されるように、「少なくとも(at least)」というフレーズが、例えば、請求項の前文において移行用語として使用されるとき、それは「備えている(comprising)」及び「含んでいる(including)」という用語がオープンエンドであるのと同じく、オープンエンドである。「及び/又は」という用語は、例えば、A、B、及び/又はCなどの形式で使用される場合、(1)A単独、(2)B単独、(3)C単独、(4)AとB、(5)AとC、及び(6)BとCといった、A、B、Cの任意の組み合わせ又はサブセットを指す。
図8は、図1の航空機108のIMAシステムモデルを生成するために、図1及び図3から図7Cのモデルマネージャ100によって実行することができる例示的な方法800を表すフローチャートである。方法800は、ブロック802で開始し、ここでモデルマネージャ100が、モデリング環境を選択する。例えば、モデリング環境セレクタ410は、図7CのIMAシステムモデル754を生成するために、図5の第1のモデリング環境530の使用を決定することができる。
ブロック804で、モデルマネージャ100は、処理するデータソースを選択する。例えば、データソースセレクタ420は、処理するために、図5の第1のICDソース508の使用を決定することができる。ブロック806で、モデルマネージャ100は定義をモデリング環境にインポートする。例えば、インターフェースインポータ430は、言語中立ドメイン506を介して、データソースドメイン502から言語固有ドメイン504に情報をインポートすることができる。ブロック806を実装するために使用することができる例示的なプロセスが、図9に関連して以下に説明される。
ブロック808で、モデルマネージャ100は、モデルオブジェクトをモデリング環境にインポートする。例えば、モデルオブジェクトハンドラ450は、図7A及び図7Bの下位層618、プレゼンテーション層600、上位層608などに関連する機能を、第1のモデリング環境530にインポートして、第1のIMA LRUモデル704を生成することができる。例えば、モデルオブジェクトハンドラ450は、デジタルCOM読取機能708、センサ読取機能711などを、図7Aの下位層618にインポートすることができる。
別の例では、モデルオブジェクトハンドラ450は、DECODE機能712、MAPOUT機能714などを、図7Aのプレゼンテーション層600にインポートすることができる。
ブロック810で、モデルマネージャ100は、モデルオブジェクトを構成する。例えば、モデルオブジェクトハンドラ450は、第1のIMAプロトコル定義540、第2のIMAプロトコル定義544などに含まれる1つ又は複数の定義を構成することができる。ブロック810を実装するために使用することができる例示的なプロセスが、図10に関連して以下に説明される。
ブロック812で、モデルマネージャ100は、別のIMAモデルを生成するかどうかを判定する。例えば、モデルオブジェクトハンドラ450は、複数のIMA LRUモデル702に含まれる第2のIMA LRUモデル、複数のIMA LRUモデル702に含まれる第3のIMA LRUモデルなどの生成を決定することができる。
ブロック812で、モデルマネージャ100が別のIMAモデルを生成することを決定した場合、制御は、ブロック808に戻り、モデルオブジェクトをモデリング環境にインポートして、別のIMAモデルを生成する。ブロック812で、モデルマネージャ100が別のIMAモデルを生成しないと決定した場合、ブロック814で、モデルマネージャ100は、IMAシステムモデルを生成する。例えば、モデルオブジェクトハンドラ450は、複数のIMA LRUモデル702を生成することによって、図7CのIMAシステムモデル754を生成することができる。
ブロック816で、モデルマネージャ100は、IMAシステムモデルを検証する。例えば、インターフェースバリデータ480は、IMAシステムモデル754を実行し、IMAシステムモデル754の出力を検証出力(例えば、検証閾値、検証規則など)と比較して、出力マッチングに基づいて、及び/又はそうでなければ検証出力を満たすことに基づいて、IMAシステムモデル754を検証することができる。別の例では、インターフェースバリデータ480は、IMAシステムモデル754に含まれる1つ又は複数の特性をIMAバス要素758、ICDバス要素762などに含まれる1つ又は複数の特性と比較し、その比較に基づいてIMAシステムモデル754を検証することによって、IMAシステムモデル754を検証することができる。例えば、IMAシステムモデル754に含まれる1つ又は複数の特性は、第1のIMAプロトコル定義540のうちの1つの特性に対応することができる。
ブロック818で、モデルマネージャ100は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ480は、IMAシステムモデル754に含まれる1つ又は複数の特性と、IMAバス要素758、ICDバス要素762などに含まれる1つ又は複数の特性との比較に基づいて、IMAシステムモデル754が1つ又は複数のIMA定義規則に準拠していないと決定することができる。
ブロック818で、検証が成功しなかったとモデルマネージャ100が判定した場合、制御はブロック810に戻り、モデルオブジェクトを再構成する。ブロック818で、検証が成功したとモデルマネージャ100が判定した場合、ブロック820で、モデルマネージャ100は出力を生成する。例えば、インターフェースエクスポータ440は、航空機システム106及び/又はより一般的には図1の航空機108に対して実行するための、IMAシステムモデル754に関連する機械可読命令を生成し展開することができる。例えば、航空機108は、IMAシステムモデル754に基づいて、機械可読命令を実行することによって動作することができる。別の例では、インターフェースエクスポータ440は、IMAシステムモデル754に基づいて、航空機システム106及び/又はより一般的には図1の航空機108の製作を開始するためのサプライチェーン及び/又は製造ビルド命令を生成し展開することができる。ブロック820を実装するために使用することができる例示的なプロセスが、図11に関連して以下に説明される。出力を生成することに応じて、図8の方法800が終了する。
図9は、定義をモデリング環境にインポートするために、図1及び図3から図7Cのモデルマネージャ100によって実行することができる例示的な方法900を表すフローチャートである。図9のプロセスは、図8のブロック806の動作を実施するために使用することができる。方法900は、ブロック902で始まり、そこでモデルマネージャ100は、インポートするICD定義を選択する。例えば、データソースセレクタ420は、インポートする第1のICDソース508の第1のICDプロトコル定義514を選択することができる。
ブロック904で、モデルマネージャ100は、ICD定義をLNM定義に変換する。例えば、ICDトランスレータ460は、第1のICDプロトコル定義514を、図5のLNM518に含まれる第1のLNMプロトコル定義526に変換するために、第1のICDトランスレータ520を実装することができる。ブロック906で、モデルマネージャ100は、LNM定義を検証する。例えば、インターフェースバリデータ480は、第1のLNMプロトコル定義526を1つ又は複数のLNM定義規則と比較し、その比較に基づいて、第1のLNMプロトコル定義526を検証することができる。
ブロック908で、モデルマネージャ100は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ480は、第1のLNMプロトコル定義526が、1つ又は複数のLNM定義規則に準拠し、かつ/又はそうでなければそれを満たす第1のLNMプロトコル定義526に基づいて検証されると決定することができる。
ブロック908で、モデルマネージャ100は検証が成功しないと判定した場合、制御は、ブロック916に進み、警告が生成される。ブロック908で、検証が成功したとモデルマネージャ100が判定した場合、ブロック910で、モデルマネージャ100は、LNM定義をIMA定義に変換する。例えば、LSMトランスレータ470は、第1のLNMプロトコル定義526を第1のIMAプロトコル定義540に変換するために、第1のLSMトランスレータ534を実装することができる。
ブロック912で、モデルマネージャ100は、IMA定義を検証する。例えば、インターフェースバリデータ480は、第1のIMAプロトコル定義540を、1つ又は複数のIMA定義規則と比較し、その比較に基づいて、第1のIMAプロトコル定義540を検証することができる。
ブロック914で、モデルマネージャ100は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ480は、第1のIMAプロトコル定義540が、1つ又は複数のIMA定義規則に準拠し、かつ/又はそうでなければそれを満たす第1のIMAプロトコル定義540に基づいて検証されると決定させることができる。
ブロック914で、モデルマネージャ100は検証が成功しないと判定した場合、制御は、ブロック916に進み、警告が生成される。例えば、インターフェースバリデータ480は、アラートを生成し、そのアラートをユーザインターフェースに表示して、検証が成功しないことをユーザに通知することができる。アラートの生成に応じて、図9の方法900は、図8の例のブロック808に戻り、モデルオブジェクトをモデリング環境にインポートして、IMAモデルを生成する。
ブロック914で、モデルマネージャ100が検証が成功したと判定した場合、制御はブロック918に進み、モデリング環境モデルライブラリを生成する。例えば、インターフェースインポータ430は、第1のIMAプロトコル定義540の生成に応じて、図5のライブラリ550を生成することができる。
ブロック920で、モデルマネージャ100は、モデルオブジェクトを生成する。例えば、インターフェースインポータ430は、ライブラリ550の生成に応じて、図7CのIMAモデルオブジェクト780を生成することができる。モデルオブジェクトの生成に応じて、図9の方法900は、図8の例のブロック808に戻り、モデルオブジェクトをモデリング環境にインポートしてIMAモデルを生成する。
図10は、モデルオブジェクトを構成するために、図1及び図3から図7Cのモデルマネージャ100によって実行することができる例示的な方法1000を表すフローチャートである。図10のプロセスは、図8のブロック810の動作を実施するために使用することができる。方法1000は、ブロック1002で開始し、ここでモデルマネージャ100は処理するモデルオブジェクトを選択する。例えば、モデルオブジェクトハンドラ450は、処理する図7AのDECODE機能712を選択することができる。
ブロック1004で、モデルマネージャ100は、処理する定義を選択する。例えば、モデルオブジェクトハンドラ450は、図3のIMAインターフェース定義320に含まれる「TX_COM_PORT 10121」IMAインターフェース定義など、処理する第1のIMAプロトコル定義540のうちの第1のものを選択することができる。
ブロック1006で、モデルマネージャ100は、定義を処理する。例えば、モデルオブジェクトハンドラ450は、第1のIMAプロトコル定義540のうちの1つを追加、削除、又は修正することができる。例えば、モデルオブジェクトハンドラ450は、図3のIMAインターフェース定義320に含まれる「TX_COM_PORT 10121」IMAインターフェース定義に関連する情報を修正することができる。
ブロック1008で、モデルマネージャ100は、処理する他の定義を選択するかどうかを判定する。例えば、モデルオブジェクトハンドラ450は、処理する第1のIMAプロトコル定義540のうちの第2のものを選択することを決定することができる。
ブロック1008で、モデルマネージャ100が処理する別の定義を選択すると決定した場合、制御は、ブロック1004に戻り、処理する別の定義を選択する。ブロック1008で、モデルマネージャ100が処理する別の定義を選択しないと決定した場合、ブロック1010で、モデルマネージャ100は、IMA定義規則を使用してモデルオブジェクトを検証する。例えば、インターフェースバリデータ480は、1つ又は複数の第1のIMAプロトコル定義540を1つ又は複数のIMA定義規則と比較することができる。
ブロック1012で、モデルマネージャ100は、検証が成功したかどうかを判定する。例えば、インターフェースバリデータ480は、1つ又は複数の第1のIMAプロトコル定義540が、1つ又は複数のIMA定義規則に準拠していること、及び/又はそうでなければそれを満たすことを決定することができる。
ブロック1012で、モデルマネージャ100が検証が成功しないと判定した場合、制御は、ブロック1004に戻り、処理する定義を選択する。例えば、モデルオブジェクトハンドラ450は、検証に失敗した定義を選択することができる。ブロック1012で、モデルマネージャ100が検証が成功したと判定した場合、ブロック1014で、モデルマネージャ100は、IMAバス要素を生成する。例えば、モデルマネージャ100は、第1のIMAバス要素764を生成し、第1のIMAバス要素764をDECODE機能712に関連付けることができる。
ブロック1016で、モデルマネージャ100は、処理する別のモデルオブジェクトを選択する。例えば、モデルオブジェクトハンドラ450は、処理するための図7AのMAPOUT機能714を選択することを決定することができる。ブロック1016で、モデルマネージャ100が処理する他のモデルオブジェクトを選択すると決定した場合、制御はブロック1002に戻り、処理する他のモデルオブジェクトを選択する。ブロック1016で、モデルマネージャ100が処理する別のモデルオブジェクトを選択しないと決定した場合、図10の方法1000は、図8の例のブロック812に戻って、別のIMAモデルを生成するかどうかを決定する。
図11は、出力を生成するために図1及び図3から図7Cのモデルマネージャ100によって実行することができる例示的な方法1100を表すフローチャートである。図11のプロセスは、図8のブロック820の動作を実施するために使用することができる。方法1100はブロック1102で始まり、そこでモデルマネージャ100は、変換規則を用いて、言語中立モデル(LNM)定義を生成する。例えば、インターフェースエクスポータ440は、図7CのIMAシステムモデル754に含まれる第1のIMAプロトコル定義540に基づいて、図5のLNM518にエクスポートされる図5の第1のLNMプロトコル定義526を生成することができる。
ブロック1104で、モデルマネージャ100は、機械可読命令を生成する。例えば、インターフェースエクスポータ440は、図7CのIMAシステムモデル754に含まれる複数のIMA LRUモデル702の実行に対応するコンピュータ実行可能コードを生成することができる。
ブロック1106で、モデルマネージャ100は、サプライチェーンビルド命令を生成する。例えば、インターフェースエクスポータ440は、図7CのIMAシステムモデル754に関連する航空機システム(例えば、図1の航空機システム106)を構築するために、構成要素の注文、労働力の割り当てなどを開始するために、サプライチェーンコンピューティングシステムによって実行される命令を含むように、図1の出力124を生成することができる。
ブロック1108で、モデルマネージャ100は、製造ビルド命令を生成する。例えば、インターフェースエクスポータ440は、図7CのIMAシステムモデル754に関連する航空機システム(例えば、図1の航空機システム106)を構築するために、構成要素の注文、労働力の割り当てなどを開始するために、製造コンピューティングシステムによって実行される命令を含むように、図1の出力124を生成することができる。
ブロック1110で、モデルマネージャ100は、LNM定義をLNMにエクスポートする。例えば、インターフェースエクスポータ440は、第1のLNMプロトコル定義526をLNM518にエクスポートすることができ、これは他のIMAモデル、他のIMAシステムモデルなどによって使用することができる。そのような例では、インターフェースエクスポータ440は、第1のICDトランスレータ520を介して、第1のLNMプロトコル定義526を第1のICDプロトコル定義514に変換するよう指示することができる。
ブロック1112で、モデルマネージャ100は、機械可読命令を移動体及び/又は車両シミュレータに展開する。例えば、インターフェースエクスポータ440は、図1の航空機システム106及び/又は航空機108に機械可読命令を展開して、航空機システム106及び/又は航空機108によって実行することができる。
ブロック1114で、モデルマネージャ100は、IMAシステムモデルに関連する車両移動体の製造を開始する。例えば、インターフェースエクスポータ440は、IMAシステムモデル754に関連した航空機システム106、航空機108などの生産を開始することができる。IMAシステムモデルに関連する移動体の製作を開始することに応じて、方法1100は、終了するために図8の例に戻る。
図12は、図1及び図3から図7Cのモデルマネージャ100を実装するために、図8から図11の命令を実行するように構成されたプロセッサプラットフォーム1200のブロック図である。プロセッサプラットフォーム1200は、例えば、サーバ、パーソナルコンピュータ、ワークステーション、自己学習機械(例えば、中立ネットワーク)、又は他の任意の種類のコンピューティングデバイスとすることができる。図示される例のプロセッサプラットフォーム1200は、プロセッサ1212を含む。図示された例のプロセッサ1212は、ハードウェアである。例えば、プロセッサ1212は、1つ又は複数の集積回路、論理回路、マイクロプロセッサ、GPU、DSP、又は任意の所望のファミリー又は製造業者からのコントローラによって実装することができる。ハードウェアプロセッサは、半導体ベース(例えば、シリコンベース)のデバイスとすることができる。この例では、プロセッサ1212は、モデリング環境セレクタ410、データソースセレクタ420、インターフェースインポータ430、インターフェースエクスポータ440、モデルオブジェクトハンドラ450、ICDトランスレータ460、LSMトランスレータ470、インターフェースバリデータ480、及び図4のレポートジェネレータ490を実施する。
図示された例のプロセッサ1212は、ローカルメモリ1213(例えば、キャッシュ)を含む。図示された例のプロセッサ1212は、バス1218を介して、揮発性メモリ1214及び不揮発性メモリ1216を含むメインメモリと通信している。揮発性メモリ1214は、同期型ダイナミックランダムアクセスメモリ(SDRAM)、ダイナミックランダムアクセスメモリ(DRAM)、RAMBUS(登録商標)ダイナミックランダムアクセスメモリ(RDRAM(登録商標))、及び/又は他の任意のタイプのランダムアクセスメモリデバイスによって実装することができる。不揮発性メモリ1216は、フラッシュメモリ及び/又は任意の他の所望の種類のメモリデバイスによって実装することができる。メインメモリ1214、1216へのアクセスは、メモリコントローラによって制御される。
図示の例のプロセッサプラットフォーム1200はまた、インターフェース回路1220を含む。インターフェース回路1220は、イーサネットインターフェース、ユニバーサルシリアルバス(USB)、ブルートゥース(登録商標)インターフェース、近距離無線通信(NFC)インターフェース、及び/又はPCIエクスプレスインターフェースなどの任意の種類のインターフェース規格によって実装することができる。
図示された例では、1つ又は複数の入力デバイス1222が、インターフェース回路1220に接続される。入力デバイス1222により、ユーザは、データ及び/又はコマンドをプロセッサ1212に入力することができる。入力デバイスは、例えば、音声センサ、マイクロフォン、カメラ(静止画又はビデオ)、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイントデバイス、及び/又は音声認識システムなどによって実現することができる。
1つ又は複数の出力デバイス1224もまた、図示された例のインターフェース回路1220に接続される。出力デバイス1224は、例えば、ディスプレイデバイス(例えば、発光ダイオード(LED)、有機発光ダイオード(OLED)、液晶ディスプレイ(LCD)、陰極線管ディスプレイ(CRT)、インプレーススイッチング(IPS)ディスプレイ、タッチスクリーンなど)、触覚出力デバイス、プリンタ、及び/又はスピーカによって、実装することができる。したがって、図示された例のインターフェース回路1220は、通常、グラフィックドライバカード、グラフィックドライバチップ、及び/又はグラフィックドライバプロセッサを含む。
図示された例のインターフェース回路1220はまた、送信機、受信機、トランシーバ、モデム、住宅用ゲートウェイ、無線アクセスポイント、及び/又は外部機器とのデータ交換を容易にするためのネットワークインターフェースといった、ネットワーク1226を介して外部のマシン(例えば、あらゆる種類のコンピューティングデバイス)との通信デバイスを含む。通信は、例えば、イーサネット接続、デジタル加入者線(DSL)接続、電話線接続、同軸ケーブルシステム、衛星システム、サイト内無線システム、セルラ電話システムなどを介することができる。
図示された例のプロセッサプラットフォーム1200は、ソフトウェア及び/又はデータを格納するための1つ又は複数の大容量記憶デバイス1228も含む。そのような大容量記憶デバイス1228の例は、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、独立ディスク冗長アレイ(RAID)システム、及びデジタル多用途ディスク(DVD)ドライブを含む。
図8から図11の機械実行可能命令1232は、大容量記憶デバイス1228、揮発性メモリ1214、不揮発性メモリ1216、及び/又は取り外し可能な非一過性のコンピュータ可読記憶媒体、例えばCD又はDVDなどに記憶することができる。
以上から、統合モジュール式アーキテクチャモデルを生成する例示的なシステム、方法、装置、及び製造品が開示されたと理解されよう。本明細書に記載のモデルマネージャ装置は、コンピュータモデリング環境においてIMAモデルを生成するために使用される航空機構成要素及びシステムの抽象概念を生成する。本明細書に記載のモデルマネージャ装置は、IMAモデル間の抽象概念の再利用を容易にするために、定義をインターフェース制御データソースに格納する。本明細書に記載のモデルマネージャ装置は、言語中立モデルを介して、インターフェース制御データソースに含まれる情報を、コンピュータモデリング環境に変換する。
本明細書に記載される例は、モデルマネージャ装置が以前に定義された又は生成されたIMAモデルを新しいIMAモデルにインポートすることができるために、IMAモデルを生成する時間を以前の例と比較して短縮する。本明細書に記載の例は、移動体のIMAモデルを生成するために必要とされる固有のIMAモデルの数が減少するため、航空機などの移動体に対応するIMAモデルを生成するために必要な記憶容量を減少させる。本明細書に記載の例は、言語中立モデルデータベースを使用して、データベース効率を改善し、異種のデータソース間の情報のマッピングを容易にするために、異なるデータベースを必要とする前の例と比較して、異種のデータフォーマットの情報記憶システム間でのデータの変換を容易にする。
更に、本開示は、以下の条項による実施形態を含む。
条項1は、第1の統合モジュール式アーキテクチャ(IMA)プロトコル定義を第1のコンピュータモデリング環境にインポートし、第1のIMAプロトコル定義に基づいて複数のライブラリを生成し、複数のライブラリに基づいて複数のIMAモデルオブジェクトを生成するためのインターフェースインポータと、複数のIMAモデルオブジェクトのうちの一部を第1のコンピュータモデリング環境にインポートし、航空機の航空機システムに対応する第1のIMAモデルを生成し、第1のIMAモデルを含む複数のIMAモデルを生成することによって、航空機に対応するIMAシステムモデルを生成するためのモデルオブジェクトハンドラと、IMAシステムモデルの出力を検証出力と比較することによって、IMAシステムモデルを検証するためのインターフェースバリデータと、IMAシステムモデルが検証されるときに航空機システムの製造ビルド命令を生成するためのインターフェースエクスポータと、製造ビルド命令に基づいて航空機システムの製作を開始するためのレポートジェネレータとを備える装置(100)を含む。
条項2は、第1のIMAプロトコル定義が、航空機システムに関連するインターフェース情報、要件情報、又は仕様情報のうちの少なくとも1つを含む、条項1に記載の装置を含む。
条項3は、インターフェースインポータが、インターフェース制御データベース(ICD)トランスレータに、第1のICDトランスレータを使用して、第1のICDソースに含まれる第1のICDプロトコル定義を、LNMに含まれる第1の言語中立モデル(LNM)プロトコル定義に変換するように命令することと、言語固有モデル(LSM)トランスレータに、第1のLSMトランスレータを使用して、第1のLNMプロトコル定義を第1のモデリング環境に含まれる第1のIMAプロトコル定義に変換するように命令することとによって、第1のIMAプロトコル定義をインポートする、条項1に記載の装置を含む。
条項4は、第1のIMAモデルが、下位層、プレゼンテーション層、及び上位層を含み、下位層が、デジタル通信読取機能又はセンサ読取機能の少なくとも1つを含む、条項1に記載の装置を含む。
条項5は、インターフェースバリデータが、デジタル通信読取機能を介してネットワークスイッチからリアルタイムでネットワークデータを取得すること、又はセンサ読取機能を介してセンサからリアルタイムでセンサデータを取得することのうちの少なくとも1つによって、IMAシステムモデルを検証する、条項4に記載の装置を含む。
条項6は、インターフェースエクスポータが、IMAシステムモデルに基づいて機械可読命令を生成し、機械可読命令を航空機システム又は航空機のうちの少なくとも1つに展開し、機械可読命令に基づいて航空機システム又は航空機のうちの少なくとも1つの動作を引き起こす、条項1に記載の装置を含む。
条項7は、第1の統合モジュール式アーキテクチャ(IMA)プロトコル定義を第1のコンピュータモデリング環境にインポートし、第1のIMAプロトコル定義に基づいて複数のライブラリを生成することと、複数のライブラリに基づいて複数のIMAモデルオブジェクトを生成することと、複数のIMAモデルオブジェクトのうちの一部を第1のコンピュータモデリング環境にインポートし、航空機の航空機システムに対応する第1のIMAモデルを生成することと、第1のIMAモデルを含む複数のIMAモデルを生成することによって、航空機に対応するIMAシステムモデルを生成することと、IMAシステムモデルの出力を検証出力と比較することによって、IMAシステムモデルを検証することと、比較に基づいてIMAシステムモデルを検証することに応じて、航空機システムの製造ビルド命令を生成することと、製造ビルド命令に基づいて航空機システムの製作を開始することとを含む方法を含む。
条項8は、第1のIMAプロトコル定義が、航空機システムに関連するインターフェース情報、要件情報、又は仕様情報のうちの少なくとも1つを含む、条項7に記載の方法を含む。
条項9は、第1のIMAプロトコル定義をインポートすることが、第1のICDトランスレータを用いて、第1のICDソースに含まれる第1のインターフェース制御データベース(ICD)プロトコル定義を、LNMに含まれる第1の言語中立モデル(LNM)プロトコル定義に変換することと、第1の言語固有モデル(LSM)トランスレータを用いて、第1のLNMプロトコル定義を、第1のモデリング環境に含まれる第1のIMAプロトコル定義に変換することとを含む、条項7に記載の方法を含む。
条項10は、第1のLNMプロトコル定義のうちの一部を少なくとも1つのLNM定義規則と比較し、その比較に基づいて第1のLNMプロトコル定義を検証することと、第1のIMAプロトコル定義のうちの一部を少なくとも1つのIMA定義規則と比較し、その比較に基づいて第1のIMAプロトコル定義を検証することとを更に含む、条項9に記載の方法を含む。
条項11は、第1のIMAモデルが、下位層、プレゼンテーション層、及び上位層を含み、下位層が、デジタル通信読取機能又はセンサ読取機能の少なくとも1つを含む、条項7に記載の方法を含む。
条項12は、IMAシステムモデルを検証することが、デジタル通信読取機能を介してネットワークスイッチからリアルタイムでネットワークデータを取得すること、又はセンサ読取機能を介してセンサからリアルタイムでセンサデータを取得することのうちの少なくとも1つを含む、条項11に記載の方法を含む。
条項13は、IMAシステムモデルに基づいて機械可読命令を生成することと、機械可読命令を航空機システム又は航空機のうちの少なくとも1つに展開することと、機械可読命令に基づいて航空機システム又は航空機のうちの少なくとも1つの動作を引き起こすこととを更に含む、条項7に記載の方法を含む。
条項14は、実行されるときに、機械に、第1の統合モジュール式アーキテクチャ(IMA)プロトコル定義を第1のコンピュータモデリング環境に少なくともインポートさせ、第1のIMAプロトコル定義に基づいて複数のライブラリを生成させ、複数のライブラリに基づいて複数のIMAモデルオブジェクトを生成させ、複数のIMAモデルオブジェクトのうちの一部を第1のコンピュータモデリング環境にインポートさせ、航空機の航空機システムに対応する第1のIMAモデルを生成させ、第1のIMAモデルを含む複数のIMAモデルを生成することによって、航空機に対応するIMAシステムモデルを生成させ、IMAシステムモデルの出力を検証出力と比較することによって、IMAシステムモデルを検証させ、比較に基づいてIMAシステムモデルが検証されるときに航空機システムの製造ビルド命令を生成させ、かつ製造ビルド命令に基づいて航空機システムの製作を開始させる命令を含む非一過性のコンピュータ可読記憶媒体を含む。
条項15は、第1のIMAプロトコル定義が、航空機システムに関連するインターフェース情報、要件情報、又は仕様情報のうちの少なくとも1つを含む、条項14に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項16は、実行されるときに、機械に、少なくとも、第1のICDトランスレータを用いて、第1のICDソースに含まれる第1のインターフェース制御データベース(ICD)プロトコル定義を、LNMに含まれる第1の言語中立モデル(LNM)プロトコル定義に変換させ、第1の言語固有モデル(LSM)トランスレータを用いて、第1のLNMプロトコル定義を、第1のモデリング環境に含まれる第1のIMAプロトコル定義に変換させる命令を更に含む、条項14に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項17は、実行されるときに、機械に、少なくとも、第1のLNMプロトコル定義のうちの一部をLNM定義規則と比較させ、その比較に基づいて第1のLNMプロトコル定義を検証させ、かつ第1のIMAプロトコル定義のうちの一部を少なくとも1つのIMA定義規則と比較させ、その比較に基づいて第1のIMAプロトコル定義を検証させる命令を更に含む、条項14に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項18は、第1のIMAモデルが、下位層、プレゼンテーション層、及び上位層を含み、下位層が、デジタル通信読取機能又はセンサ読取機能の少なくとも1つを含む、条項14に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項19は、実行されるときに、機械に、少なくとも、デジタル通信読取機能を介してネットワークスイッチからリアルタイムでネットワークデータを取得させ、又はセンサ読取機能を介してセンサからリアルタイムでセンサデータを取得させる命令を更に含む、条項18に記載の非一過性のコンピュータ可読記憶媒体を含む。
条項20は、実行されるときに、機械に、少なくとも、IMAシステムモデルに基づいて機械可読命令を生成させ、機械可読命令を航空機システム又は航空機のうちの少なくとも1つに展開させ、機械可読命令に基づいて航空機システム又は航空機のうちの少なくとも1つの動作を引き起こさせる命令を更に含む、条項14に記載の非一過性のコンピュータ可読記憶媒体を含む。
本明細書で、特定の条項のシステム、方法、装置、及び製品が開示されてきたが、本特許出願の範囲は、これらに限定されるものではない。それどころか、本特許出願は、本特許出願の特許請求の範囲内に公正に当てはまるすべての、システム、方法、装置、及び製品を包含する。