(57)【要約】  サイトを有する自動試験装置（ＡＴＥ）と共に使用するための方法であって、サイトのそれぞれは被試験デバイス（ＤＵＴ）を収容し、複数のサイトと共に使用するオブジェクトを定義し、オブジェクトは、複数のサイトの少なくともいくつかに関連するデータを含み、どのサイトがアクティブであるかを判断することを含む。方法はまた、ＡＴＥによるＤＵＴの試験中にオブジェクトを使用することを含む。
2008539429.tif 000002
【特許請求の範囲】
【請求項１】
サイトを有する自動試験装置（ＡＴＥ）と共に使用するための方法であって、前記サイトのそれぞれは被試験デバイス（ＤＵＴ）を収容し、該方法は、
前記複数のサイトと共に使用するオブジェクトを定義し、該オブジェクトは、前記複数のサイトの少なくともいくつかに関連するデータを含み、どのサイトがアクティブであるかを判断すること、及び
前記ＡＴＥによるＤＵＴの試験中に前記オブジェクトを使用すること、
を含む方法。
【請求項２】
前記ＡＴＥは、関連するＡＴＥソフトウェアサイト管理インフラストラクチャを有することによって、前記サイトを管理し、前記オブジェクトは、前記ＡＴＥソフトウェアサイト管理インフラストラクチャと通信して、どのサイトがアクティブであるかを判断する、請求項１に記載の方法。
【請求項３】
前記試験中に前記オブジェクトを使用することは、
前記オブジェクトを介して前記ＡＴＥをプログラミングすること、
前記ＡＴＥからの計器の読み取り値を前記オブジェクトに記憶すること、
前記オブジェクトを使用して前記計器の読み取り値を処理すること、及び
試験結果を前記オブジェクトに記録すること、
のうちの１つ又は複数を含む、請求項１に記載の方法。
【請求項４】
前記処理することは、前記計器の読み取り値を変更すること及び／又は該読み取り値を試験サブシステムへ報告することを含む、請求項３に記載の方法。
【請求項５】
前記オブジェクトは、プログラミング言語で定義され、単一のデータエレメントが、該プログラミング言語で取り扱われているように、前記オブジェクトは、該プログラミング言語によって取り扱い可能である、請求項１に記載の方法。
【請求項６】
前記データは、どのサイトがアクティブであるかを識別するブールデータを含む、請求項１に記載の方法。
【請求項７】
前記データは、ピンリストデータを含み、該ピンリストデータは、少なくとも１つのＤＵＴの個々のピンにおける計器測定値に対応するピンデータを含む、請求項１に記載の方法。
【請求項８】
前記オブジェクトはプログラミング言語で定義され、前記方法は、
前記プログラミング言語で演算を定義し、該演算は、前記オブジェクトに特有のものであることをさらに含む、請求項１に記載の方法。
【請求項９】
前記演算は、前記プログラミング言語のネイティブ変数に対して行われる数学演算に対応する数学的演算を含む、請求項８に記載の方法。
【請求項１０】
サイトを有する自動試験装置（ＡＴＥ）であって、該サイトのそれぞれは、被試験デバイス（ＤＵＴ）を収容する、自動試験装置と、
前記ＡＴＥと通信する処理デバイスであって、
前記複数のサイトと共に使用するオブジェクトを定義する命令であって、該オブジェクトは、前記複数のサイトの少なくともいくつかに関連するデータを含み、どのサイトがアクティブであるかを判断する命令と、
前記ＡＴＥによるＤＵＴの試験中に前記オブジェクトを使用する命令と
を実行する、処理デバイスと、
を備えるシステム。
【請求項１１】
前記ＡＴＥは、関連するＡＴＥソフトウェアサイト管理インフラストラクチャを備えることによって、前記サイトを管理し、前記オブジェクトは、前記ＡＴＥソフトウェアサイト管理インフラストラクチャと通信して、どのサイトがアクティブであるかを判断する、請求項１０に記載のシステム。
【請求項１２】
前記試験中に前記オブジェクトを使用することは、
前記オブジェクトを介して前記ＡＴＥをプログラミングすること、
前記ＡＴＥからの計器の読み取り値を前記オブジェクトに記憶すること、
前記オブジェクトを使用して前記計器の読み取り値を処理すること、及び
試験結果を前記オブジェクトに記録すること
のうちの１つ又は複数を含む、請求項１０に記載のシステム。
【請求項１３】
前記処理することは、前記計器の読み取り値を変更すること及び／又は該読み取り値を試験サブシステムへ報告することを含む、請求項１２に記載のシステム。
【請求項１４】
前記オブジェクトは、プログラミング言語で定義され、前記処理デバイス上でプログラミングされ、単一のデータエレメントが、前記プログラミング言語で取り扱われている場合に、前記オブジェクトは、前記プログラミング言語によって取り扱い可能である、請求項１０に記載のシステム。
【請求項１５】
前記データは、どのサイトがアクティブであるかを識別するブールデータを含む、請求項１０に記載のシステム。
【請求項１６】
前記データは、ピンリストデータを含み、該ピンリストデータは、少なくとも１つのＤＵＴの個々のピンにおける計器測定値に対応するピンデータを含む、請求項１０に記載のシステム。
【請求項１７】
前記オブジェクトは、プログラミング言語で定義され、前記処理デバイス上でプログラミングされ、
前記処理デバイスは、命令を実行して、前記プログラミング言語で演算を定義し、該演算は、前記オブジェクトに特有のものである、請求項１０に記載のシステム。
【請求項１８】
前記演算は、前記プログラミング言語のネイティブ変数に対して行われる数学演算に対応する数学的演算を含む、請求項１７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概括的には、複数のデバイスを試験するのに使用される複数のサイトを有する自動試験装置（ＡＴＥ）に関し、より詳細には、複数のデバイスを試験する際にＡＴＥによって使用されるサイトアウェアオブジェクトに関する。
【０００２】
［優先権の主張］
本願は、米国仮特許出願第６０／６７６，００５号及び米国特許出願公開第１１／１９２，９２７号の優先権を主張する。これらの出願の双方の内容は、本明細書にすべてが述べられているように、参照により本出願に援用される。
【背景技術】
【０００３】
ＡＴＥは、半導体、電子回路、プリント回路基板アセンブリ等のデバイスを試験する自動化された、通常はコンピュータ駆動の手法を指す。半導体デバイス等、ＡＴＥによって試験されるデバイスは、被試験デバイス（ＤＵＴ）と呼ばれる。
【０００４】
現代のＡＴＥは、マルチサイト試験をサポートしている。マルチサイト試験をサポートしているＡＴＥは、スロット、すなわち「サイト」を含む。試験されるデバイスは、各サイトに挿入され、ＡＴＥは、そのサイトのデバイスに対して必要ないかなる試験も行う。コンピュータプログラムが、通常、試験に関与する。これらのコンピュータプログラムのコードを変更することなく複数のサイトでデバイスを試験する能力は、「サイト透明性」と呼ばれる。より詳細には、サイト透明性は、ユーザがこのようなタスクにほとんど責任を持つことがなく、そうすることが必要とされるまで、自身の試験がマルチサイトであることをかろうじて考慮する必要だけがあるような、サイト及びサイトデータの自動管理を指す。有効である場合、ユーザは、プログラミングのサイト次元性（site dimensionality）を意識し続けることはない。
【０００５】
サイト透明性によって、ユーザは、試験プログラムコードに対して大幅な変更を行うことなく、複数のデバイスを試験する構成にすることが可能になるので、サイト透明性はＡＴＥにおける重要な利点である。
【発明の開示】
【課題を解決するための手段】
【０００６】
本発明は、コンピュータプログラム製品を含み、サイトアウェア（site-aware）オブジェクトを実施する、装置及び方法を記載する。
一態様においては、本発明は、一般的にサイトを有する自動試験装置（ＡＴＥ）と共に使用するための方法であって、サイトのそれぞれは被試験デバイス（ＤＵＴ）を収容する方法を対象とする。その方法は、複数のサイトと共に使用するオブジェクトを定義し、オブジェクトは、複数のサイトの少なくともいくつかに関連するデータを含み、どのサイトがアクティブであるかを判断すること、及びＡＴＥによるＤＵＴの試験中にオブジェクトを使用することを含む。この態様は、以下の特徴のうちの１つ又は複数も含むことができる。
【０００７】
ＡＴＥは、関連するＡＴＥソフトウェアサイト管理インフラストラクチャを備えることができ、それによって、サイトを管理する。オブジェクトは、ＡＴＥソフトウェアサイト管理インフラストラクチャと通信して、どのサイトがアクティブであるかを判断することができる。試験中のオブジェクトの使用は、オブジェクトを介してＡＴＥをプログラミングすること、ＡＴＥからの計器の読み取り値をオブジェクトに記憶すること、オブジェクトを使用して計器の読み取り値を処理すること、及び試験結果をオブジェクトに記録することのうちの１つ又は複数を含むことができる。処理は、計器の読み取り値を変更すること及び／又は読み取り値を試験サブシステムへ報告することを含むことができる。
【０００８】
オブジェクトは、プログラミング言語で定義されることができる。単一のデータエレメントが、プログラミング言語で取り扱われているように、オブジェクトは、プログラミング言語によって取り扱い可能である。データは、どのサイトがアクティブであるかを識別するブールデータを含むことができる。データはピンリストデータを含むことができる。ピンリストデータは、少なくとも１つのＤＵＴの個々のピンにおける計器測定値に対応するピンデータを含むことができる。
【０００９】
オブジェクトは、プログラミング言語で定義することができ、方法はまた、プログラミング言語で演算を定義し、演算は、オブジェクトに特有のものであることを含むことができる。演算は、プログラミング言語のネイティブ変数に対して行われる数学演算に対応する数学的演算を含むことができる。
【００１０】
別の態様では、本発明は、一般に、サイトを有するＡＴＥと、ＡＴＥと通信する処理デバイスとを含むシステムを対象にする。ここで、サイトのそれぞれは、ＤＵＴを収容するように構成されている。処理デバイスは、上記態様の方法を遂行する命令を実行する。この態様は、上記態様と同じ特徴又は異なる特徴も含むことができる。
【００１１】
１つ又は２つ以上の例示の詳細は、添付図面及び以下の説明で述べられている。本発明のさらに別の特徴、態様、及び利点は、説明、図面、及び特許請求の範囲から明らかになるであろう。
【００１２】
異なる図における同じ参照符号は、同じ要素を示す。
【発明を実施するための最良の形態】
【００１３】
図１は、複数のＤＵＴを試験する際に使用されるシステム１０を示している。システム１０はＡＴＥ１２を含む。ＡＴＥ１２は、デバイスインターフェース基板（ＤＩＢ）１４を含む。ＤＩＢ１４は、ＡＴＥにデバイスを接続するのに使用される。ＤＩＢ１４は、複数のサイト１６ａ〜１６ｄを有する。ＤＵＴは、ＡＴＥを使用して試験を行うために各サイトに挿入することができる。図１には４つのサイトしか示されていないが、ＡＴＥ１２は、任意の個数のサイトを含むことができる。また、図１の例では、１スロットにつき１つのＤＵＴがあるが、すべてのサイトが占有される必要はない。
【００１４】
各ＤＵＴは、ＡＴＥを使用して試験を行うことができるデバイスならば、どのタイプのデバイスであってもよい。ＤＵＴの例には、半導体デバイス及び電子アセンブリが含まれるが、これらに限定されるものではない。
【００１５】
ＡＴＥ１２は、デジタル信号プロセッサ（ＤＳＰ）１８等の内部処理デバイスを含む。ＤＳＰ１８は、ＡＴＥソフトウェア２０、すなわち、実行可能コードから成るコンピュータプログラム（複数可）の全部又は一部を実行して、サイト１６ａ〜１６ｄのＤＵＴを試験することができる。ＡＴＥソフトウェア２０は、ＡＴＥ１２のメモリ（図示せず）に記憶することもできるし、後述するコンピュータ２２等の外部処理デバイスから提供することもできる。ＡＴＥソフトウェア２０は、サイト１６ａ〜１６ｄを管理するＡＴＥソフトウェアサイト管理インフラストラクチャ２４を含む。
【００１６】
特に、ＡＴＥソフトウェアサイト管理インフラストラクチャは、ＡＴＥソフトウェア２０とサイト１６ａ〜１６ｄとの間における情報の交換を制御する。この情報は、サイトのＤＵＴからのデータ、及び／又は、サイトのＤＵＴへ送信されるデータを含むことができる。ＤＵＴへのデータの例には、波形又は他の刺激等の試験データ、及び、ＤＵＴをプログラミングするためにＡＴＥソフトウェア２０によって使用される構成データが含まれるが、これらに限定されるものではない（一実施形態では、ＤＳＰはＤＵＴからの信号を処理するだけであることに留意されたい）。ＤＵＴからのデータの例には、サイトがアクティブであるか否かに関する表示、及び、ＤＵＴの個々のピンからの読み取り値を含む、サイトのＤＵＴからの読み取り値が含まれるが、これらに限定されるものではない。サイトは、そのサイトがビンアウト（bin-out）し、そのサイトのＤＵＴが必要なすべての試験を終えて合格したか又はＤＵＴが１つ又は２つ以上の必要な試験に不合格であったことを意味する場合に、非アクティブであるとみなすことができることに留意されたい。いずれの場合も、それ以上試験は行われない。或いは、サイトは、そのサイトにＤＵＴがない場合、又は、サイトが、試験を実行しているアドミニストレータによって非アクティブを指定された場合に非アクティブであるとみなすことができる。
【００１７】
ＡＴＥ１２は、コンピュータ２２と通信する。コンピュータ２２は、あらゆるタイプの処理デバイスとすることができる。このあらゆるタイプの処理デバイスには、従来のパーソナルコンピュータ（ＰＣ）、デスクトップデバイス若しくはハンドヘルドデバイス、マルチプロセッサコンピュータ、マイクロプロセッサベースの消費者用電子デバイス若しくはプログラマブル消費者用電子デバイス、ミニコンピュータ、メインフレームコンピュータ、及び／又はパーソナルモバイルコンピューティングデバイスが含まれるが、これらに限定されるものではない。図１の例では、コンピュータ２２は、１つ又は２つ以上のプロセッサ（単に「プロセッサ２６」と呼ばれる）及びメモリ２８を含む。メモリ２８は、試験ソフトウェア３０を記憶する。試験ソフトウェア３０は、ＡＴＥ１２でＤＵＴを試験するためにプロセッサ２６によって実行される。試験中、試験ソフトウェア３０は、上述したＡＴＥソフトウェアサイト管理インフラストラクチャを含めて、ＡＴＥソフトウェア２０と相互作用する。たとえば、試験ソフトウェア３０は、サイト１６ａ〜１６ｄのＤＵＴに試験データを提供し、且つ、このような試験の結果を試験ソフトウェア３０又は指定されたサブシステムへ報告するようにＡＴＥソフトウェア２０に命令することによって試験を制御することができる。このために、試験ソフトウェア３０は、１つ又は２つ以上のグラフィカルユーザインターフェース（ＧＵＩ）（図示せず）を生成することができる。このＧＵＩを通じて、アドミニストレータは、ＡＴＥ１２における試験を制御することができる。
【００１８】
これまで、コンピュータ２２の試験ソフトウェアは、手続き型開発環境（ＰＤＥ：procedural development environment）と呼ばれる対話型グラフィカル環境と共に動作していた。ＰＤＥは、サイト透明性を実施するコードを含み、それによって、試験ソフトウェア開発者はプロセスフローに集中することが可能であった。その結果作成される試験ソフトウェアは、したがって、ＰＤＥに依存していた。一方、システム１０は、ＰＤＥを含む必要がない。その代わり、試験ソフトウェア３０は、試験中に、サイトアウェアオブジェクト（後述）を利用して、サイト透明性を実施する。
【００１９】
この実施形態では、試験ソフトウェア３０は、ビジュアルベーシックフォーアプリケーション（Visual Basic for Application）（ビジュアルベーシック）で記述される。ビジュアルベーシックは、ベーシックと呼ばれる以前のＤＯＳバージョンから発展した高水準プログラミング言語である。ビジュアルベーシックは、視覚的なイベント駆動型プログラミング言語である。これが、以前のベーシックとの主な相違である。ベーシックでは、プログラミングは、テキストのみの環境で行われ、プログラムは、シーケンシャルに実行される。ビジュアルベーシックでは、プログラミングは、オブジェクトを使用するグラフィカル環境で行われる。
【００２０】
オブジェクトは、データと、そのデータを操作するために実行されるコードとの双方を含む自己完結的エンティティである。ユーザは、ビジュアルベーシックにおいてオブジェクトをランダムに選択することができるので、各オブジェクトは、このような行動に対応できるように独立してプログラミングされる。ビジュアルベーシックプログラムは、このように、多数のサブプログラムから構成することができ、それらの多数のサブプログラムのそれぞれは、それ自身のプログラムコードを有し、独立して、且つ、他のサブプログラムと同時に実行することができる。
【００２１】
ＡＴＥ１２によって使用されるサイトアウェアオブジェクトは、マルチサイトデータを表すように設計されたデータオブジェクトである。このようなデータは、ＡＴＥ計器をプログラミングし、測定された読み取り値を保持し、それらの読み取り値を操作し、且つ／又は、それらの読み取り値を、ＤＵＴの配置（dispositioning）（たとえば、区分け（ビンニング：binning））及び試験結果の記録（データログ）を担当するサブシステムへ報告するのに使用することができる。サイトアウェアオブジェクトという名前は、それらのサイトアウェアオブジェクトがＡＴＥソフトウェアサイト管理インフラストラクチャ２４に内部接続され、したがって、ＡＴＥのシステムサイトの状況に対する経時的な変更、たとえば、毎時間、毎分、毎秒等に検出される定期的な変更を認識する（アウェア：aware）ということに起因している。サイトアウェアオブジェクトは、表面的には対立する２つのモデルをユーザに提供する。サイトアウェアオブジェクトは、サイトの概念を基本的に無視しつつ試験コードを書き込むことをユーザに可能にすると同時に、必要な時にサイト特有のデータにアクセスすることをユーザに可能にする。
【００２２】
図２を参照すると、この実施形態では、サイトアウェアオブジェクト３２は、ＤＩＢ１４のサイト１６ａ〜１６ｄのそれぞれを識別するデータ３４を含む。また、サイトアウェアオブジェクト３４は、サイトのそれぞれにおけるＤＵＴに関連するデータ３６も含む。ＤＵＴに関連するデータは、読み取り値、試験結果等、ＤＵＴから受信されたデータの場合もあるし、プログラム情報、試験データ等、ＤＵＴへ転送するデータの場合もある。
【００２３】
サイトアウェアオブジェクト３２は、サイトアウェアオブジェクト３２が、サイトを、それらのサイトのＤＵＴに関連するデータに関連させる意味でアレイに類似している。一方、サイトアウェアオブジェクト３２は、試験中にどのサイトがアクティブ／非アクティブであるかを知っている点でアレイとは異なる。このために、サイトアウェアオブジェクト３２は実行可能コード３８も含む。実行可能コード３８は、どのサイト１６ａ〜１６ｄがアクティブ／非アクティブであるかを判断するために、ＡＴＥソフトウェアサイト管理インフラストラクチャ２４と通信し、それに応じて、自身の記憶データを更新し、そして、試験ソフトウェア３０と通信するのに使用される。
【００２４】
この実施形態では、サイトアウェアオブジェクトは、ビジュアルベーシックで使用される。しかしながら、サイトアウェアオブジェクトは、ビジュアルベーシックの状況における使用に限定されるものではなく、あらゆるプログラミング言語で実施できることに留意されたい。一方、以下の説明は、ビジュアルベーシックと共に使用されるサイトアウェアオブジェクトに適用される。
【００２５】
ビジュアルベーシックでは、最も汎用の変数タイプはVariant（バリアント）である。この変数タイプは、ビジュアルベーシックプログラミング環境で使用できる他のあらゆる変数タイプを保持するように設計されている。この実施形態では、SiteVariant（サイトバリアント）と呼ばれるVariantに相当するサイトアウェアが定義される。SiteVariantは、あらゆるタイプのマルチサイト値を保持することができる。
【００２６】
SiteVariantオブジェクトの振る舞いは、以下のように要約することができる。SiteVariantオブジェクトは、複数のサイトのデータを含む。このデータは、単一の代入文で単一のスカラー値を代入される場合には、サイト一律（site-uniform）となることができ、測定によって返される場合には、サイト特有となることができる。SiteVariantオブジェクトは、「サイトアウェア」である。SiteVariantは、使用される時、試験プログラムが現在サイトループ（site-loop）にあるか否かが分かっている。サイトループでは、１つのサイトのみが現在選択されている。SiteVariantオブジェクトが、サイトループにある（且つ、単一のサイトが選択されている）とき、又は、サイト一律である（且つ、すべてのサイトについて単一のスカラー値を有する）とき、SiteVariantオブジェクトは、他のあらゆるビジュアルベーシックのスカラーと同様に使用することができる。そうではなく、SiteVariantがサイトループの外部にあり、サイト特有のデータを保持するとき、SiteVariantは、マルチサイトとして取り扱われる。以下のコードは、SiteVariantがマルチサイトデータを保持するか否か、及び、SiteVariantがサイトループの内部で使用されるのか、又は外部で使用されるのかに応じて、SiteVariantの２重機能を実例で説明するものである。以下の例のDebug.Printの使用は、単一のスカラー変数を必要とするあらゆる用法のプロキシである。この例では、ＹＹのような２重文字の変数名は、その変数がマルチサイトデータを保持することを示している。Ｘのような単一文字の変数名は、スカラーを保持し、この例では、標準的なビジュアルベーシックのDouble（ダブル）と全く同様に機能する。
【００２７】
【数１】
2008539429.tif 000003
【００２８】
SiteVariantは、サイト一律又はサイト特有のいずれかである。「サイト一律」は、すべてのサイトが、単一の代入による１つの共通値を共有することを意味する。「サイト特有」は、各サイトがそれ自身の値を有することを意味する。これらの用語は、単一の値を共有することを指し、値の数字が等しいことを指すものではないことに留意されたい。たとえば、サイトループがSiteDouble（サイトダブル）ですべてのサイトに５．０を代入していた場合、たとえすべてのサイトが同じ値を有していても、そのサイトループは依然としてサイト特有である。
【００２９】
より特有のオブジェクトタイプは、特有のビジュアルベーシックの変数タイプを保持するSiteVariantから派生することができる。これらのオブジェクトタイプは、ビジュアルベーシックにネイティブな変数タイプに対応することができる。これらのより特有のオブジェクトタイプの例には、SiteDouble、SiteBoolean（サイトブール）、SiteLong（サイトロング）、及びPinData（ピンデータ）が含まれる。オブジェクトタイプSiteDouble、SiteBoolean、及びSiteLongは、ネイティブなビジュアルベーシックのタイプDouble（ダブル）（６４ビット精度浮動小数点数）、Boolean（ブール）（論理の真又は偽）、及びLong（ロング）（３２ビット整数）にそれぞれ対応するSiteVariantデータを表す。PinDataは、ピン名及びチャネル識別子等のデバイスピンに関係する特性を含むようにSiteVariantを拡張する。PinDataは、マルチピン・マルチサイト計器読み取り値をカプセル化するPinListData（ピンリストデータ）収集クラスで使用される。すなわち、PinListDataは、複数のサイト及びアクティブなサイトについて、ＤＵＴの個々のピンと、それらの個々のピンのそれぞれの測定に関連するデータ値とを識別する。
【００３０】
より具体的には、PinListDataオブジェクトは、新しいSiteVariant使用モデルに統合されている。PinListDataオブジェクトは、ピン寸法をマルチサイトデータに追加する。したがって、PinListDataオブジェクトは、各ピン及び各サイトのデータを含むマトリックスと考えることができる。PinListDataオブジェクトは、各ピンにつき１つのPinDataオブジェクトを保持する。PinListDataの各ピンスライスは、ピン名を有するSiteVariantである。これは、PinDataオブジェクトと呼ばれる。実際には、単一のピンを含むどのPinListDataオブジェクトも、SiteVariantとして使用することもできるし、保持されたデータタイプが、そのより特有の派生物のデータタイプと一致した場合には、その派生物の１つとして使用することもできる。この理由により、ユーザは、PinListDataオブジェクトのドライバシンタックスが単一のピンを含む場合には、もはやPinListDataオブジェクトを使用する必要はない。たとえば、ユーザは、単一ピンの測定値をSiteDoubleに直接書き込むオプションを有する。PinListDataオブジェクトは、SiteVariantを保持するので、同じサイトアウェアの振る舞い及び同じサイト一律／サイト特有の属性を有する。PinListDataのレガシーシンタックスは、まだ機能するが、このシンタックスの多くは、SiteVariantモデルと一致するインターフェースの方が選ばれることにより、隠れている。単一のコールで複数のサイト及び複数のピンに対する数学処理を行うPinListData数学処理メソッドが提供される。以下のコードは、４つのサイトの３対のピンにメータ測定を行い、その後、すべてのサイトにおけるすべての対の間のデルタを単一の文でデータログするものである。
【００３１】
【数２】
2008539429.tif 000004
【００３２】
上記オブジェクトタイプは、派生させることができる唯一のタイプではない。Variantに現れ得るどのタイプも、SiteVariantの派生物の基礎を形成することができる。これらのタイプには、ユーザ定義のタイプ及び非ネイティブのビジュアルベーシックのタイプが含まれ得るが、これらに限定されるものではない。
【００３３】
サイトアウェアオブジェクトは、可能な範囲内で、それらのサイトアウェアオブジェクトに対応するビジュアルベーシックのタイプの振る舞いを模倣する。したがって、SiteVariantのプログラミングモデルは、Variantのプログラミングモデルとほぼ同じであり、SiteDoubleのプログラミングモデルは、Doubleのプログラミングモデルとほぼ同じであり、他のものも同様である。オブジェクトタイプとネイティブタイプとの間の１つの相違は、オブジェクトタイプが定義されて割り当てられるということである。もう１つの相違は、ビジュアルベーシックでは、ネイティブタイプに対するほとんどの数学演算が、たとえば「＋」、「−」、「＊」、「／」といった記号演算子の使用を伴うことである。一方、サイトアウェアオブジェクトのプログラミングインターフェースは、これらの演算子に対応するメソッドを定義している。
【００３４】
より具体的には、ビジュアルベーシックプログラミング言語を使用すると、サイトアウェアオブジェクトで実行できる演算（たとえば、数学演算、論理演算等）を定義することが可能である。これらの演算は、ネイティブなビジュアルベーシック演算に対応するが、コードを使用して定義される。これは、サイトアウェアオブジェクトが、ネイティブなビジュアルベーシック変数とは異なる構造を有することから必要となる。例として、
y = x + 0.1
の加算演算は、ビジュアルベーシックのネイティブ変数「ｙ」及び「ｘ」に対して、０．１を「ｘ」に加算し、且つ、その結果の値を「ｙ」に代入するように実行することができる。同様の演算は、数学演算子「＋」を使用せずに、サイトアウェアオブジェクト「Ｘ」及び「Ｙ」についてもビジュアルベーシックで行うことができる。その代わり、関数「add」が、サイトアウェアオブジェクトと共に使用するためにビジュアルベーシックで定義され得る。この関数を使用すると、以下のように、サイトアウェアオブジェクト「Ｘ」の（１つのサイトについての）各データエントリーに０．１の値を加算して、それらの値を「Ｙ」の対応するエントリーに代入することが可能である。
【００３５】
Y = X.add(0.1)
異なる関数を使用して、他の演算を定義することもできる。このような関数を使用すると、単一のネイティブデータエレメントがビジュアルベーシック（又は他のプログラミング言語）で取り扱われる場合に、サイトアウェアオブジェクトは、ビジュアルベーシック（又は他のプログラミング言語）により取り扱うことができる。この機能によって、サイトアウェアオブジェクトを本質的にビジュアルベーシックのオブジェクトとして取り扱うことが可能になり、それによって、プログラマは、ＡＴＥ１２の複数のサイトを考慮するように試みる代わりに、プロセスフローに集中することが可能になるので、この機能は、サイト透明性を促進させる。
【００３６】
上記演算定義は、サイトアウェアオブジェクトに対する固有の限定ではない。そうではなく、演算定義の必要性は、ビジュアルベーシックプログラミング環境の特徴である。ビジュアルベーシックプログラミング環境は、演算子の多重定義（operator overloading）をサポートしていない。異なるプログラミング環境では、サイトアウェアオブジェクトは、記号演算子のサポートを有する場合がある。
【００３７】
図３は、サイトアウェアオブジェクトと共にＡＴＥ１２を使用するためのプロセス４０を示している。プロセス４０は、サイト１６ａ〜１６ｄと共に使用するためのサイトアウェアオブジェクトを定義する（４２）。サイトアウェアオブジェクトは、ユーザ入力に従って定義することができる。サイトアウェアオブジェクトは、サイト１６ａ〜１６ｄのＤＵＴの試験中、ＡＴＥ１２によって使用される（４４）。上述したように、サイトアウェアオブジェクトは、ＡＴＥソフトウェアサイト管理インフラストラクチャ２４と通信して、どのサイトがアクティブであるかを判断する。詳細には、サイトアウェアオブジェクトは、特定のＤＵＴが選択されていることの表示を受信し（４６）、その表示をサイトアウェアオブジェクトに記憶する（４８）。
【００３８】
試験中、サイトアウェアオブジェクトは、あらゆる目的に使用することができる。この目的には、ＡＴＥのプログラミング、ＡＴＥからの読み取り値のサイトアウェアオブジェクトへの記憶、試験結果のサイトアウェアオブジェクトへの記録、及びサイトアウェアオブジェクトを使用する読み取り値の処理が含まれるが、これらに限定されるものではない。読み取り値の処理には、読み取り値の変更及び／又は読み取り値の試験サブシステムへの報告が含まれる。
【００３９】
この実施形態では、SiteVariantオブジェクトは、ビジュアルベーシックのようなスカラー変数使用モデルとして提供される。これは、ビジュアルベーシックの特徴、すなわち、オプションのパラメータを有するデフォルトの隠れプロパティ、並びに、同じプロパティの異なるタイプのLet及びGetを行う能力の組み合わせを通じて達成される。各SiteVariantオブジェクトは、Long =-1として、オプションのパラメータSite（サイト）を有する隠れデフォルトプロパティ.Value()を有する。デフォルトのSiteパラメータは、サイトアウェアの作用を起動し、サイトループにおけるすべての選択されたサイト又は単一の選択されたサイトに対して操作を行う。以下の同等なシンタックスを比較する（Ｘ及びＺはSiteDoubleである一方、ｙは通常のビジュアルベーシックのDoubleである）。
【００４０】
用法：      同等な用法
X = 5      X.Vaule(-1)=5
y = X      y=X.Value(-1)
Z = X      Z.Value(-1)=X
上記は、.Value及び−１が共にデフォルトであるので同等である。
【００４１】
.Valueプロパティを隠れデフォルトにすることは、この使用モデルの近道だけではなくそれ以上のものである。デフォルトメカニズムが、多様な作用を追加するのに使用される。これらのSiteVariantは、シンタックスに応じて数字又はオブジェクトとして機能する。ビジュアルベーシックは、指定されたプロパティもメソッドも有しないオブジェクトに遭遇すると、どのタイプがその用法で必要とされているかに応じて、そのオブジェクトをオブジェクトそのものとして解釈することもできるし、オブジェクトのデフォルトプロパティへのコールの結果として解釈することもできる。上記ｙ＝Ｘのラインでは、Doubleが左端に必要とされる。ＸはDoubleではないので、ビジュアルベーシックは、オブジェクトＸのデフォルトプロパティを試み、デフォルトプロパティが確かにDoubleを返すことを見出す。他方、Ｚ＝Ｘのラインでは、Ｚのデフォルトプロパティがオブジェクト（Variant）を受け付け、その結果、ビジュアルベーシックは、オブジェクトであるＸのＺへの直接代入を行う。たとえ.Value()プロパティのGetバージョンがDoubleであっても、ビジュアルベーシックによって、.Value()プロパティのLetバージョンがVariantであることが可能になることから、この直接代入は可能である。デフォルト用法の簡易性及びそのビジュアルベーシックの変数との一貫性によって、.Valueプロパティを隠蔽することが可能になる。
【００４２】
本明細書で説明したプロセス及びサイトアウェアオブジェクトは、どの特定のハードウェアとの使用にも、どの特定のソフトウェアとの使用にも、どの特定のプログラミング言語との使用にも限定されない。これらのプロセス及びサイトアウェアオブジェクトは、どのコンピューティング環境又はどの処理環境においても適用性を見出すことができ、マシン可読命令を実行できるどのタイプのマシンとも適用性を見出すことができる。これらのプロセス及びサイトアウェアオブジェクトの全部又は一部は、デジタル電子回路機構で実施することもできるし、コンピュータのハードウェア、ファームウェア、ソフトウェアで実施することもできるし、それらの組み合わせで実施することもできる。
【００４３】
プロセス及びサイトアウェアオブジェクトの全部又は一部は、データ処理装置によって実行されるか又はデータ処理装置のオペレーションを制御するコンピュータプログラム製品、すなわち、情報担体に有形に具現化されたコンピュータプログラムとして実施することができる。この情報担体は、たとえば、マシン可読ストレージデバイス又は伝搬信号である。データ処理装置は、たとえば、プログラマブルプロセッサ、コンピュータ、又は複数のコンピュータである。コンピュータプログラムは、コンパイラ型言語又はインタープリタ型言語を含むあらゆる形のプログラミング言語で記述することができ、スタンドアロンプログラムとして、又は、モジュール、コンポーネント、サブルーチン、若しくはコンピューティング環境での使用に適した他のユニットとしての形を含むあらゆる形で配備することができる。コンピュータプログラムは、１つのサイトの１つのコンピュータ、又は、複数のサイトにわたって分散し通信ネットワークにより相互接続された複数のコンピュータで実行されるように配備することができる。
【００４４】
プロセス及びサイトアウェアオブジェクトに関連する方法ステップは、それらのプロセス及びサイトアウェアオブジェクトの機能を実行するために１つ又は２つ以上のコンピュータプログラムを実行する１つ又は２つ以上のプログラマブルプロセッサが実行することができる。また、方法ステップは、たとえばＦＰＧＡ（フィールドプログラマブルゲートアレイ）及び／又はＡＳＩＣ（特定用途向け集積回路）といった専用論理回路機構によって実行することもでき、プロセス及びサイトアウェアオブジェクトは、そのような専用論理回路機構として実施することができる。
【００４５】
コンピュータプログラムの実行に適したプロセッサには、例として、汎用マイクロプロセッサ及び専用マイクロプロセッサの双方、並びに、あらゆる種類のデジタルコンピュータのあらゆる１つ又は２つ以上のプロセッサが含まれる。一般に、プロセッサは、読み出し専用ストレージエリア若しくはランダムアクセスストレージエリア又はその双方から命令及びデータを受け取る。コンピュータのエレメントは、命令を実行するためのプロセッサ、並びに、命令及びデータを記憶するための１つ又は２つ以上のストレージエリアデバイスを含む。一般に、コンピュータは、たとえば、磁気ディスク、光磁気ディスク、若しくは光ディスクといった、データを記憶するための１つ若しくは２つ以上のマスストレージデバイスも含むか、又は、そのようなマスストレージデバイスからのデータの受信若しくはそのようなマスストレージデバイスへのデータの転送若しくはそれらの双方を行うよう動作可能に結合されている。コンピュータプログラム命令及びデータを具現化するのに適した情報担体には、すべての形の不揮発性ストレージエリアが含まれる。このすべての形の不揮発性ストレージエリアには、例として、たとえばＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュストレージエリアデバイスといった半導体ストレージエリアデバイス、内部ハードディスク又は着脱可能ディスクといった磁気ディスク、光磁気ディスク、並びにＣＤ−ＲＯＭディスク及びＤＶＤ−ＲＯＭディスクが含まれる。
【００４６】
プロセス及びサイトアウェアオブジェクトの全部又は一部は、たとえばデータサーバといったバックエンドコンポーネントを含むコンピューティングシステム、又は、たとえばアプリケーションサーバといったミドルウェアコンポーネントを含むコンピューティングシステム、又は、たとえばグラフィカルユーザインターフェースを有するクライアントコンピュータといったフロントエンドコンポーネントを含むコンピューティングシステム、又は、このようなバックエンドコンポーネント、ミドルウェアコンポーネント、若しくはフロントエンドコンポーネントのあらゆる組み合わせを含むコンピューティングシステムで実施することができる。このシステムのコンポーネントは、たとえば通信ネットワークといったあらゆる形又は媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例には、ＬＡＮ、及び、たとえばインターネットといったＷＡＮが含まれる。
【００４７】
プロセス及びサイトアウェアオブジェクトに関連する方法ステップは、並べ替えることができ、且つ／又は、１つ若しくは２つ以上のこのようなステップは、本明細書で説明した結果と同じ結果又は類似の結果を達成するように省略することができる。
【００４８】
本明細書で説明したプロセスは、オブジェクト指向型プログラミングではなく、手続き型言語の状況で使用することができる。たとえば、サイトアウェアオブジェクトＸ、Ｙは、以下のように定義することができる。
【００４９】
X = Instrument.ReadMeasurement(PinA)
Y = X.Add(0.1)
Ｃ等の手続き型言語では、Ｘ、Ｙに対応するものは、以下のように、データ構造体（以下のＸ、Ｙ）及び外部関数（Add()）を使用して実施することができる。
【００５０】
X = ReadMeasurement(InstrumentID, PinA)
Y = Add(X, 0.1)
１つの相違は、手続き型言語では、Ｘ及びＹがデータしか含まず、何らかの処理を実行するAdd()等の外部関数が存在するということである。
【００５１】
本明細書で説明したものと異なる実施形態のエレメントを組み合わせて、具体的に上述していない他の実施形態を形成することができる。本明細書で具体的に説明していない他の実施形態も、特許請求の範囲に含まれる。
【図面の簡単な説明】
【００５２】
【図１】ＡＴＥシステムのブロック図である。
【図２】サイトアウェアオブジェクトの図表である。
【図３】試験中にサイトアウェアオブジェクトを使用するためのプロセスのフローチャートである。
【図１】
2008539429.tif 000005
【図２】
2008539429.tif 000006
【図３】
2008539429.tif 000007
【国際調査報告】
2008539429.tif 000008