(57)【要約】少なくとも２つのリソース（２１Ａ…２１Ｎ）を含むハードウェア層（１２）と、前記少なくとも２つのハードウェアリソースに対応する少なくとも２つのリソース機器コンポーネント（２４Ａ…２４Ｎ）を含むサーバ実行ファイル（１４）と、動的リソース割当てコンポーネント（２８）とを含む、自動試験システムを提供する。前記自動試験システムは、少なくとも２つの仮想複合機器コンポーネント（２６Ａ…２６Ｎ）をさらに含むことが好ましい。前記動的リソース割当てコンポーネントは、全ての利用可能なリソースおよびそれらの現在の状態のリストを保持する。前記動的リソース割当てコンポーネントは、既知の機器のリストを保持する。前記動的リソース割当てコンポーネントは、仮想−物理接続の可能性のリストを保持する。
2007522439.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つのハードウェアリソースを含むハードウェア層と、
前記少なくとも２つのハードウェアリソースに対応する少なくとも２つのリソース機器コンポーネントを含むサーバ実行ファイルと、
動的リソース割当てコンポーネントと
を含む、自動試験システム。
【請求項２】
少なくとも２つの仮想複合機器コンポーネントをさらに含む、請求項１に記載の自動試験システム。
【請求項３】
前記動的リソース割当てコンポーネントが、全ての利用可能なリソースおよびそれらの現在の状態のリストを保持する、請求項１または２に記載の自動試験システム。
【請求項４】
前記動的リソース割当てコンポーネントが、既知の機器のリストを保持する、請求項１または２に記載の自動試験システム。
【請求項５】
前記動的リソース割当てコンポーネントが、仮想−物理接続の可能性のリストを保持する、請求項１または２に記載の自動試験システム。
【請求項６】
前記動的リソース割当てコンポーネントが、仮想−物理リソースアドレスのマップを構築する、請求項１または２に記載の自動試験システム。
【請求項７】
前記動的リソース割当てコンポーネントが、リソースコンポーネントの予約および解放作業を行う、請求項１または２に記載の自動試験システム。
【請求項８】
前記動的リソース割当てコンポーネントが、リソースコンポーネントを動的に予約した後に前記コンポーネントを利用可能なリソースプールに返す、請求項７に記載の自動試験システム。
【請求項９】
テスターのジョブ言語フィルタ、仮想複合機器の言語環境用アドインコンポーネント、仮想複合機器のデバッグ用アドインコンポーネント、および仮想複合機器コンポーネントのうちの少なくとも１つを含む、請求項１または２に記載の自動試験システム。
【請求項１０】
既知の自動試験装置をエミュレートするように構成された、請求項９に記載の自動試験システム。
【請求項１１】
試験言語、試験開発環境、ハードウェア機器の機能、および機器のデバッグ機能のうちの少なくとも１つを含む、既知の自動試験装置をエミュレートするように構成された、請求項１０に記載の自動試験システム。
【請求項１２】
サーバとして機能するように構成された、請求項１または２に記載の自動試験システム。
【請求項１３】
複数のクライアントと情報のやりとりを並行して行うように構成された、請求項１２に記載の自動試験システム。
【請求項１４】
複数のクライアントと情報のやりとりを仮想的に並行して行うように構成された、請求項１２に記載の自動試験システム。
【請求項１５】
複数のジョブプログラムを仮想的に並行して実行するように構成された、請求項１２に記載の自動試験システム。
【請求項１６】
複数のデバッグ環境コンポーネントを仮想的に並行して実行するように構成された、請求項１２に記載の自動試験システム。
【請求項１７】
複数のクライアントと情報のやりとりを行い、複数の場所および地域言語で実行する、前記サーバとして実行するように構成された、請求項１２に記載の自動試験システム。
【請求項１８】
任意のＴＣＰ／ＩＰ通信経路上で実行するように構成された、請求項１２に記載の自動試験システム。
【請求項１９】
自動試験機器に使用する複合機器コンポーネントであって、
少なくとも２つの試験要素に関連する少なくとも２つのリソース機器コンポーネントと、
双方向性オブジェクトを形成するために少なくとも２つの前記リソース機器コンポーネントを組み合わせるための複合機器テンプレートと
を含む、複合機器コンポーネント。
【請求項２０】
少なくとも１つの前記試験要素が、ハードウェア試験要素である、請求項１９に記載の複合機器コンポーネント。
【請求項２１】
少なくとも１つの前記試験要素が、ハードウェア−ソフトウェア複合の試験要素を含む、請求項１９に記載の複合機器コンポーネント。
【請求項２２】
前記ハードウェア−ソフトウェア複合の試験要素が、アナログ−デジタル変換器（ＡＤＣ）および高速フーリエ変換（ＦＦＴ）技術を使用したアナライザを含む、請求項２１に記載の複合機器コンポーネント。
【請求項２３】
前記双方向性オブジェクトが、Ｔｅｒａｄｙｎｅ社の試験システムにおいて提供される定義を含む、請求項１９に記載の複合機器コンポーネント。
【請求項２４】
前記リソース機器コンポーネントが、Ｔｅｒａｄｙｎｅ社の試験システムの言語によって制御される、請求項２３に記載の複合機器コンポーネント。
【請求項２５】
前記双方向性オブジェクトが、ＬＴＸ試験システムにおいて提供される定義を含む、請求項１９に記載の複合機器コンポーネント。
【請求項２６】
前記リソース機器コンポーネントが、ＬＴＸ試験システムの言語によって制御される、請求項２５に記載の複合機器コンポーネント。
【請求項２７】
前記双方向性オブジェクトが、Ｃｒｅｄｅｎｃｅ社の試験システムにおいて提供される定義を含む、請求項１９に記載の複合機器コンポーネント。
【請求項２８】
前記リソース機器コンポーネントが、Ｃｒｅｄｅｎｃｅ社の試験システムの言語によって制御される、請求項２７に記載の複合機器コンポーネント。
【請求項２９】
前記双方向性オブジェクトが、特別に設計された試験システムにおいて提供される定義を含む、請求項１９に記載の複合機器コンポーネント。
【請求項３０】
前記リソース機器コンポーネントが、前記特別に設計された試験システムの言語によって制御される、請求項２９に記載の複合機器コンポーネント。
【請求項３１】
前記試験要素がハードウェアサブコンポーネントである、請求項１９、２３、２５、および２７に記載の複合機器コンポーネント。
【請求項３２】
前記試験要素がハードウェアコンポーネントである、請求項１９、２３、２５、および２７に記載の複合機器コンポーネント。
【請求項３３】
前記ハードウェアコンポーネントのうちの少なくとも１つがハイレベルの個別機器である、請求項３２に記載の複合機器コンポーネント。
【請求項３４】
前記ハイレベルの個別機器がデジタル式複合メータである、請求項３３に記載の複合機器コンポーネント。
【請求項３５】
前記ハイレベルの個別機器が電圧源である、請求項３３に記載の複合機器コンポーネント。
【請求項３６】
前記ハイレベルの個別機器が周波数発生器である、請求項３３に記載の複合機器コンポーネント。
【請求項３７】
自動試験機器に使用する動的リソース割当てコンポーネントであって、
リソース機器コンポーネントの可用性ステータスを含むそれらのリストと、
仮想複合物理的リソースアドレスのマップと
を含む、動的リソース割当てコンポーネント。
【請求項３８】
前記リソース機器コンポーネントのそれぞれが、少なくとも２つの試験要素に関連する、請求項３７に記載の動的リソース割当てコンポーネント。
【請求項３９】
自動試験機器に使用するサイトコンポーネントであって、
サーバのアドレス空間にロードするためのダイナミックリンクライブラリを含む試験プログラムコンポーネントと、
前記試験プログラムをそのアドレス空間にロードし、試験プログラム機能を実行するように構成されたプログラミング環境コンポーネントと
を含む、サイトコンポーネント。
【請求項４０】
試験プログラムコンポーネントおよび前記プログラミング環境コンポーネントが、前記テスターのリモートオペレーションに対してサーバ外部で実行するための実行ファイルとして構築される、請求項３９に記載のサイトコンポーネント。
【請求項４１】
自動試験機器に使用するサーバ実行ファイルであって、
少なくとも２つのリソース機器コンポーネントと、
複合機器コンポーネントと、
動的リソース割当てコンポーネントと、
サイトコンポーネントと
を含む、サーバ実行ファイル。
【請求項４２】
前記複合機器コンポーネントが、
少なくとも２つの試験要素に関連する少なくとも２つのリソース機器コンポーネントと、
双方向性オブジェクトを形成するために少なくとも２つの前記リソース機器コンポーネントを組み合わせるための複合機器テンプレートとを含む、請求項４１に記載のサーバ実行ファイル。
【請求項４３】
前記動的リソース割当てコンポーネントが、
リソース機器コンポーネントの可用性ステータスを含むそれらのリストと、
仮想複合物理的リソースのマップとを含む、請求項４２または４３に記載のサーバ実行ファイル。
【請求項４４】
複数の被試験装置（ＤＵＴ）を作動するための自動試験方法であって、
少なくとも２つの試験要素を含むハードウェア層と、前記少なくとも２つの試験要素に対応する少なくとも２つのリソース機器コンポーネント含むサーバ実行ファイルと、動的リソース割当てコンポーネントとを提供するステップと、
少なくとも１つの複合機器コンポーネントの割当てを検査するステップと、
前記複合機器コンポーネントに対応するインターフェースの仕様を受信するステップと、
前記対応するリソース機器コンポーネントを予約するステップと、
ＤＵＴを作動するステップと、
前記対応するリソース機器コンポーネントを解放するステップと
を包含する、自動試験方法。
【請求項４５】
複数の一意のＤＵＴを作動するステップをさらに包含する、請求項４４に記載の自動試験方法。
【請求項４６】
全ての利用可能なリソースおよびそれらの現在の状態のリストを保持するステップを包含する、請求項４４に記載の自動試験方法。
【請求項４７】
既知の機器のリストを保持するステップを包含する、請求項４６に記載の自動試験方法。
【請求項４８】
仮想−物理接続の可能性のリストを保持するステップを包含する、請求項４６に記載の自動試験方法。
【請求項４９】
仮想−物理リソースのアドレスマップを構築するステップを包含する、請求項４６に記載の自動試験方法。
【請求項５０】
リソースコンポーネントを予約するステップおよび解放するステップを包含する、請求項４６に記載の自動試験方法。
【請求項５１】
自動試験システムのためのジョブプログラムを作成する方法であって、
テスタージョブプログラムを作成するステップと、
テスタージョブプログラムをフィルタ処理するステップと、
フィルタ処理したジョブプログラムをプログラム開発環境へロードするステップと、
前記プログラムを実行するステップと
を包含する、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、２００３年１１月２０日に出願された米国仮出願第６０／５２４，２３１号の優先権を請求するものであり、該仮出願は援用される。
【０００２】
本発明は、概して自動試験装置に関し、特にアナログ／混合信号の自動試験システムに関する。
【背景技術】
【０００３】
（発明の背景）
自動試験装置は、半導体装置メーカーが半導体装置を試験するための能力を提供する。メーカーは、装置ごとに試験を行うことによって、その装置の合格または不合格を判断し、不合格となった装置を市場に出す前に選別することができる。
【０００４】
半導体装置の試験では、一般的に既知の信号を特定のピンに印加して、その入力信号に対する出力の反応の測定を対象とする。その出力信号は、次いで予想される反応と比較され、被試験デバイス（ＤＵＴ）が規定のパラメータの範囲内にあるかどうかを判断する。
【０００５】
アナログ／混合信号自動試験装置のアーキテクチャは、因習的に、共有リソースとして提供されるより高コストの機能と、ピンリソースによってピンとして提供されるより低コストの機能とによって構成される一連の機器類によって設計されている。例えば、低精度の直流電源およびメータが迅速かつ廉価な短絡／開放試験を提供し、一方で高精度の直流電源およびメータがパラメータ評価に必要な精度を提供する。全てのアナログ／混合信号自動試験装置のアーキテクチャは、試験を自動的に順に実行する試験ソフトウェアを有するコンピュータを含む。
【０００６】
アナログ／混合信号自動試験装置のアーキテクチャは、因習的に、単一の試験プログラムが極めて特定のシーケンスにおける単一の被試験デバイスを運転する、線形流プログラミングモデルに従う。試験結果を収集し、予めプログラムした許容範囲との比較によって評価し、合否の判断が行われると、そのプログラムは終了する。
【０００７】
線形流プログラミングモデルのバリエーションは、複数の同一のＤＵＴを同期して作動する単一の試験プログラムが行われる、マルチサイト試験という名で使用されている。
【０００８】
どちらのアナログ／混合信号自動試験装置のソフトウェアアーキテクチャも、被試験デバイスを試験するジョブプログラムには、テスター内の全てのリソースの完全な制御が与えられる。これは、被試験デバイスの試験に不要な全てのリソースが、試験プログラムの間に何もしないままであることを意味する。重要なことは、従来のアナログ／混合信号自動試験装置のソフトウェアアーキテクチャでは、試験の間、他の任意のタスクのために未使用のリソースが使用できないことである。
【０００９】
従来の自動試験装置のソフトウェアアーキテクチャでは、一意かつ専用の言語および／または言語構造を使用することがある。さらに、概して一意かつ専用のバス構造を含む。ユーザーはこの自動試験装置にジョブプログラムを書き込むが、一般的に、これらのジョブプログラムを書き込むためのコストは自動試験装置の資本費を超えてしまう。別のブランドの自動試験装置への変更、または現在のシステムの新しいバージョンへの変更には、これらのプログラムの新しい専用の言語への多大な費用をかけた移植がたびたび必要になる。
【００１０】
代表的な自動試験システムは、コンピュータのオペレーティングシステム内で実行する単一の実行可能なジョブプログラムを有する。これは、プログラムの制御が、テスターを運転しているコンピュータに対して概してローカルであることを意味する。代表的な自動試験システムでは、リモートでテスターを運転できない。これらのテスターの多くはクリーンルーム環境内で作動するので、プログラムのデバッグまたはセットアップのためにテスターのある場所に行く必要がある。クリーンルーム環境に入る前の着替えによって、生産性に大きな損失を生じることが多い。
【００１１】
代表的な自動試験システムのアーキテクチャは、試験システム開発業者の地域の言語（英語、日本語、フランス語など）で書き込まれて動作するシングルジョブプログラムを有する。これは、そのテスターのユーザーが、テスターメーカーからのメンテナンスサポートを受けている間に、テスターの性能を十分に理解するためには、テスターメーカーの言語を理解する必要があることを意味する。テスターの性能は、特殊な特殊なジョブプログラムによる試験結果を翻訳したものであることが多いので、言語の障壁によって理解が困難になり得る。
【００１２】
Ｔｅｒａｄｙｎｅ  Ａ３６０アナログ試験システムなどの複数の従来技術試験システムがある。Ａ３６０システムは、「Ｍ６０１」と呼ばれる物理的機器を有する自動試験装置（ＡＴＥ）である。Ｍ６０１機器は、７つのＶ／Ｉソースと、１つの電圧計と、９ライン×４８ピンのクロスポイントマトリクスとを含む。クロスポイントマトリクスは、Ｖ／Ｉソースまたは電圧計のいずれか１つを４８のＤＵＴポイントのうちの１つに接続する（Ｔｅｒａｄｙｎｅ社（３２１  Ｈａｒｒｉｓｏｎ  Ａｖｅ，Ｂｏｓｔｏｎ，ＭＡ）より入手可能で１９８４に出版された「Ａ３６０  Ｔｅｓｔ  Ｅｎｇｉｎｅｅｒ’ｓ  Ｍａｎｕａｌ」に記載）。例えば、Ａ３６０テスタージョブプログラムでは、ユーザーは、１０ボルトをＤＵＴピン１に、ゼロボルトをＤＵＴピン２に接続し、電圧計をＤＵＴピン３に接続する。そのような場合、Ａ３６０試験プログラムは、Ｍ６１０試験機器の７つのＶ／Ｉソース（例、Ｓ１）のうちの１つを１０ｖに設定し、このＶ／Ｉソースをクロスポイントマトリクスラインのうちの１つ（例、ライン１）に接続し、次いでライン１とＤＵＴピン１との間のクロスポイントリレーを閉じる。同様に、Ａ３６０試験プログラムは、Ｓ２をゼロボルトに設定し、それを例えばライン２に接続し、ライン２とＤＵＴピン２との間のクロスポイントリレーを閉じる。Ａ３６０試験プログラムはまた、電圧計をライン９に接続し、ライン９とＤＵＴピン３との間のクロスポイントリレーを閉じる。初期化時にリソースを試験ジョブプログラムに割り当て、それらをプログラムの終了時においてのみ解放する、このアーキテクチャには複数の不利な点がある。
【００１３】
Ａ３６０は、「Ｍ６２５」と呼ばれる物理的機器も有する。機器Ｍ６２５は、２つのＡＣ供給用波形発生器、一連の入力用ノッチフィルタ、およびＡＣ−ＤＣ変換器からなる、ＡＣソースおよび測定機器である。ＡＣ−ＤＣ変換器の出力は、ＡＣ波形の測定のためにシステムのＤＣ電圧計に接続することができる。この機器は、ＤＵＴに直接接続することもできる（「Ａ３６０  Ｔｅｓｔ  Ｅｎｇｉｎｅｅｒ’ｓ  Ｍａｎｕａｌ」に記載）。テスタージョブプログラムでは、例えば、その機器がソースとして１００Ｈｚの正弦波を発生し、次いでＤＵＴの出力の高調波ノイズコンポーネントを測定する。この例では、ＤＵＴの出力は、主にノイズコンポーネントを有する１００Ｈｚである。この機器は、高周波ノイズだけを検出するように、１００Ｈｚの主周波数コンポーネントを除去するために主周波数でのノッチフィルタを使用して出力を測定する。ノイズは、関連する高調波周波数に設定される帯域通過フィルタを通過する。ＡＣ−ＤＣ変換器は、次いでその出力での高調波ノイズの量に比例する直流電圧をＤＣ電圧計に供給する。このプロセスは、異なる高調波周波数コンテンツを測定するために、異なる帯域通過フィルタ周波数で何度も繰り返される。このアーキテクチャはまた、他と比べて非効率的である。
【００１４】
Ａ３６０は同様に、「Ｍ６０２」と呼ばれる物理的機器も有する。機器Ｍ６０２は、高安定性で範囲を制限した２つの電圧ソースと、１つの高精度な電圧計を有する単一の機器である。この機器は、ＤＵＴに直接接続することができる。テスタージョブプログラムは、例えば、ＤＵＴの出力を非常に高精度に測定するために、ＤＵＴへの１０．００００ボルトの非常に安定した電圧の供給を必要とする場合がある。この機器は、２つの高安定性のソースのうちの１つを１０．００００Ｖに設定し、測定のためにＭ６０２のメータをＤＵＴの出力に接続する。しかし、このアーキテクチャは、接続したメータを高精度のメータ（主に試験較正に使用される機器の正確な較正メータなど）と柔軟に置き換えることができないので、他と比べて柔軟性がない。
【００１５】
さらに、試験機器の「仮想試験機器」または「仮想正面パネル」と呼ばれる複数の従来技術の試験システムがある。これらの試験機器は、機器のフロントパネルの相当物をソフトウェアフォームに提供するために、ウィンドウイングソフトウェアパッケージ（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗ（登録商標）、またはＮａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ社のＭｅａｓｕｒｍｅｎｔ  Ｓｔｕｄｉ（登録商標））を使用する。これらの仮想機器において、ボタン類、ウインド-ウ類、およびインジケータ類は、卓上スタンドアロンの機器のフロントパネル（例、デジタルマルチメータ、ＤＭＭ、または電流源）を複製または模倣したものである。これらの機器の「仮想フロントパネル」は、通常はよりハイレベルの機器のフロントパネルにあるボタン類、スイッチ類、およびインジケータ類の全てまたは一部を置き換える。
【００１６】
さらに、共通の機器の複数の異なるベンダーの機能に共通のフロントパネルを提供する（例えば、Ｎａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔｓ社が提供する）仮想機器がある。例えば、全てのＤＭＭは、電圧範囲の設定や電圧測定インジケータなどの共通の属性を共有する。この単一の共通の「仮想フロントパネル機器」は、異なるベンダーまたは異なるモデルによる機器の操作に好適である。「仮想機器」という用語はまた、Ｖｉｒｔｕａｌ  Ｉｎｓｔｒｕｍｅｎｔ  Ｓｏｆｔｗａｒｅ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＶＩＳＡ）規格（ＩＥＥＥ  ４８８．１およびＩＥＥＥ  ４８８．２）に取り入れられているように、複数の類似した機器のための共通の言語のＡＰＩ（アプリケーションプログラミングインターフェース）仕様を使用することを表す。
それでもなお、上述の問題または欠点を解決する自動試験システムの必要性は存在する。
【発明の開示】
【課題を解決するための手段】
【００１７】
本発明は、アナログ／混合信号の半導体装置のための斬新なアーキテクチャを有するアナログ／混合信号自動試験システム、方法、および、コンピュータプログラム製品に関する。好都合に、本自動試験システムは、既存の機器を模倣（またはエミュレート）し、複数のＤＵＴと複数のジョブプログラムとを同時に実行するように動的に割り当てられる仮想複合機器を作成することができる。
【００１８】
一局面によれば、本自動試験システムは、複数の一意のＤＵＴの同時動作を提供する斬新なソフトウェアアーキテクチャを含む。
【００１９】
別の局面によれば、本自動試験システムは、全てのテスターソース、メータ、および、制御リソースの動的リソース割当てを提供する斬新なソフトウェアアーキテクチャを含む。
【００２０】
さらに別の局面によれば、本自動試験システムは、認識できる機器に疎接続テスターリソースの仮想化を提供する斬新なソフトウェアアーキテクチャを含む。
【００２１】
さらに別の局面によれば、本自動試験システムは、全ての試験リソースのサーバ機能を提供する（すなわち、全てのテスターリソースを共通のサーバ内に公開する）斬新なソフトウェアアーキテクチャを含む。
【００２２】
さらに別の局面によれば、本自動試験システムは、テスターを複数の言語でリモートおよび同時に制御および実行できるようにするための全ての試験リソースおよびグラフィカルユーザーインターフェースのサーバ機能を提供する斬新なソフトウェアアーキテクチャを含む。
【００２３】
さらに別の局面によれば、本自動試験システムは、種々の従来技術のテスターを含む他の自動試験装置の構造を模倣する（すなわち、上述のテスターのような従来技術の機能およびハードウェアアーキテクチャをエミュレートする）ための機能を提供する斬新なソフトウェアアーキテクチャを含む。
【００２４】
さらに別の局面によれば、本自動試験システムは、少なくとも２つのリソースを含むハードウェア層と、少なくとも２つのハードウェアリソース対応する少なくとも２つのリソース機器コンポーネントと、動的リソース割当てコンポーネントとを含む。
【００２５】
本局面の好適な実施態様には、１つ以上の次の特徴を含む：自動試験システムが、少なくとも２つの仮想複合機器コンポーネントをさらに含む。動的リソース割当てコンポーネントが、全ての利用可能なリソースおよびそれらの現在の状態のリストを保持する。動的リソース割当てコンポーネントが、既知の機器のリストを保持する。動的リソース割当てコンポーネントが、仮想−物理（ｖｉｒｔｕａｌ  ｔｏ  ｐｈｙｓｉｃａｌ）接続の可能性のリストを保持する。動的リソース割当てコンポーネントが、仮想−物理リソースアドレスのマップを構築する。動的リソース割当てコンポーネントが、リソースコンポーネントの予約および解放作業を行う。動的リソース割当てコンポーネントが、リソースコンポーネントを動的に予約した後に、必要がなくなったらそのコンポーネントを利用可能なリソースのプールに返す。
【００２６】
自動試験システムは、サーバとして機能するように構成される。自動試験システムが、複数のクライアントと情報のやりとりを並行して、または仮想的に並行して行うように構成される。自動試験システムが、仮想的に複数のジョブプログラムを並行して実行するように構成され、仮想的に複数のデバッグ環境コンポーネントを並行して実行するように構成される。
【００２７】
さらに別の局面によれば、自動試験機器に使用する複合機器コンポーネントは、少なくとも２つの試験要素に関連する少なくとも２つのリソース機器コンポーネントと、双方向性（ｉｎｔｅｒａｃｔｉｖｅ）オブジェクトを形成するために少なくとも２つの前記リソース機器コンポーネントを組み合わせるための複合機器テンプレートとを含む。
【００２８】
本局面の好適な実施態様には、１つ以上の次の特徴を含む：少なくとも１つの試験要素が、ハードウェア試験要素でである。少なくとも１つの試験要素が、ハードウェア−ソフトウェア複合の試験要素を含む。ハードウェア−ソフトウェア複合の試験要素が、アナログ−デジタル変換器（ＡＤＣ）および高速フーリエ変換（ＦＦＴ）技術を使用したアナライザを含む。
【００２９】
双方向性オブジェクトが、Ｔｅｒａｄｙｎｅ社の試験システムにおいて提供される定義を含む。また、機器のリソース機器コンポーネントが、Ｔｅｒａｄｙｎｅ社の試験システムの言語によって制御される。別様には、双方向性オブジェクトが、ＬＴＸ試験システムにおいて提供される定義を含む。また、リソース機器コンポーネントが、ＬＴＸ試験システムの言語によって制御される。
【００３０】
別様には、双方向性オブジェクトが、Ｃｒｅｄｅｎｃｅ社の試験システムにおいて提供される定義を含む。また、リソース機器コンポーネントが、Ｃｒｅｄｅｎｃｅ社の試験システムの言語によって制御される。別様には、双方向性オブジェクトが、特別に設計された試験システムにおいて提供される定義を含む。また、リソース機器コンポーネントが、特別に設計された試験システムの言語によって制御される。
【００３１】
試験要素は、ハードウェアサブコンポーネントまたはハードウェアコンポーネントであってよい。ハードウェアコンポーネントのうちの少なくとも１つが、ハイレベルの個別機器である。このハイレベルの個別機器が、デジタル式複合メータ、電圧源、電流源、周波数発生器、または他のものであってよい。
【００３２】
さらに別の局面によれば、自動試験機器に使用するサイトコンポーネントは、サーバのアドレス空間にロードするためのダイナミックリンクライブラリを含む試験プログラムコンポーネントと、試験プログラムをそのアドレス空間にロードし、試験プログラム機能を実行するように構成されたプログラミング環境コンポーネントとを含む。試験プログラムコンポーネントおよび前記プログラミング環境コンポーネントは、テスターのリモートオペレーションに対してサーバ外部で実行するための実行ファイルとして構築することが可能である。
【００３３】
さらに別の局面によれば、自動試験機器に使用するサーバ実行ファイルは、少なくとも２つのリソース機器コンポーネントと、複合機器コンポーネントと、動的リソース割当てコンポーネントと、サイトコンポーネントとを含む。
【００３４】
複合機器コンポーネントは、少なくとも２つの試験要素に関連する少なくとも２つのリソース機器コンポーネントと、双方向性オブジェクトを形成するために少なくとも２つの前記リソース機器コンポーネントを組み合わせるための複合機器テンプレートとを含むことが好ましい。動的リソース割当てコンポーネントは、リソース機器コンポーネントの可用性ステータスを含むそれらのリストと、仮想複合物理的リソースのマップとを含む。
【００３５】
多形態の（ｐｏｌｙｍｏｒｐｈｉｃ）アーキテクチャによって、１つ以上の複合機器コンポーネントの作成が可能になる。複合機器は、従来技術の機器に類似し、任意の従来技術の制御ソフトウェアに対応する新しい「仮想機器」の作成において、複数の物理的機器の２つ以上のハードウェアコンポーネントまたはサブコンポーネントを組み合わせて作成される。
【００３６】
動的リソース割当てプロセスは、２つ以上の試験ジョブプログラムの実行を容易にするために、物理的機器（すなわち、ハードウェアまたはソフトウェア、あるいはそれらの組に合わせ）の１つ以上の完全なコンポーネントまたはサブコンポーネントの割り当ておよび割り当ての解除を行う。この割当てプロセスによって、同時だが非同期で実行する複数の試験ジョブプログラムの中でのリソースの共有が可能になる。この動的リソース割当てプロセスは、静的なリソース割当てを使用している、すなわち、初期化時にリソースをテストジョブプログラムに割り当て、それらをプログラムの終了時においてのみ解放する、従来技術に対する数多くの利点を有する。
【００３７】
多形態の自動試験システムは、測定の特定のタスクを実装するための一群のハードウェアリソースコンポーネントおよび自動化されたソフトウェアである。試験システムは、複合機器を作成するために、ソフトウェア内に複数の測定、ソース、および制御リソースを互いに組み合わせる。この複合機器は、異なる既存の言語を使用することができ、１つの共通の言語を必要としない。
【００３８】
仮想複合機器は、既存の機器を模倣し、複数のジョブプログラムで同時に複数のＤＵＴを作動するために動的に割り当てられる。仮想複合機器の制御は、複数の地域の言語での完全なマルチユーザのリモート制御を可能にするテスターサーバアーキテクチャによって行われる。これによって、試験リソースの活用が高まり、試験時間が短くなり、テスターのサイズが減少し、またメンテナンス費用が削減される。
【００３９】
この斬新なシステムは、１つまたは複数の仮想複合機器のグラフィカルユーザーインターフェースを設定および使用することもできる。この斬新なシステムは、１つまたは複数の仮想複合機器のプログラミングインターフェースおよび／または接続を設定および使用することもできる。
【００４０】
その方法および関連するコンピュータアーキテクチャとともに、自動試験システムは、次の利点の１つまたは複数を提供する：この斬新なシステムは、複数のタイプのＤＵＴが同時かつ非同期で作動できるようになり、それによってテスターリソースが解放され、他の試験プログラムがそれを利用できるようになる、アナログ／混合信号自動試験装置のソフトウェアアーキテクチャを提供する。このアーキテクチャは、テスターリソースの活用を高め、発明者らの斬新なテスターの生産性を高める。
【００４１】
この斬新なシステムは、多数の利用可能なジョブプログラミング言語が試験プログラムに時間および費用をかけずに実行できるようになる、アナログ／混合信号自動試験装置のソフトウェアアーキテクチャを提供する。別のブランドの自動試験装置への変更、または現在のシステムの新しいバージョンへの変更のための、これらのプログラムの新しい専用の言語への多大な費用をかけた移植がもはや必要なくなる。
【００４２】
この斬新なシステムは、テスターの完全なリモートオペレーションを可能にするアナログ／混合信号自動試験装置のソフトウェアアーキテクチャを提供する。これは、プログラムの制御が、テスターを作動させるコンピュータに対してもはやローカルではなく、そのテスターをリモートで実行させるものであることを意味する。これらのテスターの多くはクリーンルーム環境内で作動するので、プログラムのデバッグまたはセットアップのためにテスターのある場所に行く必要がなくなる。
【００４３】
したがって、この斬新なシステムは、複数のユーザーによる同時のテスターの完全なリモートオペレーションが可能になり、複数の地域の言語において操作できるアナログ／混合信号自動試験装置のソフトウェアアーキテクチャを提供する。
【００４４】
開示した自動試験システムは、例えば、Ｍａｒｋ  ＢｒｕｎｓおよびＧｏｒｄｏｎ  Ｗ．Ｒｏｂｅｒｔｓ（Ｏｘｆｏｒｄ  Ｕｎｉｖｅｒｓｉｔｙ  Ｐｒｅｓｓ、２００１年）の「Ａｎ  Ｉｎｔｒｏｄｕｃｔｉｏｎ  ｔｏ  Ｍｉｘｅｄ−Ｓｉｇｎａｌ  ＩＣ  Ｔｅｓｔ  ａｎｄ  Ｍｅａｓｕｒｅｍｅｎｔ」に示されるように、自動試験装置（Ａｕｔｏｍａｔｅｄ  Ｔｅｓｔ  Ｅｑｕｉｐｍｅｎｔ）の一般的な最高水準の技術、および種々の現在の手順に基づいて構築され、全体として援用される。以下、発明者らは、斬新な動的リソース割当てアルゴリズムにおいて使用する試験言語ソースの断片的な例を提供する。使用した断片は、１９８５年公開のＴｅｒａｄｙｎｅ  Ｐａｓｃａｌ／Ｓｔｅｐｓ（商標）リファレンスマニュアルに基づく。試験言語の他の例は、次の参照に含まれる：Ｍｏｔｏｒｏｌａ  ＤＴＳ  Ｓｏｆｔｗａｒｅ  Ｍａｎｕａｌ（１９９５）、Ｔｅｒａｄｙｎｅ  Ｉｍａｇｅ  Ｂａｓｅ  Ｌａｎｇｕａｇｅ  Ｍａｎｕａｌ  （１９９６）。これらの全ての出版物は、その全体が援用される。
【００４５】
この自動試験システムは、例えば、「Ｔｅｒａｄｙｎｅ  Ａ３６０／Ａ３６０Ｚ／Ａ３７０  Ｔｅｓｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｍａｎｕａｌ」および「Ｔｅｒａｄｙｎｅ  Ａｄｖａｎｃｅｄ  Ｍｉｘｅｄ  Ｓｉｇｎａｌ  Ｉｎｓｔｒｕｍｅｎｔａｔｉｏｎ  Ｍａｎｕａｌ」（１９９６）などの様々な従来技術のシステムアーキテクチャに基づいて構築され、これら全ての出版物はその全体が援用される。
【００４６】
この自動試験システムはまた、Ｓｔｅｐｈｅｎ  ＦａｉｒｂａｎｋｓによるＴｅｒａｄｙｎｅ社の白書「Ａｎａｌｏｇ  Ｆｕｎｃｔｉｏｎａｌ  Ｔｅｓｔｉｎｇ  ａｔ  ｔｈｅ  Ｂｏａｒｄ  ａｎｄ  Ｂｏｘ  Ｌｅｖｅｌ」、およびＮａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔ社の白書「Ｔｈｅ  Ｍｅａｓｕｒｅｍｅｎｔ  Ｒｅｖｏｌｕｔｉｏｎ」（１９９９）などの様々な従来技術のライブラリおよびデータベースに基づいて構築される。
【発明を実施するための最良の形態】
【００４７】
図１Ａおよび１Ｂは、多形態の自動試験装置システム１０のハイレベルブロック図であり、ハードウェア層１２、およびサーバ実行ファイル１４（図１Ｂ）および外部ジョブ実行ファイル１８Ａ乃至１８Ｎ（図１Ａ）を含むソフトウェアアーキテクチャを示す。ハードウェア層１２は、低レベルの機能であると概して考慮される複数のハードウェアリソース２１Ａ、２１Ｂ…２１Ｎを含む。多形態の自動試験装置システム１０は、既知であり、公的に入手可能な任意のコンピュータハードウェアシステムを使用する。
【００４８】
例えば、ハードウェア層１２は、１つまたは一群の次の各ハードウェア要素を含むことが可能である：制御ビット、電圧計、電流計、電流源、デジタルドライブチャネル、デジタル受信チャネル、クロック、時間測定メータ、ＡＣソース、デジタイザ、ＲＦ電源、ＲＦ検出器、ＲＦメータ、リレー、および／またはレーザーダイオードまたは他の電磁放射、およびフォトダイオード、フォトレジスタまたは他の検出器を含む光学要素。さらに、ハードウェア層１２は、アナログピン測定ユニット、プローブ制御ユニット、ハンドラ制御ユニット、シリアルポートコントローラ、クロスポイントマトリクスおよび／またはリレーマルチプレクサなどのスーパーセット機器として構成される異種のリソース群を含むことができる。自動試験装置システムはまた、記録計、ポストプロセス用データ分析器、またはオシロスコープウィンドウなどのハードウェアのない、ソフトウェアのみで構築された機器を含むことが可能である。
【００４９】
各ハードウェアリソースは密に結合され、対応するリソース機器コンポーネント（２４Ａ、２４Ｂ…２４Ｎ）内から制御される。リソース機器コンポーネントは、Ｍｉｃｒｏｓｏｆｔ  ＣＯＭコンポーネントとして書き込まれたソフトウェアドライバである。コンポーネント技術を使用することで、複数のソースから個々のリソースを制御するために、堅牢な、最適化された手順を提供する。Ｍｉｃｒｏｓｏｆｔ  ＣＯＭまたは  ．ＮＥＴ技術を使用することが好ましいが、本システムはこれらの技術の使用に制限されるものではない。
【００５０】
サーバ実行ファイル１４は、リソース機器コンポーネント２４Ａ、２４Ｂ…２４Ｎと、仮想複合機器コンポーネント２６Ａ、２６Ｂ…２６Ｍと、動的リソース割当てコンポーネント２８と、１つまたは複数のサイトコンポーネント３４とを含む。ネットワーク１６は、試験プログラム実行ファイル１８Ａ…１８Ｎとクライアント２０とサーバ実行ファイル１４との間の通信を可能にする。
【００５１】
各リソース機器コンポーネント（２４Ａ、２４Ｂ…２４Ｎ）は、方法、特性、および対応するリソースの機能を完全に定義するイベントの明確に定義されたインターフェースを提供する。各仮想複合機器コンポーネント（２６Ａ、２６Ｂ…２６Ｍ）は、従来技術の機器をエミュレートする一群のリソースを定義する双方向性オブジェクトである。低レベルの機器インターフェースは、ハイレベルの「仮想複合機器」に渡される。この「仮想複合機器」は、次いで一群の機器インターフェースを利用し、低レベルのインターフェースによって現れる適切な機能を使用して新しい機器を「構築」する。
【００５２】
例えば、新しい「仮想複合」機器は、ＡＰＭＵ（アナログピン測定ユニット−Ｖ／Ｉピン）と、ＴＭＵ（時間測定ユニット）機能との組み合わせによって作成することが可能であり、この新しい「仮想複合」機器は、Ｖ／Ｉ機能に加えて時間測定機能を有する１つまたは２つのピンを有することが可能である。この「仮想複合」機器は、そのコンパニオンユーザーインターフェースに加えて新しい「ＡＰＭＵ−ＴＭＵ」機器を使用して、この機能を可能にする。この新しい「ＡＰＭＵ−ＴＭＵ」機器は単独では存在せず、（図３に関連して説明するように）ＡＰＭＵおよびＴＭＵのリソースが利用可能かつアクセス可能である場合にのみ存在する仮想複合機器である。一部の従来技術の機器とは異なり、この機器は２つの独立した機器（すなわち、ＡＰＭＵおよびＴＭＵ）のための試験プログラムへのコードの書き込みが不要なだけでなく、その試験プログラムコードをデバッグするために２つの独立したデバック用ユーザーインターフェースの使用も必要としない。
【００５３】
図２Ａおよび２Ｂは、ハードウェア層１２および内蔵ジョブコンポーネントを有するソフトウェアアーキテクチャを示す、多形態の自動試験装置システム１０の別の実施態様のハイレベルブロック図である。サーバ実行ファイル１４は、リソース機器コンポーネント２４Ａ、２４Ｂ…２４Ｎと、仮想複合機器コンポーネント２６Ａ、２６Ｂ…２６Ｍと、動的リソース割当てコンポーネント２８と、サイトコンポーネント３４Ａ…３４Ｎとを含む。動的リソース割当てコンポーネント２８は、利用可能なリソースおよびそれらの状態のリスト（すなわち、リスト３０Ａ…３０Ｋ）と、仮想複合物理リソースアドレス３２のマップとを含む。各サイトコンポーネント３４は、プログラミング環境コンポーネント３８と、および、試験プログラムコンポーネント３６とを含む。
【００５４】
図２Ｂを参照すると、各試験プログラムコンポーネント３６は、ランタイムでサイトコンポーネント３４にロードおよびリンクすることができる。試験プログラムコンポーネント３６は、サーバのアドレス空間にロードされるＷｉｎｄｏｗｓ（登録商標）  ＣＯＭのダイナミックリンクライブラリ（ｄｌｌ）である。プログラミング環境コンポーネント３８は、そのアドレス空間に試験プログラムコンポーネント（およびＷｉｎｄｏｗｓ  ＣＯＭ  ｄｌｌ）をロードし、製造モードユーザーインターフェースまたは他の外部デバック用ユーザーインターフェース（すなわち、機器ユーザーインターフェース）を経て、そのインターフェース１５を介してコンポーネントにアクセスするときに、試験プログラム機能（すなわち、試験または他のシーケンス関連の機能）を実行する。
【００５５】
試験プログラムコンポーネント３６およびプログラミング環境コンポーネント３８は、実行ファイルとして構築することができ、テスターのリモートオペレーションのためにサーバの外部で実行することができる。試験プログラムコンポーネント３６Ａ…３６Ｎは、アナログ／混合信号半導体の被試験デバイス（ＤＵＴ）を試験するように、シーケンスハードウェアリソース２１Ａ…２１Ｎに必要とされる情報を含む。
【００５６】
各サイトコンポーネント３４は、試験プログラムコンポーネント３６を実行する構造を提供する。サイトコンポーネント３４は、動的リソース割当てコンポーネント２８からのリソースを要求する。動的リソース割当てコンポーネント２８は、利用可能なリソースから仮想複合機器をアセンブルするために、１つまたは複数のサイトコンポーネント３４からの要求に応答する。
【００５７】
動的リソース割当てコンポーネント２８は、全ての利用可能なリソース（３０Ａ…３０Ｋ）およびそれらの現在の状態のリストを保持する。動的リソース割当てコンポーネント２８は、既知の機器のリストおよび仮想−物理接続の可能性のリスト３２を保持する。これらのリストは、手動で（固定接続の場合）、双方向性に（ユーザーが改良した接続のためのユーザーインターフェースを介して）、またはクロスポイントマトリクスまたはリレーマルチプレクサ接続の場合のように、複数の仮想リソースを物理的出力に接続できる場合には動的に構築される。要求に応じて、動的リソース割当てコンポーネント２８は、仮想−物理リソースアドレスのマップ３２を構築し、１つまたは複数のマップ３２を保持する。さらに、動的リソース割当てコンポーネント２８は、図３に関連して説明するように、リソースコンポーネントの予約および解放作業を行う。
【００５８】
図３Ａおよび３Ｂは、自動試験システムの種々のリソースコンポーネントの予約および解放を示す。図３Ａはまた、従来技術のテスター言語の書き込まれるコードを使用するシステムの能力も示す。ブロック１０４は、例えば、Ｔｅｒａｄｙｎｅ社のＡ３ｘｘテスター製品で使用されるＴｅｒａｄｙｎｅ  Ｐａｓｃａｌ／Ｓｔｅｐｓ（商標）のテスター言語を使用して書き込まれたテストからの断片である。この試験には、（ブロック１０４に示すように）Ｓ１と称する出力電圧源機器を２．５Ｖに設定し、次いでクロスポイントマトリクスを介してＤＵＴピン１２に接続し、その電圧源を切断し、試験を停止するための４つのステートメントを含むことが可能である。この試験アルゴリズムは、試験言語フィルタに提出される（ステップ１０６）。
【００５９】
ステップ１０６の後の試験言語フィルタの出力は、テスター１０のネイティブ言語に書き込まれるソースプログラムである。ブロック１０８に示すように、この新しいコードは、構文的に若干異なることがあるが、基本的に同一の機能を実行する。ネイティブ言語ソース試験プログラムは、コンパイラに提出され（ステップ１１０）、（図１および２の１８で示す）新しいテスターで実行するための試験プログラム実行ファイルまたは試験プログラムコンポーネントを作成する（ステップ１１２）。双方の差異は、（実行ファイルとして）リモートで実行されるか、または（ダイナミックリンクライブラリとして）埋め込まれているかである。
【００６０】
第２のステートメント（ブロック１０８）に関して、試験プログラムを作成するための失われた情報が提供される（すなわち、出力ピン１２に接続する）。第２のステートメントのインストールは、動的リソース割当て制御器１０１のための第１のステートメントと同じロジックに従う。第３のステートメント「ＰＥＩ．Ｄｉｓｃｏｎｎｅｃｔ  Ｓ１」または「ＰＥＩ．Ｒｅｌｅａｓｅ  Ｓ１」の類のいずれのステートメントは、動的リソース割当てコンポーネント２８に、予約したリソーステーブル３０内のオブジェクトの状態をリセットさせる。ブロック１０８を参照すると、第４のステートメント「ＰＥＩ．ＳＴＯＰ」は、動的リソース割当てコンポーネントに、予約したリソーステーブル内の子のサイトに対して作成された全てのオブジェクトの状態をリセットさせる。
【００６１】
試験プログラム実行ファイルまたは試験プログラムコンポーネントは、ユーザーによって特定の試験サイトにインストールされる（ブロック１１４）。試験プログラム実行ファイルまたは試験プログラムのユーザー被制御インストールおよび実行は次のとおりである：試験サイト１１４が、試験プログラムの実行を開始する。機器ステートメントを含む各プログラムステートメントが、動的リソース割当て制御器（図３Ｂブロック１０１に示す）からの要求を生じさせる。
【００６２】
ブロック１１６を参照すると、試験プログラムは「ＰＥＩ．ＳＥＴ．Ｓ１  Ｖ＝２．５ｖ」に設定し、動的リソース割当て制御器１０１は、それがすでに物理的電圧源リソースを要求しているサイトに割り当てたかかどうか、予約した動的リソーステーブル（図１および２の３０）を調査する（ステップ１１８）。
【００６３】
ステップ１１８において、Ｓ１機器がすでに存在する場合、そのＳ１機器にインターフェースを返す（ステップ１２０）。ステップ１１８において、Ｓ１機器が存在しない場合、動的リソース割当て制御器は、当該の機器の選択または作成に必要な全ての情報を有するかどうかを試験する（ステップ１２２）。ステップ１２２において、システムは、Ｓ１タイプの仮想複合機器が仮想複合機器コンポーネントのプールに定義されたかどうかを問い合わせる。そうでない場合、アルゴリズムは、詳細な情報が必要であることを示す応答を返す（ステップ１２８）。ステップ１２２でＳ１機器を作成できると判断した場合、アルゴリズムは、可用性があるかどうか、インスタンス化された仮想複合機器コンポーネントの利用可能なプールを検査する（ステップ１２４）。
【００６４】
ステップ１２４において、Ｓ１機器をエミュレートするために仮想複合機器コンポーネントが利用可能な場合、割当てアルゴリズムは、そのエミュレートしたＳ１機器にインターフェースを返し、その状態情報を予約した物理リソーステーブル内に配置する（ステップ１２６）。ステップ１２４において、Ｓ１機器をエミュレートするために仮想複合機器コンポーネントが利用可能でない場合、アルゴリズムは、要求された出力ピン（１３２）に対してＳ１タイプの新しいオブジェクトをインスタンス化することによって接続できるかどうかを確かめるために、仮想−物理接続データテーブルを検査する。
【００６５】
ステップ１３２において、予約した物理リソースがある場合、アルゴリズムは、ステップ１３０において、別の試験プログラムによって同一のリソースが解放されたかどうかを検査する。ステップ１３０において、別の試験プログラムによって解放された同一のリソースがない場合、アルゴリズムは、タイムアウトループ１３０および１３４を入力する。すなわち、アルゴリズムは、同一のリソースが別の試験プログラムによって解放されるまで、ある特定の期間探すためのタイムアウトを待つ。ループ試験は、Ｓ１タイプの好適なオブジェクトが利用可能になるか、またはタイムアウトが生じるまで継続する。その期間の後、アルゴリズムは、エラーを返す（ステップ１３６）。同一のリソースが別の試験プログラムによって解放される場合、アルゴリズムは、Ｓ１オブジェクトに対する参照を取得し（ステップ１２６）、このＳ１機器へインターフェースを返し（ステップ１２０）、またその状態情報を予約した物理リソーステーブル内に配置する。
【００６６】
ステップ１３２において、予約した物理リソースがない場合、アルゴリズムは、存在する予約したＳ１オブジェクトが将来解放された場合に利用可能になる可能性があるかどうかを検査する。ステップ１３６におけるエラーメッセージは、呼出し元に利用できないリソースを知らせる。
【００６７】
予約した物理リソーステーブル３０は、動的リソース割当てコンポーネント２８内に構築され、保持される。仮想−物理リソースデータベース３２は、手動または半自動的に動的リソース割当てコンポーネントの外部に構築され、現在の試験システム内の既知の従来技術の機器類、当該の機器類の属性、および接続機能のテーブルを含む。（すなわち、新しいテスター電圧源＃１は、出力ピン１乃至１２に接続することができ）、このデータベースは、ファイル、データベース、またはシステムレジストリ内に保存することができる。
【００６８】
インスタンス化、および非インスタンス化仮想複合機器のプールは、サーバの起動時に、仮想−物理リソースデータベース内の情報と組み合わせた他の「仮想複合機器コンポーネント」内に含まれる情報から作成される。これらのインスタンス化は動的に行うことができるが、そのようにすることは概して非効率的である。
【００６９】
再び図１または２ＡおよびＢを参照すると、上述のように、動的リソース割当てコンポーネント２８は、リソース機器コンポーネント（２４Ａ…２４Ｎ）を動的に割当て、終了時にそれらを利用可能なリソースプールに返す。これは、ハードウェアリソースの活用を最大化し、同時に２つ以上の要求元への同じリソースの割当てを防ぐ。
【００７０】
サーバ実行ファイルコンポーネント１４は、集合環境サーバインターフェース１５を使用してネットワーク１６に接続される。これによって、全てのリソースのための一様な単一のインターフェースポイントおよびクライアントオペレーションの同調を最適化することが可能になる。これは、一体的なコンポーネントのインターフェースを集合環境サーバインターフェース１５に組み合わせることによって行われ、リソース機器コンポーネント２４、仮想複合機器コンポーネント２６、サイトコンポーネント３４、および動的リソース割当てコンポーネント２８は、図１Ｂに示すように、サーバ実行ファイルコンポーネント１４内に好都合にグループ化される。
【００７１】
サーバ実行ファイルコンポーネント１４は、並行した複数のクライアント接続を可能にするサーバコンポーネントである。ＣＯＭ実行ファイルとして構成され、単体としてマルチスレッド化および実装される。このコンポーネントはコンポーネント技術を使用して構築されるので、インターネットを含む複数の通信方法に対して透過的かつ機能的である。
【００７２】
複数の製造モードユーザーインターフェースクライアントコンポーネント４０は、実行するジョブプログラムおよびユーザーのための全ての実行する処理にインターフェースを提供する。複数の製造モードユーザーインターフェースクライアントコンポーネント４０は、同じ実行中の処理を確認することができる。複数のプロセスモニタークライアント４２は、ポストプロセスおよび実行するプロセスにインターフェースを提供する。
【００７３】
ジョブプログラム実行ファイル（１８Ａ…１８Ｎ）は、テスタージョブ言語ソース５２をＶＢ．ＮＥＴテスタージョブ言語フィルタ５４を介して渡すことによって、手動で作成するか、または既存のテスタージョブ言語ソース５２から導かれるＶＢ．ＮＥＴテスタージョブ言語ソース５６から作成され、（図３に関連して述べたように）既知のテスタージョブ言語ソース５２を構文的に類似したＶＢ．ＮＥＴテスタージョブ言語ソース５６に変換する。ＶＢ．ＮＥＴテスタージョブ言語ソースは、ＶＢ．ＮＥＴプログラミング環境内からデバッグすることができる。ＶＢ．ＮＥＴプログラミング環境には、複数の仮想複合機器のデバッグ用アドインコンポーネント４４および仮想複合機器言語用アドインコンポーネント４６が追加される。
【００７４】
仮想複合機器のデバッグ用アドインコンポーネント４４は、従来技術の機器情報をプログラミング環境に追加するように設計される。それらは、ＶＢ．ＮＥＴ環境内から全ての仮想複合機器のリアルタイムの双方向性制御を提供する。仮想複合機器の言語環境用アドインコンポーネント４６は、ＶＢ．ＮＥＴ環境にプログラム手順を追加する。一例には、既知の自動プログラムジェネレータまたはシーケンステーブルプログラマがある。
【００７５】
一群のテスタージョブ言語フィルタ５４、仮想複合機器の言語環境用アドインコンポーネント４６、仮想複合機器のデバッグ用アドインコンポーネント４４、仮想複合機器コンポーネント２６、および動的リソース割当てコンポーネント２８は、試験言語と、試験開発環境と、ハードウェア機器の機能と、機器のデバッグ機能とを含む、従来技術の自動試験装置を完全に模倣（またはエミュレート）する機能を成すように構成する。
【００７６】
図４を参照すると、従来技術の機器を完全にエミュレートするために、従来技術の試験プログラミング言語は、試験技術者による変更を最小に抑えて理解およびインポート可能とすることが必要である。技術者による新しい試験プログラムのプログラミングおよびデバッグを伴うプログラム開発環境は、従来技術のプログラマの開発環境で利用可能であったツールおよび機能を提供することも必要である。また、従来技術テスターの機器類は、ＤＵＴの物理的試験を行うために利用可能でなければならない。これらの要素は、この必要性を完全に満たすために必要なものである。
【００７７】
Ａ．テスタージョブ言語フィルタ（５４）
従来技術のテスターは、概して単純であるがＢａｓｉｃ、Ｃ、またはＰａｓｃａｌ等の異なる既知の言語の変形である適切に記述された試験言語でプログラムされる。この試験言語は、概して既知の言語の言語構造のサブセット、および機器に関連するサブルーチン、機能、または手順のライブラリをサポートする。それらは、概して既知の言語の構文を保持するが、その言語に数字と組み合わせたユニット（すなわち、４Ｖは、４．００００ボルトの大きさの電圧を意味する）の使用など、いくつかの構文の参照を追加する。
【００７８】
それには、これらのプログラムを、新しいテスターが理解できるソースコードにフィルタ処理する必要がある。テスタージョブ言語フィルタは、既存の従来技術の試験プログラムを、少し例を挙げれば、ＶＢ、ＶＢ．ＮＥＴ、ＶＣ、ＶＣ＋＋、ＶＣ＃．ＮＥＴ、および、Ｊａｖａ（登録商標）などのコンポーネント開発をサポートする新しい言語に変換するプログラムである。フィルタの出力は、構文的に適切であり、かつ従来技術の試験プログラムのフローおよび構造を保持しなければならない。
【００７９】
Ｂ．仮想複合機器の言語環境用アドインコンポーネント（４６）
多数の従来技術のテスターとともに、開発環境には新しい言語のプログラム開発環境には見られない機能を含んだものが提供された。新しい言語プログラム開発環境の多くは、従来技術の開発環境をエミュレートする機能を追加するためのコンポーネントの追加を可能にする程度まで拡張可能である。例えば、Ｔｅｒａｄｙｎｅ  Ｐａｓｃａｌ／Ｓｔｅｐｓ（商標）の開発環境には、シーケンサとして公知である装置の試験仕様のリストに似たテーブルという概念があった。このシーケンサは、試験手順名に提供された情報、その限度、および試験の限度を超えた場合のその部分の配列の情報のテーブルに類似している。本発明の好適な一実施態様において、仮想複合機器の言語環境用アドインコンポーネントの使用は、ＶＢ．Ｎｅｔプログラミング開発環境に追加され、逐次的にプログラムされたラインではなく従来技術のシーケンサに類似したテーブルに手順を示すための機能を追加する。
【００８０】
別の例には、視覚的に構築でき、仮想複合機器の言語環境用アドインコンポーネントを介して実装できる試験機能を表すために視覚的なアイコンの使用がある。さらに別の例には、データベースの入力に基づいた言語ステートメントを出力することができる自動プログラムジェネレータがある。
【００８１】
Ｃ．仮想複合機器のデバッグ用アドインコンポーネント（４４）
多くの従来技術のランタイム環境は、機器と情報のやりとりを行ってステータスまたは結果を取り出すか、あるいは動的に機器の状態を変化させるための方法を含む。
【００８２】
それには、需要に基づいたユーザーとの双方向性を可能にするコンポーネントの作成が必要である。仮想複合機器のデバッグ用アドインコンポーネントは、既存の仮想複合機器のインターフェースに付与することができ、ステータスまたは結果を監視する機能およびエミュレートした仮想複合機器の状態への変更を強いる機能を提供することができる。
【００８３】
Ｄ．仮想複合機器コンポーネント（２６）
各従来技術の機器は、利用可能な新しいハードウェアリソースの限度内で定義しなければならない。仮想複合機器コンポーネントは、どの一群の新しいハードウェアリソースがその機器の機能を提供するために必要であるのかを判断するために必要な情報とともに、全ての機能、データ、およびエミュレートした機器の機能を含む。
【００８４】
従来技術の機器用利も多くの機能を有する任意のハードウェアリソースまたは一群のハードウェアリソースを使用することができる。従来技術の機器の限度を保持しなければ、被試験デバイスがダメージを受ける危険性が生じ得ることを注記することが重要である。
【００８５】
例えば、ＴｅｒａｄｙｎｅのＳ１ソースにおいて、電圧は６０Ｖに制限され、電流は２００ｍＡに制限される。新しいハードウェアリソースがそれらの限度を超えられる場合、仮想複合機器コンポーネントは、安全な値まで出力を抑えなければならず、またそうすることになる。
【００８６】
Ｅ．動的リソース割当てコンポーネント（２８）
動的リソース割当てコンポーネント２８のオペレーションは、図３Ｂに示される上述のアルゴリズム１０１に詳述されており、そのプロセスを以下に説明する。サーバとして機能するテスターのソフトウェアを構築することによって、複数のクライアント、複数のジョブプログラム、および複数のデバッグ環境コンポーネントを並行して実行することができる。本発明の局面によって、異なるコンピュータ言語で書き込まれた複数のプログラムの実行、監視、およびデバッグを並行して行うことが可能になる。
【００８７】
コンポーネントソフトウェア技術を使用した、サーバとして機能するテスターのソフトウェアを構築することによって、複数の場所および地域言語で試験を実行する複数のクライアントは、インターネットを含む任意のＴＣＰ／ＩＰ通信パスを通じて単一または複数の実行プログラムのステータスを接続、制御、および観察することができる。
【００８８】
コンポーネントソフトウェア技術を使用した、サーバとして機能するテスターのソフトウェアを構築することによって、複数の場所および地域言語で実行する複数のジョブプログラムは、インターネットを含む任意のＴＣＰ／ＩＰ通信パスを通じて単一または複数の実行プログラムのステータスを接続、制御、および観察することができる。これらのプログラムは、共通の被試験デバイスである必要はなく、様々な被試験デバイスとすることができる。
【００８９】
多形態の自動試験システム１０は、グラフィカルオブジェクトおよびコマンドを含むグラフィカルユーザーインターフェースを使用する。グラフィカルオブジェクトはスクリーン上に描写され、コマンドによってオブジェクトを作成、編集および／または削除する。
【００９０】
異なるグラフィカルオブジェクトは、異なる概念を取り入れている。例えば、機器の電源スイッチは、ボタンで表すことができ、そのボタンには２つの状態（ＯＮおよびＯＦＦ）がある。これらの状態は、ＯＮにしたときのボタンの押下を示すために、ボタンに含まれる画像を変化させることによって視覚的に描写することができる。ユーザーがボタンにマウスを合わせてそのマウスボタンを押したとき、グラフィカルなボタンは、変化した状態を反映するようにそのイメージを変化させる。この状態は、代わりに文字または色、あるいはその両方を介して示してもよく、ボタンの色を赤から緑に変化させて状態を示したり、または文字をＯＮからＯＦＦに変化させたりして状態を示す。従来技術の電圧計は、印刷したスケールおよび電圧を示すように移動するニードルポインタで構成されるインジケータを含むことが可能である。グラフィック描写には、印刷したスケールの画像および電圧を示すために再描画されるニードルポインタのオーバレイ画像を含むウィンドウを含むことが可能である。別様には、電圧値を示すＬＥＤインジケータの画像によって描写することができる。すなわち、その画像がツールに具象化される。この具象化は、ユーザーが操作できる新しいオブジェクトを作成する。
【００９１】
試験システム１０は、ユーザーと関連するオブジェクトとの媒体である相互作用機器も使用し、ユーザーは画像を変更し、画像は同様にオブジェクト上で機能する。
【００９２】
試験システム１０は、単一のコマンドが異なるタイプの複数のオブジェクト上で機能できるようにする多形態の試験システムである。したがって、システムの多形性は、異なるドライバに適用可能なコマンドの使用を少なくできるだけでなく、具象化がオブジェクトのタイプ数を増加させるとともに、従来技術の機器を制御するように設計された従来技術のコマンドを使用できるようにする。この特性によって、システムは複数の異なる言語を用いることが可能になる。
【００９３】
コマンドの一群のオブジェクトへの適用は、複数のレベルでの多形性を伴う。第一に、オブジェクトに適用する大部分のコマンドは、それらをグループ内の各オブジェクトに適用することによって同じタイプの一群のオブジェクトにも適用することができる。第二に、当該のコマンドは、それらが個々のオブジェクトタイプに対する意味を持つならば、一群の異種のオブジェクト、すなわち、異なる言語で書き込まれるオブジェクトにも適用することが可能である。
【００９４】
この試験システムのアーキテクチャは、以前の入力、以前の出力またはその両方の再利用を可能にする。入力の再利用は、以前のユーザー入力を現在の複合機器の作成において再利用可能にする。システムの多形性は、一連のアクションをより広い範囲の複合機器コンポーネントに適用できるので、入力の再利用を容易にする。
【００９５】
一具体例によれば、Ｔｅｒａｄｙｎｅ  Ａ３６０アナログ試験システムは、「発明の背景」で説明したように、クロスポイントマトリックスを使用したＭ６０１機器を含む。多形態の自動試験システム１０は、精度の制限によりクロスポイントマトリックスを使用しないが、テスターパーピン（ｔｅｓｔｅｒ−ｐｅｒ−ｐｉｎ）アーキテクチャを使用することが好ましい。テスターパーピンアーキテクチャは、利用可能なＤＵＴピンごとにＶ／Ｉソースおよびメータを有する。これらのテスターパーピンリソースは、独立してアクセスおよびプログラムされる。本多形態のアーキテクチャを使用して、Ｍ６０１仮想複合機器２６は、テスターパーピンハードウェアリソースを使用して作成される。Ｍ６０１仮想機器の全ての機能をエミュレートするために４８全てのテスターパーピンリソースを割り当てることもできるし、実際に必要なそれらのリソースだけを使用してテスターパーピンハードウェアのサブセットを割り当てることもできる。
【００９６】
例えば、本テスターシステムは、ＤＵＴピン１に１０Ｖを接続し、ＤＵＴピン２にゼロボルトを接続し、ＤＵＴピン３に電圧計を接続するために、物理的なＴｅｒａｄｙｎｅ  Ａ３６０テスターのジョブプログラムをエミュレートすることができる。（クロスポイントマトリックスを使用した実際の従来技術の構成は、上述の「発明の背景」に記述。）本試験システムは、単にテスターパーピンリソースを直接ＤＵＴピンに接続し、そのリソースを直接利用するものである。仮想複合機器は、ＤＵＴピン１、２、および３に接続されるテスターパーピンリソースから作成される。仮想グラフィカルユーザーデバッグウィンドウは、当該の物理的機器は試験システム１０内には存在しないが、７つのＶ／Ｉソースと、１つのメータと、９ライン×４８ピンのクロスポイントマトリックスを示す。ジョブプログラムのプログラミングおよびデバッグは、下層のハードウェアアーキテクチャに関係なく行われる。双方向性デバッグウィンドウは、７つのＶ／Ｉソース、１つのメータ、およびクロスポイントマトリックスに基づいた相互作用を可能にする。クロスポイントの切り換えは、例えば、実際に適切なＶ／Ｉソースまたはメータを再プログラムおよび接続するが、ユーザーは実際に自分のデバッグウィンドウ上のクロスポイントマトリックスのクロージャがわかる。
【００９７】
別の具体例によれば、Ｔｅｒａｄｙｎｅ  Ａ３６０アナログ試験システムは、「発明の背景」で簡潔に述べたＭ６２５機器を含む。本試験システム１０は、ＡＣ波形発生用の複数の任意波形発生器（ＡＷＧ）を使用することが好ましい。ＡＣ信号の測定は、一連のノッチフィルタおよびデジタイザによって行う。はるかにより多くの機能を有し、波形発生においてより柔軟であるので、ＡＷＧを使用する。複雑なＡＣ波形をより適切に処理するのでデジタイザを使用する。この試験システムは、概してＤＵＴピンへの接続に利用可能な多くのＡＷＧおよびデジタイザを有する。この多形態のアーキテクチャを使用して、Ｍ６２５仮想複合機器（２６）は、ＡＷＧ、デジタイザ、およびノッチフィルタを使用して作成される。
【００９８】
この例では、本試験システムは、ＤＵＴへの１００Ｈｚの信号のためのソースとしてＡＷＧを使用したテスターパーピンアーキテクチャ、および一次周波数を除去するためにＤＵＴの出力に接続される単一のノッチフィルタを使用する。フィルタ処理信号は、次いでデジタイザに直接接続される。デジタイザのサンプルは、結果として生じる信号を採用するが、それは複雑な波形を含む。この波形は、次いで高速フーリエ変換（ＦＦＴ）技術を使用して分析される。全ての高調波コンポーネント内容は、ＦＦＴの結果から導かれる。
【００９９】
本多形態のアーキテクチャに基づくＡＴＥシステムにおいて、Ｍ６２５「仮想複合機器」（２６）は、２つのＡＷＧリソース、ノッチフィルタリソース、およびデジタイザを使用して作成される。仮想グラフィカルユーザーデバッグウィンドウは、これらの物理的機器はテスター内には存在しないが、２つの波形発生器と、ノッチフィルタと、一連の帯域通過フィルタとを示す。ジョブプログラムのプログラミングおよびデバッグは、下層のハードウェアアーキテクチャに関係なく行われる。双方向性デバッグウィンドウは、２つの波形発生器、ノッチフィルタ、および一連の帯域通過フィルタに基づいた相互作用を可能にする。帯域通過フィルタの変更は、例えば、単にＦＦＴ分析からの結果の関連する周波数を変化させる。
【０１００】
さらに別の具体例によれば、Ｔｅｒａｄｙｎｅ  Ａ３６０アナログ試験システムは、「発明の背景」で簡潔に述べたＭ６０２機器を含む。本試験システム１０において、テスターパーピン電圧源はソースを提供するための安定性においては十分であるが、これらのピン上のメータは、試験要件を満たすには十分に高い精度ではない可能性がある。しかし、正確な較正メータ（主に試験較正に使用される）は、試験要件を満たす十分な精度の電圧計を含む。この多形態の試験システム１０は、ソース用のテスターパーピン電圧リソースおよび測定用のシステム較正メータを使用したＭ６０２「仮想複合機器」（２６）を作成するために上述のアーキテクチャを使用する。
【０１０１】
特には、多形態のアーキテクチャに基づいたＡＴＥシステムにおいて、仮想複合機器（２６）は、１つ以上のテスターパーピン電圧リソース、およびシステム較正メータから作成される。仮想グラフィカルユーザーデバッグウィンドウは、当該の物理的機器はテスター内には存在しないが、２つの高安定性電圧源と、単一の高精度電圧計とを示す。ジョブプログラムのプログラミングおよびデバッグは、下層のハードウェアアーキテクチャに関係なく行われる。双方向性デバッグウィンドウは、２つの高安定性電圧源および単一の高精度電圧計に基づいた相互作用を可能にする。
【０１０２】
この多形態の試験システム１０は、低レベルリソースの斬新なソフトウェアダイナミックアロケーションを介して仮想複合機器の作成が可能なソフトウェアアーキテクチャを含む、アナログ／混合信号自動試験システムである。これらの仮想複合機器は、公知または市場で入手可能な、様々な自動試験装置に対して完全な互換性を提供する。この仮想複合機器は、ハードウェアの実装によって課される通常の制約を受けない。仮想複合機器の作成によって、自動試験装置の多くの実装をエミュレートする単一の断片の自動試験装置システムが可能になり、より高い稼働率によって、デバイスメーカーのより低コストな試験ソリューションを提供する。試験機器は、オブジェクト制御であることが好ましく、また試験システムのサーバによってインスタンス化および制御されることが好ましい。これによって、複数のユーザーは、例えばインターネットを通じて、同時にテスターを制御することが可能になる。
【０１０３】
ユーザーは、次のプロセスを実行することによって、多形態の試験システム１０を操作する：ユーザーは、自分の選択したテキストエディタを開いて、選択した従来技術の試験システム言語でテスタージョブプログラムを作成する。ユーザーの出力は、ハードディスクまたはシステムに接続可能ないくつかの他のデータ記憶媒体に保存される。
【０１０４】
ユーザーは、Ｍｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｓｔｕｄｉｏ．ＮＥＴ（登録商標）か、またはＭｉｃｒｏｓｏｆｔ  Ｖｉｓｕａｌ  Ｂａｓｉｃ．ＮＥＴ（登録商標）であるプログラム開発環境を開く。プログラム開発環境は、複数の仮想複合機器の言語環境用アドインコンポーネント（４６）および仮想複合機器デバッグコンポーネント（４４）を参照するように較正されている。プログラム開発環境は、テスタージョブプログラム作成ウィザードを参照するように構成される。テスタージョブプログラム作成ウィザードは、テスタージョブプログラムのフィルタ処理および保存と、それを開発環境へロードするといった、一般的に手動での手順を自動化する、一連のアルゴリズムである。
【０１０５】
ユーザーは、テスタージョブプログラム作成ウィザードを開始し、次いでテスタージョブプログラム作成ウィザードが示すリストからテスタージョブ言語入力フィルタを選択する。次いで、ユーザーは、選択したテスタージョブ言語入力フィルタ（５４）への入力ためのテスタージョブプログラムソース（５２）を選択する。テスタージョブプログラム作成ウィザードは、選択したテスタージョブ言語フィルタを介して、そのテスタージョブプログラムを処理する。
【０１０６】
フィルタは、ジョブをＶＢ．ＮＥＴ構文に翻訳する。このプロセスにおいて、ユーザーテスタージョブプログラムは、フィルタの１つのラインを介して一度に渡される。フィルタは、全ての標準的なプログラム線を構文的に適切なＶＢ．ＮＥＴ言語ステートメントに翻訳する。さらに、フィルタは、全ての未解決のタグまたは参照のリストを保持する。フィルタは、全ての機器プログラム関連のステップを構文的に適切な仮想複合機器ステップに翻訳する。次いで、フィルタは、テスタージョブの終了までプログラムソースを継続する。フィルタは、全てのタグおよび参照を解決するために、プログラムを介して第２のパスを作成する。
【０１０７】
試験ジョブ言語フィルタは、構文的に適切なＶＢ．ＮＥＴソースプログラムを出力する。テスタージョブプログラム発生ウィザードは、出力ＶＢ．ＮＥＴソースプログラムをハードディスクまたは他のいくつかの接続されたデータ記憶媒体に保存する。テスタージョブプログラム発生ウィザードは、出力ＶＢ．ＮＥＴソースプログラムをプログラム開発環境にロードする。ユーザーは、プログラム開発環境上に構築したボタンを押すことによって、いずれの実行可能な試験プログラムにプログラムを構築（コンパイル）する。（構築に失敗した場合、ユーザーは、成功するまでプログラムを修正および再構築する。）ユーザーは、出力実行可能プログラムをハードディスクまたは他のデータ記憶媒体に保存する。
【０１０８】
ユーザーは、次いでプログラム開発環境または製造モードユーザーインターフェースから実行するプログラムを選択できる。プログラム開発環境から実行するために、ユーザーは、プログラム開発環境に提供される実行ボタンを押す。別様には、製造モードユーザーインターフェースから実行するために、ユーザーは、製造モードユーザーインターフェースプログラムを始める。ユーザーは、製造モードユーザーインターフェースのメニューバーから「ジョブプログラムのロード」アクションを選択することによって、実行可能なプログラムをロードすることができる。実行可能プログラムには、自動的またはユーザー選択によって、試験サイトが割り当てられる。製造モードユーザーインターフェースは、選択したプログラムをハードディスクからロードする。
【０１０９】
プログラムは各ステートメントを順に１ラインずつ実行しながら進む。ステートメントが達した場合、次のように生じる仮想複合機器の実行を参照する：この「仮想複合機器」がすでに割り当てられているかどうかを判断するために、動的リソース割当てモジュールに対して呼出しが行われる。動的リソース割当てモジュールは、インスタンス化された仮想複合機器コンポーネント（２６Ａ、２６Ｂ…２６Ｎ）のリストを検査する。
【０１１０】
Ａ．  仮想複合機器コンポーネントがすでにインスタンス化されている場合、動的リソースアロケータは、インスタンス化されたコンポーネントのインターフェースを得る。動的リソースアロケータは、呼出し機能にインターフェース仕様を返して、終了する。
【０１１１】
Ｂ．  仮想複合機器コンポーネントがインスタンス化されていなかった場合、動的リソースアロケータは、非インスタンス化仮想機器コンポーネントのプールを探して、要求されたタイプの機器が仮想複合機器コンポーネント（２６）として定義されているかどうかを検査する。定義されていない場合は、次いで「不完全な応答」と称するエラーを返し、その呼出し元に要求された機器が何であるかわからない旨を示す。定義されている場合、動的リソースアロケータは、その仮想−物理リソース接続データのリストを探して、割り当てることができる全ての潜在的リソースを特定する。アロケータは、次いで予約された物理リソースのリストを検査して、特定した潜在的リソースから全ての予約された物理リソースを除去する。何らかの潜在的リソースが残っている場合、動的リソースアロケータは、リソースを割り当てる。次いで、動的リソースアロケータは、要求されたタイプの仮想機器コンポーネントをインスタンス化する。
【０１１２】
動的リソースアロケータが要求された仮想機器コンポーネントをインスタンス化した後に、アロケータは、その予約された物理リソースのリストにこのコンポーネントを追加する。動的リソースアロケータは、次いでステップＡで行ったように、呼出し元にインターフェース仕様を返す。
【０１１３】
潜在的リソースが残っていない場合、動的リソースアロケータは、１つが可能であるかどうか、予約された物理リソースのリストを検査する（図３Ｂ、ステップ１３２）。物理リソースが可能でない場合、呼出し元にエラーが返される（ステップ１３６）。潜在的リソースが残っている場合、動的リソースアロケータは、潜在的な予約された物理リソースが、別の実行試験プログラムによって解放されていないかどうかを検査するループに入る（ステップ１３０および１３４）。解放の前にタイムアウトが生ずる（ステップ１３４）場合、呼出し元にエラーが返される（ステップ１３６）。タイムアウトの前にリソースが解放される場合、動的リソースアロケータは、図３Ｂに示すように、リソースを割り当てる（ステップ１２６）。
【０１１４】
動的リソースアロケータは、要求されるタイプの仮想機器コンポーネント（２６）をインスタンス化する。動的リソースアロケータは、次いでその予約された物理リソースのリストに、このコンポーネントを追加する。動的リソースアロケータは、次いで呼出し機能にインターフェース仕様を返して、終了する。
【０１１５】
多形態の試験システム１０は、テスタージョブプログラムにおいて定義した特定のリソースを使用して試験シーケンスを実行する。試験を行った後に特定の仮想複合機器がもはや必要でない場合、それは上述のように解放される。
【０１１６】
仮想複合機器を解放するステートメントが実行される場合、動的リソースアロケータは、全てのリソースを予約された物理リソースから削除することによって、仮想複合機器に付与された全てのリソースを解放する。次いで、動的リソースアロケータは、仮想複合機器を非インスタンス化する。
【０１１７】
プログラムは、「終了」ステートメントを見つけるまで定義された順序で全てのステートメントを継続する。プログラム内の終了ステートメントに達した場合、動的リソースアロケータは、全てのリソースを予約された物理リソースから削除することによって、このサイトに割り当てられた全ての仮想複合機器に付与された全てのリソースを解放する。上記のように、複数のサイト（３４Ａ…３４Ｎ）が存在してよい。動的リソースアロケータは、そのサイトに割り当てた全ての仮想複合機器を非インスタンス化する。動的リソースアロケータが全てのサイトに割り当てた全ての仮想複合機器を非インスタンス化したら、プログラムは実行を終了する。
【０１１８】
多形態の試験システム１０は、多くの試験目的に使用することができる。半導体製造業界において、この試験システムは、製造中のチップを含む様々なタイプの半導体チップの試験に使用される。これらの半導体チップは、例えば、増幅器、電圧調整器、パワーマネジメントデバイス、消費者用デバイス、ＴＶデバイス、メモリ、撮像チップ、自動車用チップ、クロック発生チップ、アナログ−デジタル変換器、デジタル−アナログ変換器、整流器、抵抗器、またはダイオードとして使用される。この試験システムは、フラットパネルディスプレイ、およびＳｉまたはＧａＡｓウエハを使用していない他のデバイスにも使用される。ハイブリッド製造業界において、この試験システムは、ハイブリッド超小型電子回路の試験に使用される。例えば、自動車のエンジン室内または軌道周回衛星などのような熱や温度が重要な要素である領域で使用するためのセラミックまたは磁器基板上に多数の半導体チップを組み合わせるために使用する回路である。ＰＣ基板業界において、この試験システムは、多数の半導体チップまたは他の電子機器要素が搭載される基板を含む、完成したプリント基板の試験に使用される。この試験システムは、種々の機械的または電気機械デバイス（マイクロマシニングまたは他のプロセスによって製造されるデバイスを含む）の試験、およびバイオ素子の試験にも使用される。
【０１１９】
本発明の種々の実施態様、実装例、および実施例を説明したが、上述のものは例証のみを意図しており、制限をするものではないことは、当業者には明らかである。上述の実施態様に好適な他の実施態様または要素で、上記の出版物に記載されているものがあるが、それらの全ては、本願明細書において完全に再現されると同様に援用されるものとする。更なる実施態様には、提供した実施態様に関連する上述の要素を組み合わせたものを含む。いずれか１つの要素の機能は、別の実施態様において種々の方法で行ってもよい。また、別の実施態様において、複数の要素の機能は、それより少ない、または単一の要素によって行うことも可能である。
【図面の簡単な説明】
【０１２０】
【図１Ａ】外部ジョブ実行ファイルを有する多形態の自動試験装置システムを示す。
【図１Ｂ】外部ジョブ実行ファイルを有する多形態の自動試験装置システムを示す。
【図２Ａ】内蔵ジョブコンポーネントを有する多形態の自動試験装置システムの別の実施態様を示す。
【図２Ｂ】内蔵ジョブコンポーネントを有する多形態の自動試験装置システムの別の実施態様を示す。
【図３Ａ】動的リソース割当てを示す流れ図である。
【図３Ｂ】動的リソース割当てを示す流れ図である。
【図４】技術コンポーネントを模倣する能力を示すためのブロック図である。
【図１Ａ】
2007522439.tif 000003
【図１Ｂ】
2007522439.tif 000004
【図２Ａ】
2007522439.tif 000005
【図２Ｂ】
2007522439.tif 000006
【図３Ａ】
2007522439.tif 000007
【図３Ｂ】
2007522439.tif 000008
【図４】
2007522439.tif 000009