(57)【特許請求の範囲】
【請求項１】
システムのプロセッサ要件を最適化する方法であって、
ネットワークにおける複数の仮想リンク上でメッセージを処理するために必要な最小のプロセッサの数とプロセッサの計算性能を決定するためのモデルとして、一組のシステム構成の制約を、一組の一次不等式及び目的関数として公式化すること、
前記一組の一次不等式から凸ポリトープを形成すること、
混合整数線形計画手段を使用して前記凸ポリトープにわたって前記目的関数を最適化することにより最適解を取得すること、及び
前記最適解に基づいてシステムのプロセッサの数とプロセッサの計算要件を決定すること
を含む方法。
【請求項２】
前記一組のシステム構成の制約により、以下の関係式：
【数１】
0006030294.tif 000028
（上式中、ｕｉはプロセッサであり、ｘは未知の割当て変数であり、ｈは未知のプロセッサ速度であり、ｄはスケジューリング変数であり、ｅｊは、ビンに割当てられたアプリケーションの実行時間の合計であり、ｑｌはプロセッサｕｉのビンサイズであり、ｑ１はｑｌのビンのインクリメントであり、ｐｊはｉ番目のアプリケーションの期間である）
に基づいてプロセッサ速度を決定する、請求項１に記載の方法。
【請求項３】
前記一組のシステム構成の制約が、以下の関係式：
【数２】
0006030294.tif 000029
（上式中、ｒａｊはアプリケーションｊが必要とするＲＡＭであり、ＲＡｉはＡＣＭ  ｇｉが供給するＲＡＭの合計であり、ｒｏｊはアプリケーションｊが必要とするＲＯＭであり、ＲＯｉはＡＣＭ  ｇｉが供給するＲＯＭの合計であり、ｒｎｊはアプリケーションｊが必要とする非揮発性メモリであり、ＲＮｉはＡＣＭ  ｇｉが供給する非揮発性メモリの合計であり、ｐｊはｉ番目のアプリケーションの期間であり、ｑ１はビンのインクリメントである）
に基づくプロセッサのメモリサイズに関する制約を含む、請求項１に記載の方法。
【請求項４】
前記一組のシステム構成の制約が、複雑なハードウェアシステム構成の制約を含む、請求項１に記載の方法。
【請求項５】
一組のシステム構成の制約を受け取るように動作可能な入力モジュール、
前記一組のシステム構成の制約を、一組の一次不等式及び目的関数として公式化するように動作可能な公式化モジュール、
前記一組の一次不等式の凸ポリトープにわたって目的関数を最適化することにより最適解を取得するように動作可能な混合整数線形計画法モジュール、並びに
前記最適解に基づいてシステムのプロセッサ要件を決定するように動作可能な決定モジュール
を備えている、プロセッサ要件最適化システム。
【請求項６】
前記システムのプロセッサ要件と最適解とを表示するように動作可能なディスプレイモジュールを更に備えている、請求項５に記載のプロセッサ要件最適化システム。
【請求項７】
システムが複雑なハードウェアシステムである、請求項５に記載のプロセッサ要件最適化システム。
【請求項８】
前記一組のシステム構成の制約によって、以下の関係式：
【数３】
0006030294.tif 000030
（上式中、ｕｉはプロセッサであり、ｘは未知の割当て変数であり、ｈは未知のプロセッサ速度であり、ｄはスケジューリング変数であり、ｅｊは、ビンに割当てられたアプリケーションの実行時間の合計であり、ｑｌはプロセッサｕｉのビンのサイズであり、ｑ１はｑｌのビンのインクリメントであり、ｐｊはｉ番目のアプリケーションの期間である）
に基づいてプロセッサ速度が決定される、請求項７に記載のプロセッサ要件最適化システム。
【請求項９】
前記一組のシステム構成の制約が、以下の関係式：
【数４】
0006030294.tif 000031
（上式中、ｒａｊはアプリケーションｊが必要とするＲＡＭであり、ＲＡｉはＡＣＭ  ｇｉが供給するＲＡＭの合計であり、ｒｏｊはアプリケーションｊが必要とするＲＯＭであり、ＲＯｉはＡＣＭ  ｇｉが供給するＲＯＭの合計であり、ｒｎｊはアプリケーションｊが必要とする非揮発性メモリであり、ＲＮｉはＡＣＭ  ｇｉが供給する非揮発性メモリの合計であり、ｐｊはｉ番目のアプリケーションの期間であり、ｑ１はビンのインクリメントである）
に基づくプロセッサのメモリサイズに関する制約を含んでいる、請求項７に記載のプロセッサ要件最適化システム。
【請求項１０】
複雑なハードウェアシステムに対する資源割当てシステムであって、
コンセントレータのノードに対する集中化させたセンサ／エフェクタの配線割当てを決定し、
メッセージに対する集中化させたパラメータ割当てを決定し、
仮想リンクに対する集中化させたメッセージ割当てを決定し、
プロセッサに対する集中化させたアプリケーション割当てを決定し、且つ
集中化させたシステム資源割当てがマージン要件を満たす場合、この集中化させたシステム資源割当てを報告する
ためのロジックを含んおり、  以下の関係式：
【数５】
0006030294.tif 000032
（上式中、ｕｉはプロセッサであり、ｘは未知の割当て変数であり、ｈは未知のプロセッサ速度であり、ｄはスケジューリング変数であり、ｅｊは、ビンに割当てられたアプリケーションの実行時間の合計であり、ｑｌはプロセッサｕｉのビンのサイズであり、ｑ１はｑｌのビンのインクリメントであり、ｐｊはｉ番目のアプリケーションの期間である）
に基づいてプロセッサの数を決定するためのロジックを更に含んでいる、システム。
【請求項１１】
以下の関係式：
【数６】
0006030294.tif 000033
（上式中、ｒａｊはアプリケーションｊが必要とするＲＡＭであり、ＲＡｉはＡＣＭ  ｇｉが供給するＲＡＭの合計であり、ｒｏｊはアプリケーションｊが必要とするＲＯＭであり、ＲＯｉはＡＣＭ  ｇｉが供給するＲＯＭの合計であり、ｒｎｊはアプリケーションｊが必要とする非揮発性メモリであり、ＲＮｉはＡＣＭ  ｇｉが供給する非揮発性メモリの合計であり、ｑ１はビンのインクリメントであり、ｐｊはｉ番目のアプリケーションの期間である）
に基づいてプロセッサのメモリサイズに関する制約を決定するためのロジックを更に含んでいる、請求項１０に記載のシステム。
【請求項１２】
複雑なハードウェアシステムがアビオニクスシステムである、請求項１０に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、概してネットワークコンピュータ構成に関するものである。具体的には、本発明の実施形態は、複雑なハードウェアシステム及びコンピュータネットワークにおけるプロセッサの最適化に関する。
【背景技術】
【０００２】
航空機が洗練されるにつれて、複雑なハードウェアシステムにおける計算処理パワーに対する需要がこれまでになく増大している。計算処理パワーに対する需要を満たすために、新世代の高速プロセッサが一般に使用される。高速プロセッサによって、複雑なハードウェアシステムの統合性と複雑性が、前世代のプロセッサと比べて大幅に高まる。複雑なハードウェアシステムにおいてリアルタイムな観点から増大する計算の需要を（量と質の面で）満たす最適化されたプロセッサの組を決定することは非常に難しい問題である。以前は、エンジニアが、まず特定の種類のプロセッサを選択し、次いでプロセッサが必要になる場合の回数を推定していた。そのような回数の推定には、スケジュール能に予測されるマージンで、冗長性、分離性、Ｉ／Ｏ、及びその他の資源についてアプリケーションの必要性のマニュアルアセスメントが行われる場合、計算要件を満たすことが必要であった。選択されたプロセッサの妥当性を推定するこのようなプロセスは、長時間を要し、資源又はプロセッサの数のマージンが不適切なものとなりうる。プロセッサの選択の不確実性は、複雑なハードウェアシステムの開発努力において大きな不確実性の原因となりうる。
【発明の概要】
【０００３】
複雑なハードウェアシステムのためのプロセッサ要件の最適化及び大規模システム最適化のシステムと方法が開示される。一組のシステム構成の制約が、目的関数及び一組の一次不等式として公式化され、この一次不等式の組に基づいて凸ポリトープが形成される。目的関数は、最適解を取得するために、混合整数線形計画手段を使用して凸ポリトープにわたって最適化される。システムのプロセッサ要件は、最適解に基づいて決定される。本システムと方法は、大規模システムを最適化し、そのようなシステムの計算資源を提供するために最適なプロセッサの数及び能力を決定する。このようにして、アビオニクスネットワークシステムのようなネットワーク化されたシステムの開発及び性能最適化は大きく単純化され、それと同時に、ネットワークシステムの一組の既知のリアルタイムアプリケーションの動作及び機能要件が満たされる。更に、設計コンフィギュレーションの集中化により、ネットワーク化されたシステムの重量を最小化することができ、コンフィギュレーションの変化を吸収する能力を最大化することができる。加えて、本発明により最適化されたネットワーク化システムは、未来の変更を最小限に抑えると同時に、システム全体の安全性の制約を満たすことができる。
【０００４】
第１の実施形態では、一の方法により、システムのプロセッサ要件が最適化される。この方法は、一組のシステム構成の制約を、一組の一次不等式及び目的関数として公式化し、一次不等式の組から凸ポリトープを形成する。本方法はまた、混合整数線形計画手段を用いて凸ポリトープにわたって目的関数を最適化することにより最適解を取得し、この最適解に基づいてシステムのプロセッサ要件を決定する。
【０００５】
第２の実施形態では、プロセッサ要件最適化システムは、一組の一次不等式及び一の目的関数として公式化された一組のシステム構成制約を受け取る入力モジュールを備えている。このシステムは、一次不等式の組の凸ポリトープにわたって目的関数を最適化することにより最適解を取得する混合整数線形計画法モジュールも備えている。システムは、最適解に基づいてシステムのプロセッサ要件を決定する決定モジュールも備えている。
【０００６】
第３の実施形態では、複雑なハードウェアシステムの資源割当て用システムは、コンセントレータのノードに対する集中化させたセンサ／エフェクタの配線割当てを決定するロジックを含んでいる。システムは、更に、メッセージに対する集中化させたパラメータ割当てを決定し、仮想リンクに対する集中化させたメッセージ割当てを決定し、且つプロセッサに対する集中化させたアプリケーション割当てを決定するロジックを含んでいる。システムは、集中化させたシステム資源割当てがマージン要件を満たす場合、集中化させたシステム資源割当てを報告するロジックも含んでいる。
【０００７】
第４の実施形態では、システム資源割当て方法により、コンセントレータのノードに対する集中化させたセンサ／エフェクタ配線の割当てが提供される。本方法は、更に、メッセージに対する集中化させたパラメータ割当て、仮想リンクに対する集中化させたメッセージ割当て、及びプロセッサに対する集中化させたアプリケーション割当てを提供する。次いで、本方法は、集中化させたシステム資源割当てがマージン要件を満たす場合、集中化させたシステム資源割当てを報告する。
【０００８】
上記発明の概要は、後述で更に詳細に説明する一部の概念を簡単に紹介したものである。この概要は、特許請求される発明の主題の重要な特徴又は必須の特徴を特定するものではなく、特許請求される発明の主題の範囲の決定の助けとして使用されることを意図しているものでもない。
【図面の簡単な説明】
【０００９】
本発明の実施形態は、後述の詳細な説明と特許請求の範囲とを添付図面と関連させて考慮することにより、より深く理解することができる。これらの図面にわたって、類似の参照番号は類似の要素を示している。図面は、本発明の幅、範囲、縮尺、又は使用可能性を制限することなく、本開示内容の理解を促すために提示されている。図面は必ずしも正確な縮尺で描かれていない。
【００１０】
【図１】図１は例示的な航空機の製造及び整備方法のフロー図である。
【図２】図２は航空機の例示的なブロック図である。
【図３】図３は、アビオニクスシステムの計算ユニット及びセンサの例示的な位置を示す航空機の図である。
【図４】図４は、本発明の一実施形態によるアビオニクスシステムの例示的アーキテクチャを示している。
【図５】図５は、一定の期間にわたる最適化されていないプロセッサ資源割当ての一実施例を示している。
【図６】図６は、本発明の一実施形態によるアビオニクスシステム最適化のためのシステムの例示的な機能ブロック図である。
【図７】図７は、本発明の一実施形態によるアビオニクスシステム最適化プロセスを示す例示的フロー図である。
【図８】図８は、本発明の一実施形態によって最適化された、一定の期間にわたるプロセッサ資源割当ての一実施例を示している。
【図９】図９は、本発明の一実施形態による、アビオニクス資源割当て最適化プロセスを示す例示的フロー図である。
【発明を実施するための形態】
【００１１】
以下の詳細な説明は、例示的な性質を有し、本発明、或いは本発明の実施形態の用途及び使用を限定することを意図していない。特定のデバイス、技術、及び用途の説明は、実施例としてのみ提示されている。本明細書に記載された実施例に対する修正は、当業者には明らかであろうし、ここに規定される一般法則は、本発明の精神及び範囲を逸脱せずに、他の実施例及び用途に適用可能である。更に、明示、暗示の区別を問わず、発明の分野、背景技術、発明の概要、又は以下の詳細な説明において提示されるいかなる理論にも拘束される意図はない。本発明の範囲は、請求の範囲と一致し、記載及び図示される実施例に限定されない。
【００１２】
本明細書では、本発明の実施形態を、機能的及び／又は論理的ブロック要素と様々な処理ステップとの観点から説明する。このようなブロック要素は、特定の機能を実行するように構成された任意の数のハードウェア、ソフトウェア、及び／又はファームウェア要素によって実現される。説明を簡単にするために、本明細書では、システムの処理装置設計、共通コアシステム（ＣＣＳ）、複雑なハードウェアシステム、計算過程、数学的公式、及びその他の機能的側面に関連する従来の技術及び構成要素（並びにシステムの個々の動作要素）については詳細に記載しない。加えて、当業者であれば、本発明の実施形態が種々の計算マシンと組み合わせて実施されうること、及び本明細書に記載される実施形態は本発明の例示的実施形態にすぎないことを理解するであろう。
【００１３】
本明細書では、本発明の実施形態は、非限定的な実用的用途の観点から、即ち、アビオニクスシステムのような複雑なハードウェアシステムの資源最適化の観点から説明される。しかしながら、本発明の実施形態は、そのようなアビオニクスの用途に限定されず、本明細書に記載される技術は他の最適化の用途においても利用することができる。例えば、本発明の実施形態は、限定しないが、海軍システムの最適化、海軍の空／海／陸用兵器制御システムの最適化、潜水艦における音響解析システムの最適化、航空管制システムの最適化、医療情報システムの最適化、音響及び電磁信号プロセッサの最適化、操縦系統の最適化、システムコントローラの最適化、ナビゲーションコントローラ／システムの最適化などの複雑なハードウェアシステムの最適化に適用可能である。加えて、本発明の実施形態は、限定しないが、海事／海上／海中、陸上、宇宙、及び航空関連のビークルシステム、例えば、航空機、宇宙機、宇宙空間打ち上げ用ロケット、自動車、陸上ビークル、潜水艦、船舶などの複雑なハードウェアシステムの最適化に適用可能である。
【００１４】
本明細書を読んだ当業者には明らかであるように、後述は、本発明の実施例及び実施形態であり、このような実施例に従う動作に限定されていない。本明細書の例示的実施形態の範囲から逸脱せずに、他の実施形態を利用することができ、構造に変化を加えることができる。
【実施例】
【００１５】
図面を更に詳しく参照し、本発明の実施形態を、図１に示される航空機の製造及び整備方法１００と、図２に示される航空機２００とに関して説明する。製造前の段階では、例示的な方法１００は、航空機２００の仕様及び設計１０４と、材料調達１０６とを含む。製造段階では、航空機２００のコンポーネント及びサブアセンブリの製造１０８と、システムインテグレーション１１０とが行われる。その後、航空機２００は認可及び納品１１２を経て就航１１４される。顧客により就航される間に、航空機２００は定期的なメンテナンス及び整備１１６（改造、再構成、改修なども含みうる）を受ける。
【００１６】
方法１００の各プロセスは、システムインテグレーター、第三者、及び／又はオペレーター（例えば顧客）によって実施又は実行されうる。本明細書の目的のために、システムインテグレーターは、限定しないが、任意の数の航空機製造者、及び主要なシステム下請業者を含むことができ、第三者は、限定しないが、任意の数のベンダー、下請業者、及び供給業者を含むことができ、オペレーターは、限定しないが、航空会社、リース会社、軍事団体、サービス機関などでありうる。
【００１７】
図２に示されるように、例示的方法１００によって製造された航空機２００は、複数のシステム２２０及び内装２２２を有する機体２１８を含むことができる。高レベルのシステム２２０の例には、推進システム２２４、電気システム２２６、油圧システム２２８、及び環境システム２３０のうちの一又は複数が含まれる。任意の数の他のシステムが含まれてもよい。航空宇宙産業の例を示したが、本発明の実施形態は、自動車産業のような他の産業にも適用可能である。
【００１８】
本明細書に具現化された装置及び方法は、製造及び整備方法１００の一又は複数の任意の段階で採用することができる。例えば、製造プロセス１０８に対応するコンポーネント又はサブアセンブリは、航空機２００の就航中に製造されるコンポーネント又はサブアセンブリと同様の方法で作製又は製造することができる。また、一又は複数の装置の実施形態、方法の実施形態、又はそれらの組み合わせは、例えば、航空機２００の組立てを実質的に効率化するか、又は航空機２００のコストを削減することにより、製造段階１０８及び１１０の間に利用することができる。同様に、装置の実施形態、方法の実施形態、又はそれらの組み合わせのうちの一又は複数を、航空機２００の就航中に、限定しないが、例えばメンテナンス及び整備１１６に利用することができる。
【００１９】
上述のように、計算処理パワーの必要を満たすために、一般に、新世代の高速プロセッサが使用される。高速プロセッサにより、前世代のプロセッサと比較して、ネットワーク化されたシステムの統合性及び複雑性が大きく増大する。このような観察結果により、本明細書に記載のアプローチを必要とする、解決すべき二つの課題、即ち、１）大規模システムの最適化と、２）このようなシステムの計算資源を提供するために最適なプロセッサの数及び性能の決定とが特定される。
【００２０】
大規模システムの最適化は、このようなシステムが必要とする多数の変数により、計算が複雑となって現行方法では計算時間が法外に長くなるので極めて難しい。実際には、システムを、ゆるく連結された領域に分解することが必要であり、その際には、ピース毎の反復プロセスにより、システム内のこのような領域の暫定的な解決法を決定する。これには非常に長い時間が掛かり、解決が可能でない場合もあるので、解決法が見つかる場合も、偶然、又は資源の過剰な使用によるものであり、いずれにしろ最適な結果とはいえない。
【００２１】
現代のアビオニクスシステムは、非常に多様な要素、限定しないが例えば、センサ、通信装置、ナビゲーションデバイス、アクチュエータ、バックアップデバイス、解析モジュール、アプリケーションソフトウェアプログラム、計算資源、光ファイバなどを含んでいる。複雑性と必要な資源を低減するために、可能且つ実用的である場合には、多様な要素は統合される。
【００２２】
図３は、アビオニクスシステム３００のセンサ／アクチュエータ３０２〜３２０とコンセントレータのノード３２２〜３２６との例示的な位置を示す航空機の図である。しかしながら、本発明の実施形態はこのようなアビオニクスシステムに限定されるものではなく、上述のような他の複雑なハードウェアシステムと複雑な製品とに適用可能である。アビオニクスシステムは、アビオニクスシステム３００について示されている少数の要素よりはるかに複雑である。アビオニクスシステム３００は、昇降舵位置センサ３０２、方向舵位置センサ３０４、ラバトリー煙検知センサ３０６、キャビン温度センサ３０８、スポイラーアクチュエータ３１０、燃料センサ３１２、エンジンスロットルアクチュエータ３１４、エンジンセンサ３１６、フラップアクチュエータ３１８、航空灯アクチュエータ３２０、及びコンセントレータのノード３２２／３２４／３２６を含んでいる。
【００２３】
昇降舵位置センサ３０２は、昇降舵に連結されたエンコーダを含む。昇降舵位置センサ３０２は、昇降舵の位置情報を含むデータパケットを周期的に送信する。
【００２４】
方向舵位置センサ３０４は、方向舵に連結されたエンコーダを含む。方向舵位置センサ３０４は、方向舵の位置情報を含むデータパケットを周期的に送信する。
【００２５】
ラバトリー煙検知センサ３０６は、ラバトリー（図示しない）の状態をモニタリングする電子検出器を含む。ラバトリー煙検知センサ３０６は、煙が生じると煙検知情報を含むデータパケットを送信する。データパケットが送信される時間は不明であるので、資源をデータパケットに割当てなければならないが、このような資源割当てが生命維持に関わる通信を妨害することがあってはならない。
【００２６】
キャビン温度センサ３０８は、キャビンの温度をモニタリングする電子温度モニタを含む。キャビン温度センサ３０８は、周期的に、又は過剰な温度事象に応答して、温度情報を含むデータパケットを送信する。
【００２７】
スポイラーアクチュエータ３１０は、スポイラーの位置決めを行うアクチュエータを含む。スポイラーアクチュエータ３１０は、パイロットの指示に応答してコマンドパケットを受信し、それに従ってスポイラーの位置を設定する。
【００２８】
燃料センサ３１２は、燃料タンク内の燃料を測定する燃料モニタを含む。燃料センサ３１２は、周期的に、又は低燃料事象に応答して、燃料情報を含むデータパケットを送信する。
【００２９】
エンジンスロットルアクチュエータ３１４は、エンジンスロットル（図示しない）の位置を設定するアクチュエータを含む。エンジンスロットルアクチュエータ３１４は、パイロットのコマンドに応答してコマンドパケットを受信し、それに従ってエンジンスロットルを設定する。
【００３０】
エンジンセンサ３１６は、様々なエンジンパラメータをモニタリングする電子センサボックスを含む。エンジンセンサ３１６は、エンジン動作情報を含むデータパケットを周期的に送信する。
【００３１】
フラップアクチュエータ３１８は、フラップ（図示しない）の位置を設定するアクチュエータを含む。フラップアクチュエータ３１８は、パイロットのコマンドに応答してコマンドパケットを受信し、それに従ってフラップの位置を設定する。
【００３２】
航空灯アクチュエータ３２０は、航空灯（図示しない）の点灯又は消灯を行うアクチュエータを含む。航空灯アクチュエータ３２０は、パイロットの指示に応答してコマンドパケットを受信し、それに従って点灯状態を設定する。
【００３３】
コンセントレータのノード３２２／３２４／３２６は、センサ／エフェクタ３０２〜３２０とのデータパケットの送受信を制御するネットワークルータを含む。
【００３４】
図４は、アビオニクスシステム４００の例示的アクチュエータを示している。アビオニクスシステム４００は、センサ／エフェクタ３０２〜３２０、コンセントレータノード３２２〜３２６と４１２〜４１６、及びプロセッサ４０２〜４１０を含んでいる。
【００３５】
センサ／エフェクタ３０２〜３２０は上述の通りであり、それらの要件に従ってデータパケットの送受信を行う。センサ／エフェクタ３０２〜３２０の必要性はインターフェースの種類と性能とによって特徴付けられると共に、ワイヤ重量を生じさせる。
【００３６】
コンセントレータのノード３２２〜３２６と４１２〜４１６の機能的実装形態には、制限された数のアナログインターフェース、離散インターフェース、及びシリアルデジタルインターフェースが含まれる。コンセントレータのノード３２２〜３２６と４１２〜４１６の機能は、センサ／エフェクタ３０２〜３２０からのパケットを処理するために、決まったスケジュールを必要とする。加えて、センサ／エフェクタ３０２〜３２０へのプロセスインターフェースは、コンセントレータのノード３２２〜３２６と４１２〜４１６のプロセッサ性能を消費する。コンセントレータのノード３２２〜３２６と４１２〜４１６のスケジューリングは、要件による待ち時間制約も満たさなければならない。この結果、コンセントレータのノード３２２〜３２６と４１２〜４１６のための第１の順番の処理スケジュールにより、コンセントレータのノード３２２〜３２６と４１２〜４１６のセンサ／エフェクタ３０２〜３２０にインターフェースの各々が割当てられる。
【００３７】
プロセッサ４０２〜４１０は、センサ／エフェクタ３０２〜３２０をサポートする様々なアプリケーションと、その他のアビオニクスアプリケーションとを処理する。アプリケーションの計算の必要性は、プロセッサ速度によりパラメータ化された実行時間と、厳密な（先取り可能でない）実行周期と、及びメモリ要件とによって特徴付けられる。プロセッサの資源割当てについて後述する。
【００３８】
図５は、一定の期間にわたる、最適化されていないプロセッサ資源割当ての一実施例を示している。図５には、アプリケーションが割当てられた六つのアプリケーション計算モジュール（ＡＣＭ又はプロセッサ）０〜５が示されている。アプリケーション５０２の四つの周期例がプロセッサ５に割当てられており、アプリケーション５０４の二つの周期例がプロセッサ２に割当てられており、アプリケーション５０６の二つの周期例がプロセッサ１に割当てられており、アプリケーション５０８の四つの周期例がプロセッサ０に割当てられている。図５に示すように、プロセッサ０及び１は他のプロセッサより軽い負荷を有しているので、プロセッサ資源割当ては最適でない。
【００３９】
アビオニクスプロセッサを設計するための既存の方法は、多大な時間を必要とし、反復性であり、且つ様々な設計オプション間の体系的なトレードオフをサポートしない。本発明の実施形態は、複雑なハードウェアシステムの設計者に画期的な設計能を提供する。特に、関連するアプリケーション及びシステムの特徴を数学的に最適化し、アプリケーション間での資源の共有を確実に可能にする解決法を生成することにより、本発明の実施形態は、設計空間の体系的な探索をサポートする。本発明の実施形態は、ネットワーク化されたシステムの開発及び性能の最適化を大きく単純化し、更にはその認可を単純化する。
【００４０】
アビオニクスプロセッサの設計には、アビオニクスアプリケーションの計算の必要性を注意深く解析することが必要である。一組のプロセッサは、アビオニクスアプリケーションの需要を集約的に満たすことができる。これには、アプリケーションをどのようにプロセッサに割当てるかを考慮することが必要である。計算の必要性に加えて、アプリケーションは、それらの計算の必要性と密接に協働する通信及び入出力（Ｉ／Ｏ）の必要性を有する。このため、プロセッサの設計の間に、通信及びＩ／Ｏの必要性を考慮することも必要である。本発明の実施形態は、資源利用に定まったマージンを提供するプロセッサ設計に、最適な値を探し求める。
【００４１】
定まったマージンを探すことにより、本発明の実施形態は、アプリケーションに将来の成長の余地を残すだけでなく、全ての資源をもっと「集中」して利用することができる。設計センタリングにより、資源の利用にボトルネックを生じることなく、全ての資源に均等に作業を分散させることが可能となる。
【００４２】
一実施形態では、アビオニクスアプリケーションは、経験的に既知であり、それらの実行時間、周期性、メモリ消費、及びネットワークに対する入出力メッセージによって特徴付けられる。フォールトトレランス及び冗長性の要件には、アプリケーション間の分離及び居住に対する要件により対処する。既存の解決法では、プロセッサ性能が付与され、それに従ってプロセッサに対するアプリケーションの割当てを最適化する。既存の解決法とは対照的に、本明細書に記載される実施形態では、プロセッサ性能が不明であり、定まったマージンによりアプリケーションの全体的必要性を満足させるプロセッサ性能の最適な値が取得される。本明細書では、特定の組のアビオニクスアプリケーションの必要性を満たすように計算資源の設計を最適化することによりこのような問題を解決する、以前は利用できなかったアルゴリズム的プロセスを説明する。このプロセスは、少なくとも二つの理由により以前は利用できなかった。その理由とは、（ａ）アビオニクスシステムが満たされなければならない固有の組の条件と、（ｂ）このような問題に既知のＮＰ困難の計算複雑性である（即ち、設計を割当て及びスケジューリングと連結させることの複雑性）。大雑把には、ＮＰ困難の問題は、問題を解決するために必要とされる計算資源が、問題の大きさにより指数関数的に大きくなることを示唆している。このような問題に対する解決法は、普通幾つかの解決法の組み合せであり、全ての可能な組み合わせを調査するには、それ程大きくない問題に、利用可能な最速のコンピュータを使用した場合でさえ、数千年の計算時間が容易にかかりうる。
【００４３】
本発明の実施形態は、一組の既知のリアルタイムアビオニクスアプリケーションの動作及び機能の要件を満たす最適化されたアビオニクスシステムを決定するという問題を解決する。本発明の実施形態は、変更を吸収する能力が最大化されるように設計コンフィギュレーションを集中化することにより、将来の変更に掛かる費用を最小化するとともに、システム全体の安全性制約を満たす。このようなプロセスは、安全なシステム設計を保証しながら収束が達成されるように繰返される。
【００４４】
このようにして、リアルタイムアビオニクスシステム（例えばアビオニクスシステム４００）内のプロセッサの最適な設計が、後述のように、システム資源を消費する所定のアビオニクスアプリケーションの組の計算、通信、及びＩ／Ｏの必要性を考慮することにより決定される。上述のように、アプリケーションの計算の必要性は、プロセッサ速度、厳密な（先取りできない）実行周期、及びメモリ要件によってパラメータ化される実行時間によって特徴付けられる。通信の必要性は、アプリケーションが必要とする仮想リンク（ポイントツーマルチポイント通信リンク）の数と、仮想リンクの通信帯域幅とによって特徴付けられる。Ｉ／Ｏの必要性は、プロセッサのエンドシステム内で必要とされるポートの種類とメモリサイズとによって特徴付けられる。本明細書に記載されるように、プロセッサ設計の問題は、種々の資源のマージンに関連する様々な目的関数の最適化を可能にするとともに、アプリケーションの必要性を確実に満たす方法により解決される。本発明の実施形態により克服される主な技術的ハードルは、規模に関するものである。プロセッサの最適設計は、数十ものプロセッサ、数百ものアプリケーション、及び数千ものメッセージに関連する問題を解決し、これらのプロセッサの各々は目標とするレベルのキャパシティに利用され、残りはマージンに残されている。このようなマージン及び問題の大きさは、現代のアビオニクスネットワークに典型的なものであり、したがって本発明の実施形態をこれらの問題に適用することが可能である。このような数値的な設計アプローチは、大規模で、複数次元の、タイトな割当て及びスケジューリングの問題を伴っており、以前は開発されなかった。プロセッサの最適設計により提供される能力は、民間航空機及び軍用航空機のアビオニクスシステムの開発を可能にする。アビオニクスプロセッサを設計するための既存の方法は、多大な時間を要し、反復性が高く、種々の設計オプション間の体系的なトレードオフをサポートしない。特に、関連のアプリケーション及びシステムの特徴を数学的に最適化し、アプリケーション間で共用可能な資源を保証することにより、本明細書に記載されるプロセッサの最適設計は、設計空間の体系的な追求をサポートする。このようにして、アビオニクスシステム４００のようなネットワーク化されたシステムの開発、性能最適化、及び認可が大きく単純化される。
【００４５】
ｎ個で一組のアプリケーションτｉ（ｉ＝１，．．，ｎ）を考慮する。ｍ個で一組のプロセッサｇｊ（ｊ＝１，．．，ｍ）を考慮する（ｎは一般にｍよりはるかに大きい）。各アプリケーションは、プロセッサ４０２〜４１０の各々で利用可能な資源がそれに割当てられたアプリケーションによって適正に共有されるように、単一のプロセッサ（例えばプロセッサ４０２〜４１０の各々）に割当てられなければならない。異なるアプリケーションには異なる量の資源が必要である。アプリケーションの数ｎと、各アプリケーションの資源の必要性は既知である。既知でないのは、（ａ）全てのアプリケーションの集約的必要性を（定まったマージンで）満たすのに十分な資源のレベルと、（ｂ）プロセッサ４０２〜４１０に対するアプリケーションの特定の割当てである。プロセッサ４０２〜４１０における計算、通信、及びＩ／Ｏの資源、及びアプリケーションによるこれらの資源の消費の必要性は、数学的に特徴付けられる。次いで、（ａ）未知の資源レベルと、（ｂ）プロセッサ４０２〜４１０に対する未知のアプリケーション割当てに対応する一組の変数が公式化される。これら二つの数量は互いに関連している。プロセッサ４０２〜４１０の各々において必要な資源のレベルは、プロセッサ４０２〜４１０に対するアプリケーションの割当てに基づいて決定され、逆に、アプリケーションは、アプリケーションが割当てられるプロセッサ４０２〜４１０の各々の資源レベルに基づいて決定される。本発明の実施形態は、資源レベルの観点からアプリケーションの必要性をパラメータ化することによりこのような双方向の依存性を数学的に確立し、次いで未知の資源レベルの観点から数学的公式を構築する。次いで、資源マージンの観点から目的関数を公式化し、次いで本明細書に記載の最適化方法を使用して未知の資源レベルについて解く。説明を簡潔にするために、公式の簡単な説明と対応する制約を本明細書に記載する。
【００４６】
適用させる制約は以下の通りである。
１）アプリケーションは、プロセッサ４０２〜４１０の各々において、特定の周期で特定の量の実効時間を必要とする。
２）プロセッサ４０２〜４１０の各々におけるアプリケーションの実行スケジュールは重複してはならない。
３）アプリケーションの中で、アプリケーションとプロセッサ４０２〜４１０との間において、並びにアプリケーションとキャビネット（例えば、コンピュータキャビネット又はラック）との間において、特定のアプリケーションの同居及び分離の制約が存在する。
４）アプリケーションのメモリ要件−アプリケーションは、処理の間に特定の量のメモリを必要とする。これは、プロセッサ４０２〜４１０によって提供される。プロセッサ４０２〜４１０の各々においてアプリケーションが使用できるメモリの全体の大きさは固定である。
５）アプリケーションのメッセージ送信要件−アプリケーションはメッセージの送受信に通信ポートを利用する。これらの通信ポートはメモリを使用する。割当てられたアプリケーションのメッセージ送信の必要性を満たすためにプロセッサ４０２〜４１０の各々において利用可能なメモリの量は固定である。
６）アプリケーションのメッセージ送信要件−アプリケーションは、メッセージの送受信に仮想リンク（ＶＬ）を利用する。プロセッサ４０２〜４１０の各々において利用可能なそのようなＶＬの数は固定である。
７）アプリケーションのメッセージ送信要件−アプリケーションは、メッセージの通信に特定の量の帯域幅を必要とし、これは仮想リンクによりメッセージを通信するために提供される。プロセッサ４０２〜４１０の各々において仮想リンクに利用可能な通信帯域幅の総量は固定である。
【００４７】
変数ｘ（割当て変数）及びｄ（スケジューリング変数）を考慮する。
アプリケーションシステムΓ＝｛τｉ，ｉ＝１，．．．，ｎ｝
プロセッサＧ＝｛ｇｉ，ｉ＝１，．．．，ｍ｝
ｐｉ、ｅｉ−ｉ番目のアプリケーションの周期及び実行時間
周期の値Ｑ＝（ｑ１，ｑ２，．．．，ｑｒ）
周期の値のインデックス
【数１】
0006030294.tif 000002
【数２】
0006030294.tif 000003
タスクｊの発生がプロセッサｉのｋ番目のビン内にあれば、１
【数３】
0006030294.tif 000004
【数４】
0006030294.tif 000005
プロセッサｉでの最低の周期がｑｌであれば１、そうでなければ０
上記の式では、ｉ、ｊ、ｋ、ｌ、ｍ、ｎ、及びｒは整数である。
【００４８】
プロセッサ設計の問題は、以下のようにビンのサイズ設定及びビンのパッキング問題として公式化される。プロセッサ４０２〜４１０の各々におけるタイムラインは、ｑ１にサイズ設定されたビンに分割される。
【００４９】
プロセッサ４０２〜４１０のうちのｉ番目のプロセッサを考慮する。ｉ番目のプロセッサのアプリケーション周期の最小値がｑｌである場合、サイズがｑｌであるスーパービンを考慮することによりビンのパッキング制約を規定する。第１のスーパービンの場合、プロセッサｉのビンサイズｑｌを選択するためにバイナリ変数ｄｉｌを使用することができる。
【００５０】
スーパービンの内部で周期ｑｌの全アプリケーションを累算するために、スーパービンをビンインクリメントｑ１により除算すると、スーパービンはｑｌ／ｑ１のビンを含む。一のビンに割当てられたアプリケーションの実行時間ｅｊの合計は、ビンのサイズより小さくなければならない。これにより、以下の制約式が得られる。
【数５】
0006030294.tif 000006
【００５１】
重複せず、厳密に周期的なスケジューリングの要件と組み合わせて、計算の必要性を表わす以下の数学的プログラミングの公式が得られる。変数ｈは、プロセッサ４０２〜４１０内の未知のプロセッサ速度を規定する。
【数６】
0006030294.tif 000007
【００５２】
上記の公式では、第１の計算式（１）は目的を特定している。この場合、目的は、プロセッサ４０２〜４１０のようなプロセッサの数ｕを最小化することである。上記制約（２）は、全アプリケーションがプロセッサ４０２〜４１０のうちのそれぞれ単一のプロセッサｕｉに割当てられるような割当て（ｘ）が選択されることを保証している。制約（３）は、一のアプリケーションがプロセッサｕｉに割当てられた場合にプロセッサｕが使用中にカウントされることを保証している。制約（５）は、この公式の最も重要な部分であり、未知の割当てｘと未知のプロセッサ資源のレベルｈ（例えば、プロセッサ速度）を互いに関連させる。制約（５）は、アプリケーションが、必要な実行時間（ｅ）について、重複しない厳密な周期的開始時間でスケジューリングできることを保証する。制約（６ａ）は、アプリケーションがプロセッサｕｉに割当てられると、プロセッサｕｉにアプリケーションのスケジューリングが通知されることを保証する。残りの制約は、変数の種類とそれらの境界とを規定する。
【００５３】
他の目的関数は、同じようにして公式化される。一般的な目的は、プロセッサの最小資源マージンを、それが帯域幅であるか、仮想リンクであるか、メモリであるか、又は計算スループットであるかを問わず、最大化することであり、即ち設計空間において割当てを集中化することである。計算スループットに関して、様々な公式を使用することができる。例えば、最小計算マージンをプロセッサレベルで最大化するために、変数ｍｃを最小計算マージンと定義する。ｍｃの値に関する制約は、上記制約（２）を（２ａ）に修正することにより計算式で表わすことができる。新規の目的関数と、修正された制約（２）は、以下のように数式化することができる。
【数７】
0006030294.tif 000008
式中、Ｈは、ｊ番目のタスクが超周期ＨにおいてＨ／ｐｊの発生頻度を有するような超周期である。
【００５４】
別の可能な目的関数は、小フレームレベルで最小計算マージンを最大化することである。同様に、変数ｍｍｃは、小フレームの計算マージンの最小値と定義され、上記（１）及び（５）は以下のように修正される。
【数８】
0006030294.tif 000009
【００５５】
任意の数の他の資源マージンもモデル化することができる。これらは次いで、資源マージンを目的関数として表わすことにより最大化又は最小化することができるか、或いは制約として表わすことにより境界付けすることができる。このような公式は、混合整数線形計画（ＭＩＬＰ）の形態の、組み合わせ最適化問題を生成する。本発明の実施形態は、ＭＩＬＰツール、限定しないが例えばＣＰＬＥＸ、ＣＢＣ、Ｇｕｒｏｂｉなどを用いて、このようなＭＩＬＰを公式化して解くために使用することができる。
【００５６】
次に、アプリケーションの同居／分離制約、メモリ制約、及び通信制約が、式１３〜１８、２１〜２５、２６〜３０、３１、３６、３７〜３９、４０、５１〜５５、６１〜６２に示すように追加される。
【００５７】
アプリケーションの同居／分離要件−アプリケーションの同居／分離要件は、プロセッサ４０２〜４１０に対するアプリケーションの割当てに制限を課す。アプリケーションの同居／分離要件は、一対のアプリケーションを同じプロセッサに割当てるという要件を定義しうる。アプリケーションの同居／分離要件は、特定のプロセッサ、又は特定のキャビネット内の任意のプロセッサにアプリケーションを割当てるという要件も定義しうる。別の構成では、アプリケーションの同居／分離要件は、特定の対のアプリケーションを同じプロセッサに割当ててはならないという要件を定義する。アプリケーションの同居／分離要件は、下記に列挙する要件及びそれらの数学的表現に記載されるように、数学的に実施される。
【００５８】
ＡＣＭ分離制約（２６ｂ）は、一対のアプリケーションｔｊ１及びｔｊ２が別々のアプリケーション計算モジュール（ＡＣＭ）上に位置することを必要とし、以下の関係に基づいて定義される。
【数９】
0006030294.tif 000010
【００５９】
ＡＣＭ同居制約（２６）は、一対のアプリケーションｔｊ１及びｔｊ２が同じＡＣＭに割当てられることを必要とし（例えば、共有メモリのために）、以下の関係に基づいて定義される。
【数１０】
0006030294.tif 000011
【００６０】
Ｃａｂ分離制約（２７）は、一対のアプリケーションｔｊ１及びｔｊ２が別々のキャビネット内のＡＣＭに割当てられることを必要とし、以下の関係に基づいて定義される。
【数１１】
0006030294.tif 000012
【００６１】
Ｃａｂ同居制約（２８）は、一対のアプリケーションｔｊ１及びｔｊ２が同じキャビネット上に位置することを必要とし（左又は右）、以下の関係に基づいて定義される。
【数１２】
0006030294.tif 000013
【００６２】
ＡＣＭ同居制約（２９）は、アプリケーションｔｊ１がＡＣＭｇｉ１上に存在することを必要とし、以下の関係に基づいて定義される。
【数１３】
0006030294.tif 000014
【００６３】
ＣａｂＨａｂ（３０）は、アプリケーションｔｊ１がキャビネットＦｌ１上に存在することを必要とし（即ち、ＣａｂＨａｂが特定される場合、定義に対してキャビネット制約が加えられることはない）、以下の関係に基づいて定義される。
【数１４】
0006030294.tif 000015
【００６４】
ＡＣＭＫｅｅｐＯｕｔ（３０ｂ）は、アプリケーションｔｊ１がＡＣＭｇｉ１に干渉しないことを必要とし、以下の関係に基づいて定義される。
【数１５】
0006030294.tif 000016
【００６５】
アプリケーションのメッセージ送信要件−アプリケーションは、仮想リンク（ＶＬ）を使用してメッセージの送受信を行う。仮想リンクは、ネットワーク通信帯域幅をアプリケーションの通信の必要性に割当てるために使用される概念である。ＶＬ制約を定義するため、変数
【数１６】
0006030294.tif 000017
は、ＶＬｌがプロセッサｇｉにリンクされている場合に１であり、そうでない場合に０である。
【００６６】
受信及び送信仮想リンク（ＲＸ／ＴＸ仮想リンク）制約は、数学的に以下のように表わすことができる。
【数１７】
0006030294.tif 000018
上の式では、ｂｌはＶＬｌの既知の帯域幅であり、
【数１８】
0006030294.tif 000019
はプロセッサｇｉにおける最大受信帯域幅であり、
【数１９】
0006030294.tif 000020
はプロセッサｇｉにおける最大Ｒｘ  ＶＬ数であり、
【数２０】
0006030294.tif 000021
はプロセッサｇｉにおける最大送信帯域幅であり、
【数２１】
0006030294.tif 000022
はプロセッサｇｉにおける最大Ｔｘ  ＶＬ数であり、Ｓｈｊは、アプリケーションｊの一組の共有ＶＬであり、ｎｕｓｊＲｘは、アプリケーションｊの非共有受信ＶＬの数であり、ｂｕｓｊＲｘは、アプリケーションｊの非共有受信ＶＬの帯域幅の合計である。
【００６７】
メモリ制約−プロセッサＡＣＭｉ（ＡＣＭｇｉ）のメモリ資源には、少なくとも五つの選択肢、即ち、ＲＡＭ、ＲＯＭ（フラッシュ）、非揮発性メモリ（ＮＶＭ）、エンドシステム（ＥＳ）メモリ（ポート関連）、及び共有メモリ領域（ＳＭＲ）が与えられる。ＲＡＭ／ＲＯＭ／ＮＶＭ制約は類似しており、各アプリケーションはそれぞれ特定量の三種類のメモリを必要とする。プロセッサ上のアプリケーションに割当てられたメモリの全体的なサイズ（プロセッサのメモリのサイズ）に境界を特定するという制約は、以下のように表わされる。
【数２２】
0006030294.tif 000023
上の式では、ｒａｊはアプリケーションｊが必要とするＲＡＭであり、ＲＡｉは、ＡＣＭｇｉにより提供されるＲＡＭの合計であり、ｒｏｊはアプリケーションｊが必要とするＲＯＭであり、ＲＯｉはＡＣＭｇｉにより提供されるＲＯＭの合計であり、ｒｎｊはアプリケーションｊが必要とするＮＶＭであり、ＲＮｉはＡＣＭｇｉにより提供されるＶＶＭの合計である。
【００６８】
共有メモリ領域（ＳＭＲ）−一組のアプリケーションにより集約的に使用されるメモリはＳＭＲと呼ばれる。これらのアプリケーションは、同じプロセッサに割当てられる場合にＳＭＲを共有することができ、そうで無い場合ＳＭＲは複製される。ＳＭＲは、プロセッサ上でＲＯＭ及びＲＡＭ両方の資源を消費する。ＳＭＲをモデル化するために、以下の定義を考慮する。Ｐｓｌ（ヌルも可）を、ＳＭＲｌへのアクセスを必要とする一組のアプリケーションとする。三種類のＳＭＲ、即ち、読取りＡｔＡＣＭ（ＲＧ）、読取りＢｙ（ＲＰ）、及び読取り／書込み（ＲＷ）が存在する。
【００６９】
ＲＧ−ＳＭＲの場合、Ｐｓｌ＝ヌルである。Ｓｇｉを、ＡＣＭｇｉに割当てられた一組のＳＭＲと定義する（即ち、Ｓｇｉ＝｛ＳＭＲ：ＡＣＭｇｉに割当てられたＳＭＲ｝）。
【００７０】
ＲＰ−ＳＭＲの場合：Ｐｓｌのτｊをホストする全てのＡＣＭ上でＳＭＲを複製することができる。ＲＰ−ＳＭＲの場合、ＳＭＲｌが共有されてＡＣＭｇｉに割当てられる場合、
【数２３】
0006030294.tif 000024
は１と定義され、そうでない場合は０と定義される（即ち、ＰｓｌのτｊがＡＣＭｇｉに割当てられる場合、ｙｉｌは１でなければならない）。更に、Ｓｕは一組の非共有ＲＰ−ＳＭＲと定義することができる。（即ち、Ｓｕ＝｛ＲＰ−ＳＭＲｌ：｜Ｐｓｌ｜＝１｝である。）
【００７１】
ＲＷ−ＳＭＲの場合、Ｐｓｌ内のアプリケーションは同じｇｉ上に同居する必要がある。同居を強制してＳＭＲを割当てるために、ＲＷ−ＳＭＲの組としてＳｒｗを定義する。二点、即ち、（１）Ｐｓｌ（ＳＭＲｌがＳｒｗ内に位置しているようなＰｓｌ）内の全てのアプリケーションを同じプロセッサに割当てる著者制約（制約セット（２６ｃ）として示す）と、（２）Ｓｒｗ中のＳＭＲｌについて、５番目の項を下記に加えることによりメモリ消費が特定されることとが必要である。結果として得られる制約は、以下の（６１）、（２１ａ）、（２２ａ）、及び（６２）である。
【数２４】
0006030294.tif 000025
【００７２】
非揮発性メモリ（ＮＶＭ）の帯域幅制約−この制約は、割当てられた全てのアプリケーションに対するＮＶＭアクセスの総帯域幅にＡＣＭの上限を定義する。
【００７３】
ＮＶＭアクセスには二つのモード、即ち正常運転とパワーダウンが存在する。それぞれの帯域幅は別々に画定される。各アプリケーションは、正常運転帯域幅と、パワーダウン帯域幅とによって特徴付けられる。（ｂｎｉ，ｂｐｉ）。
【００７４】
各ＡＣＭは限界（ＢＮｋ，ＢＰｋ）によって特徴付けられる。
【００７５】
ＮＶＭ帯域幅の制約は以下の通りである。
【数２５】
0006030294.tif 000026
【００７６】
エンドシステムのメモリ制約−プロセッサ内のＣｏｍｍＰｏｒｔｓは、アプリケーションとのメッセージのやり取りを可能にする。プロセッサ上でこの目的のためにアプリケーションによって消費されるメモリの合計（エンドシステムメモリと呼ぶ）には限界がある。
【００７７】
送信されたメッセージは共有されない。受信されたメッセージの幾つかをアプリケーション間で共有することがあり、この場合、アプリケーションはＣｏｍｍＰｏｒｔｓも共有する。アプリケーションの割当てにおけるこのようなメモリの限界、ひいてはプロセッサ４０２〜４１０の設計を考慮するために、以下の変数の定義と制約とを考慮する。
【００７８】
共有メッセージＭｓｇｌの場合：ＳＭｊは、アプリケーションτｊが必要とする共有Ｒｘメッセージの組であり、［０，１］のｍｌｉは、メッセージｌがＡＣＭｉで受信される場合に１であり、ｅｓｍｌは、メッセージｌに必要な（メッセージｌを受信するアプリケーションの）ＥＳメモリの最大値であり、ＥＳＭｉはＡＣＭｉで利用可能なＥＳメモリの合計である。
【００７９】
非共有メッセージの場合：ｍｕｓｊＲｘはτｊのＲｘメッセージが必要とするメモリの合計であり、ｐｕｓｊＲｘはτｉの非共有Ｒｘ  ＣｏｍｍＰｏｒｔの総数であり、ＣＰＣｊＲｘはプロセッサｇｉのＲｘ  ＣｏｍｍＰｏｒｔ数の上限である。
【００８０】
このとき、エンドシステムメモリに対する制約は以下の関係に基づいている。
【数２６】
0006030294.tif 000027
上の式において、ｐｕｓｊＲｘはτｊの非共有Ｒｘ  ＣｏｍｍＰｏｒｔの総数であり、ｐｕｓｊＴｘはτｊの非共有Ｔｘ  ＣｏｍｍＰｏｒｔの総数であり、ＣＰＣｊＲｘはｇｉのＲｘ  ＣｏｍｍＰｏｒｔ数の上限であり、Ｍｓｇｌは共有メッセージであり、ＳＭｊは、アプリケーションτｊが必要とする一組の共有受信メッセージである。
【００８１】
図６は、本発明の一実施形態による、アビオニクスシステムを最適化するシステム６００の例示的な機能的ブロック図である。システム６００は、アビオニクスシステムのような大規模システムの性能最適化を大幅に単純化し、システムの軽量化、設計コンフィギュレーションの集中化による構成変更吸収能の最大化、及び将来の変更コストの最小化を可能にしながらシステム全体の安全性制約を満たす。システム６００は、限定しないが例えば、デスクトップ、ラップトップ、又はノートブックコンピュータ、ハンドヘルド計算デバイス（ＰＤＡ、携帯電話、パームトップなど）、メインフレーム、サーバ、クライアント、或いは所定の用途又は環境に望ましいか又は適切な他のあらゆる種類の専用又は汎用計算デバイスでありうる。システム６００は、一般に、物理的ハウジング（図示しない）、入力モジュール６０２、公式化モジュール６０４、混合整数線形計画法モジュール６０６、決定モジュール６０８、プロセッサモジュール６１０、メモリモジュール６１２、及びディスプレイモジュール６１４を含んでいる。
【００８２】
実用的なシステム６００は、任意の数の入力モジュール、任意の数のプロセッサモジュール、任意の数のメモリモジュール、及び任意の数のディスプレイモジュールを含みうる。図示のシステム６００は、説明を簡単にするために単純な実施形態を示している。システム６００のこのような要素とその他の要素とは互いに相互接続されており、システム６００の様々な要素間で通信を可能にしている。一実施形態では、システム６００のこのような要素とその他の要素とは、通信リンク６１６によって互いに相互接続されている。当業者であれば、本明細書に開示される実施形態と関連させて説明される種々の説明的ブロック、モジュール、回路、及び処理論理回路が、ハードウェア、コンピュータで読み取り可能なソフトウェア、ファームウェア、又はそれらの任意の実用的な組み合わせにおいて実施可能であることを理解するであろう。ハードウェア、ファームウェア、及びソフトウェアのこのような互換性及び適合性を説明するために、種々の説明的なコンポーネント、ブロック、モジュール、回路、及びステップについて、機能性の観点から概説する。このような機能性がハードウェア、ファームウェア、又はソフトウェアとして実施されるかどうかは、用途と、システム全体に課される設計の制約によって決まる。本明細書に記載される概念に詳しい者であれば、特定の用途のそれぞれについて、適切にこのような機能性を実施することができるが、そのような実施の判断は本発明の範囲にから逸脱するものではない。
【００８３】
入力モジュール６０２は、ユーザから入力データを受け取り、この入力データを公式化モジュール６０４に送信する。入力モジュール６０２は、限定しないが例えば、起動キー、タッチパッドキー、ローカル又はリモートからアクセスされるデータベースなどの入力手段を含むことができる。
【００８４】
公式化モジュール６０４は、入力データを受け取って、この入力データを一組の一次不等式と目的関数とに変換する。
【００８５】
混合整数線形計画法モジュール６０６は、一次不等式の組と目的関数とを使用して、限定しないが例えば、上述のような、プロセッサ資源割当て、及び通信資源割当てなどの最適解を計算する。
【００８６】
決定モジュール６０８は、最適解に基づいてアビオニクスシステムのプロセッサ要件を決定する。最適解の結果に基づいて、プロセッサ４０２〜４１０、及び任意の数の必要なプロセッサといったプロセッサ上の資源が決定される。
【００８７】
プロセッサモジュール６１０は、システム６００の機能をサポートするように構成されている。プロセッサモジュール６１０は、システム６００のプロセッサが適切に実行されるようにシステム６００の動作を制御することができる。例えば、プロセッサモジュール６１０は、混合整数線形計画法モジュール６０６と決定モジュール６０８との動作を制御することにより、アビオニクスシステムのプロセッサ４０２〜４１０の要件が最適解に基づいて決定されるように、混合整数線形計画法を実行する。このようにして、プロセッサモジュール６１０は、一組の既知のリアルタイムアビオニクスアプリケーションの動作及び機能要件を満たすネットワーク化されたシステムの開発及び性能最適化を単純化することができる。加えて、プロセッサモジュール６１０は、後述で更に詳細に説明するように、集中化させた設計コンフィギュレーションを実行することにより、変化吸収能を最大化し、それによって将来の変更に掛かる時間とコストとを最小化するとともに、システム全体の安全性制約を満たす。
【００８８】
プロセッサモジュール６１０は、入出力パラメータなどを表示するためにディスプレイモジュール６１４も制御する。更に、プロセッサモジュール６１０はメモリモジュール６１２にアクセスして、例えば入力データにアクセスする。プロセッサモジュール６１０は、本明細書に記載される機能を実行するように設計された汎用プロセッサ、連想メモリ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、任意の適切なプログラマブルロジックデバイス、離散ゲート又はトランジスターロジック、離散ハードウェアコンポーネント、或いは本発明に記載の機能を実行するように設計されたこれらの任意の組み合わせによって実施又は実現される。このようにして、プロセッサは、マイクロプロセッサ、コントローラ、マイクロコントローラ、ステートマシンなどとして実現される。プロセッサは、計算装置、例えばデジタル信号プロセッサとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、デジタル信号プロセッサコアと連動する一又は複数のマイクロプロセッサ、或いは他の何らかのこのような構成として実施することもできる。実際には、プロセッサモジュール６１０は、システム６００の動作に関連する機能、技術、及び処理タスクを実行する処理論理回路を含む。特に、この処理論理回路は、混合整数線形計画法モジュール６０６と決定モジュール６０８との動作をサポートし、最適化される大規模システムに計算資源を提供するプロセッサの最適数と性能を決定する。
【００８９】
メモリモジュール６１２は、システム６００の動作をサポートするようにフォーマットされた適量のメモリを有するあらゆる適切なデータ記憶領域とすることができる。メモリモジュール６１２は、後述するような方法でシステム６００の機能性をサポートするために必要なデータを記憶、維持、及び供給する。実用的な実施形態では、メモリモジュール６１２は、限定しないが例えば、非揮発性記憶装置（非揮発性半導体メモリ、ハードディスクデバイス、光ディスクデバイスなど）、ランダムアクセス記憶デバイス（例えば、ＳＲＡＭ、ＤＲＡＭ）、又は従来技術に既知のその他あらゆる形式の記憶媒体を含む。メモリモジュール６１２は、プロセッサモジュール６１０に連結することができ、限定しないが例えば、リスクアセスメントシナリオに対応する入力パラメータの値、及び出力パラメータの値を記憶することができる。
【００９０】
メモリモジュール６１２は、限定しないが例えば、ネットワーク通信及びプロセッサ資源割当てのためのパラメータのような一組の一次不等式を公式化するための、ユーザによる入力を記憶することができる。加えて、メモリモジュール６１２は、プロセッサモジュール６１０を使用した計算用のテーブルを収容し、動的に更新されるデータベースとすることができる。メモリモジュール６１２は、プロセッサモジュール６１０によって実行されるコンピュータプログラム、オペレーティングシステム、アプリケーションプログラム、プログラム処理を実行するうえで使用される一時的データなども記憶することができる。メモリモジュール６１２は、プロセッサモジュール６１０がメモリモジュール６１２から情報を読み出し、且つメモリモジュール６１２に情報を書き込めるように、プロセッサモジュール６１０に連結される。一実施例として、プロセッサモジュール６１０及びメモリモジュール６１２は、それぞれのＡＳＩＣ中に存在する。メモリモジュール６１２は、プロセッサモジュール６１０に統合することもできる。一実施形態では、メモリモジュール６１２は、プロセッサモジュール６１０が命令を実行する間に一時的な変数又はその他の中間情報を記憶するキャッシュメモリを含む。
【００９１】
ディスプレイモジュール６１４は、システム６００の入力パラメータと出力パラメータとを表示する。ディスプレイモジュール６１４は、図８に示される結果のような、プロセッサ資源割当てに対する最適解の結果を表示する。ディスプレイモジュール６１４は、ユーザ入力動作を受け取って、データを入力及び伝送し、システム６００に備わる機能のための動作コマンドを入力することができる。ディスプレイモジュール６１４は、動作コマンドを受け取り、受け取った動作コマンドに応答してプロセッサモジュール６１０に対して動作コマンド情報を出力する。ディスプレイモジュール６１４は、限定しないが例えば、有機電気ルミネセンス（ＯＥＬ）パネル、液晶パネル（ＬＣＤ）などにより形成される。プロセッサモジュール６１０から供給された画像／映像信号により、様々な種類の情報をディスプレイモジュール６１４に表示することができる。
【００９２】
図７は、本発明の一実施形態によるアビオニクスシステム最適化プロセスを示す例示的なフロー図である。プロセス７００に関連して実行される種々のタスクは、このプロセス法を実行するためにコンピュータで実行可能な命令を有するソフトウェア、ハードウェア、ファームウェア、コンピュータで読み取り可能な媒体、又はこれらの組み合わせによって実行される。プロセス７００は、半導体メモリ、磁気ディスク、光ディスクなどのコンピュータで読み取り可能な媒体に記録され、例えば、コンピュータで読み取り可能な媒体が記憶されているプロセッサモジュール６１０のようなコンピュータのＣＰＵによってアクセス及び実行可能である。プロセス７００は任意の数の追加タスク又は別のタスクを含むことができ、図７に示されたタスクは図示の順番で実行される必要はなく、且つプロセス７００は、本明細書には詳細に記載しない追加的な機能性を有する更に包括的な手順又はプロセスに統合可能であることに注意されたい。説明のために、プロセス７００に関する以下の説明では、図１〜４及び６に関連して上述した要素に言及する場合がある。実用的な実施形態では、プロセス７００の一部はシステム６００の様々な要素、例えば、公式化モジュール６０４、混合整数線形計画法モジュール６０６、プロセッサモジュール６１０、及びメモリモジュール６１２によって実行される。プロセス７００は、図１〜４、及び６に示された実施形態に類似の機能、材料、及び構造を有することができる。したがって、共通の特徴、機能、及び要素についてはここでは重複して説明しない。
【００９３】
プロセス７００は、上述のように、一組のアビオニクスシステム構成の制約を、一組の一次不等式及び目的関数として公式化することによって開始される（タスク７０２）。
【００９４】
プロセス７００は、続いて、一次不等式の組から凸ポリトープを形成する（タスク７０４）。凸ポリトープ（即ち、シンプレックスとして知られるもの）は、ポリトープの特定の事例であり、ｎ次空間における凸状の点の組でもあるという追加的特性を有している。適切に公式化された一次不等式の組は、凸ポリトープを形成するので、目的関数によって解くことができる。
【００９５】
プロセス７００は、続いて、混合整数線形計画手段を用いて凸ポリトープにわたって目的関数を最適化することにより、最適解を取得する（タスク７０６）。線形計画法（ＬＰ）は、一次方程式として表現される何らかの要件リストの所与の数学的モデルにおいて、最善の結果（最大利益又は最低コスト）を達成する方法を決定するための数学的方法である。更に形式的に言うと、線形計画法は、一次方程式と一次不等式との制約を受ける線形の目的関数を最適化するための技術である。ポリトープと、このポリトープ上に規定された実数値アフィン関数により、線形計画法法は、ポリトープの頂点を検索することで、ポリトープ上に、この関数が最小値（又は最大値）を有する一点を、そのような点が存在する場合に見つける。線形プログラムは、カノニカル形式で表現することができる問題であり、即ち、ｍｉｎ  ｃＴｘであることにより、Ａｘ＜＝ｂである（ここで、ｘは（決定されるべき）変数のベクトルを表わし、ｃ及びｂは（既知の）係数のベクトルであり、Ａは係数の（既知の）マトリクスである）。最大化又は最小化されるこのような式は、目的関数と呼ばれる（即ち、この場合はｃＴｘ）。方程式Ａｘ≦ｂは、目的関数を最適化する凸ポリトープを特定する制約である（即ち、この文脈では、二つのベクトルが、一方への全入力が、他方の対応する入力以下であるとき、比較可能であり、それ以外の場合比較不能である）。
【００９６】
線形計画法は、種々の研究分野に適用可能である。線形計画法は、ビジネス及び経済の分野でもっとも広く使用されているが、一部のエンジニアリングの問題にも利用可能である。線形計画法のモデルを使用する産業には、旅客、エネルギー、電気通信、及び製造が含まれる。線形計画法は、プランニング、ルーティング、スケジューリング、割当て、及び設計における様々な種類の問題のモデル化に有用であることが分かっている。
【００９７】
未知の変数がすべて整数でなければならない場合、この問題は整数計画法（ＩＰ）又は整数線形計画法（ＩＬＰ）問題と呼ばれる。最悪の場合でも効率的に解決される線形計画法とは対照的に、整数計画法の問題は、多くの現実的な状況（束縛変数を有する状況）においてＮＰ困難である。０−１整数計画法又は２進整数計画法（ＢＩＰ）は整数計画法の特殊な事例であり、変数が（任意の整数ではなく）０又は１でなければならない。この問題も、ＮＰ困難として分類され、実際、決定のバーションは、カープの２１のＮＰ完全の問題のうちの一つであった。
【００９８】
未知の変数の一部のみが整数であればよい場合、問題は混合整数計画法（ＭＩＰ）問題と呼ばれる。これらは通常ＮＰ困難でもある。しかしながら、ＩＰ及びＭＩＰ問題の、効率的に解くことが可能な幾つかの重要なサブクラス、特に制約マトリクスが完全にユニモジュラーであり、制約の右辺が整数である問題が存在する。整数線形計画法を解くための最新のアルゴリズムには、切除平面法、分枝限定法、分枝カット法、分枝価格法が含まれ、問題が何らかの余剰構造を有する場合、遅延列生成法を適用することができる。
【００９９】
プロセス７００は、その後、最適解に基づいてアビオニクスシステムのプロセッサ要件を決定する（タスク７０８）。混合整数線形計画による解決法の結果に基づいて、プロセッサ上の資源、及び必要なプロセッサ数が決定される。
【０１００】
図８は、本発明の一実施形態によって最適化された、一定の期間における例示的なプロセッサ資源割当てを示している。図８に示すように、プロセッサ１に割当てられたアプリケーションの二つの周期例５０６（図５参照）が、ここではプロセッサ０に割当てられたアプリケーションの四つの周期例５０８に加わっている。このように、図５に示す最適化されていない場合には六つのプロセッサが必要であったが、図８に示すように、最適解の効率のよい資源割当てにより、ここで必要なのは五つのプロセッサ０〜４のみである。
【０１０１】
上述のように、本明細書に記載された例示的システムは、アビオニクスプロセッサ、プロセッサ間の通信を可能にするネットワーク、及びアナログインターフェース、離散インターフェース、及びローカルデジタルネットワークインターフェースを提供する入出力(ＩＯ)ゲートウェイを含む。航空機のようなシステムが洗練されるにつれて、アビオニクスシステム内部において、処理パワー、ネットワーク帯域幅、及びインターフェースの多様性に対する需要がこれまでになく増大している。性能、安全性、動作可能性の要件を満たすと同時に、アビオニクスシステム内のネットワーク化されたシステム重量を最小化するために、プロセッサに対するアプリケーションの割当て、ネットワークチャネルに対するメッセージの割当て、メッセージに対するパラメータの割当て、及びＩＯゲートウェイに対する物理的な有線接続の割当ての最適化された組を決定することは、非常に難しい問題でありうる。
【０１０２】
一実施形態では、システムを一組の接続された領域に分解し（領域分解）、各領域において集中化させた設計を繰り返し連続して求め、次いでシステム全体のレベルで満足のゆく対策が講じられるまで繰返すことにより、大規模アビオニクスシステムのための最適な資源割当てが行われる。これについて後述で更に詳細に説明する。
【０１０３】
図９は、本発明の一実施形態により集中化させた設計コンフィギュレーションに基づくアビオニクス資源割当て最適化プロセス９００を示す例示的フロー図である。プロセス９００に関連して実行される様々なタスクは、本プロセスの方法を実行するためのコンピュータで実行可能な命令を有するソフトウェア、ハードウェア、ファームウェア、コンピュータで読み取り可能な媒体、又はこれらの組み合わせによって実行される。プロセス９００は、コンピュータで読み取り可能な媒体、例えば半導体メモリ、磁気ディスク、光ディスクなどに記録することができ、例えば、コンピュータで読み取り可能な媒体を記憶しているプロセッサモジュール６１０のようなコンピュータのＣＰＵによりアクセス及び実行可能である。プロセッサ９００は任意の数の追加タスク又は別のタスクを含むことができ、図９に示されたタスクは図示の順番で実行される必要はなく、且つプロセス９００は、本明細書には詳細に記載しない追加的な機能性を有する更に包括的な手順又はプロセスに統合可能であることに注意されたい。説明のために、プロセス９００に関する以下の説明では、図１〜４及び６〜８に関連して上述した要素に言及する場合がある。実用的な実施形態では、プロセス９００の一部はシステム６００の様々な要素、例えば、プロセッサモジュール６１０、及びメモリモジュール６１２によって実行される。プロセス９００は、図１〜４、及び６〜８に示された実施形態に類似の機能、材料、及び構造を有することができる。したがって、共通の特徴、機能、及び要素についてはここでは重複して説明しない。
【０１０４】
プロセス９００は、複雑なハードウェアシステムを一組の接続する領域に分解し、各領域において集中化させた設計を繰り返し連続して求め、次いでシステム全体のレベルでno
目的に満足のゆく解決策が得られるまで繰返すことにより、複雑なハードウェアシステムのための最適な割当てを決定する。各領域を他の領域から完全に独立して解決することはできない。各領域は、他の領域に基づいて解決される。領域間の境界は、近隣領域との相互作用が最小化されるように選択される。更に、領域のインターフェースには特定の方向の側面がある。例えば、Ｉ／Ｏゲートウェイに対するセンサ／エフェクタの配線インターフェースは、ネットワークＶＬの機能ではない。しかし、ネットワークＶＬは、Ｉ／Ｏゲートウェイに対するセンサ／エフェクタの配線インターフェースの機能である。これにより、通常、プロセス９００は、「下位」のレベルのドメインからインターフェースを一定に保持しながら、目前のドメインの集中化させた解決法を求めることができる。しかしながら、幾つかの実施形態では、上位ドメインと下位ドメインとの間に強い関係が存在する。この場合、集中化させた設計を全て決定するためには繰り返しが必要である。
【０１０５】
プロセス９００は、コンセントレータのノード３２２〜３２６と４１２〜４１６とに対する集中化させたセンサ／エフェクタの配線割当てを決定することにより開始される（タスク９０２）。センサ／エフェクタの必要性は、インターフェースの種類と性能とによって特徴付けられると共に、配線重量を生じさせる。Ｉ／Ｏゲートウェイ機能の実装態様は、限られた数量のアナログインターフェース、離散インターフェース、及びシリアルデジタルインターフェースを有している。ゲートウェイ機能には、インターフェースを処理するための定まったスケジュールが必要である。加えて、このようなセンサ／エフェクタインターフェースの処理はＩ／Ｏゲートウェイプロセッサ性能を消費する。Ｉ／Ｏゲートウェイのスケジューリングは、一組の要件によって生じる待ち時間制約も満たさなければならない。タスク９０２の成果として、Ｉ／Ｏゲートウェイの第１次処理スケジュールでのＩ／Ｏゲートウェイに対するセンサ／エフェクタインターフェースの各々の割当てが得られる。
【０１０６】
プロセス９００は、メッセージに対する集中化させたパラメータ割当てを決定することである（タスク９０４）。メッセージは、既知の出版／購読要件に基づく機能的にコヒーレントなパラメータの組により形成されなければならない。これらの要件は、各パラメータ又はパラメータの組について、単一の送信元と、複数の宛先とを特定する。加えて、これらの要件により、メッセージに含まれるパラメータの性質と数、パラメータのグループ化方法、パラメータの最大可能トランスポート待ち時間、及びこれらのパラメータについて送信元が選択したグループ化が存在するかどうかが特定される。メッセージは、一又は複数のパラメータから構成される。タスク９０４は、特定のコンセントレータノード３２２〜３２６及び４１２〜４１６に対するセンサ／エフェクタ３０２〜３２０へのインターフェースの割当てを一定に保持する。これにより、大きさと出力ポートのレートとによって特徴付けられる一組のメッセージが確立される。性能の実行可能性を検証するために、精密なコンセントレータノード３２２〜３２６及び４１２〜４１６のスケジュールが生成される。
【０１０７】
プロセス９００は、続いて、仮想リンクに対する集中化させたメッセージ割当てを決定する（タスク９０６）。仮想リンクは、特定のメッセージに特定の質のサービスを提供すると同時にネットワークの帯域幅を最小化して必要な待ち時間を達成するシステムインテグレーターのための手段である。仮想リンクは、単一の送信元からの一又は複数のメッセージをグループ化する論理的制約であり、一又は複数の宛先に保証された帯域幅を提供する。各メッセージにはサブ仮想リンクが割当てられて、特定のメッセージのための仮想リンク内でサービスの質が改善される。仮想リンクは、優先度、伝送タイマー期間、伝送タイマーオフセット、最大伝送単位、及び帯域幅割当てギャップによって特徴付けられる。これらのうち最大伝送単位と帯域幅割当てギャップとが、仮想リンクの帯域幅を決定する。各伝送用列線交換ユニット（ＬＲＵ）及び各購読用ＬＲＵは、仮想リンクの帯域幅と数とに制約を有する。ＬＲＵ制約は全てのＬＲＵについて同一ではない。仮想リンクへのメッセージの割当てにおいては、ＬＲＵ制約と、メッセージによるパラメータの待ち時間要件とに留意することが必要である。この段階への入力は、全てのパラメータがメッセージに割当てられていることである。処理にアプリケーションを割当てるのに、初期推定（initial guess）を使用してもよい。これは、アプリケーションの大グループ化に関連する情報を使用して行うことができる。出力は、仮想リンクに割当てられた一組のメッセージであり、待ち時間要件と既知のＬＲＵ仮想リンク及び帯域幅の制限を満たす属性を有している。
【０１０８】
プロセス９００は、続いて、プロセッサ４０２〜４１０に対する集中化させたアプリケーション割当てを決定する（タスク９０８）。通信の必要性は、アプリケーションが必要とする仮想リンクの数（ポイントツーマルチポイント通信リンク）と、仮想リンクの通信帯域幅とによって特徴付けられる。Ｉ／Ｏの必要性は、プロセッサ４０２〜４１０エンドシステムの各々の内部で必要とされるメモリサイズとポートタイプとによって特徴付けられる。タスク９０８の入力は、仮想リンクへのメッセージの割当てである。タスク９０８の出力は、消費される資源が十分であり、且つ上述のような何らかの目的関数が満たすようなプロセッサ４０２〜４１０へのアプリケーションの割当てであり、プロセッサ間でローディング資源の使用が一定になることである。
【０１０９】
プロセス９００は、続いて、集中化させた複雑なハードウェアシステムの資源割当てがマージン要件を満たすかどうかをチェックする（照会タスク９１０）。集中化させた複雑なハードウェアシステムの資源割当てがマージン要件を満たさない場合（照会タスク９１０の「いいえ」）、プロセス９００はタスク９０２に戻る。集中化させた複雑なハードウェアシステムの資源割当てがマージン要件を満たす場合（照会タスク９１０の「はい」）、プロセス９００はタスク９１２に進む。
【０１１０】
プロセス９００は、続いて、集中化させた複雑なハードウェアシステムの資源割当てを報告する（タスク９１２）。報告には、限定されないが例えば、ディスプレイスクリーン上への表示、ペーパーレポートの生成などが含まれる。
【０１１１】
このようにして、領域分解により、プロセッサの最適数、性能、及び大規模システムの最適化が行われて、民間航空機及び軍用航空機におけるアビオニクスシステムの開発のような、複雑なハードウェアシステムの開発が可能となる。これにより、ネットワーク化されたシステムの開発及び性能最適化が単純化されると共に、開発に掛かる時間とコストが低減され、更にはアプリケーションの必要性が確実に満たされる。
【０１１２】
本明細書において、「コンピュータプログラム製品」、「コンピュータで読取り可能な媒体」などの用語は、一般的に、メモリ、記憶装置、又は記憶ユニットのような媒体を指す。このような形態及びその他の形態のコンピュータで読取り可能な媒体は、プロセッサモジュール６１０によって使用される一又は複数の命令を記憶して、プロセッサモジュール６１０に特定の動作を実行させる際に使用される。このような命令は、一般に「コンピュータプログラムコード」又は「プログラムコード」と呼ばれ（コンピュータプログラムの形態又はその他のグループにグループ化される）、実行されると、システム６００の複雑なハードウェアシステムの最適化方法を可能にする。
【０１１３】
上述の記載は、要素、ノード、又は特徴が互いに「接続」又は「連結」されていることに言及している。本明細書で使用される場合、特に断らない限り、「接続」とは、必ずしも機械的にではなく、一の要素／ノード／特徴が別の要素／ノード／特徴に直接接合されている（又は直接連絡している）ことを意味する。同様に、特に断らない限り、「連結」とは、必ずしも機械的にではなく、一の要素／ノード／特徴が別の要素／ノード／特徴に直接又は間接に接合されている（或いは直接又は間接に連絡している）ことを意味する。したがって、図３〜４、及び図６は要素の例示的配置を示しているが、本発明の一実施形態には追加の中間要素、デバイス、機構、又はコンポーネントが存在してもよい。
【０１１４】
本明細書に使用される用語及び表現と、それらの変化形は、特に断らない限り、限定的なものではなくオープンエンドなものと理解されるべきである。上記の例として、用語「含む」は、「限定せずに含む」などを意味し、用語「例」は、説明されるアイテムの例示的事例を挙げるために使用されるのであって、その排他的又は限定的なリストを提供するものではなく、「従来の」、「常套的な」、「通常の」、「標準的な」、「既知の」、といった形容詞、及び同様の意味を有する用語は、説明されるアイテムを所与の期間に限定するものでも、所与の時点で利用可能なアイテムに限定するものではなく、現在又は未来の何れかの時点で利用可能な従来の、常套的な、通常の、又は標準の技術を包含するものである。同様に、接続詞「及び」で連結されたアイテムの組は、そのような組にこれらアイテムの全てが含まれなくてはならないということを意味しているのではなく、特に断らない限り、「及び／又は」で連結されていると解釈すべきである。同様に、接続詞「又は」で連結されたアイテムの組は、その組の中で互いに排他的であること意味しているのではなく、特に断らない限り、「及び／又は」で連結されていると解釈すべきである。更に、本発明のアイテム、要素、又はコンポーネントが単数形で記載又は特許請求されていたとしても、単数形に限定されることを明確に断っていない限り、本発明の範囲内で複数形が考慮される。「一又は複数の」、「少なくとも」、「限定されないが」といった広義の用語及び表現、或いは一部事例における他の同様の表現は、そのような広義の表現が使用されていない場合に狭義の解釈が意図されている、又は必要とされていることを意味するものではない。
【符号の説明】
【０１１５】
３００    アビオニクスシステム
３０２〜３２０    センサ／アクチュエータ
３２２〜３２６    ノード
４００    アビオニクスシステム
４０２〜４１０    プロセッサ
４１２〜４１６    ノード
５０２〜５０８    アプリケーションの周期例
６０２    入力モジュール
６０４    公式化モジュール
６０６    混合整数線形計画モジュール
６０８    決定モジュール
６１０    プロセッサモジュール
６１２    メモリモジュール
６１４    ディスプレイモジュール
【図１】
0006030294.tif 000034
【図２】
0006030294.tif 000035
【図３】
0006030294.tif 000036
【図４】
0006030294.tif 000037
【図５】
0006030294.tif 000038
【図６】
0006030294.tif 000039
【図７】
0006030294.tif 000040
【図８】
0006030294.tif 000041
【図９】
0006030294.tif 000042