"システムのプロセッサ要件を最適化する方法であって、一組のシステム構成の制約を、一組の一次不等式及び目的関数として公式化すること、前記一次不等式の組から凸ポリトープを形成すること、混合整数線形計画手段を使用して前記凸ポリトープにより前記目的関数を最適化することにより最適解を取得すること、及び前記最適解に基づいてシステムのプロセッサ要件を決定することを含む方法。前記システム構成の制約の組により、以下の関係式:上式中、uiはプロセッサであり、xは未知の割当て変数であり、hは未知のプロセッサ速度であり、dはスケジューリング変数であり、ejは、ビンに割当てられたアプリケーションの実行時間の合計であり、qlはプロセッサuiのビンサイズであり、q1はqlのビンのインクリメントであり、pjはi番目のアプリケーションの期間であるに基づいてプロセッサ速度を決定する、請求項1に記載の方法。前記システム構成の制約の組が、以下の関係式:上式中、rajはアプリケーションjが必要とするRAMであり、RAiはACMgiが供給するRAMの合計であり、rojはアプリケーションjが必要とするROMであり、ROiはACMgiが供給するROMの合計であり、rnjはアプリケーションjが必要とする非揮発性メモリであり、RNiはACMgiが供給する非揮発性メモリの合計であり、pjはi番目のアプリケーションの期間であり、q1はビンのインクリメントであるに基づくプロセッサのメモリサイズに関する制約を含む、請求項1に記載の方法。前記システム構成の制約の組が、複雑なハードウェアシステム構成の制約を含む、請求項1に記載の方法。一組のシステム構成の制約を受け取る入力モジュール、前記システム構成の制約の組を、一組の一次不等式及び目的関数として公式化する公式化モジュール、前記一次不等式の組の凸ポリトープにより目的関数を最適化することにより最適解を取得する混合整数線形計画法モジュール、並びに前記最適解に基づいてシステムのプロセッサ要件を決定する決定モジュールを備えている、プロセッサ要件最適化システム。前記システムのプロセッサ要件と最適解とを表示するディスプレイモジュールを更に備えている、請求項5に記載のプロセッサ要件最適化システム。システムが複雑なハードウェアシステムである、請求項5に記載のプロセッサ要件最適化システム。前記システム構成の制約の組によって、以下の関係式:上式中、uiはプロセッサであり、xは未知の割当て変数であり、hは未知のプロセッサ速度であり、dはスケジューリング変数であり、ejは、ビンに割当てられたアプリケーションの実行時間の合計であり、qlはプロセッサuiのビンのサイズであり、q1はqlのビンのインクリメントであり、pjはi番目のアプリケーションの期間であるに基づいてプロセッサ速度が決定される、請求項7に記載のプロセッサ要件最適化システム。前記システム構成の制約の組が、以下の関係式:上式中、rajはアプリケーションjが必要とするRAMであり、RAiはACMgiが供給するRAMの合計であり、rojはアプリケーションjが必要とするROMであり、ROiはACMgiが供給するROMの合計であり、rnjはアプリケーションjが必要とする非揮発性メモリであり、RNiはACMgiが供給する非揮発性メモリの合計であり、pjはi番目のアプリケーションの期間であり、q1はビンのインクリメントであるに基づくプロセッサのメモリサイズに関する制約を含んでいる、請求項7に記載のプロセッサ要件最適化システム。複雑なハードウェアシステムに対する資源割当てシステムであって、コンセントレータのノードに対する集中化させたセンサ/エフェクタの配線割当てを決定し、メッセージに対する集中化させたパラメータ割当てを決定し、仮想リンクに対する集中化させたメッセージ割当てを決定し、プロセッサに対する集中化させたアプリケーション割当てを決定し、且つ集中化させたシステム資源割当てがマージン要件を満たす場合、この集中化させたシステム資源割当てを報告するためのロジックを含んでいるシステム。以下の関係式:上式中、uiはプロセッサであり、xは未知の割当て変数であり、hは未知のプロセッサ速度であり、dはスケジューリング変数であり、ejは、ビンに割当てられたアプリケーションの実行時間の合計であり、qlはプロセッサuiのビンのサイズであり、q1はqlのビンのインクリメントであり、pjはi番目のアプリケーションの期間であるに基づいてプロセッサの数を決定するためのロジックを更に含んでいる、請求項10に記載のシステム。以下の関係式:上式中、rajはアプリケーションjが必要とするRAMであり、RAiはACMgiが供給するRAMの合計であり、rojはアプリケーションjが必要とするROMであり、ROiはACMgiが供給するROMの合計であり、rnjはアプリケーションjが必要とする非揮発性メモリであり、RNiはACMgiが供給する非揮発性メモリの合計であり、q1はビンのインクリメントであり、pjはi番目のアプリケーションの期間であるに基づいてプロセッサのメモリサイズに関する制約を決定するためのロジックを更に含んでいる、請求項11に記載のシステム。複雑なハードウェアシステムがアビオニクスシステムである、請求項11に記載のシステム。複雑なハードウェアシステムの資源割当て方法であって、コンセントレータのノードに対する集中化させたセンサ/エフェクタ配線割当てを決定すること、メッセージに対する集中化させたパラメータ割当てを決定すること、仮想リンクに対する集中化させたメッセージ割当てを決定すること、プロセッサに対する集中化させたアプリケーション割当てを決定すること、並びに集中化させたシステム資源割当てがマージン要件を満たす場合、この集中化させたシステム資源割当てを報告することを含む方法。システムが複雑なハードウェアシステムである、請求項14に記載の方法。以下の詳細な説明は、例示的な性質を有し、本発明、或いは本発明の実施形態の用途及び使用を限定することを意図していない。特定のデバイス、技術、及び用途の説明は、実施例としてのみ提示されている。本明細書に記載された実施例に対する修正は、当業者には明らかであろうし、ここに規定される一般法則は、本発明の精神及び範囲を逸脱せずに、他の実施例及び用途に適用可能である。更に、明示、暗示の区別を問わず、発明の分野、背景技術、発明の概要、又は以下の詳細な説明において提示されるいかなる理論にも拘束される意図はない。本発明の範囲は、請求の範囲と一致し、記載及び図示される実施例に限定されない。本明細書では、本発明の実施形態を、機能的及び/又は論理的ブロック要素と様々な処理ステップとの観点から説明する。このようなブロック要素は、特定の機能を実行するように構成された任意の数のハードウェア、ソフトウェア、及び/又はファームウェア要素によって実現される。説明を簡単にするために、本明細書では、システムの処理装置設計、共通コアシステムCCS、複雑なハードウェアシステム、計算過程、数学的公式、及びその他の機能的側面に関連する従来の技術及び構成要素並びにシステムの個々の動作要素については詳細に記載しない。加えて、当業者であれば、本発明の実施形態が種々の計算マシンと組み合わせて実施されうること、及び本明細書に記載される実施形態は本発明の例示的実施形態にすぎないことを理解するであろう。本明細書では、本発明の実施形態は、非限定的な実用的用途の観点から、即ち、アビオニクスシステムのような複雑なハードウェアシステムの資源最適化の観点から説明される。しかしながら、本発明の実施形態は、そのようなアビオニクスの用途に限定されず、本明細書に記載される技術は他の最適化の用途においても利用することができる。例えば、本発明の実施形態は、限定しないが、海軍システムの最適化、海軍の空/海/陸用兵器制御システムの最適化、潜水艦における音響解析システムの最適化、航空管制システムの最適化、医療情報システムの最適化、音響及び電磁信号プロセッサの最適化、操縦系統の最適化、システムコントローラの最適化、ナビゲーションコントローラ/システムの最適化などの複雑なハードウェアシステムの最適化に適用可能である。加えて、本発明の実施形態は、限定しないが、海事/海上/海中、陸上、宇宙、及び航空関連のビークルシステム、例えば、航空機、宇宙機、宇宙空間打ち上げ用ロケット、自動車、陸上ビークル、潜水艦、船舶などの複雑なハードウェアシステムの最適化に適用可能である。本明細書を読んだ当業者には明らかであるように、後述は、本発明の実施例及び実施形態であり、このような実施例に従う動作に限定されていない。本明細書の例示的実施形態の範囲から逸脱せずに、他の実施形態を利用することができ、構造に変化を加えることができる。図面を更に詳しく参照し、本発明の実施形態を、図1に示される航空機の製造及び整備方法100と、図2に示される航空機200とに関して説明する。製造前の段階では、例示的な方法100は、航空機200の仕様及び設計104と、材料調達106とを含む。製造段階では、航空機200のコンポーネント及びサブアセンブリの製造108と、システムインテグレーション110とが行われる。その後、航空機200は認可及び納品112を経て就航114される。顧客により就航される間に、航空機200は定期的なメンテナンス及び整備116改造、再構成、改修なども含みうるを受ける。方法100の各プロセスは、システムインテグレーター、第三者、及び/又はオペレーター例えば顧客によって実施又は実行されうる。本明細書の目的のために、システムインテグレーターは、限定しないが、任意の数の航空機製造者、及び主要なシステム下請業者を含むことができ、第三者は、限定しないが、任意の数のベンダー、下請業者、及び供給業者を含むことができ、オペレーターは、限定しないが、航空会社、リース会社、軍事団体、サービス機関などでありうる。図2に示されるように、例示的方法100によって製造された航空機200は、複数のシステム220及び内装222を有する機体218を含むことができる。高レベルのシステム220の例には、推進システム224、電気システム226、油圧システム228、及び環境システム230のうちの一又は複数が含まれる。任意の数の他のシステムが含まれてもよい。航空宇宙産業の例を示したが、本発明の実施形態は、自動車産業のような他の産業にも適用可能である。本明細書に具現化された装置及び方法は、製造及び整備方法100の一又は複数の任意の段階で採用することができる。例えば、製造プロセス108に対応するコンポーネント又はサブアセンブリは、航空機200の就航中に製造されるコンポーネント又はサブアセンブリと同様の方法で作製又は製造することができる。また、一又は複数の装置の実施形態、方法の実施形態、又はそれらの組み合わせは、例えば、航空機200の組立てを実質的に効率化するか、又は航空機200のコストを削減することにより、製造段階108及び110の間に利用することができる。同様に、装置の実施形態、方法の実施形態、又はそれらの組み合わせのうちの一又は複数を、航空機200の就航中に、限定しないが、例えばメンテナンス及び整備116に利用することができる。上述のように、計算処理パワーの必要を満たすために、一般に、新世代の高速プロセッサが使用される。高速プロセッサにより、前世代のプロセッサと比較して、ネットワーク化されたシステムの統合性及び複雑性が大きく増大する。このような観察結果により、本明細書に記載のアプローチを必要とする、解決すべき二つの課題、即ち、1大規模システムの最適化と、2このようなシステムの計算資源を提供するために最適なプロセッサの数及び性能の決定とが特定される。大規模システムの最適化は、このようなシステムが必要とする多数の変数により、計算が複雑となって現行方法では計算時間が法外に長くなるので極めて難しい。実際には、システムを、ゆるく連結された領域に分解することが必要であり、その際には、ピース毎の反復プロセスにより、システム内のこのような領域の暫定的な解決法を決定する。これには非常に長い時間が掛かり、解決が可能でない場合もあるので、解決法が見つかる場合も、偶然、又は資源の過剰な使用によるものであり、いずれにしろ最適な結果とはいえない。現代のアビオニクスシステムは、非常に多様な要素、限定しないが例えば、センサ、通信装置、ナビゲーションデバイス、アクチュエータ、バックアップデバイス、解析モジュール、アプリケーションソフトウェアプログラム、計算資源、光ファイバなどを含んでいる。複雑性と必要な資源を低減するために、可能且つ実用的である場合には、多様な要素は統合される。図3は、アビオニクスシステム300のセンサ/アクチュエータ302~320とコンセントレータのノード322~326との例示的な位置を示す航空機の図である。しかしながら、本発明の実施形態はこのようなアビオニクスシステムに限定されるものではなく、上述のような他の複雑なハードウェアシステムと複雑な製品とに適用可能である。アビオニクスシステムは、アビオニクスシステム300について示されている少数の要素よりはるかに複雑である。アビオニクスシステム300は、昇降舵位置センサ302、方向舵位置センサ304、ラバトリー煙検知センサ306、キャビン温度センサ308、スポイラーアクチュエータ310、燃料センサ312、エンジンスロットルアクチュエータ314、エンジンセンサ316、フラップアクチュエータ318、航空灯アクチュエータ320、及びコンセントレータのノード322/324/326を含んでいる。昇降舵位置センサ302は、昇降舵に連結されたエンコーダを含む。昇降舵位置センサ302は、昇降舵の位置情報を含むデータパケットを周期的に送信する。方向舵位置センサ304は、方向舵に連結されたエンコーダを含む。方向舵位置センサ304は、方向舵の位置情報を含むデータパケットを周期的に送信する。ラバトリー煙検知センサ306は、ラバトリー図示しないの状態をモニタリングする電子検出器を含む。ラバトリー煙検知センサ306は、煙が生じると煙検知情報を含むデータパケットを送信する。データパケットが送信される時間は不明であるので、資源をデータパケットに割当てなければならないが、このような資源割当てが生命維持に関わる通信を妨害することがあってはならない。キャビン温度センサ308は、キャビンの温度をモニタリングする電子温度モニタを含む。キャビン温度センサ308は、周期的に、又は過剰な温度事象に応答して、温度情報を含むデータパケットを送信する。スポイラーアクチュエータ310は、スポイラーの位置決めを行うアクチュエータを含む。スポイラーアクチュエータ310は、パイロットの指示に応答してコマンドパケットを受信し、それに従ってスポイラーの位置を設定する。燃料センサ312は、燃料タンク内の燃料を測定する燃料モニタを含む。燃料センサ312は、周期的に、又は低燃料事象に応答して、燃料情報を含むデータパケットを送信する。エンジンスロットルアクチュエータ314は、エンジンスロットル図示しないの位置を設定するアクチュエータを含む。エンジンスロットルアクチュエータ314は、パイロットのコマンドに応答してコマンドパケットを受信し、それに従ってエンジンスロットルを設定する。エンジンセンサ316は、様々なエンジンパラメータをモニタリングする電子センサボックスを含む。エンジンセンサ316は、エンジン動作情報を含むデータパケットを周期的に送信する。フラップアクチュエータ318は、フラップ図示しないの位置を設定するアクチュエータを含む。フラップアクチュエータ318は、パイロットのコマンドに応答してコマンドパケットを受信し、それに従ってフラップの位置を設定する。航空灯アクチュエータ320は、航空灯図示しないの点灯又は消灯を行うアクチュエータを含む。航空灯アクチュエータ320は、パイロットの指示に応答してコマンドパケットを受信し、それに従って点灯状態を設定する。コンセントレータのノード322/324/326は、センサ/エフェクタ302~320とのデータパケットの送受信を制御するネットワークルータを含む。図4は、アビオニクスシステム400の例示的アクチュエータを示している。アビオニクスシステム400は、センサ/エフェクタ302~320、コンセントレータノード322~326と412~416、及びプロセッサ402~410を含んでいる。センサ/エフェクタ302~320は上述の通りであり、それらの要件に従ってデータパケットの送受信を行う。センサ/エフェクタ302~320の必要性はインターフェースの種類と性能とによって特徴付けられると共に、ワイヤ重量を生じさせる。コンセントレータのノード322~326と412~416の機能的実装形態には、制限された数のアナログインターフェース、離散インターフェース、及びシリアルデジタルインターフェースが含まれる。コンセントレータのノード322~326と412~416の機能は、センサ/エフェクタ302~320からのパケットを処理するために、決まったスケジュールを必要とする。加えて、センサ/エフェクタ302~320へのプロセスインターフェースは、コンセントレータのノード322~326と412~416のプロセッサ性能を消費する。コンセントレータのノード322~326と412~416のスケジューリングは、要件による待ち時間制約も満たさなければならない。この結果、コンセントレータのノード322~326と412~416のための第1の順番の処理スケジュールにより、コンセントレータのノード322~326と412~416のセンサ/エフェクタ302~320にインターフェースの各々が割当てられる。プロセッサ402~410は、センサ/エフェクタ302~320をサポートする様々なアプリケーションと、その他のアビオニクスアプリケーションとを処理する。アプリケーションの計算の必要性は、プロセッサ速度によりパラメータ化された実行時間と、厳密な先取り可能でない実行周期と、及びメモリ要件とによって特徴付けられる。プロセッサの資源割当てについて後述する。図5は、一定の期間にわたる、最適化されていないプロセッサ資源割当ての一実施例を示している。図5には、アプリケーションが割当てられた六つのアプリケーション計算モジュールACM又はプロセッサ0~5が示されている。アプリケーション502の四つの周期例がプロセッサ5に割当てられており、アプリケーション504の二つの周期例がプロセッサ2に割当てられており、アプリケーション506の二つの周期例がプロセッサ1に割当てられており、アプリケーション508の四つの周期例がプロセッサ0に割当てられている。図5に示すように、プロセッサ0及び1は他のプロセッサより軽い負荷を有しているので、プロセッサ資源割当ては最適でない。アビオニクスプロセッサを設計するための既存の方法は、多大な時間を必要とし、反復性であり、且つ様々な設計オプション間の体系的なトレードオフをサポートしない。本発明の実施形態は、複雑なハードウェアシステムの設計者に画期的な設計能を提供する。特に、関連するアプリケーション及びシステムの特徴を数学的に最適化し、アプリケーション間での資源の共有を確実に可能にする解決法を生成することにより、本発明の実施形態は、設計空間の体系的な探索をサポートする。本発明の実施形態は、ネットワーク化されたシステムの開発及び性能の最適化を大きく単純化し、更にはその認可を単純化する。アビオニクスプロセッサの設計には、アビオニクスアプリケーションの計算の必要性を注意深く解析することが必要である。一組のプロセッサは、アビオニクスアプリケーションの需要を集約的に満たすことができる。これには、アプリケーションをどのようにプロセッサに割当てるかを考慮することが必要である。計算の必要性に加えて、アプリケーションは、それらの計算の必要性と密接に協働する通信及び入出力I/Oの必要性を有する。このため、プロセッサの設計の間に、通信及びI/Oの必要性を考慮することも必要である。本発明の実施形態は、資源利用に定まったマージンを提供するプロセッサ設計に、最適な値を探し求める。定まったマージンを探すことにより、本発明の実施形態は、アプリケーションに将来の成長の余地を残すだけでなく、全ての資源をもっと集中して利用することができる。設計センタリングにより、資源の利用にボトルネックを生じることなく、全ての資源に均等に作業を分散させることが可能となる。一実施形態では、アビオニクスアプリケーションは、経験的に既知であり、それらの実行時間、周期性、メモリ消費、及びネットワークに対する入出力メッセージによって特徴付けられる。フォールトトレランス及び冗長性の要件には、アプリケーション間の分離及び居住に対する要件により対処する。既存の解決法では、プロセッサ性能が付与され、それに従ってプロセッサに対するアプリケーションの割当てを最適化する。既存の解決法とは対照的に、本明細書に記載される実施形態では、プロセッサ性能が不明であり、定まったマージンによりアプリケーションの全体的必要性を満足させるプロセッサ性能の最適な値が取得される。本明細書では、特定の組のアビオニクスアプリケーションの必要性を満たすように計算資源の設計を最適化することによりこのような問題を解決する、以前は利用できなかったアルゴリズム的プロセスを説明する。このプロセスは、少なくとも二つの理由により以前は利用できなかった。その理由とは、aアビオニクスシステムが満たされなければならない固有の組の条件と、bこのような問題に既知のNP困難の計算複雑性である即ち、設計を割当て及びスケジューリングと連結させることの複雑性。大雑把には、NP困難の問題は、問題を解決するために必要とされる計算資源が、問題の大きさにより指数関数的に大きくなることを示唆している。このような問題に対する解決法は、普通幾つかの解決法の組み合せであり、全ての可能な組み合わせを調査するには、それ程大きくない問題に、利用可能な最速のコンピュータを使用した場合でさえ、数千年の計算時間が容易にかかりうる。本発明の実施形態は、一組の既知のリアルタイムアビオニクスアプリケーションの動作及び機能の要件を満たす最適化されたアビオニクスシステムを決定するという問題を解決する。本発明の実施形態は、変更を吸収する能力が最大化されるように設計コンフィギュレーションを集中化することにより、将来の変更に掛かる費用を最小化するとともに、システム全体の安全性制約を満たす。このようなプロセスは、安全なシステム設計を保証しながら収束が達成されるように繰返される。このようにして、リアルタイムアビオニクスシステム例えばアビオニクスシステム400内のプロセッサの最適な設計が、後述のように、システム資源を消費する所定のアビオニクスアプリケーションの組の計算、通信、及びI/Oの必要性を考慮することにより決定される。上述のように、アプリケーションの計算の必要性は、プロセッサ速度、厳密な先取りできない実行周期、及びメモリ要件によってパラメータ化される実行時間によって特徴付けられる。通信の必要性は、アプリケーションが必要とする仮想リンクポイントツーマルチポイント通信リンクの数と、仮想リンクの通信帯域幅とによって特徴付けられる。I/Oの必要性は、プロセッサのエンドシステム内で必要とされるポートの種類とメモリサイズとによって特徴付けられる。本明細書に記載されるように、プロセッサ設計の問題は、種々の資源のマージンに関連する様々な目的関数の最適化を可能にするとともに、プリケーションの必要性を確実に満たす方法により解決される。本発明の実施形態により克服される主な技術的ハードルは、規模に関するものである。プロセッサの最適設計は、数十ものプロセッサ、数百ものアプリケーション、及び数千ものメッセージに関連する問題を解決し、これらのプロセッサの各々は目標とするレベルのキャパシティに利用され、残りはマージンに残されている。このようなマージン及び問題の大きさは、現代のアビオニクスネットワークに典型的なものであり、したがって本発明の実施形態をこれらの問題に適用することが可能である。このような数値的な設計アプローチは、大規模で、複数次元の、タイトな割当て及びスケジューリングの問題を伴っており、以前は開発されなかった。プロセッサの最適設計により提供される能力は、民間航空機及び軍用航空機のアビオニクスシステムの開発を可能にする。アビオニクスプロセッサを設計するための既存の方法は、多大な時間を要し、反復性が高く、種々の設計オプション間の体系的なトレードオフをサポートしない。特に、関連のアプリケーション及びシステムの特徴を数学的に最適化し、アプリケーション間で共用可能な資源を保証することにより、本明細書に記載されるプロセッサの最適設計は、設計空間の体系的な追求をサポートする。このようにして、アビオニクスシステム400のようなネットワーク化されたシステムの開発、性能最適化、及び認可が大きく単純化される。n個で一組のアプリケーションτii=1,..,nを考慮する。m個で一組のプロセッサgjj=1,..,mを考慮するnは一般にmよりはるかに大きい。各アプリケーションは、プロセッサ402~410の各々で利用可能な資源がそれに割当てられたアプリケーションによって適正に共有されるように、単一のプロセッサ例えばプロセッサ402~410の各々に割当てられなければならない。異なるアプリケーションには異なる量の資源が必要である。アプリケーションの数nと、各アプリケーションの資源の必要性は既知である。既知でないのは、a全てのアプリケーションの集約的必要性を定まったマージンで満たすのに十分な資源のレベルと、bプロセッサ402~410に対するアプリケーションの特定の割当てである。プロセッサ402~410における計算、通信、及びI/Oの資源、及びアプリケーションによるこれらの資源の消費の必要性は、数学的に特徴付けられる。次いで、a未知の資源レベルと、bプロセッサ402~410に対する未知のアプリケーション割当てに対応する一組の変数が公式化される。これら二つの数量は互いに関連している。プロセッサ402~410の各々において必要な資源のレベルは、プロセッサ402~410に対するアプリケーションの割当てに基づいて決定され、逆に、アプリケーションは、アプリケーションが割当てられるプロセッサ402~410の各々の資源レベルに基づいて決定される。本発明の実施形態は、資源レベルの観点からアプリケーションの必要性をパラメータ化することによりこのような双方向の依存性を数学的に確立し、次いで未知の資源レベルの観点から数学的公式を構築する。次いで、資源マージンの観点から目的関数を公式化し、次いで本明細書に記載の最適化方法を使用して未知の資源レベルについて解く。説明を簡潔にするために、公式の簡単な説明と対応する制約を本明細書に記載する。適用させる制約は以下の通りである。1アプリケーションは、プロセッサ402~410の各々において、特定の周期で特定の量の実効時間を必要とする。2プロセッサ402~410の各々におけるアプリケーションの実行スケジュールは重複してはならない。3アプリケーションの中で、アプリケーションとプロセッサ402~410との間において、並びにアプリケーションとキャビネット例えば、コンピュータキャビネット又はラックとの間において、特定のアプリケーションの同居及び分離の制約が存在する。4アプリケーションのメモリ要件-アプリケーションは、処理の間に特定の量のメモリを必要とする。これは、プロセッサ402~410によって提供される。プロセッサ402~410の各々においてアプリケーションが使用できるメモリの全体の大きさは固定である。5アプリケーションのメッセージ送信要件-アプリケーションはメッセージの送受信に通信ポートを利用する。これらの通信ポートはメモリを使用する。割当てられたアプリケーションのメッセージ送信の必要性を満たすためにプロセッサ402~410の各々において利用可能なメモリの量は固定である。6アプリケーションのメッセージ送信要件-アプリケーションは、メッセージの送受信に仮想リンクVLを利用する。プロセッサ402~410の各々において利用可能なそのようなVLの数は固定である。7アプリケーションのメッセージ送信要件-アプリケーションは、メッセージの通信に特定の量の帯域幅を必要とし、これは仮想リンクによりメッセージを通信するために提供される。プロセッサ402~410の各々において仮想リンクに利用可能な通信帯域幅の総量は固定である。変数x割当て変数及びdスケジューリング変数を考慮する。アプリケーションシステムΓ={τi,i=1,...,n}プロセッサG={gi,i=1,...,m}pi、ei-i番目のアプリケーションの周期及び実行時間周期の値Q=q1,q2,...,qr周期の値のインデックスタスクjの発生がプロセッサiのk番目のビン内にあれば、1プロセッサiでの最低の周期がqlであれば1、そうでなければ0上記の式では、i、j、k、l、m、n、及びrは整数である。プロセッサ設計の問題は、以下のようにビンのサイズ設定及びビンのパッキング問題として公式化される。プロセッサ402~410の各々におけるタイムラインは、q1にサイズ設定されたビンに分割される。プロセッサ402~410のうちのi番目のプロセッサを考慮する。i番目のプロセッサのアプリケーション周期の最小値がqlである場合、サイズがqlであるスーパービンを考慮することによりビンのパッキング制約を規定する。第1のスーパービンの場合、プロセッサiのビンサイズqlを選択するためにバイナリ変数dilを使用することができる。スーパービンの内部で周期qlの全アプリケーションを累算するために、スーパービンをビンインクリメントq1により除算すると、スーパービンはql/q1のビンを含む。一のビンに割当てられたアプリケーションの実行時間ejの合計は、ビンのサイズより小さくなければならない。これにより、以下の制約式が得られる。重複せず、厳密に周期的なスケジューリングの要件と組み合わせて、計算の必要性を表わす以下の数学的プログラミングの公式が得られる。変数hは、プロセッサ402~410内の未知のプロセッサ速度を規定する。上記の公式では、第1の計算式1は目的を特定している。この場合、目的は、プロセッサ402~410のようなプロセッサの数uを最小化することである。上記制約2は、全アプリケーションがプロセッサ402~410のうちのそれぞれ単一のプロセッサuiに割当てられるような割当てxが選択されることを保証している。制約3は、一のアプリケーションがプロセッサuiに割当てられた場合にプロセッサuが使用中にカウントされることを保証している。制約5は、この公式の最も重要な部分であり、未知の割当てxと未知のプロセッサ資源のレベルh例えば、プロセッサ速度を互いに関連させる。制約5は、アプリケーションが、必要な実行時間eについて、重複しない厳密な周期的開始時間でスケジューリングできることを保証する。制約6aは、アプリケーションがプロセッサuiに割当てられると、プロセッサuiにアプリケーションのスケジューリングが通知されることを保証する。残りの制約は、変数の種類とそれらの境界とを規定する。他の目的関数は、同じようにして公式化される。一般的な目的は、プロセッサの最小資源マージンを、それが帯域幅であるか、仮想リンクであるか、メモリであるか、又は計算スループットであるかを問わず、最大化することであり、即ち設計空間において割当てを集中化することである。計算スループットに関して、様々な公式を使用することができる。例えば、最小計算マージンをプロセッサレベルで最大化するために、変数mcを最小計算マージンと定義する。mcの値に関する制約は、上記制約2を2aに修正することにより計算式で表わすことができる。新規の目的関数と、修正された制約2は、以下のように数式化することができる。式中、Hは、j番目のタスクが超周期HにおいてH/pjの発生頻度を有するような超周期である。別の可能な目的関数は、小フレームレベルで最小計算マージンを最大化することである。同様に、変数mmcは、小フレームの計算マージンの最小値と定義され、上記1及び5は以下のように修正される。任意の数の他の資源マージンもモデル化することができる。これらは次いで、資源マージンを目的関数として表わすことにより最大化又は最小化することができるか、或いは制約として表わすことにより境界付けすることができる。このような公式は、混合整数線形計画MILPの形態の、組み合わせ最適化問題を生成する。本発明の実施形態は、MILPツール、限定しないが例えばCPLEX、CBC、Gurobiなどを用いて、このようなMILPを公式化して解くために使用することができる。次に、アプリケーションの同居/分離制約、メモリ制約、及び通信制約が、式13~18、21~25、26~30、31、36、37~39、40、51~55、61~62に示すように追加される。アプリケーションの同居/分離要件-アプリケーションの同居/分離要件は、プロセッサ402~410に対するアプリケーションの割当てに制限を課す。アプリケーションの同居/分離要件は、一対のアプリケーションを同じプロセッサに割当てるという要件を定義しうる。アプリケーションの同居/分離要件は、特定のプロセッサ、又は特定のキャビネット内の任意のプロセッサにアプリケーションを割当てるという要件も定義しうる。別の構成では、アプリケーションの同居/分離要件は、特定の対のアプリケーションを同じプロセッサに割当ててはならないという要件を定義する。アプリケーションの同居/分離要件は、下記に列挙する要件及びそれらの数学的表現に記載されるように、数学的に実施される。ACM分離制約26bは、一対のアプリケーションtj1及びtj2が別々のアプリケーション計算モジュールACM上に位置することを必要とし、以下の関係に基づいて定義される。ACM同居制約26は、一対のアプリケーションtj1及びtj2が同じACMに割当てられることを必要とし例えば、共有メモリのために、以下の関係に基づいて定義される。Cab分離制約27は、一対のアプリケーションtj1及びtj2が別々のキャビネット内のACMに割当てられることを必要とし、以下の関係に基づいて定義される。Cab同居制約28は、一対のアプリケーションtj1及びtj2が同じキャビネット上に位置することを必要とし左又は右、以下の関係に基づいて定義される。ACM同居制約29は、アプリケーションtj1がACMgi1上に存在することを必要とし、以下の関係に基づいて定義される。CabHab30は、アプリケーションtj1がキャビネットFl1上に存在することを必要とし即ち、CabHabが特定される場合、定義に対してキャビネット制約が加えられることはない、以下の関係に基づいて定義される。ACMKeepOut30bは、アプリケーションtj1がACMgi1に干渉しないことを必要とし、以下の関係に基づいて定義される。アプリケーションのメッセージ送信要件-アプリケーションは、仮想リンクVLを使用してメッセージの送受信を行う。仮想リンクは、ネットワーク通信帯域幅をアプリケーションの通信の必要性に割当てるために使用される概念である。VL制約を定義するため、変数は、VLlがプロセッサgiにリンクされている場合に1であり、そうでない場合に0である。受信及び送信仮想リンクRX/TX仮想リンク制約は、数学的に以下のように表わすことができる。上の式では、blはVLlの既知の帯域幅であり、はプロセッサgiにおける最大受信帯域幅であり、はプロセッサgiにおける最大RxVL数であり、はプロセッサgiにおける最大送信帯域幅であり、はプロセッサgiにおける最大TxVL数であり、Shjは、アプリケーションjの一組の共有VLであり、nusjRxは、アプリケーションjの非共有受信VLの数であり、busjRxは、アプリケーションjの非共有受信VLの帯域幅の合計である。メモリ制約-プロセッサACMiACMgiのメモリ資源には、少なくとも五つの選択肢、即ち、RAM、ROMフラッシュ、非揮発性メモリNVM、エンドシステムESメモリポート関連、及び共有メモリ領域SMRが与えられる。RAM/ROM/NVM制約は類似しており、各アプリケーションはそれぞれ特定量の三種類のメモリを必要とする。プロセッサ上のアプリケーションに割当てられたメモリの全体的なサイズプロセッサのメモリのサイズに境界を特定するという制約は、以下のように表わされる。上の式では、rajはアプリケーションjが必要とするRAMであり、RAiは、ACMgiにより提供されるRAMの合計であり、rojはアプリケーションjが必要とするROMであり、ROiはACMgiにより提供されるROMの合計であり、rnjはアプリケーションjが必要とするNVMであり、RNiはACMgiにより提供されるVVMの合計である。共有メモリ領域SMR-一組のアプリケーションにより集約的に使用されるメモリはSMRと呼ばれる。これらのアプリケーションは、同じプロセッサに割当てられる場合にSMRを共有することができ、そうで無い場合SMRは複製される。SMRは、プロセッサ上でROM及びRAM両方の資源を消費する。SMRをモデル化するために、以下の定義を考慮する。Pslヌルも可を、SMRlへのアクセスを必要とする一組のアプリケーションとする。三種類のSMR、即ち、読取りAtACMRG、読取りByRP、及び読取り/書込みRWが存在する。RG-SMRの場合、Psl=ヌルである。Sgiを、ACMgiに割当てられた一組のSMRと定義する即ち、Sgi={SMR:ACMgiに割当てられたSMR}。RP-SMRの場合:Pslのτjをホストする全てのACM上でSMRを複製することができる。RP-SMRの場合、SMRlが共有されてACMgiに割当てられる場合、は1と定義され、そうでない場合は0と定義される即ち、PslのτjがACMgiに割当てられる場合、yilは1でなければならない。更に、Suは一組の非共有RP-SMRと定義することができる。即ち、Su={RP-SMRl:|Psl|=1}である。RW-SMRの場合、Psl内のアプリケーションは同じgi上に同居する必要がある。同居を強制してSMRを割当てるために、RW-SMRの組としてSrwを定義する。二点、即ち、1PslSMRlがSrw内に位置しているようなPsl内の全てのアプリケーションを同じプロセッサに割当てる著者制約制約セット26cとして示すと、2Srw中のSMRlについて、5番目の項を下記に加えることによりメモリ消費が特定されることとが必要である。結果として得られる制約は、以下の61、21a、22a、及び62である。非揮発性メモリNVMの帯域幅制約-この制約は、割当てられた全てのアプリケーションに対するNVMアクセスの総帯域幅にACMの上限を定義する。NVMアクセスには二つのモード、即ち正常運転とパワーダウンが存在する。それぞれの帯域幅は別々に画定される。各アプリケーションは、正常運転帯域幅と、パワーダウン帯域幅とによって特徴付けられる。bni,bpi。各ACMは限界BNk,BPkによって特徴付けられる。NVM帯域幅の制約は以下の通りである。エンドシステムのメモリ制約-プロセッサ内のCommPortsは、アプリケーションとのメッセージのやり取りを可能にする。プロセッサ上でこの目的のためにアプリケーションによって消費されるメモリの合計エンドシステムメモリと呼ぶには限界がある。送信されたメッセージは共有されない。受信されたメッセージの幾つかをアプリケーション間で共有することがあり、この場合、アプリケーションはCommPortsも共有する。アプリケーションの割当てにおけるこのようなメモリの限界、ひいてはプロセッサ402~410の設計を考慮するために、以下の変数の定義と制約とを考慮する。共有メッセージMsglの場合:SMjは、アプリケーションτjが必要とする共有Rxメッセージの組であり、[0,1]のmliは、メッセージlがACMiで受信される場合に1であり、esmlは、メッセージlに必要なメッセージlを受信するアプリケーションのESメモリの最大値であり、ESMiはACMiで利用可能なESメモリの合計である。非共有メッセージの場合:musjRxはτjのRxメッセージが必要とするメモリの合計であり、pusjRxはτiの非共有RxCommPortの総数であり、CPCjRxはプロセッサgiのRxCommPort数の上限である。このとき、エンドシステムメモリに対する制約は以下の関係に基づいている。上の式において、pusjRxはτjの非共有RxCommPortの総数であり、pusjTxはτjの非共有TxCommPortの総数であり、CPCjRxはgiのRxCommPort数の上限であり、Msglは共有メッセージであり、SMjは、アプリケーションτjが必要とする一組の共有受信メッセージである。図6は、本発明の一実施形態による、アビオニクスシステムを最適化するシステム600の例示的な機能的ブロック図である。システム600は、アビオニクスシステムのような大規模システムの性能最適化を大幅に単純化し、システムの軽量化、設計コンフィギュレーションの集中化による構成変更吸収能の最大化、及び将来の変更コストの最小化を可能にしながらシステム全体の安全性制約を満たす。システム600は、限定しないが例えば、デスクトップ、ラップトップ、又はノートブックコンピュータ、ハンドヘルド計算デバイスPDA、携帯電話、パームトップなど、メインフレーム、サーバ、クライアント、或いは所定の用途又は環境に望ましいか又は適切な他のあらゆる種類の専用又は汎用計算デバイスでありうる。システム600は、一般に、物理的ハウジング図示しない、入力モジュール602、公式化モジュール604、混合整数線形計画法モジュール606、決定モジュール608、プロセッサモジュール610、メモリモジュール612、及びディスプレイモジュール614を含んでいる。実用的なシステム600は、任意の数の入力モジュール、任意の数のプロセッサモジュール、任意の数のメモリモジュール、及び任意の数のディスプレイモジュールを含みうる。図示のシステム600は、説明を簡単にするために単純な実施形態を示している。システム600のこのような要素とその他の要素とは互いに相互接続されており、システム600の様々な要素間で通信を可能にしている。一実施形態では、システム600のこのような要素とその他の要素とは、通信リンク616によって互いに相互接続されている。当業者であれば、本明細書に開示される実施形態と関連させて説明される種々の説明的ブロック、モジュール、回路、及び処理論理回路が、ハードウェア、コンピュータで読み取り可能なソフトウェア、ファームウェア、又はそれらの任意の実用的な組み合わせにおいて実施可能であることを理解するであろう。ハードウェア、ファームウェア、及びソフトウェアのこのような互換性及び適合性を説明するために、種々の説明的なコンポーネント、ブロック、モジュール、回路、及びステップについて、機能性の観点から概説する。このような機能性がハードウェア、ファームウェア、又はソフトウェアとして実施されるかどうかは、用途と、システム全体に課される設計の制約によって決まる。本明細書に記載される概念に詳しい者であれば、特定の用途のそれぞれについて、適切にこのような機能性を実施することができるが、そのような実施の判断は本発明の範囲にから逸脱するものではない。入力モジュール602は、ユーザから入力データを受け取り、この入力データを公式化モジュール604に送信する。入力モジュール602は、限定しないが例えば、起動キー、タッチパッドキー、ローカル又はリモートからアクセスされるデータベースなどの入力手段を含むことができる。公式化モジュール604は、入力データを受け取って、この入力データを一組の一次不等式と目的関数とに変換する。混合整数線形計画法モジュール606は、一次不等式の組と目的関数とを使用して、限定しないが例えば、上述のような、プロセッサ資源割当て、及び通信資源割当てなどの最適解を計算する。決定モジュール608は、最適解に基づいてアビオニクスシステムのプロセッサ要件を決定する。最適解の結果に基づいて、プロセッサ402~410、及び任意の数の必要なプロセッサといったプロセッサ上の資源が決定される。プロセッサモジュール610は、システム600の機能をサポートするように構成されている。プロセッサモジュール610は、システム600のプロセッサが適切に実行されるようにシステム600の動作を制御することができる。例えば、プロセッサモジュール610は、混合整数線形計画法モジュール606と決定モジュール608との動作を制御することにより、アビオニクスシステムのプロセッサ402~410の要件が最適解に基づいて決定されるように、混合整数線形計画法を実行する。このようにして、プロセッサモジュール610は、一組の既知のリアルタイムアビオニクスアプリケーションの動作及び機能要件を満たすネットワーク化されたシステムの開発及び性能最適化を単純化することができる。加えて、プロセッサモジュール610は、後述で更に詳細に説明するように、集中化させた設計コンフィギュレーションを実行することにより、変化吸収能を最大化し、それによって将来の変更に掛かる時間とコストとを最小化するとともに、システム全体の安全性制約を満たす。プロセッサモジュール610は、入出力パラメータなどを表示するためにディスプレイモジュール614も制御する。更に、プロセッサモジュール610はメモリモジュール612にアクセスして、例えば入力データにアクセスする。プロセッサモジュール610は、本明細書に記載される機能を実行するように設計された汎用プロセッサ、連想メモリ、デジタル信号プロセッサ、特定用途向け集積回路、フィールドプログラマブルゲートアレイ、任意の適切なプログラマブルロジックデバイス、離散ゲート又はトランジスターロジック、離散ハードウェアコンポーネント、或いは本発明に記載の機能を実行するように設計されたこれらの任意の組み合わせによって実施又は実現される。このようにして、プロセッサは、マイクロプロセッサ、コントローラ、マイクロコントローラ、ステートマシンなどとして実現される。プロセッサは、計算装置、例えばデジタル信号プロセッサとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、デジタル信号プロセッサコアと連動する一又は複数のマイクロプロセッサ、或いは他の何らかのこのような構成として実施することもできる。実際には、プロセッサモジュール610は、システム600の動作に関連する機能、技術、及び処理タスクを実行する処理論理回路を含む。特に、この処理論理回路は、混合整数線形計画法モジュール606と決定モジュール608との動作をサポートし、最適化される大規模システムに計算資源を提供するプロセッサの最適数と性能を決定する。メモリモジュール612は、システム600の動作をサポートするようにフォーマットされた適量のメモリを有するあらゆる適切なデータ記憶領域とすることができる。メモリモジュール612は、後述するような方法でシステム600の機能性をサポートするために必要なデータを記憶、維持、及び供給する。実用的な実施形態では、メモリモジュール612は、限定しないが例えば、非揮発性記憶装置非揮発性半導体メモリ、ハードディスクデバイス、光ディスクデバイスなど、ランダムアクセス記憶デバイス例えば、SRAM、DRAM、又は従来技術に既知のその他あらゆる形式の記憶媒体を含む。メモリモジュール612は、プロセッサモジュール610に連結することができ、限定しないが例えば、リスクアセスメントシナリオに対応する入力パラメータの値、及び出力パラメータの値を記憶することができる。メモリモジュール612は、限定しないが例えば、ネットワーク通信及びプロセッサ資源割当てのためのパラメータのような一組の一次不等式を公式化するための、ユーザによる入力を記憶することができる。加えて、メモリモジュール612は、プロセッサモジュール610を使用した計算用のテーブルを収容し、動的に更新されるデータベースとすることができる。メモリモジュール612は、プロセッサモジュール610によって実行されるコンピュータプログラム、オペレーティングシステム、アプリケーションプログラム、プログラム処理を実行するうえで使用される一時的データなども記憶することができる。メモリモジュール612は、プロセッサモジュール610がメモリモジュール612から情報を読み出し、且つメモリモジュール612に情報を書き込めるように、プロセッサモジュール610に連結される。一実施例として、プロセッサモジュール610及びメモリモジュール612は、それぞれのASIC中に存在する。メモリモジュール612は、プロセッサモジュール610に統合することもできる。一実施形態では、メモリモジュール612は、プロセッサモジュール610が命令を実行する間に一時的な変数又はその他の中間情報を記憶するキャッシュメモリを含む。ディスプレイモジュール614は、システム600の入力パラメータと出力パラメータとを表示する。ディスプレイモジュール614は、図8に示される結果のような、プロセッサ資源割当てに対する最適解の結果を表示する。ディスプレイモジュール614は、ユーザ入力動作を受け取って、データを入力及び伝送し、システム600に備わる機能のための動作コマンドを入力することができる。ディスプレイモジュール614は、動作コマンドを受け取り、受け取った動作コマンドに応答してプロセッサモジュール610に対して動作コマンド情報を出力する。ディスプレイモジュール614は、限定しないが例えば、有機電気ルミネセンスOELパネル、液晶パネルLCDなどにより形成される。プロセッサモジュール610から供給された画像/映像信号により、様々な種類の情報をディスプレイモジュール614に表示することができる。図7は、本発明の一実施形態によるアビオニクスシステム最適化プロセスを示す例示的なフロー図である。プロセス700に関連して実行される種々のタスクは、このプロセス法を実行するためにコンピュータで実行可能な命令を有するソフトウェア、ハードウェア、ファームウェア、コンピュータで読み取り可能な媒体、又はこれらの組み合わせによって実行される。プロセス700は、半導体メモリ、磁気ディスク、光ディスクなどのコンピュータで読み取り可能な媒体に記録され、例えば、コンピュータで読み取り可能な媒体が記憶されているプロセッサモジュール610のようなコンピュータのCPUによってアクセス及び実行可能である。プロセス700は任意の数の追加タスク又は別のタスクを含むことができ、図7に示されたタスクは図示の順番で実行される必要はなく、且つプロセス700は、本明細書には詳細に記載しない追加的な機能性を有する更に包括的な手順又はプロセスに統合可能であることに注意されたい。説明のために、プロセス700に関する以下の説明では、図1~4及び6に関連して上述した要素に言及する場合がある。実用的な実施形態では、プロセス700の一部はシステム600の様々な要素、例えば、公式化モジュール604、混合整数線形計画法モジュール606、プロセッサモジュール610、及びメモリモジュール612によって実行される。プロセス700は、図1~4、及び6に示された実施形態に類似の機能、材料、及び構造を有することができる。したがって、共通の特徴、機能、及び要素についてはここでは重複して説明しない。プロセス700は、上述のように、一組のアビオニクスシステム構成の制約を、一組の一次不等式及び目的関数として公式化することによって開始されるタスク702。プロセス700は、続いて、一次不等式の組から凸ポリトープを形成するタスク704。凸ポリトープ即ち、シンプレックスとして知られるものは、ポリトープの特定の事例であり、n次空間における凸状の点の組でもあるという追加的特性を有している。適切に公式化された一次不等式の組は、凸ポリトープを形成するので、目的関数によって解くことができる。プロセス700は、続いて、混合整数線形計画手段を用いて凸ポリトープにより目的関数を最適化することにより、最適解を取得するタスク706。線形計画法LPは、一次方程式として表現される何らかの要件リストの所与の数学的モデルにおいて、最善の結果最大利益又は最低コストを達成する方法を決定するための数学的方法である。更に形式的に言うと、線形計画法は、一次方程式と一次不等式との制約を受ける線形の目的関数を最適化するための技術である。ポリトープと、このポリトープ上に規定された実数値アフィン関数により、線形計画法法は、ポリトープの頂点を検索することで、ポリトープ上に、この関数が最小値又は最大値を有する一点を、そのような点が存在する場合に見つける。線形プログラムは、カノニカル形式で表現することができる問題であり、即ち、mincTxであることにより、Ax<=bであるここで、xは決定されるべき変数のベクトルを表わし、c及びbは既知の係数のベクトルであり、Aは係数の既知のマトリクスである。最大化又は最小化されるこのような式は、目的関数と呼ばれる即ち、この場合はcTx。方程式Ax≦bは、目的関数を最適化する凸ポリトープを特定する制約である即ち、この文脈では、二つのベクトルが、一方への全入力が、他方の対応する入力以下であるとき、比較可能であり、それ以外の場合比較不能である。線形計画法は、種々の研究分野に適用可能である。線形計画法は、ビジネス及び経済の分野でもっとも広く使用されているが、一部のエンジニアリングの問題にも利用可能である。線形計画法のモデルを使用する産業には、旅客、エネルギー、電気通信、及び製造が含まれる。線形計画法は、プランニング、ルーティング、スケジューリング、割当て、及び設計における様々な種類の問題のモデル化に有用であることが分かっている。未知の変数がすべて整数でなければならない場合、この問題は整数計画法IP又は整数線形計画法ILP問題と呼ばれる。最悪の場合でも効率的に解決される線形計画法とは対照的に、整数計画法の問題は、多くの現実的な状況束縛変数を有する状況においてNP困難である。0-1整数計画法又は2進整数計画法BIPは整数計画法の特殊な事例であり、変数が任意の整数ではなく0又は1でなければならない。この問題も、NP困難として分類され、実際、決定のバーションは、カープの21のNP完全の問題のうちの一つであった。未知の変数の一部のみが整数であればよい場合、問題は混合整数計画法MIP問題と呼ばれる。これらは通常NP困難でもある。しかしながら、IP及びMIP問題の、効率的に解くことが可能な幾つかの重要なサブクラス、特に制約マトリクスが完全にユニモジュラーであり、制約の右辺が整数である問題が存在する。整数線形計画法を解くための最新のアルゴリズムには、切除平面法、分枝限定法、分枝カット法、分枝価格法が含まれ、問題が何らかの余剰構造を有する場合、遅延列生成法を適用することができる。プロセス700は、その後、最適解に基づいてアビオニクスシステムのプロセッサ要件を決定するタスク708。混合整数線形計画による解決法の結果に基づいて、プロセッサ上の資源、及び必要なプロセッサ数が決定される。図8は、本発明の一実施形態によって最適化された、一定の期間における例示的なプロセッサ資源割当てを示している。図8に示すように、プロセッサ1に割当てられたアプリケーションの二つの周期例506図5参照が、ここではプロセッサ0に割当てられたアプリケーションの四つの周期例508に加わっている。このように、図5に示す最適化されていない場合には六つのプロセッサが必要であったが、図8に示すように、最適解の効率のよい資源割当てにより、ここで必要なのは五つのプロセッサ0~4のみである。上述のように、本明細書に記載された例示的システムは、アビオニクスプロセッサ、プロセッサ間の通信を可能にするネットワーク、及びアナログインターフェース、離散インターフェース、及びローカルデジタルネットワークインターフェースを提供する入出力ゲートウェイを含む。航空機のようなシステムが洗練されるにつれて、アビオニクスシステム内部において、処理パワー、ネットワーク帯域幅、及びインターフェースの多様性に対する需要がこれまでになく増大している。性能、安全性、動作可能性の要件を満たすと同時に、アビオニクスシステム内のネットワーク化されたシステム重量を最小化するために、プロセッサに対するアプリケーションの割当て、ネットワークチャネルに対するメッセージの割当て、メッセージに対するパラメータの割当て、及びIOゲートウェイに対する物理的な有線接続の割当ての最適化された組を決定することは、非常に難しい問題でありうる。一実施形態では、システムを一組の接続された領域に分解し領域分解、各領域において集中化させた設計を繰り返し連続して求め、次いでシステム全体のレベルで満足のゆく対策が講じられるまで繰返すことにより、大規模アビオニクスシステムのための最適な資源割当てが行われる。これについて後述で更に詳細に説明する。図9は、本発明の一実施形態により集中化させた設計コンフィギュレーションに基づくアビオニクス資源割当て最適化プロセス900を示す例示的フロー図である。プロセス900に関連して実行される様々なタスクは、本プロセスの方法を実行するためのコンピュータで実行可能な命令を有するソフトウェア、ハードウェア、ファームウェア、コンピュータで読み取り可能な媒体、又はこれらの組み合わせによって実行される。プロセス900は、コンピュータで読み取り可能な媒体、例えば半導体メモリ、磁気ディスク、光ディスクなどに記録することができ、例えば、コンピュータで読み取り可能な媒体を記憶しているプロセッサモジュール610のようなコンピュータのCPUによりアクセス及び実行可能である。プロセッサ900は任意の数の追加タスク又は別のタスクを含むことができ、図9に示されたタスクは図示の順番で実行される必要はなく、且つプロセス900は、本明細書には詳細に記載しない追加的な機能性を有する更に包括的な手順又はプロセスに統合可能であることに注意されたい。説明のために、プロセス900に関する以下の説明では、図1~4及び6~8に関連して上述した要素に言及する場合がある。実用的な実施形態では、プロセス900の一部はシステム600の様々な要素、例えば、プロセッサモジュール610、及びメモリモジュール612によって実行される。プロセス900は、図1~4、及び6~8に示された実施形態に類似の機能、材料、及び構造を有することができる。したがって、共通の特徴、機能、及び要素についてはここでは重複して説明しない。プロセス900は、複雑なハードウェアシステムを一組の接続する領域に分解し、各領域において集中化させた設計を繰り返し連続して求め、次いでシステム全体のレベルでno目的に満足のゆく解決策が得られるまで繰返すことにより、複雑なハードウェアシステムのための最適な割当てを決定する。各領域を他の領域から完全に独立して解決することはできない。各領域は、他の領域に基づいて解決される。領域間の境界は、近隣領域との相互作用が最小化されるように選択される。更に、領域のインターフェースには特定の方向の側面がある。例えば、I/Oゲートウェイに対するセンサ/エフェクタの配線インターフェースは、ネットワークVLの機能ではない。しかし、ネットワークVLは、I/Oゲートウェイに対するセンサ/エフェクタの配線インターフェースの機能である。これにより、通常、プロセス900は、下位のレベルのドメインからインターフェースを一定に保持しながら、目前のドメインの集中化させた解決法を求めることができる。しかしながら、幾つかの実施形態では、上位ドメインと下位ドメインとの間に強い関係が存在する。この場合、集中化させた設計を全て決定するためには繰り返しが必要である。プロセス900は、コンセントレータのノード322~326と412~416とに対する集中化させたセンサ/エフェクタの配線割当てを決定することにより開始されるタスク902。センサ/エフェクタの必要性は、インターフェースの種類と性能とによって特徴付けられると共に、配線重量を生じさせる。I/Oゲートウェイ機能の実装態様は、限られた数量のアナログインターフェース、離散インターフェース、及びシリアルデジタルインターフェースを有している。ゲートウェイ機能には、インターフェースを処理するための定まったスケジュールが必要である。加えて、このようなセンサ/エフェクタインターフェースの処理はI/Oゲートウェイプロセッサ性能を消費する。I/Oゲートウェイのスケジューリングは、一組の要件によって生じる待ち時間制約も満たさなければならない。タスク902の成果として、I/Oゲートウェイの第1次処理スケジュールでのI/Oゲートウェイに対するセンサ/エフェクタインターフェースの各々の割当てが得られる。プロセス900は、メッセージに対する集中化させたパラメータ割当てを決定することであるタスク904。メッセージは、既知の出版/購読要件に基づく機能的にコヒーレントなパラメータの組により形成されなければならない。これらの要件は、各パラメータ又はパラメータの組について、単一の送信元と、複数の宛先とを特定する。加えて、これらの要件により、メッセージに含まれるパラメータの性質と数、パラメータのグループ化方法、パラメータの最大可能トランスポート待ち時間、及びこれらのパラメータについて送信元が選択したグループ化が存在するかどうかが特定される。メッセージは、一又は複数のパラメータから構成される。タスク904は、特定のコンセントレータノード322~326及び412~416に対するセンサ/エフェクタ302~320へのインターフェースの割当てを一定に保持する。これにより、大きさと出力ポートのレートとによって特徴付けられる一組のメッセージが確立される。性能の実行可能性を検証するために、精密なコンセントレータノード322~326及び412~416のスケジュールが生成される。プロセス900は、続いて、仮想リンクに対する集中化させたメッセージ割当てを決定するタスク906。仮想リンクは、特定のメッセージに特定の質のサービスを提供すると同時にネットワークの帯域幅を最小化して必要な待ち時間を達成するシステムインテグレーターのための手段である。仮想リンクは、単一の送信元からの一又は複数のメッセージをグループ化する論理的制約であり、一又は複数の宛先に保証された帯域幅を提供する。各メッセージにはサブ仮想リンクが割当てられて、特定のメッセージのための仮想リンク内でサービスの質が改善される。仮想リンクは、優先度、伝送タイマー期間、伝送タイマーオフセット、最大伝送単位、及び帯域幅割当てギャップによって特徴付けられる。これらのうち最大伝送単位と帯域幅割当てギャップとが、仮想リンクの帯域幅を決定する。各伝送用列線交換ユニットLRU及び各購読用LRUは、仮想リンクの帯域幅と数とに制約を有する。LRU制約は全てのLRUについて同一ではない。仮想リンクへのメッセージの割当てにおいては、LRU制約と、メッセージによるパラメータの待ち時間要件とに留意することが必要である。この段階への入力は、全てのパラメータがメッセージに割当てられていることである。処理にアプリケーションを割当てるのに、初期推定initialguessを使用してもよい。これは、アプリケーションの大グループ化に関連する情報を使用して行うことができる。出力は、仮想リンクに割当てられた一組のメッセージであり、待ち時間要件と既知のLRU仮想リンク及び帯域幅の制限を満たす属性を有している。プロセス900は、続いて、プロセッサ402~410に対する集中化させたアプリケーション割当てを決定するタスク908。通信の必要性は、アプリケーションが必要とする仮想リンクの数ポイントツーマルチポイント通信リンクと、仮想リンクの通信帯域幅とによって特徴付けられる。I/Oの必要性は、プロセッサ402~410エンドシステムの各々の内部で必要とされるメモリサイズとポートタイプとによって特徴付けられる。タスク908の入力は、仮想リンクへのメッセージの割当てである。タスク908の出力は、消費される資源が十分であり、且つ上述のような何らかの目的関数が満たすようなプロセッサ402~410へのアプリケーションの割当てであり、プロセッサ間でローディング資源の使用が一定になることである。プロセス900は、続いて、集中化させた複雑なハードウェアシステムの資源割当てがマージン要件を満たすかどうかをチェックする照会タスク910。集中化させた複雑なハードウェアシステムの資源割当てがマージン要件を満たさない場合照会タスク910のいいえ、プロセス900はタスク902に戻る。集中化させた複雑なハードウェアシステムの資源割当てがマージン要件を満たす場合照会タスク910のはい、プロセス900はタスク912に進む。プロセス900は、続いて、集中化させた複雑なハードウェアシステムの資源割当てを報告するタスク912。報告には、限定されないが例えば、ディスプレイスクリーン上への表示、ペーパーレポートの生成などが含まれる。このようにして、領域分解により、プロセッサの最適数、性能、及び大規模システムの最適化が行われて、民間航空機及び軍用航空機におけるアビオニクスシステムの開発のような、複雑なハードウェアシステムの開発が可能となる。これにより、ネットワーク化されたシステムの開発及び性能最適化が単純化されると共に、開発に掛かる時間とコストが低減され、更にはアプリケーションの必要性が確実に満たされる。本明細書において、コンピュータプログラム製品、コンピュータで読取り可能な媒体などの用語は、一般的に、メモリ、記憶装置、又は記憶ユニットのような媒体を指す。このような形態及びその他の形態のコンピュータで読取り可能な媒体は、プロセッサモジュール610によって使用される一又は複数の命令を記憶して、プロセッサモジュール610に特定の動作を実行させる際に使用される。このような命令は、一般にコンピュータプログラムコード又はプログラムコードと呼ばれコンピュータプログラムの形態又はその他のグループにグループ化される、実行されると、システム600の複雑なハードウェアシステムの最適化方法を可能にする。上述の記載は、要素、ノード、又は特徴が互いに接続又は連結されていることに言及している。本明細書で使用される場合、特に断らない限り、接続とは、必ずしも機械的にではなく、一の要素/ノード/特徴が別の要素/ノード/特徴に直接接合されている又は直接連絡していることを意味する。同様に、特に断らない限り、連結とは、必ずしも機械的にではなく、一の要素/ノード/特徴が別の要素/ノード/特徴に直接又は間接に接合されている或いは直接又は間接に連絡していることを意味する。したがって、図3~4、及び図6は要素の例示的配置を示しているが、本発明の一実施形態には追加の中間要素、デバイス、機構、又はコンポーネントが存在してもよい。本明細書に使用される用語及び表現と、それらの変化形は、特に断らない限り、限定的なものではなくオープンエンドなものと理解されるべきである。上記の例として、用語含むは、限定せずに含むなどを意味し、用語例は、説明されるアイテムの例示的事例を挙げるために使用されるのであって、その排他的又は限定的なリストを提供するものではなく、従来の、常套的な、通常の、標準的な、既知の、といった形容詞、及び同様の意味を有する用語は、説明されるアイテムを所与の期間に限定するものでも、所与の時点で利用可能なアイテムに限定するものではなく、現在又は未来の何れかの時点で利用可能な従来の、常套的な、通常の、又は標準の技術を包含するものである。同様に、接続詞及びで連結されたアイテムの組は、そのような組にこれらアイテムの全てが含まれなくてはならないということを意味しているのではなく、特に断らない限り、及び/又はで連結されていると解釈すべきである。同様に、接続詞又はで連結されたアイテムの組は、その組の中で互いに排他的であること意味しているのではなく、特に断らない限り、及び/又はで連結されていると解釈すべきである。更に、本発明のアイテム、要素、又はコンポーネントが単数形で記載又は特許請求されていたとしても、単数形に限定されることを明確に断っていない限り、本発明の範囲内で複数形が考慮される。一又は複数の、少なくとも、限定されないがといった広義の用語及び表現、或いは一部事例における他の同様の表現は、そのような広義の表現が使用されていない場合に狭義の解釈が意図されている、又は必要とされていることを意味するものではない。"