任意のフィードバック制御構造において設計パラメータを調整するためのコンピュータ実装方法であって、1つまたは複数の調整可能な構成要素を識別する段階であって、各調整可能な構成要素が、調整された1つまたは複数の自由パラメータを含む識別する段階と、前記1つまたは複数の調整可能な構成要素を含む1つまたは複数のフィードバックループを識別する段階と、前記任意のフィードバック制御構造を標準形式に変換する段階であって、前記標準形式が、前記任意フィードバック制御構造における既知および固定構成要素を含む集中線形モデルと、前記調整可能な構成要素を用いて形成された収集体であって、ブロック対角様式にグループ化された収集体とを含む、変換する段階と、設計目標または設計要件を表現するためのH∞目標または制約を用いる段階であって、前記H∞目標または制約は、閉ループシステムにおける1つまたは複数の二地点間伝達関数に関する、用いる段階と、前記調整可能な構成要素を静的または動的にパラメータ化する段階と、前記パラメータ化に基づいて前記調整可能な構成要素の前記自由パラメータと相互作用する段階と、非平滑H∞最適化アルゴリズムのクラスから選択されたメンバに基づいた調整器を用いて前記フィードバック制御構造を調整する段階であって、前記調整器が、前記標準形式に作用し、前記調整可能な構成要素が前記ブロック対角形式となったときに、調整可能なパラメータに作用し、前記パラメータを調整して、前記H∞目標を最小化しまたは前記H∞制約を実現する、調整する段階とを含む、方法。調整する前記段階が、MATLAB互換言語を用いて実行される、請求項1に記載の方法。前記調整可能な構成要素は、グラフィカルモデリング環境で使用されるブロックセットから選択される、請求項1に記載の方法。調整する前記段階の速度が、前記任意のフィードバック制御構造のインタラクティブな設計および調整をサポートする、請求項1に記載の方法。複数の二地点間閉ループ伝達関数における別個の目標または制約の指定が、ユーザのために多目的または多要件設計タスクを単純化する、請求項1に記載の方法。用いる前記段階が、前記設計要件を前記二地点間伝達関数に適用する段階をさらに含み、適用する前記段階が、多目的および多要件設計タスクの定式化を促進する、請求項1に記載の方法。プロセッサ上で実行されると、調整可能な構成要素を静的に指定し、調整可能な構成要素を動的に指定し、前記調整可能な構成要素のパラメータと相互作用するためのAPIを実装する実行可能命令を保持する1つまたは複数の非一時的コンピュータ可読媒体であって、前記媒体が保持する1つまたは複数の実行可能命令が、所定組の構成要素のパラメータ化を実現する所定のインターフェースを識別し、一組の算術演算を実装し、一組のヘルパー関数を実装し、前記算術演算およびヘルパー関数を用いて調整可能な構成要素を動的に作成し、前記動的な作成が、基本パラメータ構成要素および固定係数または固定構成要素を組み合わせることを含み、前記調整可能な構成要素のパラメトリックモデルを生成し、前記パラメトリックモデルが、前記調整可能な構成要素の調整可能なパラメータに対応し、ユーザ入力による前記調整可能なパラメータとの相互作用可能とし、前記ユーザ入力が、前記調整可能なパラメータを初期化し、前記調整可能なパラメータを固定し、前記調整可能なパラメータから選択したものを解放する、媒体。前記調整可能な構成要素が、MATLAB互換言語で実装される、請求項7に記載の媒体。前記調整可能な構成要素は、グラフィカルモデリング環境と関連付けられたブロックセットから選択される、請求項7に記載の媒体。プロセッサ上で実行されると、任意のフィードバック制御構造の標準形式を構築し、設計要件のH∞定式化で使用される二地点間伝達関数を指定するためのアプリケーションプログラムインターフェースを実装する実行可能命令を保持する1つまたは複数の非一時的コンピュータ可読媒体であって、前記媒体が保持する1つまたは複数の実行可能命令が、入力構文を用いて算術演算子およびブロックダイアグラム演算を指定するユーザ入力機構と相互作用し、前記入力構文によりユーザが、線形時間不変モデル構成要素を入力でき、前記線形時間不変モデル構成要素は線形時間不変モデルにおいて使用され、ソフトウェアベースのインターフェースを入力でき、前記ソフトウェアベースのインターフェースは、調整可能なパラメータを備えた調整可能な構成要素を記述し、算術演算子およびブロックダイアグラム演算の一方または両方を用いて、前記線形時間不変モデル構成要素と前記ソフトウェアベースのインターフェースとを結合し、前記ブロックダイアグラム演算が、直列接続、並列接続、またはフィードバック接続を含み、前記ユーザ入力機構と相互作用し、前記相互作用により前記入力構文が、前記線形時間不変モデル構成要素および前記調整可能な構成要素を含む制御システム全体の標準形式を漸進的に構築し、前記標準形式に基づいてパラメトリックモデルを生成し、前記パラメトリックモデルはオプティマイザへの入力のため適合されており、前記パラメトリックモデルは設計要件を満足するため調整されるよう構成されている、媒体。オプティマイザを用いて、前記パラメトリックモデルを最適化する段階をさらに含み、前記最適化が、前記標準形式および前記調整可能なパラメータと相互作用して、H∞目標を最小化しまたはH∞制約を実現する、請求項10に記載の方法。ヘルパー関数を前記ユーザ入力機構に与えることをさらに含み、前記ユーザが前記入力構文を用いて前記APIと対話するときに、前記ヘルパー関数にユーザが入力機構を介してアクセス可能となる、請求項10に記載の方法。関数を与えることをさらに含み、前記関数が前記入力機構と互換性を有し、前記関数が前記入力構文に従って相互作用を受け、さらに、前記関数を用いて前記制御システムに問い合わせ、または前記制御システムを解析することを含む、請求項1に記載の方法。前記標準形式が、MATLAB互換言語を用いて構築される、請求項10に記載の方法。前記調整可能な構成要素は、グラフィカルモデリング環境で使用されるブロックセットから選択される、請求項10に記載の方法。前記調整の速度が、前記任意のフィードバック制御構造のインタラクティブな設計および調整をサポートする、請求項10に記載の方法。前記任意のフィードバック制御構造がゲインスケジューリングを用いて制御される、請求項10に記載の方法。ループ整形要件をH∞定式にプログラムにより定式化するためのコンピュータ実装方法であって、開ループゲインの目標形状または前記目標形状のプロキシを受け取る段階と、ソフトウェアツールと相互作用する段階とを含み、前記ソフトウェアツールが、制御構造およびフィルタを前記目標ループ形状または前記プロキシから導出し、前記導出された制御構造およびフィルタから標準形式を構築し、前記導出された制御構造およびフィルタからH∞制約を構築し、前記標準形式および前記H∞制約は、制御システムに関する設計要件を獲得する、方法。前記標準形式が、MATLAB互換言語を用いて構築される、請求項18に記載の方法。前記ソフトウェアツールは、Simulink互換環境またはLabview互換環境と相互作用する、請求項18に記載の方法。前記ソフトウェアツールの速度がインタラクティブな制御システムの設計をサポートする、請求項18に記載の方法。標準形式の構造を利用するためのコンピュータ実装方法であって、前記標準形式の構造の前記利用が調整器アルゴリズムの性能を向上させ、前記方法は、最適化手順の最中に、オプティマイザにより与えられる調整可能なパラメータの値を受け取る段階と、構築手順を用いて、前記調整可能なパラメータ値の前記標準形式の状態空間モデルを構築する段階であって、構築する前記段階が、前記調整可能なパラメータに関連付けられた調整可能な構成要素を実装するためにソフトウェアオブジェクトを使用し、各ソフトウェアオブジェクトには、前記受け取られたパラメータ値に関する、その状態空間表現を与える役割を担わせ、前記調整可能な構成要素の集約状態空間行列を生成するため状態空間行列を集約し、前記調整可能な構成要素の前記集約状態空間行列を、集中プラントモデルの状態空間表現と組み合せて、前記標準形式の所望の閉ループ状態空間モデルを得ることにより実行され、前記構築手順の中間結果をキャッシュしてその後の勾配計算を加速する段階と、勾配情報を計算する段階とを含み、前記勾配情報は、目標と制約とを微分し、前記標準形式の状態空間モデルを構築するのに使用されたものと同じソフトウェアオブジェクトを使用し、各ソフトウェアオブジェクトに、前記受け取られたパラメータに関してスカラー値関数の勾配を与える役割を担わせ、前記スカラー値関数は当該法則適用の副産物であり、前記キャッシュされた中間結果を用いて、各調整可能な構成要素により与えられた勾配データを前記目標および制約の全体的な勾配に集約することより、計算できる、方法。プロセッサのために付加的な計算を要求することなく勾配情報が利用可能なる、請求項22に記載の方法。前記調整可能なパラメータの所与の値に関する閉ループシステムを導出するコストは、実質的に無視しうるほど小さい、請求項22に記載の方法。連鎖法則を用いて前記目標と制約を微分する、請求項22に記載の方法。前記調整器アルゴリズムが実時間で動作する、請求項22に記載の方法。前記調整器アルゴリズムは、1つまたは複数の書替え可能ゲートアレイ、特定用途向けIC、特定用途向きプロセッサ、プログラマブル論理回路、マルチコアデバイス、グラフィック処理装置、デジタル信号プロセッサ、またはコアで実装される、請求項26に記載の方法。前記調整器アルゴリズムが分散計算環境で実装される、請求項26に記載の方法。複数入力複数出力コントローラを設計するための従来のアプローチは、H∞合成と呼ばれる技法を含むことができる。従来のH∞合成技法図1は、標準的なH∞合成技法の使用例を表した構成を示す。図1は、プラントH110とコントローラC120とを含むことができる。図1では、標準的なH∞合成が、入力w130から出力z140への閉ループピークゲインを最小化するコントローラC120を計算する。コントローラC120は、ブラックボックスとして動作できる集中H∞コントローラを表すことができる。H110は、コントローラC120を用いて制御可能なプラントを表すことができる。プラントH110は、線形プラントモデルとすることができる。従来のH∞合成を用いて、システム100の閉ループ応答のピーク入力出力ゲインを最小化できる。ユーザは、制御プラントHの帯域幅、ロールオフ、オーバーシュート、およびまたは安定余裕などの設計に関わる側面または目標を指定する制御問題に関する設計仕様を持つことができる。H∞合成に基づくフレームワークは、ユーザが仕様を実現するための補助に適用できる。しかし、従来の∞合成技法を快適に使用しまたは熟練しているユーザは非常に少ない。例えば、ユーザが慣れ親しんでいる通常の仕様を、従来の∞合成技法で必要な正規化閉ループゲイン制約に変換することは、ユーザにとって単調で、直感で理解できず、長時間を要する作業と感じることがある。さらに、従来のH∞合成ツールおよび技法の技術的な制約は、典型的なユーザの作業をさらに遅らせかつまたは混乱させることがある。さらに、従来のH∞合成技法は、ユーザの典型的な設計作業の流れをサポートしないため、ユーザにとって好ましくないもとの感じられることがある。さらに、従来のH∞合成技法は、コントローラC120を、コントローラC120により表現されるシステム構造の内部表現へのユーザによる容易なアクセスを許容しないブラックボックスとして扱う。さらに、従来のH∞合成技術は、所与のシステムのC120を生成する際に、別個の入力接続を結合し、かつこれら接続の間に制御ブロックを挿入する。このアプローチは、C120が導出された元となるシステム構造を表現しないC120の構造を生成してしまい、これは、典型的なユーザが従来のH∞合成技法を扱う際に直面する困難さをさらに悪化させてしまう。例えば、ユーザは、実質的に実時間の操作を可能とする設計ツールを望むこともあろう。従来のH∞合成技法は、多くの理由でインタラクティブな動作をサポートしないことがある。例えば、従来の技法は、特に構造または順序制約がコントローラC120に課せられない場合、一対のリカッチの方程式を繰り返し解くことで最適コントローラの計算を試行することがある。上記一対の方程式を解こうとするこれらの繰り返し試行は、長時間を必要としかつ計算コストが高くつくことがあり、これによって、従来のH∞合成技法は、インタラクティブな設計用途には特に望ましくないもとのなる傾向がある。代表的な技法および実施形態の概要代表的な実施形態は、ユーザが、多変数フィードバック制御問題を定式化しかつ解くために直感的なユーザインターフェースを使用することを可能とする新規の技法を提供する。例えば、代表的な実施形態では、ユーザは、制御システムの全体的性能およびロバスト性を最適化するため合わせて調整する必要がある1つまたは複数のフィードバックループに分散した複数の制御要素を備えた制御問題を扱うことができる。代表的な実施形態はスケーラブルであり、任意の数のフィードバックループおよびまたは任意程度の複雑性を備えた問題の制御に応用できる。代表的な実施形態は、図1に類似したシステム表現であるが、ユーザが、コントローラCをブラックボックスでなくホワイトボックスとして扱うことを可能とするシステム表現を使用できる。例えば、代表的な実施形態では、コントローラCが、各ブロック自身が固定構造および複雑性を備えたブロック対角構造を持つことができる。このCの付加的な複雑性により、ユーザは、コントローラCを、解析対象のシステムの制御アーキテクチャに調和した様態で表現できる。代表的な実施形態は、非平滑H∞オプティマイザを用いて任意のMIMO制御構造を自動的に調整できる。代用的な技法は、ソルバを、Cがブロック対角構造を含むH∞合成表現の正準構造にあわせて特殊化する。代表的な実施形態および技法は、MIMO調整タスクの試行にあたり従来の技法によりもたらされる障害を除去するものである。例えば、代表的な実施形態および技法は、制御アーキテクチャおよびコントローラ構造の、オプティマイザに適した費用関数およびパラメータベクトルへの翻訳を自動化する。さらに、代表的な実施形態および技法によって、勾配を安価に計算できで、Nはパラメータの数、さらに、各調整可能ブロックタイプがそれ自身の寄与を勾配に与えるオブジェクト指向様式で勾配を計算できる。代表的な実施形態は勾配を利用するが、その際に、ユーザが、従来のアプローチでなされていたように、ブロックに関する勾配を計算しそれらを組み合わせて費用関数の全体的な勾配を得る必要がない。従来のアプローチは、簡単なアーキテクチャを除いて手動では処理しにくいことがあり、本発明の幾つかの側面で使用される技法と比べると格段に効率が低いことがある。本発明の代表的な技法は、計算ハードウェアで実現した場合、ユーザがMIMO調整タスクをインタラクティブに実行できるようになる。例えば、代表的な実施形態により、ユーザは、標準的なパーソナルコンピュータ並びにMATLAB技術計算およびプログラミング環境などの技術計算環境を用いて典型的には1秒未満から30秒未満の範囲での調整時間を体験できる。幾つかの実施形態は、処理時間を減少させるためマルチコアまたは他の種類の多重処理デバイス若しくは環境に導入できる。本明細書に記載した実施形態は、それぞれの実例について線形制御システムとの関連で説明するが、本発明の実施形態を使用して非線形制御問題を解くこともできる。例えば、代表的な技法は、ゲインスケジューリングを含むがそれに限定されない非線形制御設計へのアプローチをサポートできる。代表的なシステム図2は、一実施形態を実施するための代表的なシステム200を示す。システム200を用いて1つまたは複数のエンティティを含むモデルを構築し、そのモデルのPIDコントローラを設計、実装し、かつまたはそのコントローラのコードを生成するなどのそのモデルからコードを生成できる。システム200は、コンピュータ205と、取得ロジック210と、オペレーティングシステム215と、モデリング環境220と、モデル230と、入力デバイス240と、表示装置250と、モデル表現260と、プラント270とを含むことができる。図2のシステムは例示的なものであり、システム200の他の実施形態は、より少ない数のデバイス、多い数のデバイス、かつまたは図2の構成とは異なる構成のデバイスを含むことができる。コンピュータ205は、処理動作、表示動作、通信動作などを実行するデバイスを含むことができる。例えば、コンピュータ205は、1つまたは複数の処理または記憶装置などの処理動作をユーザのために実行かつまたはサポートするため使用可能なロジックを含むことができる。コンピュータ205の実施形態は、デスクトップコンピュータ、ラップトップコンピュータ、クライアント、サーバ、メインフレーム、携帯型情報端末、ウェブ機能付き携帯電話、スマートフォン、スマートセンサアクチュエータ、または1つ若しくは複数の動作を実行するための、かつまたは1つ若しくは複数の結果を生成するための命令を実行する別の計算若しくは通信デバイスを含むこともできる。さらに、コンピュータ205は、別のデバイスとの間でデータの送受信を行うことで通信動作を実行することもできる。データは、1つまたは複数のネットワークでかつまたは1つまたは複数のデバイスで使用するよう適合可能な実質的に任意形式を含む任意種類の機械可読情報に関する。データはデジタル情報またはアナログ状態を含むことができる。さらに、データはパケット化しかつまたはパケット化しなくてもよい。取得ロジック210は、コンピュータ205の外部のデバイスからデータを取得でき、コンピュータ205によってそうした情報を利用可能にすることができる。例えば、取得ロジック210は、コンピュータにデータを利用可能にするために用いられるアナログ‐デジタル変換器、デジタルアナログ変換器、フィルタ、マルチプレクサなどを含むことができる。コンピュータ205は、取得したデータを用いてモデリング動作、コントローラ設計動作などを実行できる。オペレーティングシステム215は、コンピュータ205に関連付けられたハードウェアおよびまたはソフトウェアリソースを管理できる。例えば、オペレーティングシステム215は、ユーザ入力の受信、コンピュータ環境205の運用、メモリ割り当て、システム要求の優先順位付けなどに関連したタスクを管理できる。一実施形態では、オペレーティングシステム215は、仮想オペレーティングシステムとしてもよい。オペレーティングシステム215の実施形態は、Linux登録商標、MacOS、MicrosoftWindows登録商標、Solaris、UNIX登録商標などを含むことができる。さらに、オペレーティングシステム215は、コンピュータ205により提供可能な仮想マシン上で実行できる。モデリング環境220は、ユーザが、数学、科学、工学、医学、ビジネスなどを含むがそれらに限定されない分野に関したシミュレーションまたはモデリングタスクを実行可能とする計算環境を提供する。モデリング環境220は、実行可能意味論を備えたモデルをユーザが構築可能にする命令を実行する1つまたは複数のアプリケーションをサポートできる。例えば、一実施形態では、モデリング環境220は、ユーザが、実行可能意味論を備えた自由形式モデルモデルを作成できるようにしてもよい。モデリング環境220は、さらに、時間ベース、イベントベースなどのモデリング動作をサポートできる。モデル230は、実行可能なテキスト形式またはグラフィカルモデルを含むことができる。例えば、モデル240は、時間ベースモデル、イベントベースモデル、状態遷移モデル、データフローモデル、構成要素ダイアグラム、エンティティフローダイアグラム、方程式ベース言語ダイアグラムなどでよいテキスト形式モデルまたはグラフィカルモデルの情報を含むことができる。モデル230のグラフィカルな実施形態は、処理を実行するための実行可能コードを表現するエンティティを含むことができる。これらエンティティのコードを実行して、モデルを用いてシミュレーションを行うことができる。エンティティ同士は、モデル中でデータを1つのエンティティから別のエンティティに移送するための経路を表す線を用いて接続できる。入力デバイス240はユーザ入力を受け取ることができる。例えば、入力デバイス240は、ユーザの動作または行為を、コンピュータ205により解釈可能な信号またはメッセージに変換できる。入力デバイス240は、キーボード、ポインティングデバイス、生体計測デバイス、加速度計、マイクロフォン、カメラ、ハプティックデバイス等を含むことができるが、それらに限定されない。表示装置250は、情報をユーザに表示できる。表示装置250は、ブラウン管、プラズマ表示装置、発光ダイオード表示装置、液晶表示装置等を含むことができる。表示装置250の実施形態は、所望ならユーザ入力ユーザ入力を受け取るように構成してもよい。一実施形態では、表示装置250は、1つまたは複数のグラフィカルユーザインターフェースをユーザに提示できる。これらGUIは、モデル230およびまたは他の種類の情報を含むことができる。モデル表現260は、モデル230の可視表現およびまたはプロットウィンドウなどのモデル230が与える可視表現を含むことができる。例えば、モデル表現260をユーザに表示してもよいし、線で接続された多数のエンティティを含むこともできる。モデル230の実行時には、モデル表現260は、例えばモデルを通るデータの流れを示すように変化させてもよい。プラント270は、データをコンピュータ205に与える1つ又は複数のデバイスを含むことができる。例えば、プラント270は、加速時計、熱電対、光電送受信機、ひずみ計等のセンサを用いて監視されるエンジンシステムを含むことができる。一実施形態では、取得ロジック210は、プラント270からの信号をアナログまたはデジタル形式で受信し、それら信号をコンピュータ205での使用に適した形式に変換できる。代表的なモデリング環境図3は、モデリング環境220の代表的な実施形態を示す。モデリング環境220は、シミュレーションツール310と、エンティティライブラリ320と、インターフェースロジック330と、コンパイラ340と、コントローラロジック350と、オプティマイザ360と、シミュレーションエンジン370と、リポートエンジン380と、コードジェネレータ390とを含むことができる。図3に示したモデリング環境220の実施形態は例示的なものであり、モデリング環境220の他の実施形態も、本発明の精神から逸脱することなく、より多いまたは少ないエンティティを含むことができる。シミュレーションツール310は、モデルを構築するためのアプリケーションでよい。シミュレーションツール310を用いて、実行可能意味論を含むテキスト形式モデルまたはグラフィカルモデルを構築できる。グラフィカルモデルの場合は、シミュレーションツール310によって、ユーザは、モデルエンティティおよびまたは接続の作成、修正、診断、削除などを行うことができる。シミュレーションツール310は、ユーザ入力を受け取り、モデルを実行し、結果を表示し、コードを生成するなどのため、図2または3に示した他のエンティティと相互に作用できる。シミュレーションツール310は、テキスト形式モデルを構築若しくはそれらと対話するための編集ウィンドウおよびまたはグラフィカルモデルを作成若しくははそれらと対話するためのGUIを、ユーザに与えることができる。エンティティライブラリ320は、ユーザが、モデル表現360を含む表示ウィンドウにドラッグアンドドロップできるコードモジュールまたはエンティティを含むことができる。グラフィカルモデルの場合は、さらに、ユーザは接続を用いてエンティティを結合し、プラント370などのシステムのグラフィカルモデルを生成できる。インターフェースロジック330によって、モデリング環境220は、データおよびまたは情報をデバイスまたはソフトウェアモジュールとの間で送受信可能となる。一実施形態では、インターフェースロジック330は、取得ロジック310とモデリング環境220とを接続する。コンパイラ340は、モデルを実行可能形式にコンパイルできる。コンパイラ340が生成するコンパイル済みコードは、コンピュータ205上で実行してモデリング結果を生成できる。一実施形態では、コンパイラ340は、モデルに関連したエラーを診断するデバッグ機能を実現する。コントローラロジック350は、モデル330でコントローラを作成しかつ実装するために使用可能である。例えば、コントローラロジック350は、モデル表現260における様々なタイプのコントローラを表現するエンティティに機能を与える。モデルが実行されると、コントローラロジック350は、モデル表現260におけるエンティティと相互作用することによってこのモデルに対して制御処理を実行できる。一実施形態では、コントローラロジック350は、モデル表現360においてコントローラを実装する制御アルゴリズムを含むことができる。コントローラロジック350の実施形態は、タンドアローンまたは分散型の実装例として動作するよう構成できる。オプティマイザ360は、モデルのコード、パラメータ、性能などを最適化できる。例えば、オプティマイザ360はコードを最適化して、そのコードが最適化されない状態で実行された場合に比べて、例えばそのコードがより少ないメモリを占有し、より効率的に実行し、より高速で実行するようできる。オプティマイザ360は、例えば、コントローラのパラメータ最適するため、コントローラロジック350の最適化を行うこともできる。一実施形態では、オプティマイザ360はコンパイラ340、コントローラロジック350、コードジェネレータ390などと共に動作してもよいし、またはオプティマイザ360をそれらに組み込んでもよい。オプティマイザ360の実施形態は、例えばオプティマイザ360が処理するデータを受け取るための多のオブジェクト指向ソフトウェアと相互作用するソフトウェアオブジェクトを介して実装できる。シミュレーションエンジン370は、モデルを実行してシステムをシミュレートするための処理を実行できる。シミュレーションエンジン370は、ユーザの選択またはシステムの選択に基づいてスタンドアローンまたは遠隔シミュレーションを実行するよう構成できる。レポートエンジン380は、モデリング環境220における情報に基づいてレポートを生成できる。例えば、レポートエンジン380は、コントローラが設計仕様を満足するかを示すレポート、コントローラが安定して動作するかを示すレポート、モデルが適切にコンパイルするかを示すレポートなどを生成できる。レポートエンジン380の実施形態は、表示装置250で表示するための電子形式、ハードコピー形式およびまたは記憶装置における記憶に適した形式でレポートを生成可能である。コードジェネレータ390は、モデルからコードを生成できる。一実施形態では、コードジェネレータ390はコードを第1形式で受け取り、そのコードを第1形式から第2形式に変換できる。一実施形態では、コードジェネレータ390は、モデルの少なくとも一部から、ソースコード、アッセンブリ言語コード、バイナリコード、インターフェース情報、構成情報、性能情報、タスク情報などを生成できる。例えば、コードジェネレータ390は、モデルからC、C、SystemC、Java登録商標、ストラクチャードテキストなどのコードを生成できる。コードジェネレータ390の実施形態は、さらに、統一モデリング言語に基づく表現およびまたはグラフィカルモデル、拡張マーク付け言語、リアルタイム/組込みシステムのモデリングおよび解析、ハードウェア記述言語、自動車オープンシステムアーキテクチャなどの一部または全部からの拡張を生成できる。一実施形態では、オプティマイザ370は、コードジェネレータ390と相互作用して、パラメータに従って最適化されるコードを生成できる。本発明の原理と整合性があるモデリング環境の実施形態は、さらに、検証構成要素、妥当性検査構成要素などの構成要素を含むこともできる。本発明の実施形態を用いて、多変数フィードバック制御問題をインタラクティブに定式化し、解き、かつ実質的に任意次数およびまたは遅れの非線形モデルで使用するコントローラを設計できる。実施形態は、厳密な線形化技法を用いて非線形モデルの少なくとも一部を表現できる線形時間不変モデルを生成するように構成可能である。代表的な制御アーキテクチャ一例として、本発明の実施形態は、実質的に任意の順序で配置されかつ1つまたは複数のフィードバックループを備えたコントローラブロックなどを含みうる複数の構成要素を備えた制御アーキテクチャに応用できる。図4は、本発明の実施形態が適用できる代表的な制御アーキテクチャ、具体的には高い迎え角モードにあるF14で使用される自動操縦装置を示す。この自動操縦装置はGUI400に表示でき、ゲインおよび時間制約を含む8つの調整可能なパラメータを含むことができる。図5は、蒸留塔で使用されるコントローラの代表的なアーキテクチャを示す。図5のコントローラは、GUI500を介してユーザに表示され、調整が必要な4つの比例積分ゲインおよび2x2ゲイン行列を含むことができる。図6は、風力タービンで使用されるピッチおよびヨー制御の代表的なアーキテクチャを示す。図6のアーキテクチャは、GUI600を介してユーザに表示され、調整が必要な3つのPIコントローラおよび2つのゲインを含むことができる。図6に示したように、本発明の実施形態で使用されるGUIは、ウィンドウ、ペインなどの複数のインターフェースを含むことができる。本発明の実施形態は、さらに別の種類のアーキテクチャや、図46および本願の他の部分で示したアーキテクチャに比べ複雑性が高いまたは低いアーキテクチャで使用できる。本明細書で開示した代表的な実施形態およびまたは技法は、任意の複数の制御構造を単一の一般的な表現に還元することによってそれら構造の効率的な調整を可能とする。代表的な正準構造図7は、変換された任意の制御構造を表すために使用できる代表的な正準構造を図示する。図7を参照すると、システム700は、インターフェースを介してユーザに表示でき、さらに制御システムの固定構成要素を単一の集中モデルへと組み合わせる線形モデルでよいH710を含むことができる。本発明の一実施形態では、H710はシステムのすべての固定制御構成要素を表現できる。システム700は、調整対象の要素を含みうるコントローラ720も含むことができる。例えば、代表的な実施形態では、コントローラ720は、調整対象の制御要素を表す1つまたは複数のブロックB1730からBN740を含む構造化コントローラとすることができる。一例として、コントローラ720が単一のブロックを含むときは、そのブロックはB1と呼び、3つのブロックを備えたコントローラ720は、B1、B2、およびB3というブロックを含むものとする。調整対象の制御要素の設計は一様ではない。例えば、調整対象の要素は、コントローラまたはプラント内のゲイン、動的要素およびまたは設計パラメータを含むことができる。コントローラ720の代表的な実施形態は、ブロックB1BNからなるブロック対角集合体を含むことができ、構造化コントローラ720と呼ぶことができる。構造化コントローラ720は、反復されるブロックを含むことができる。システム700は、次のように、周波数領域の対応する式を用いて表現できる。方程式1において、Hおよび調整されたブロックは、信号uおよびyを介してフィードバック様態で相互作用する。式1の正準構造は次の3つの属性を備える。がブロックとして現れる信号フローダイアグラムは、ブロックをそのダイアグラムの他の部分から分離しかつそれらの入力および出力を付加してブロック対角構造を作成することによって、この正準構造に変換できる。その係数が、なんらかのパラメータの有理関数である伝達関数または状態空間モデルは、この正準構造形式に変換可能であり、ここでブロックは次の形式である。この正準表現は直列、並列、およびフィードバック相互接続において閉じている。すなわち、こうした正準構造の任意の相互接続は、より大きなブロックリストを備えた別の正準構造を生ずる。上述の性質-により、本発明の原理と整合性がある図7の正準構造を調整するための任意方法は、任意の次数および構造の線形制御要素を備えた実質的にいかなる制御構造にも確実に適用できる。調整可能ブロックをパラメータ化するための代表的な技法代表的な実施形態は、システム内の調整可能な要素をパラメータ化して調整タスクを最適化問題として定式化するように構成できる。例えば、一実施形態では、すべての調整可能な要素をパラメータ化してよい。表1では、比例積分偏差ブロック、固定次数伝達関数、および固定次数状態空間ブロックなどの共通制御要素のパラメータ化を要約した。さらに、代表的な実施形態は、ソフトウェアベースのツールを提供かつまたは使用するよう構成して、ユーザに基本的なパラメータを含む式を記述させることで制御要素のカスタムパラメータ化を作成させることができる。例えば、本発明の一実施形態で使用される代表的なソフトウェアツールは、ユーザが、例えば次のような付加的な構造を備えた調整可能ブロックを作成可能とする。実数の値aでパラメータ化された低域フィルタオブザーバー形式の状態空間コントローラ数式4において、パラメータはゲイン行列KおよびLである。多目的サポートのための代表的な技法一例として、次の2つのH∞制約が与えられる。これには次のような2つの別個の閉ループ伝達関数が関わる。上記式で、Fは、図7で記述される一次分数変換相互接続を示す。上記式は、調整される構造化補償器を表現する。2つのH∞制約は、次の単一のH∞制約に結合可能であり、これは次の集約伝達関数で結合できる。Cが全次複数入力複数出力コントローラである場合、従来のH∞合成技法は、得られるコントローラのブロック対角構造のため、得られる問題を解くことができない。対照的に、本発明の代表的な実施形態は、ブロック対角構造およびブロック繰り返しをサポートする。従って、本発明の代表的な実施形態は、従来のH∞合成技法ではうまくいかない次の多目的問題のような問題を解くために使用できる。およびとなるようにCを調整せよ。或いは、同様に、となるようにCを調整せよ。という問題も単一目的問題を解くことと変わらない。実際的な見知からは、代表的な実施形態により、ユーザは各ループ伝達関数を独立して制約することができ、すべての要件を獲得する単一のMIMO制約を見つける必要がなくなる。これは多くのユーザにとって望ましい特徴であり、それは、すべての要件を獲得する単一のMIMO制約の発見は、交差項がユーザの問題設定方法と干渉するので、ユーザには困難なタスクとなることが多いためである。ループ整形要件を自動的に定式化するための代表的な技法ループ整形は、フィードバック制御システムを調整するための一般的な周波数領域技法である。一例として、単入力単出力フィードバックループに関し、ループ整形法は次からなる。1設計要件を、開ループ応答Lの所望のゲイン特性について表現する。例えば、ゲインは、良好な追跡および外乱阻止のためには低周波数において高くすべきであり、雑音およびモデリングエラーに対する不感受性のためには高周波数において低くすべきである。遷移周波数は、交差周波数と呼ばれ、制御システムの応答速度に直接影響する。2補償器の調整可能パラメータを調節して、閉ループ安定性および適切な安定余裕を維持しつつ所望のループ整形にアプローチする。マルチループ制御システムに関し、この手順は、後述する幾つかの修正を施してMIMO開ループ応答に適用できる。直ぐ上のステップは、周波数領域技法に詳しい制御エンジニアには通常よく理解されている。例えば、積分動作を備えたフィードバックループの所望のループ整形は、図8に示したプロット800で表現できる。一実施形態では、プロット800は、表示装置250を用いてGUIを介してユーザに表示できる。図8を参照すると、0dB交差周波数はωc10であり、約11001秒の応答時間に対応する図8では、応答時間は、フィードバックループが変化にいかに速く反応するかを示すことができる。を増大または減少させると、応答をそれぞれ速くまたは遅くできる。図8のループ形状はw10について低いゲインを備える。代表的な実施形態および技法は、所望ループ形状またはその近くに達するためシステム中の補償器の調整可能パラメータを調節するのに適している。本発明の実施形態で使用される技法は、ループ整形目標を何らかのH∞ノルム制約に定式化すると有利となることがある。ループ整形目標をH∞ノルム制約に定式化するための幾つかの公知技法が存在するが、こうした変換は、ロバスト制御理論やH∞合成の訓練を経ていないエンジニアには困難を伴うことが多い従来のアプローチを採用する際にエンジニアが直面する困難さを除去するため、代表的な実施形態では、この再定式化ステップを単純化する技法を用いる。例えば、幾つかの実施形態は、この再定式化ステップを自動化して構成およびまたは計算の負担からユーザを解放できる。図9は、本発明の諸側面を実装するために使用できるシステム900を示す。図900は、入力信号r、出力信号y、コントローラC910、およびプラントG920と共にSISOおよびMIMOフィードバックループを含むことができる。さらに、システム900は信号uおよびnも含む。図9において、C910は、1つまたは複数の調整可能ブロックを含むことができ、信号uおよびyは同数の項目を含むものと仮定できる。図9では、開ループ伝達関数は次のように表現できる。さらに、閉ループ伝達関数は次の通りであって、表記法は次の通り。目標ループ形状および外乱阻止率が与えられているとき、次を考える。次のH∞制約により、以下が保証されることを確認できる。ここで、であり、ループゲインは1より大きく、であり、ループゲインは1より小さいので、これは次に等しい。式12の最初の2つの制約は、ループゲインを交差周波数から十分に大きくまたは十分に小さくすることにより所望のループ形状を実現するものである。例えば、1つの実装例では、交差周波数から離れた上限値および下限値などのループゲインの所望値を含むことができる。式12の第3および第4制約は、SおよびTのゲインを交差近くで1に維持するよう作用でき、これは適切なオーバーシュートおよび安定余裕を確保するために重要である。最後に、図12の最後の制約により、ユーザはを減少させることで外乱阻止特性を改善できる。図9に関する上述の説明を要約すると、次のH∞制約は、所望のループ形状を実現し、適切な余裕を与え、を介して外乱阻止を最適化することが示されている。これにより、ループ整形目標を、本発明の代表的な技法とともに使用するのに適したH∞制約に変換するシステム化された方法がもたらされる。例えば、代表的な実施形態および技法により、ユーザからの次の基本的な情報のみを用いて動作可能なソフトウェアツールを作成できるようになる。目標ループ形状を構築し、ブロックパラメータを調整できる。これらソフトウェアツールおよび技法は、所望の交差周波数から適切なループ形状を自動的に生成することにより、かつ積分動作が必要かどうかを判断することにより、目標ループ形状の必要性をさらに無くすことができる。本発明のソフトウェアで実現された側面は、MIMO問題にも適用できる。例えば、代表的な技法を、それぞれが特定の関節を制御する4つの別個のフィードバックループを含んだロボットアームの制御に適用できる。MIMOの場合は、改良点としては、SISO問題で使用されるループ形状とは異なるループ形状の使用が含まれうる。図10は、本発明の諸側面に従ってMIMO問題を扱うことができるループ形状を示す。図10では、トレース1010は、概ね0dBゲインである平坦部1015を含む。平坦部1015は、一定範囲の交差周波数を考慮したものである。一定範囲の交差周波数を見込むことは、結合されたマルチループ制御システムにおいては、すべてのループが同一の周波数で0dB交差可能とは限らないこことに対応させる助けになる。本発明の側面を実装するためのソフトウェアに基づいたツール本発明の代表的な実施形態は、本明細書に記載した技法を実施するためのソフトウェアで実装可能である。本発明のソフトウェアで実現された実施形態は、一定の形式でかつ典型的なユーザにより容易に理解される用語を用いてユーザが情報を入力可能とするグラフィカルユーザインターフェースなどのインターフェースをユーザに提供する。さらに、ソフトウェアで実現された実施形態は、制御システムの迅速な設計およびまたは解析をサポートするアルゴリズムおよび処理技法を利用する。事実、本発明の実施形態を構成することにより、制御システムの効率的な設計および解析を促すような作業の流れをユーザが使用できるようにするインタラクティブな制御設計および解析をサポート可能である。例えば、代表的な実施形態が本明細書に記載の技法を実装するための1つまたは複数のソフトウェアツールを使用する場合は、ソフトウェアツールは、限定するわけではないがユーザに例えば次のようなサービスを提供できる。1制御要素の構造を特定し、これら要素のパラメータ化を自動的に生成する。2カスタム要素およびパラメータ化を作成する。3所与の制御アーキテクチャを図7の対応する正準構造にマッピングする。4簡潔な設計要件をH∞制約に変換する。5基調をなす構造化H∞合成問題を解くことによって制御要素を自動的に調整する。6元々の制御要素について結果を提示する。7通常の線形解析ツールとの厳密な統合化によって設計の妥当性検証を促進する。説明を明確にするため、代表的な実施形態および技法は、MATLABのプログラミング言語およびまたはMathWorks社の制御システムツールボックスのようなMATLAB言語と互換性があるツールボックスと関連付けて説明する。本発明の実施形態およびまたはこれら実施形態に関連した技法は、本発明の精神から逸脱することなく、他のソフトウェアパッケージおよびまたはアプリケーションなどを用いて、他のプログラミング環境で実装することもできる。例えば、実施形態およびまたは技法は、MATLAB互換製品言語、Octave、Python、ComsolScript、NationalInstruments社からのMATRIXx、WolframResearch社からのMathematica、MathsoftEngineeringEducation社からのMathcad、MaplesoftからのMaple、ImagineThat社からのExtend、フランス国立情報学自動制御研究所からのScilab、Cadence社からのVirtuoso、Dynasim社からのModelicaまたはDymola、CCライブラリを含むがそれらに限定されないアプリケーションを用いて実装できる。幾つかの実施形態では、本発明の技法を実装するための環境は、ユーザが、数学、科学、工学、医学、商業などに限定されないがそれらを含む分野に関連したタスクを、C、C、Fortran、Pascalなどの従来のプログラミング言語でユーザがコードを開発することを要件とするような別の種類の計算環境で実行する場合と比べ、より効率的に実行可能とする計算環境を提供するハードウェアまたはハードウェアソフトウェアに基づいたロジックを含む。一実装例では、この環境は、当業者が慣れ親しんだ数学的表記法で問題およびまたは解を表現するのに使用できる動的型付き言語を含むことができる。例えば、この環境は配列を基本要素として使用でき、この場合、配列は次元設定を必要としない。これら配列を用いて、演算が一配列内の値など一組の値すべてに適用できるという意味で配列プログラミングをサポートできる。配列プログラミングにより、配列に基づいた処理を、個別の非配列の明示的ループを行うことなく、プログラマーにデータ集団全体を考慮しかつ処理させうる高レベルプログラミング技法またはモデルとして扱うことができることがある。さらに、この環境は、データ解析、データ視覚化、アプリケーション開発、シミュレーション、モデリング、アルゴリズム開発などのために使用可能な行列およびまたはベクトル定式化を実行するために適合させてもよい。これらの行列およびまたはベクトル定式化は、統計、金融、画像処理、信号処理、制御設計、生命科学、教育、離散事象解析およびまたは設計、状態ベース解析およびまたは設計などの多くの分野で使用できる。所望であれば、本発明の側面と一貫性がある実施形態および技法は、TheMathWorks社製のSimulink環境、Stateflow環境、SimEvents環境など、SimulinkStateflowSimEvents互換製品、VisualSolutions社製のVisSim、NationalInstruments社製のLabView、Dynasim社製のDymola、MeasurementComputing社製のSoftWIRE、DALSACoreco社製のWiT、Agilent社製のVEEProまたはSystemVue、PPTVision社製のVisionProgramManager、KhoralResearch社製のKhoros、Gedae社製のGedae、INRIA製のScicos、Cadence社製のVirtuoso、IBM社製のRationalRose、Telelogic社製のRhopsodyまたはTau、カリフォルニア州立大学バークリー校製のPtolemy、或いは統一モデリング言語またはSysML環境の諸側面に限定されないがそれらを含む製品を用いてグラフィックベースの環境で実装できる。調整可能ブロックを指定するための代表的な技法本発明の実施形態により、ユーザはシステム中の調整可能ブロックを指定でき、ここで、整可能ブロックは、最適性能およびロバスト性を実現するために調整しなければならない制御システムの構成要素である。例えば、制御システムの調整可能な構成要素は、本発明の実施形態における図7の正準構造におけるブロックiに対応できる。代表的な実施形態は、ゲイン、PID、伝達関数、および状態空間モデルなどの要素を制御するためのオブジェクトを用いることができる。さらに、これらのオブジェクトは、調整可能なパラメータに対応するように、またユーザによるパラメータの初期化、設定、および解放を可能とするために使用できる。一例として、ユーザは、テキスト形式のユーザインターフェースなどの、2つの入力と2つの出力とを備えた調整可能なゲインを生成するインターフェースと対話できる。モデリング環境220はインターフェース1100を生成できる。例えば、インターフェース1100は、表示装置250を介してユーザに表示されるテキスト形式編集ウィンドウでよい。図11を参照すると、代表的な実施形態では、ユーザは、プロンプトでコマンド1105を入力できる。コマンド1105に応答して、モデリング環境220は、インターフェース1100を介してユーザに表示できるオブジェクト1110を返すことができる。一実施形態では、モデリング環境220を構成して、モデリング環境220と互換性がある他の種類のオブジェクトを表示するのに使用される形式に似た形式でオブジェクトG1110を表示できる。例えば、オブジェクトG1110は、数値でなく調整可能パラメータの記述を含みうるGain属性を除けば、制御システムツールボックス内の通常の線形時間不変オブジェクトに類似していてもよい。例えば、図12を参照すると、ユーザはコマンド1205を入力し、モデリング環境220はGGainの値を含みうる応答1210を返すことができる。続けて図12を参照すると、応答1210はGGainのデフォルト値を含むことができる。代表的な実施形態では、デフォルト値は、ユーザが1つまたは複数の値をデフォルト値から別の値に変更するまでモデリング環境220で使用される現在の値としてよい。例えば、ゲインのデフォルト現在値は、応答1210において00である。ユーザが、コマンド1205および1220を入力することでゲイン行列の最初の項目を1に設定できるようにしてもよい。例えば、ユーザは次を入力できる。GGainValue1GGainFreefalseユーザは次にGGainを入力でき、モデリング環境220は出力1225を返すことができる。図12では、出力1225は、この新しい制約を反映するゲイン行列のパラメータ化を示すことができる。代表的な実施形態では、ユーザは、調整可能PIDブロック、伝達関数ブロック、または状態空間ブロックなどの他の種類のブロックを、図13に示したようにそれぞれコマンド1305、1310、および1315を用いて、インターフェース1300内で作成できる。代表的な実施形態は、ユーザに、典型的なまたは主たる必要性に対処する事前定義ブロックを与えることができる。ユーザによっては、事前定義ブロックが必要性を満たすには十分となることもある。しかし、他のユーザには、事前定義ブロックの構造を上回る構造を備えたブロックなど、より高度かつまたはロバストな制御要素に対する必要性など別の必要性がある場合もあろう。代表的な実施形態を適合して、低域フィルタブロック、ノッチフィルタブロック、オブザーバー形式の状態空間ブロックなどの事前定義ブロックとは異なるブロックを必要とするユーザの必要性をサポートできる。例えば、幾つかの実施形態は、事前定義ブロックとは異なる一組のブロックを提供するように構成できる。しかし、こうした一組のブロックは、一定のユーザの必要性を満たすには多数のブロックを含む必要がある場合もあろう。本発明の一実施形態では、ユーザが単純な代数を用いて自分自身のパラメータ化を構築可能とするフレームワークが提供される。このフレームワークによって、ユーザのすべての必要性を網羅するために多数のブロックの組を維持する必要性がなくなる。一実施形態では、このフレームワークは次を含むことができる。1パラメータの基本概念を具体化するパラメータオブジェクト。2パラメータへの通常の処理を図7の正準構造に自動的に変換するコンピュータ代数。一例として、次の低域フィルタを考える。上記式では、aが実パラメータである。式13は一次伝達関数である。しかし、上記で導入された伝達関数ブロックは、同じ係数aが分母および分子に存在するという制約を表現できない。代表的な実施形態では、ユーザは、次のようなコマンド1320を入力することでこの制御要素を指定できる。stfarealpFfeedbackコマンド1320はモデリング環境220により処理され、genssオブジェクトFが返され、ここでは返されたオブジェクトは、aを唯一のブロックとして図7の正準構造を具現化している。ユーザはインターフェース1300にコマンド1325をタイプでき、モデリング環境220は、次のような応答1330を返すことができる。ansa1x1realp本発明の実施形態は、aが通常の二倍値である場合と同じFを生成する構文を用いる事ができる。この特徴により、ユーザがパラメータと対話する新たなAPIを学ぶ必要性がなくなる。例として、制御システムツールボックスにおいて通常のLTIオブジェクトを操作するための構文は、パラメータおよびパラメトリックモデルを扱うように継ぎ目なく拡張される。本発明の実施形態は、所望時にパラメータと相互作用する代替的な構文をサポートすることもできる。例えば、パラメトリック低域フィルタFを指定するための代替的な構文は、次のようにコマンド1335を介して表現できる。arealpFtfコマンド1335の代替的な構文は、制御システムツールボックスで通常の伝達関数を生成するための構文に類似しており、これは次のようにコマンド1340を介して表現される。a2Ftf1335または1340を入力すると応答1345を返すことができ、これは得られた伝達関数をインターフェース1300を介して表示する。本発明の実施形態を用いて、上述の例に比べより複雑な制御問題を解くこともできる。一例として、オブザーバー形式の状態空間コントローラは次のように与えることができる。式14において、A、B、C、およびDは既知の行列であり、調整可能な変数はゲイン行列KおよびLである。コントローラのこの構造化状態空間パラメータ化は、例えばゲインスケジューリングに有用である。説明目的で、本発明の実施形態を使用する際には2つの測定値y、1つの制御信号u、および3つの状態xが存在すると仮定できる。ユーザは、コマンド1410を次のようにタイプすることでこの調整可能ブロックを作成できる。KrealpLrealpOBCssここでユーザは次のコマンド1420をタイプできる。OBCBlocksモデリング環境220はこのコマンドを処理し、インターフェース1400を介して次のように応答1430を表示できる。ansK1x3realpL3x2realp図13に関連して述べた例と同様に、図14に関連して述べる例は、モデリング環境220で通常の状態空間モデルを作成するための構文に似た構文を用いている。一実施形態では、図14のコマンドを入力すると、次のように構造補償器を備えた図7の正準構造をカプセル化するgenssモデルが得られる。図7を再び参照すると、図7の正準構造には2つの部分があり、具体的には相互接続モデルHおよび調整可能ブロックである。図814および対応する記載では、調整可能ブロックを指定するためのツールおよび技法を説明した。相互接続モデルを構築するためのツールおよび技法は後述する。正準構造を導出するための代表的な技法代表的な実施形態および技法を用いて2つ以上のアプローチをサポートできる。例えば、幾つかの実施形態および技法は、モデリング環境内に存在するツールを用いてHを自動的に抽出することをサポートできる。例えば、Hは、Simulinkモデリング環境内にある線形化ツールを使用して自動的に抽出できる。そして、Hは、テキスト形式計算およびまたはモデリング環境に関連した標準的なコマンドを用いて自動的に構築できる。例えば、Hは、ユーザがMATLABプログラミング環境と対話することで、ブロックダイアグラムを構築するためのコマンドを用いて構築できる。代表的な実施形態を用いて、グラフィカルモデリング環境のようなグラフィックベースの環境で調整可能ブロックを指定できる。一例として、ユーザはSimulinkモデリング環境と対話して、制御システムで使用するための調整可能ブロックを指定できる。Simulink環境では、Hは、調整されるブロックと、外部入出力信号wおよびzとが分かれば完全に特定できる。調整可能ブロックがSimulinkブロックとしてブロックダイアグラムに存在する場合は、この情報は次のように容易に与えられる。1ブロックそれぞれへのブロックパスのリスト。2wおよびzを構成する信号がブロックダイアグラムを出入りする場所を指定する線形化入出力点。この情報が指定されると、LINLFTなどのコマンドが計算を実行し、HをLTIモデルとして返す。上述の処理手順は、線形モデルおよび非線形モデルに適用できる。この処理手順が非線形モデルに適用されると、制御アーキテクチャの線形化モデルが生成される。MATLAB環境のようなテキスト形式プログラミング環境におけるHの導出は、調整可能ブロックの指定に関して上述したコンピュータ代数に依存することがある。代表的な実施形態により、ユーザは通常のLTIモデルを組み合せるための典型的な演算を拡張して、パラメータオブジェクト、パラメトリックブロック、および図7に示した種類のパラメトリックLFTモデルを扱うことも可能となる。典型的な演算処理の例には、限定するわけではないが次が含まれる。通常の代数プラス、マイナス、乗算、除算、逆数など。相互接続演算入力または出力連結、付加、並列、直列、フィードバック、lft、接続など。代表的な実施形態は、オブジェクト指向フレームワーク並びに静的および動的一次分数変換モデルを使用する。代表的な実施形態は、ユーザがダブル配列、LTIモデル、パラメータ、調整可能ブロック、およびLFTモデルを結合可能とするオブジェクトシステムを生成できる。例えば、LFTモデルは最も一般的なモデルであり、genmat、genss、およびgenfrdのような、それぞれダブル行列、状態空間モデル、周波数応答データモデルなどのHの3つの異なる数値表現に対応する3つの種類とすることができる。得られるオブジェクトシステムは閉じており、調整可能パラメトリック要素を備えたLTIモデルの実質的にいかなる組合せも、図7の正準構造を備えたgenssまたはgenfrdモデルを生成する。図15は、本発明の代表的な実施形態により提供されるオブジェクトベースのフレームワークを用いて対話可能な実行可能グラフィカルモデル1500を示す。図15は、複数の実行可能ブロックを備えることができるモデル1500を含んでいてもよい。スコープブロック1505および蒸留塔ブロック1510以下、プラントブロック1510と呼ぶなどのモデル1500内の幾つかのブロックは調整可能ではない。対照的に、ゲインブロック1515並びにPIコントローラブロック1520および1525などのモデル1500内の他のブロックは調整可能とすることができる。モデリング環境220の実施形態は、第一種類の視覚的識別子を用いて調整可能ブロックを示し、第二種類の視覚的識別子を用いて非調整可能ブロックを示すように構成できる。図15を続けて参照すると、プラントブロック1510のLTIモデルGをモデル1500内に設けることができ、ユーザはモデル1500と対話して、rからyへの閉ループ伝達のLFTモデルを構築できる。例えば、ユーザは、次のようにコマンド1605および1610を入力できる。調整可能ブロックを指定するDMltiblockgainPILltiblockpidPIVltiblockpidおよび閉ループ伝達Tを導出するCappendDMTfeedbackモデリング環境220は、コマンド1605および1610を処理し、genssモデルTを生成できる。ユーザはモデリング環境220と対話し、次のようにコマンド1615を入力することで、モデルTをその部分であるHおよびBに分解できる。HBgetLFTModelモデリング環境220はコマンド1615を処理し、次のように応答1620を返すことができる。ax1x2x10013330x20001333bu1u2u3u4u5u6x1002000x2000200cx1x2yD058530576yB072130730705853057607213073070585305760721307307du1u2u3u4u5u6yD000000yB000000100010010001100000010000連続時間モデル。B1x1ltiblockpid1x1ltiblockpid2x2ltiblockgain調整可能パラメータを最適化するための代表的な技法一旦、ユーザが、モデル1500およびモデリング環境220と対話して、設計要件を重み付き閉ループモデルTについて次のH∞制約として定式化すると、ユーザは次のようにコマンドを入力することでオプティマイザを呼び出すことができる。Thinfstructここで、T0は未調整閉ループモデルであり、optionsはオプティマイザのオプションセットである。モデリング環境220は、このコマンドを処理し、さらに、調整可能パラメータがオプティマイザにより発見された一定の値に設定された調整済み閉ループモデルTを返す。例えば、一実施形態では、すべての調整可能パラメータは、オプティマイザ360により決定された最良値に設定できる。ユーザは、1つまたは複数の調整可能ブロックの調整済み値にアクセスを望むこともあり得る。例えば、一実施形態では、ユーザは、次のようにコマンドを入力することで各調整可能ブロックの調整済み値にアクセスできる。TBlocks場合によっては、C0は、1つまたは複数の調整可能ブロックを含む補償器からなることもある。こうした場合、ユーザは、本発明の代表的な実施形態を用いて、調整済みパラメータ値をC0に関しLETモデルにプッシュできる。例えば、ユーザは次のコマンドをタイプできる。CreplaceBlockモデリング環境220はこのコマンドを処理し、C0における関連するパラメータ値を、Tにおけるそれらの調整済み値と自動的に置換できる。代表的な実施形態は、SimulinkまたはSimulink互換モデルのようなモデルにおけるブロックパラメータの調整の効率化を容易にするヘルパー関数などの関数を含むことができる。一例として、かつSimulinkを参照すると、LINLFTを拡張して、調整の対象として選択されたSimulinkブロックに基づいて適切な調整可能ブロックオブジェクトを自動的に選びかつ構成できる。ヘルパー関数を用いて、hinfstructにより計算された調整済みパラメータ値をSimulinkブロックにプッシュバックできる。ヘルパー関数は、文書化された関数が動作する際に、それら文書化関数により使用される文書化されていない関数のような関数を含むことができる。結果を検査するための代表的な技法代表的な実施形態は、調整可能ブロックおよびLFTモデルを通常のLTIモデルのピアとして扱うことができる。こうすることにより、代表的な実施形態は、STEPまたはBODEなどの標準的なコマンドを用いて調整済み制御システムを直接解析できる。例えば、ユーザは次のコマンドをタイプできる。bodeTのボード応答をプロットするモデリング環境220はこのコマンドを処理し、表示装置を介してユーザに1つまたは複数のボードプロットを表示できる。代表的な実施形態により、さらに、ユーザは、標準的なtf、ss、zpk、frd、pidコマンドを用いて調整可能要素を通常のLTIモデルに変換できる。例えば、FがTを構成する調整可能ブロックの1つであれば、ユーザはFを次のようなコマンドを使って伝達関数に変換できる。FtunedtfFの調整済み値を伝達関数として得る上述のコマンドおよび技法は、ユーザが従来のツールと対話する際には利用できないロバストな調整機能をユーザに提供する。これら技法コマンドは、テキスト形式またはグラフィカルなモデリング環境をユーザにとって過剰に複雑または混乱の原因とすることなくロバストな機能を提供する。本発明の一実施形態を実施するための代表的な作業の流れ図17は、F14ジェット戦闘機で使用されるアナログ自動操縦装置の代表的モデル1700を示す。本発明の代表的な実施形態および技法をモデル1700に適用することで、F14のアナログ自動操縦装置を調整できる。例えば、実施形態および技法は、Simulinkモデリング環境を用いてF14の長手方向軸に関して自動操縦装置を調整できる。モデル1700は、標準的なカスケードループ自動操縦装置を実装できるコントローラブロック1705を含むことができる。図17を参照すると、モデル1700は、ピッチ速度qを指令する内側ループ1715と、迎え角アルファを指令する外側ループ1715を含むことができる。図18は、コントローラブロック1705をより詳細に示す。図18に示すように、ウィンドウ1705Aは、図17のコントローラブロック1705に含まれる構成要素および接続を含む。図18では、この自動操縦装置は固定構造体を備え、調整の必要があるかもしれないゲインおよび前置フィルタからなる。例えば、調整可能ゲインブロック1820、1825、および1830は、三角形の形状およびシェーディングをつけて表示されており、このシェーディングはゲインブロックが調整可能であることをユーザに示すものとすることができる。前置フィルタ1805、1810、および1815は、四角形の形状およびシェーディングをつけて表示してよく、このシェーディングは前置フィルタブロックが調整可能であることをユーザに示すものとすることができる。図18は、調整可能なシェーデッドPI補償器1840も含むことができる。本発明の実施形態は、調整可能なゲインブロックを示すために第1色およびまたはシェーディング密度を用い、調整可能な前置フィルタブロックおよびまたはPI補償器ブロックを示すために第2色およびまたはシェーディング密度を用いてもよい。代表的な実施形態および技法により、ユーザは選択した制御要素を自動的かつ一緒に調整して所望レベルの性能およびロバスト性を実現できる。図19を参照すると、ユーザは次のコマンド1905stfpKarealppKqrealppKfrealppKirealppTalrealppW1realppW2realpを入力して図17および18の自動操縦装置のパラメータを定義できる。図19では、ユーザは、すべてのパラメータを実スカラーパラメータとして定義することを選択できる。コマンド1905では、ユーザは、ほとんどのパラメータをゼロに初期化する選択もできる。ユーザはモデリング環境220と対話し、積分器と、アルファ前置フィルタと、ピッチ前置フィルタとをコマンド1905のパラメータを含む表現として生成できる。例えば、ユーザは、コマンド1910を次のように入力して積分器と、アルファ前置フィルタと、ピッチ前置フィルタとを生成できる。IntegratorpKisKisAlphaSensortf1PitchFiltertfオブジェクトを追跡するための代表的な技法ユーザは、図17および18の自動操縦装置モデルと対話する際に、追跡オブジェクトをH∞制約として定式化することを望むかもしれない。所望の帯域幅は1radsとすることができ、ユーザは、ほとんどオーバーシュート無しで迎え角アルファに操縦桿入力を追跡させたいと望むこともあろう。代表的な実施形態および技法を用いて、ユーザの要件を外側ループ1715の開ループ形状について定式化できる。ユーザは、次のコマンド1915を入力することで、自分が現実的と考える目標ループを定義できる。wc1目標クロスオーバーLSbodemaggridtitleモデリング環境220はコマンド1915を処理し、GUI2000を介して図20に示したボードプロットを表示できる。GUI2000は、帯域幅が概ね1radsとなり、かつ1を超過しない可能性が高い定常状態エラーを保証するループ形状を表示する。外側ループは積分器を含んでいないので、ユーザは、w0でより大きなゲインを現実的には期待できないことを理解するかもしれない。をアルファにマッピングする閉ループモデルであって、rがアルファコマンドであり、nがアルファの測定ノイズであり、dがアクチュエータに入る外乱である閉ループモデルを導出して、上述の代表的なループ整形技法が使用できるようにする必要があるかもしれない。代表的な一実施形態では、ユーザは、モデル中の調整済みブロックを列挙し、信号r、n、d、アルファを線形化入出力としてマーキングし、LINLFTコマンドを用いてからyalphaへの閉ループ伝達のLEFモデルを抽出することができる。一例として、ユーザは、図21に示したコードを生成できる。例えば、ユーザは、次のようにテキストをインターフェース2100に入力することでコード部分2105および2110を作成できる。調整済みブロックTunedBlocksf14ControllerAlphasensorLowpassFilterf14ControllerPitchRateLeadFilterf14ControllerKaf14ControllerKqf14ControllerKff14ControllerIntegrator図4の構造化補償器CblkdiagliniosliniorlinioアルファnliniodHlinlft閉ループ伝達rndyアルファTa0lftここで、ユーザはエラー信号eryを必要とする場合があり、これは次を入力することでT10の出力として加えることができる。T1000010011Ta0ユーザは、上述のループ整形重みを加えることでH∞制約として定式化を完了できる。例えば、ユーザは、次のようにコマンド2205をインターフェース220に入力できる。beta3WinblkdiagWoutblkdiagT10WoutT10WinT10InputNamerndT10OutputNameye代替的な実施形態では、こうしたループ整形重みは、ユーザ入力を必要としなくてもモデリング環境2200によってプログラムにより付加させてもよい。図21および22に関連した入力がモデリング環境220に入力されると、図20のループ整形目標は次のH∞制約によって獲得できる。.ロバスト性目的を識別するための代表的な技法図17のカスケードループ構造は、2つの測定値と1つの制御とを備えたMIMO制御構造である。幾つかの例では、ユーザは各SISOループの安定余裕を評価しようとするかもしれないが、そうしたアプローチでは十分なMIMO余裕が保証できるとは限らない。本発明の実施形態によりサポートされたより信頼性および正確性が高いアプローチは、次の感度関数のピークゲインが1に近い状態を維持することを保証する。式16では、Gはデルタをにマッピングし、Kはからデルタを生成する集約コントローラである。言い換えれば、第2の要件は次の通り。上述のように、の閉ループモデルは、感度関数Sがプラントの出力において測定されることに注視することにより導出でき、かつLINLEFTを使用できる。例えば、ユーザはコマンド2210を入力できる。linioslinioアルファlinioqHlinlftS0lftT20S0代表的な調整技法T2の閉ループモデルが導出されると、ユーザは、コントローラパラメータの調整を望むかもしれない。代表的な実施形態は、追跡およびロバスト性に関するH∞制約の単一制約への結合を促進する。例えば、この単一の制約はユーザが次を定義すると表現できる。T0blkdiagモデリング環境220は、HINFSTRUCTソルバに、オプティマイザ360を用いて5回の最適化を実行するよう命令できる。例えば、オプティマイザ360は、局所極小において早期終了の危険を軽減するため5つの異なる開始点からこれら5回の最適化を実行できる。さらに、オプティマイザ360は、高ゲイン設計を防ぐため、閉ループポールの大きさを50に限定できる。ユーザは、次のコマンドを入力することで上述の最適化を実行するようにオプティマイザ360を構成できる。OptionshinfstructOptionsユーザは、次のコマンドを入力することで指定した最適化を実行できる。Thinfstructモデリング環境220は、これらコマンドが実行されると調整済み目標Tを返すことができる。解を検査するための代表的な技法ユーザはコントローラ設計を妥当性検証したいと望むこともあり、代表的な実施形態では、ユーザがインタラクティブに検証を実行できる。一実施形態では、この設計の検証は、調整済みパラメータ値を閉ループ伝達Ta0およびSにプッシュすることで実行できる。ユーザは、次のような2つのコマンドを入力できる。TareplaceBlockSreplaceBlockモデリング環境220はこれらコマンドを処理し、アルファループの閉ループ応答をシミュレートできる。図23は、モデル1700のアルファループの閉ループ応答を示す代表的なプロット2300を図示する。例えば、ユーザは次のコマンドstepアルファへのアルファコマンドを入力して、プロット2300を表示装置250を介して表示させられる。さらに、代表的な実施形態では、ユーザは、Sのピークゲインが0dBに近くなることを検証できる。例えば、ユーザは次をタイプできる。sigma感度関数のピークゲインモデリング環境220はこのコマンドを処理し、表示装置250を介して図24のプロット2400を表示できる。さらに、代表的な実施形態では、モデリング環境220と対話することによって、ユーザは調整済みパラメータの値にアクセスできる。例えば、ユーザは、TBlocksKqValueKqゲインの調整値をタイプでき、このコマンドが処理されるとモデリング環境220は応答を生成する。例えば、次をユーザに表示できる。ans43486e001代表的な処理図25は、本発明の1つまたは複数の実施形態を実施するための代表的な処理を示す。ユーザは、1つまたは複数の調整可能な構成要素を含むモデルを作成できる。例えば、ユーザはグラフィカルモデルと対話でき、信号を表す線で接続された多くの構成要素を含む自由形式グラフィカルモデルを構築してよい。このモデルは、1つまたは複数のフィードバックループを含むことができ、さらに、プラントとして表現できる固定構成要素と、コントローラを介して表現できる1つまたは複数の調整可能な構成要素とを含むことができる。さらに、ユーザは、固定および調整可能な構成要素を生成するためのコマンドをユーザ自身が入力するテキスト形式環境を用いてモデルを生成できる。一実施形態では、本発明の一実施形態が既存のモデルを受け取るような場合は、動作2505はオプションとしてもよい。モデルが識別されると、このモデルに関連付けられた設計要件を受け取ることができる。例えば、ユーザは、このモデルに関する開ループ応答の所望のゲインプロファイルを指定し、構造化コントローラにグループ化できるモデル内の調整可能ブロックを指定し、かつまたはモデルの閉ループ表現への入力、出力、および外乱のモデル内の位置を識別できる。代替的には、ユーザは、このモデルに関する設計要件を指定するために使用できるテキスト形式環境におけるコマンドと対話してもよい。別の実施形態では、設計要件を、APIなどを介してプログラムによってデータ格納から読み込んでもよい。設計要件は、本発明の代表的な実施形態を用いてH∞制約に定式化できる。例えば、本発明の一実施形態は、ユーザ入力装置を介して受け取られた設計要件を、モデルの構成要素の調整に用いるH∞制約に自動的に変換できる。コンピュータ205は、H∞合成技法を用いて処理演算を実行し、プラント、コントローラ、および伝達関数を抽出できる。一実施形態では、このコントローラは、ブロック対角構造に配置される調整可能構成要素の調整可能なパラメータを含むことができる。例えば、設計要件のH∞制約への変換では、図7に示したように制御アーキテクチャを正準構造にマッピングすることが含まれうる。変換後は、プラント、コントローラ、および伝達関数は、このモデルのパラメータを調整するために使用可能なオプティマイザと互換性がある形式とすることができる。この互換形式はこのオプティマイザに入力可能であり、このオプティマイザは、構造化コントローラに関連付けられた構成要素を調整できる。一実施形態では、このオプティマイザは、未調整構成要素を受け取ることができる。このオプティマイザは、調整済み構成要素を含む結果を生成できる。例えば、調整済み構成要素は、動作2510で受け取られた設計要件を満足しつつ、このモデルの安定性目標も満足できる。このオプティマイザが生成した結果は検証して、この結果によって、このモデルが所望の様態で動作可能となることを保証できる。例えば、結果の妥当性検査により、オーバーシュート余裕が超えられてしまうことがなく、所望の応答速度が達成され、安定余裕が維持され、所望のループゲインが達成され、所望の外乱阻止が達成されることなどが保証される。代表的なアーキテクチャ図26は、図2のコンピュータ205を実装するのに使用可能な代表的なコンピュータアーキテクチャを示す。図26は、コンピュータ205に対応するエンティティの代表的なダイアグラムである。図示したように、このエンティティは、バス2610、処理ロジック2620、主メモリ2630、読出し専用メモリ2640、記憶装置2650、入力デバイス2660、出力デバイス2670、およびまたは通信インターフェース2680を含むことができる。バス2610は、このエンティティの構成要素間での通信を可能とするパスを含むことができる。処理ロジック2620は、命令を解釈かつ実行可能なプロセッサ、マイクロプロセッサ、または他の種類の処理ロジック、グラフィック処理装置、デジタル信号プロセッサ、特定用途向けIC、特定用途向きプロセッサ、プログラマブル論理回路等を含むことができる。一実装例として、処理ロジック2620は、シングルコアプロセッサまたはマルチコアプロセッサを含むことができる。別の実装例では、処理ロジック2620は、単一の処理装置または、処理クラスタまたは計算グリッドなどの一群の処理装置を含むことができる。さらに別の実装例では、処理ロジック2620は、互いに対してローカルまたはリモートでよい多数のプロセッサを含むことができ、処理時に1つまたは複数のスレッドを使用可能としてよい。主メモリ2630は、ランダムアクセス記憶装置か、情報および処理ロジック2620が実行するための命令を記憶できる他の種類の動的記憶装置を含むことができる。ROM2640は、ROM装置か、処理ロジック2620が使用するための静的情報およびまたは命令を記憶できる他の種類の静的記憶装置を含むことができる。記憶装置2650は、磁気固体およびまたは光学記録媒体並びにその対応するドライブ、または処理ロジック2620が使用するための静的情報およびまたは命令を記憶できる他の種類の静的記憶装置を含むことができる。入力デバイス2660は、オペレータが情報を、キーボード、マウス、ペン、タッチパッド、加速度計、マイクロフォン、音声認識、カメラ、生体計測機構などに入力可能とするロジックを含むことができる。一実施形態では、入力デバイス2660は、入力デバイス240と一致していてもよい。出力デバイス2670は、情報をオペレータに出力する表示装置、プリンタ、スピーカ、ハプティックインターフェースなどの機構を含むことができる。通信インターフェース2680は、このエンティティが他のデバイスおよびまたはシステムと通信可能とする送受信装置のようなロジックを含むことができる。例えば、通信インターフェース2680は、ネットワークを介して他の装置またはシステムと通信するための機構を含むことができる。図26に示したエンティティは、主メモリ2630などのコンピュータ可読媒体に記憶されているソフトウェア命令の処理ロジック2620による実行に応答して演算処理を実行できる。コンピュータ可読媒体は、物理的または論理メモリ装置として定義してよい。これらソフトウェア命令は、記憶装置2650などの他のコンピュータ可読媒体または他の装置から通信インターフェース2680を介して主メモリ2630に読み込み可能である。主メモリ2630に含まれたソフトウェア命令により、これらソフトウェア命令が処理ロジック2620により実行されると、この処理ロジックが本明細書に記載の技法を実行可能となる。代替的には、本明細書に記載の技法を実装するため、ソフトウェア命令に代えてまたはそれらと組み合わせてハードワイヤード回路を使用してもよい。よって、本明細書に記載した実装例は、ハードウェア回路またはソフトウェアの特定の組合せに限定されるものではない。図26はこのエンティティの代表的な構成要素を示しているが、他の実装例では、このエンティティは、図26に示したものより少ない、異なる、または付加的な構成要素を含んでもよい。さらに別の実装例では、このエンティティの1つまたは複数の構成要素が、このエンティティの1つまたは複数の他の構成要素により実行されると説明されている1つまたは複数のタスクを実行してもよい。代表的な分散実施形態分散実施形態は、2つ以上の処理リソースを用いて処理を実行できる。例えば、幾つかの実施形態は、単一の処理装置内で2つ以上のコアを用いて処理を実行し、単一の筐体内に設けられた多数の処理装置にわたり処理を分散し、かつまたはネットワークにより接続された多種類の処理ロジックにわたり処理を分散してもよい。図27は、分散計算環境を用いて、クライアント装置のために非線形モデルのコントローラのインタラクティブな設計をサポートできる代表的なシステムを示す。システム2700は、コンピュータ205と、ネットワーク2730と、サービスプロバイダ2740と、リモートデータベース2750と、クラスタ2760とを含むことができる。図27の実装例は例示的なものであって、本発明の他の分散型実装例は、図27の代表的な構成と比べより多くの装置および若しくはエンティティ、より少ない装置および若しくはエンティティ、並びにまたは構成が異なる装置エンティティを含むことができる。コンピュータ205は、グラフィカルユーザインターフェース2710とモデリング環境220とを含むことができる。GUI2710は、ユーザがコンピュータ205およびまたはリモートデバイスと対話することを可能とするインターフェースを含むことができる。代表的な実施形態では、GUI2710は、図46および1518のインターフェースと似たものでよい。ネットワーク2730は、データを伝送可能な任意のネットワークを含むことができる。ネットワーク2730の実装例は、インターネットプロトコル、非同期転送モード、周期式光ファイバ網、ユーザデータグラムプロトコル、IEEE80210などの実質的にあらゆるネットワークプロトコルを用いて動作可能なインターネットなどのローカルエリアネットワークLAN、メトロポリタン地域ネットワークおよびまたはワイドエリアネットワークを含むことができる。ネットワーク2730は、ルータ、スイッチ、ファイヤーウォール、およびまたはサーバ等のネットワーク装置を含むことができる。ネットワーク2730は、ワイヤード導体およびまたは光ファイバを用いたハードワイヤードネットワークとしてもよいし、かつまたは自由空間光、無線周波数、かつ若しくは音響透過路を用いたワイヤレスネットワークでもよい。一実装例では、ネットワーク2730は、インターネットのような実質的に開放された公衆網でよい。別の実装例では、ネットワーク2730は、企業仮想ネットワークのようなより制限されたネットワークでもよい。本明細書に記載したネットワークおよびまたはネットワーク上で動作する装置の実装例は、特定のデータタイプ、プロトコル、アーキテクチャ構成などに限定されるものではない。例えば、一実施形態では、ネットワーク2730は、量子互換ネットワーキングプロトコルを使用する量子ネットワークでよい。サービスプロバイダ2740は、サービスを他の装置が利用可能とする装置を含むことができる。例えば、サービスプロバイダ2740は、1つまたは複数のサービスを、サーバおよびまたは他の装置を用いる送信先に提供するエンティティを含む。サービスは、演算を行うため送信先によって実行される命令を含むことができる。代替的には、サービスは、送信先のために演算を行うため送信先のために実行される命令を含むこともできる。一例として、サービスプロバイダが、1つまたは複数のウェブベースサービスをコンピュータ205などの送信先に提供するウェブサーバを運用すると仮定する。このウェブベースサービスにより、コンピュータ205は、サービスプロバイダが運用するハードウェアを用いて電気的およびまたは機械的システムの分散シミュレーションを実行できる。例えば、コンピュータ205のユーザは、サービスプロバイダのハードウェアを使用してシステムモデルのPIDコントローラをインタラクティブに設計できる。一実装例では、顧客はサービス契約に基づいてサービスを受けることができる。サービス契約は、月毎の契約、利用毎の料金、サービスプロバイダ2740と顧客との間で交換された情報量に基づく料金、顧客が使用したプロセッササイクルの数に基づく料金、顧客が使用したプロセッサの数に基づく料金などの取り決めを含むことができる。リモートデータベース2750は、コンピュータ205などの他の装置が使用するための機械可読情報を記憶する装置を含むことができる。一実施形態では、リモートデータベース2750は、システムモデル、コントローラなどに関する情報を含んだデータ構造を記憶する記憶装置のアレーまたはグリッドを含むことができる。クラスタ2760は、リモート処理を実行するために使用できる実行回路2770などの一群の処理装置を含むことができる。実行回路2770は、コンピュータ205のような要求装置のために処理演算を実行するハードウェアおよびまたはハードウェアソフトウェアに基づく装置を含むことができる。一実施形態では、実行回路2770はそれぞれ部分的な結果を計算でき、これら部分的な結果はモデルの全体的な結果へ結合可能である。代表的な実装例一実施形態は、コンピュータ実装方法または非一時的コンピュータ可読媒体上に存在する機械実行可能命令を含むことができる。この方法およびまたは命令は、任意のフィードバック制御構造において設計パラメータを調整するために実装でき、この場合は、コンピュータ実装方法は、例えばローカルマシンのようなスタンドアローンを用いてまたは分散環境において実施できる。例えば、コンピュータ実装方法として実行する場合、この方法は、調整される1つまたは複数の自由パラメータを備えた1つまたは複数の調整可能な構成要素を識別することを含むことができる。これら調整可能な構成要素は、上記任意のフィードバック制御構造のテキスト形式のまたはグラフィカルなモデルの一部とすることもできる。この方法は、上記1つまたは複数の調整可能な構成要素を含む1つまたは複数のフィードバックループを識別することもさらに含むことができる。この方法は、上記の任意フィードバック制御構造を標準形式に変換することをさらに含むことができ、上記標準形式は、上記の任意フィードバック制御構造における既知および固定構成要素を含む集中線形モデルと、上記調整可能な構成要素を用いて形成された収集体とを含む。これら調整可能な構成要素から形成された収集体は、ブロック対角様式にグループ化または配置できる。この方法では、上記のブロック対角配列における構成要素は、上記のブロック対角配列における個々の構成要素またはパラメータがユーザに可視であり、アルゴリズムにとって利用可能であり、読み出しまたは書き込み可能であるという意味で、アクセス可能とすることができる。これら方法は、H∞目標または制約を使用して設計目標およびまたは設計要件を表現できる。この方法の一実装例では、これらH∞目標または制約は、閉ループシステムにおける1つまたは複数の二地点間伝達関数に関する。この方法は、さらに、調整可能な構成要素をパラメータ化できる。例えば、この方法は、調整可能な構成要素を静的にまたは動的にパラメータ化できる。調整可能な構成要素がパラメータ化されると、この方法は、このパラメータ化に基づいてこれら調整可能な構成要素の自由パラメータと相互作用できる。この方法は、調整器を用いて上記フィードバック制御構造を調整できる。例えば、一実装例では、この方法は、非平滑H∞最適化アルゴリズムのクラスである調整器を用いて上記のフィードバック制御構造を調整できる。この調整器は上記の標準形式に対して作用でき、上記調整可能な構成要素がブロック対角形式となったときに調整可能パラメータに作用できる。さらに、上記の調整器は、これらパラメータを調整して上記のH∞目標を最小化しかつまたは上記のH∞制約を実現することができる。このコンピュータ実装方法は、MATLAB互換環境のような技術計算環境で実装できる。さらに、この方法は、Simulink互換環境またはLabview互換環境の様なテキスト形式のまたはグラフィカルな環境で実装してもよい。さらに、幾つかの実装例は、例えば調整可能な構成要素、固定構成要素、接続、アルゴリズムなどを含みうるブロックの組と相互作用できる。このコンピュータ実装方法は、任意のフィードバック制御構造のインタラクティブな設計および調整をサポートするような様態で実装することも可能である。例えば、ユーザによる実時間のインタラクティブな設計および調整動作をサポートする方法を実装することもできる。この方法の実装例は、FPGA、ASIC、ASIP、PLD、GPUDSP、マルチコアデバイス、分散計算リソースなどを用いて実装してもよい。ユーザに代わって多目的または多要件設計タスクを単純化するため、この方法の実装例では、さらに、ユーザまたは装置が複数の二地点間閉ループ伝達関数で別個の目標または制約を指定できる。本発明の幾つかの実装例は、ユーザまたはユーザのグループにより用いられる従来の作業の流れをサポートすることによってこれを行う。この方法を拡張して、設計要件を二地点間伝達関数に適用することを含むことができ、この適用は、多目的および多要件設計タスクの定式化を促進する。この方法は、所望なときにオブジェクト指向フレームワークい導入できる。本発明の幾つかの実施形態は、コンピュータ実装方法の動作およびまたは非一時的コンピュータ可読媒体上に存在する実行可能命令を含むことができる。例えば、媒体実行可能命令として実装されているときは、この媒体は、実行されると本発明の一実施形態または実装例を実行する命令を格納することができる。一実装例では、これら実行された命令は、ユーザに代わって本発明の方法または技法を実行できる。一実装例では、この媒体は、プロセッサ上で実行されると、調整可能な構成要素を静的に指定し、調整可能な構成要素を動的に指定し、かつまたは上記調整可能な構成要素のパラメータと相互作用するためのAPIを実装する実行可能命令を保持できる。一実装例では、このAPIはオブジェクトベースでもよい。実行されると、これら実行可能命令は、所定組の構成要素のパラメータ化を実現する所定のインターフェースを識別できる。さらに、これら命令は、一組の算術演算を実装しかつまたは一組のヘルパー関数を実装できる。さらに、上記の実行された命令は、これら算術演算およびヘルパー関数を用いて調整可能な構成要素を動的に作成できる。一実装例では、この動的な作成は、基本パラメータ構成要素および固定係数または固定構成要素を組み合わせることを含むことができる。さらに、実行された命令は、調整可能な構成要素のパラメトリックモデルを生成できる。一実装例では、上記のパラメトリックモデルは、調整可能な構成要素の調整可能なパラメータに対応でき、ユーザ入力がこれら調整可能なパラメータと相互作用可能とする。例えば、ユーザ入力は調整可能なパラメータを初期化し、調整可能なパラメータを固定し、または調整可能なパラメータから選択したものを解放できる。本発明の別の実施形態は、コンピュータ実装方法としてまたは1つ若しくは複数の非一時的可読媒体上に存在する実行可能命令を介して実装できる。この実施形態は、標準的な形式の任意フィードバック制御構造を構築し、かつ設計要件のH∞定式化で使用される二地点間伝達関数を指定するためのアプリケーションプログラムインターフェースを、実装し、導入し、動作させたりできる。このAPIの実施形態は、所望であればオブジェクトベースでもよい。この実施形態は、入力構文を用いて算術演算子およびまたはブロックダイアグラム演算を指定するユーザ入力機構と相互作用できる。例えば、この入力構文は、ユーザがPIDコントローラのような他の種類の制御構造と対話するためにこの構文を使ったことがあるという意味でユーザにとって慣れた構文とすることができる。この入力構文によって、ユーザは、線形時間不変モデル構成要素を入力でき、この線形時間不変モデル構成要素は線形時間不変モデルにおいて入力ソフトウェアベースインターフェースとして使用され、このソフトウェアベースのインターフェースは、調整可能なパラメータを備えた調整可能な構成要素を記述する。この実施形態は、算術演算子およびブロックダイアグラム演算の一方または両方を用いて線形時間不変モデル構成要素とソフトウェアベースインターフェースとを結合できる。ブロックダイアグラム演算の例には、直列接続、並列接続、またはフィードバック接続を含むことができるがそれらに限定されない。この実施形態はユーザ入力機構と相互作用でき、この相互作用により、入力構文は標準形式の制御システム全体を漸進的に構築できる。この標準形式は、上記線形時間不変モデル構成要素および上記調整可能な構成要素を含むことができる。さらに、この入力構文を用いて、上記標準形式に基づいたパラメトリックモデルの生成を促進できる。このパラメトリックモデルは、オプティマイザと互換性がある形式とすることができ、その互換形式によりパラメトリックモデルをオプティマイザに入力できる。このパラメトリックモデルは、設計要件が満足されるような様態で調整されるように設定できる。この実施形態は、上記標準形式および上記調整可能な構成要素と相互作用してH∞目標を最小化しかつまたはH∞制約を実現するオプティマイザを用いて、上記パラメトリックモデルを最適化することをサポートするよう構成できる。この実施形態は、ヘルパー関数をユーザ入力機構に与えるように構成してもよい。さらに、ユーザが上記入力構文を用いてAPIと対話するときに、この実施形態によれば、ヘルパー関数をユーザが入力機構を介してアクセス可能とする。また、この実施形態は、入力機構と互換性があり入力機構とともに動作できる関数を与えるように構成できる。これら関数を用いて制御システムに問い合わせしかつまたは制御システムを解析できる。本発明の一実施形態は、ループ整形要件をH∞定式にプログラムにより定式化するためのコンピュータ実装方法およびまたは非一時的媒体上に存在するコンピュータ実行可能命令を含むことができる。この実施形態は、方法として実施される場合は、スタンドアローンまたは分散装置を用いて実装でき、かつ一人または複数のユーザのためにインタラクティブな動作をサポートするよう構成できる。この方法は、開ループゲインの目標形状またはこの目標形状のプロキシを受け取ることを含むことができる。例えば、この目標ループ形状またはプロキシは、ユーザのために入力機構から受け取ることができるが、或いは、例えばコンピュータ可読記憶媒体からプログラムにより検索してもよい。この方法は、制御構造およびフィルタを上記目標ループ形状またはプロキシから導出するソフトウェアツールと相互作用することを含むことができる。さらに、このソフトウェアツールは、上記の導出された制御構造およびフィルタから標準形式を構築し、H∞制約を上記の導出された制御構造およびフィルタから構築できる。この方法では、上記の標準形式およびH∞制約は、制御システムに関する設計要件を獲得できる。別の実施形態は、標準形式の構造を利用するためのコンピュータ実装方法およびまたはコンピュータ可読媒体上に存在する実行可能命令を含むことができる。上記標準形式の構造を利用することで、ユーザのためにインタラクティブな作業の流れをサポート可能な調整器アルゴリズムの性能を向上できる。この実施形態は、最適化手順の最中にオプティマイザにより与えられる調整可能なパラメータの値を受け取ることができる。最適化手順は、最適化動作を実行するための機械実装技法を含むことができる。さらに、この実施形態は、構築手順技法を用いて、上記調整可能なパラメータ値の標準形式の状態空間モデルを構築できるが、この構築は、上記調整可能なパラメータに関連付けられた調整可能な構成要素を実装するためにソフトウェアオブジェクトを使用し、各ソフトウェアオブジェクトには、上記受け取られたパラメータ値に関する、その状態空間表現を与える役割を担わせ、上記調整可能な構成要素の集約状態空間行列を生成するため状態空間行列を集約し、かつまたは上記調整可能な構成要素の集約状態空間行列を、集中プラントモデルの状態空間表現と組み合せて、上記標準形式の所望の閉ループ状態空間モデルを得ることにより実行される。この実施形態は、上記構築手順の中間結果をキャッシュしてその後の勾配計算を加速することができる。勾配情報は、上記目標と制約とを微分するために連鎖法則などの法則を適用することと、上記標準形式の状態空間モデルを構築するのに使用されたものと同じソフトウェアオブジェクトを使用することと、各ソフトウェアオブジェクトに、上記受け取られたパラメータに関してスカラー値関数の勾配を与える役割を担わせることと、このスカラー値関数は上記法則適用の副産物であり、上記キャッシュされた中間結果を用いて、各調整可能な構成要素により与えられた勾配データを上記目標および制約の全体的な勾配に効率的に集約することと、によって計算できる。この実施形態は、プロセッサのために付加的な計算を要求することなく勾配情報を利用可能とすることができる。例えば、勾配情報は、勾配情報を利用可能にしないで要する計算コストと比較して、追加の計算コストなしで利用可能とすることができる。さらに、この実施形態は、上記調整可能なパラメータの所与の値に関する閉ループシステムを実質的に計算コストなしで導出できる。例えば、このコストは、それを含めてもがシステム設計、モデリング時間などに関連した計算予算に悪影響を与えないという意味で無視しうるほど小さい。結論幾つかの実装例によれば、ユーザは、ユーザが慣れ親しんだ特徴を用いてシステムモデルの設計コントローラをインタラクティブに設計できる。本発明の代表的な実施形態の上述の説明は、本発明を例証および記述するものであるが、すべてを網羅することを意図したものでなく、本発明を開示された通りの形式に限定することを意図したものでもない。修正および変更は上述の教示を参照すれば可能であるし、本発明を実行することで発見されることもあろう。例えば、一連の動作を図25に関して上述したが、これら動作の順序は、他の実現例では本発明の原理に一致するように修正できる。さらに、非独立動作は並列で実行してもよい。さらに、本発明の原理と矛盾しない実現例も、図面に示しかつ本明細書に記載されたもの以外の装置およびまたは構成を用いて、本発明の精神から逸脱することなく実現できる。具体的な導入様態およびまたは用途によっては、装置およびまたは構成要素を、図2、3、26、または27に示した実現例に追加かつまたはそれらから削除してもよい。また、開示した実現例は、特定の組合せのハードウェアに限定されるものではない。さらに、本発明の特定の部分は、1つまたは複数の機能を実行するロジックで実装できる。このロジックは、ハードワイヤード論理回路、特定用途向けIC、書替え可能ゲートアレイ、およびマイクロプロセッサなどのハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組合せを含むことができる。本発明の説明で使用されたいずれの要素、動作、命令も、特に明記されていなければ本発明に不可欠で必須なであると解釈すべきではない。また、本明細書では、1つのという冠詞は、1つまたは複数の要素を含むことを意図している。1つの要素のみを意図する場合は、1つのまたは他の用語を使用する。さらに、本明細書では、に基づいてという用語は、特に明記されていなければ少なくとも部分的には~に基づいてを意味するよう意図されている。本明細書で用いた見出しおよび小見出しは、本明細書を小区分に分割することにより読者を補助することを意図している。これらの見出しおよび小見出しは、本発明の範囲を限定したり、本発明の特徴を定義したりするものと解釈すべきではない。