(57)【要約】  オープンアーキテクチャテストシステムにおけるベンダハードウェアモジュールバージョンとともに構成するソフトウェアコンポーネントのための方法およびシステムを開示する。方法は、ベンダハードウェアモジュールの一連のハードウェアバージョンを受け取る段階と、ベンダハードウェアモジュールによりサポートされた一連のソフトウェアコンポーネントを受け取る段階と、一連のハードウェアバージョンを処理する段階であって、一連のハードウェアバージョンがマスク値を利用するハードウェアバージョン番号の等価集合として表される段階と、ベンダハードウェアモジュールのハードウェアバージョンのユーザ選択を得る段階と、ベンダハードウェアモジュールのハードウェアバージョンのユーザ選択を有効にする段階と、ハードウェアバージョンのユーザ選択に従って、システムプロファイルを生成する段階とを包含する。【選択図】図１ｂ
2008531982.tif 000002
【特許請求の範囲】
【請求項１】
一のオープンアーキテクチャテストシステムにおいて、複数のソフトウェアコンポーネントと複数のベンダハードウェアモジュールバージョンとを関連付ける方法であって、
一のベンダハードウェアモジュールの一連のハードウェアバージョンを受け取る段階と、
前記ベンダハードウェアモジュールによってサポートされた一連のソフトウェアコンポーネントを受け取る段階と、
前記一連のハードウェアバージョンを処理する段階であって、前記一連のハードウェアバージョンは、一のマスク値を利用する複数のハードウェアバージョン番号の一の等価集合として表される段階と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数のユーザ選択を得る段階と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にする段階と、
複数のハードウェアバージョンの複数の前記ユーザ選択に従って、一のシステムプロファイルを作成する段階と
を含む方法。
【請求項２】
前記一連のソフトウェアコンポーネントは、
一またはそれ以上のベンダソフトウェア開発キットと、
一またはそれ以上のユーザソフトウェア開発キットと、
前記ベンダハードウェアモジュールの前記一連のハードウェアバージョンに対応する一またはそれ以上のベンダドライバソフトウェアバージョンと
を含む請求項１に記載の方法。
【請求項３】
前記一連のハードウェアバージョンを処理する段階は、
一のマスク値を定義する段階であって、前記マスク値は一のマスクされた番号および一のマスクを含み、前記マスクは前記一連のハードウェアバージョンの前記範囲内のデータパターンであり、前記データパターンは、少なくとも一の無関心ビットおよび一のマスクされないビットを含む段階と、
前記マスクおよび前記マスクされた番号に従って、複数のハードウェアバージョン番号の一の等価集合を特定する段階と
を含む請求項１に記載の方法。
【請求項４】
複数のハードウェアバージョン番号の前記等価集合を特定する段階は、
前記マスクにおけるそれぞれの無関心ビットに対して、前記マスクされた番号における前記対応ビットをマスキングし、それによって前記対応ビット位置における一の１または０を有する前記等価集合の全ての要素を表す段階と、
前記マスクにおけるそれぞれのマスクされないビットに対して、前記等価集合における前記マスクされた番号の前記対応ビットを利用し、それによって前記マスクされた番号における前記対応ビットはマスクされていないことを示す段階と
を含む請求項３に記載の方法。
【請求項５】
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にする段階は、
一のユーザ選択が前記マスク値によって覆われている場合、前記マスク値に対応する一の完全な等価集合が選択されたとして示される段階を含む請求項３に記載の方法。
【請求項６】
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にする段階であって、
ハードウェアバージョンのユーザ選択のそれぞれに対して、ハードウェアバージョンの前記ユーザ選択および前記マスクの一のビット単位の論理積が前記マスクされた番号と等しい場合、および場合のみ、ハードウェアバージョンの前記ユーザ選択を有効として表す段階をさらに含む請求項５に記載の方法。
【請求項７】
一のシステムプロファイルを生成する段階であって、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択に従って、一連の互換性のあるソフトウェアコンポーネントを決定する段階と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数のユーザ選択のそれぞれによってソフトウェアコンポーネントの一のバージョンを選択する段階と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンのユーザ選択のそれぞれに対して、ユーザに選択された複数のソフトウェアコンポーネントの一のリストを生成する段階と、
ユーザに選択された複数のソフトウェアコンポーネントの前記リストを蓄積する段階と
を含む請求項１に記載の方法。
【請求項８】
ソフトウェアコンポーネントの一のバージョンを選択する段階は、
前記一連の互換性のあるソフトウェアコンポーネントからソフトウェアコンポーネントの一のバージョンを選択することをユーザに問い合わせる段階と、
ソフトウェアコンポーネントの前記バージョンのユーザ選択のそれぞれに対して、複数のハードウェアバージョンの前記ユーザ選択にわたる一の共通部分を計算する段階であって、サポートされた複数のハードウェアバージョンの一のリストを生成するための段階と、
を含む請求項７に記載の方法。
【請求項９】
一の共通部分を計算する段階は、
複数のハードウェアバージョンの前記ユーザ選択を利用する結果として生じるマスクを計算する段階と、
複数のハードウェアバージョンの前記ユーザ選択を利用する結果として生じるマスクされた番号を計算する段階と
を含む請求項７に記載の方法。
【請求項１０】
一のオープンアーキテクチャテストシステムを提供する段階であって、前記オープンアーキテクチャテストシステムが、一のシステムコントローラ、一またはそれ以上のサイトコントローラ、一またはそれ以上のベンダハードウェアモジュール、および一またはそれ以上の被試験デバイス（ＤＵＴｓ）を含む段階と、
一のベンダハードウェアモジュールの一の新規ハードウェアバージョンを受け取る段階であって、前記新規ハードウェアバージョンは、複数のハードウェアバージョン番号の前記等価集合の一要素である段階と、
前記システムプロファイルを利用する前記ベンダハードウェアモジュールの前記新規ハードウェアバージョンをテストする段階と
をさらに含む請求項１に記載の方法。
【請求項１１】
一のシステムコントローラと、
前記システムコントローラに結合される一のサイトコントローラと、
前記サイトコントローラに結合される一またはそれ以上のハードウェアモジュールと、
一のハードウェアモジュールと同時に結合される一またはそれ以上の被試験デバイス（ＤＵＴｓ）と、
一のベンダハードウェアモジュールの一連のハードウェアバージョンを受け取るための手段と、
前記ベンダハードウェアモジュールによってサポートされた一連のソフトウェアコンポーネントを受け取るための手段と、
前記一連のハードウェアバージョンを処理するための手段であって、前記一連のハードウェアバージョンは、一のマスク値を利用する複数のハードウェアバージョン番号の一の等価集合として表される手段と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数のユーザ選択を得るための手段と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にするための手段と、
複数のハードウェアバージョンの複数の前記ユーザ選択に従って、一のシステムプロファイルを生成するための手段と
を含むオープンアーキテクチャテストシステム。
【請求項１２】
前記一連のソフトウェアコンポーネントは、
一またはそれ以上のベンダソフトウェア開発キットと、
一またはそれ以上のユーザソフトウェア開発キットと、
前記ベンダハードウェアモジュールの前記一連のハードウェアバージョンに対応する一またはそれ以上のベンダドライバソフトウェアバージョンと
を含む請求項１１に記載のシステム。
【請求項１３】
前記一連のハードウェアバージョンを処理するための前記手段は、
一のマスク値を定義するための手段であって、前記マスク値は、一のマスクされた番号および一のマスクを含み、前記マスクは、前記一連のハードウェアバージョンの前記範囲内のデータパターンであり、および前記データパターンは、少なくとも一の無関心ビットおよび一のマスクされていないビットを含む手段と、
前記マスクおよび前記マスクされた番号に従って、複数のハードウェアバージョン番号の一の等価集合を特定するための手段と
を含む請求項１１に記載のシステム。
【請求項１４】
複数のハードウェアバージョン番号の前記等価集合を特定するための前記手段は、
前記マスクにおける無関心ビットのそれぞれに対して、前記マスクされた番号における前記対応ビットをマスキングするための手段であって、それによって前記対応ビット位置で一の１かそれとも０を有する前記等価集合の全ての要素を表す手段と、
前記マスクにおけるマスクされないビットのそれぞれに対して、前記等価集合における前記マスクされた番号の前記対応ビットを利用するための手段であって、それによって前記マスクされた番号における前記対応ビットがマスクされていないことを示す手段と
を含む請求項１３に記載のシステム。
【請求項１５】
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にするための前記手段は、
一のユーザ選択が前記マスク値によって覆われている場合に、前記マスク値に対応する一の全体等価集合を選択されたとして示す手段を含む請求項１３に記載のシステム。
【請求項１６】
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にするための前記手段は、
ハードウェアバージョンのユーザ選択のそれぞれに対して、ハードウェアバージョンの前記ユーザ選択および前記マスクの一のビット単位の論理積が前記マスクされた番号と等しい場合、および場合のみ、ハードウェアバージョンの前記ユーザ選択を有効として表すための手段をさらに含む請求項１５に記載のシステム。
【請求項１７】
一のシステムプロファイルを生成するための前記手段は、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択に従って、一連の互換性のあるソフトウェアコンポーネントを決定するための手段と、
前記ベンダハードウェアモジュールのハードウェアバージョンのユーザ選択のそれぞれに対して、複数のソフトウェアコンポーネントの一のバージョンを選択するための手段と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンのユーザ選択のそれぞれに対して、複数のユーザに選択されたソフトウェアコンポーネントの一のリストを生成するための手段と、
ユーザに選択された複数のソフトウェアコンポーネントの前記リストを蓄積するための手段と
を含む請求項１１に記載のシステム。
【請求項１８】
ソフトウェアコンポーネントの一のバージョンを選択するための前記手段は、
前記一連の互換性のあるソフトウェアコンポーネントからソフトウェアコンポーネントの一のバージョンを選択することをユーザに問い合わせるための手段と、
ソフトウェアコンポーネントの前記バージョンのユーザ選択のそれぞれに対して、複数のハードウェアバージョンの前記ユーザ選択にわたる一の共通部分を計算するための手段であって、サポートされた複数のハードウェアバージョンの一のリストを生成するための段階と
を含む請求項１７に記載のシステム。
【請求項１９】
一の共通部分を計算するための前記手段は、
複数のハードウェアバージョンの前記ユーザ選択を利用する結果として生じるマスクを計算するための手段と、
複数のハードウェアバージョンの前記ユーザ選択を利用する結果として生じるマスクされた番号を計算するための手段と
を含む請求項１７に記載のシステム。
【請求項２０】
一のオープンアーキテクチャテストシステムを提供するための手段であって、前記のオープンアーキテクチャテストシステムは、一のシステムコントローラ、一またはそれ以上のサイトコントローラ、一またはそれ以上のベンダハードウェアモジュール、および一またはそれ以上の被試験デバイス（ＤＵＴｓ）を含む手段と、
一のベンダハードウェアモジュールの一の新規ハードウェアバージョンを受け取るための手段であって、前記の新規ハードウェアバージョンが複数のハードウェアバージョン番号の前記等価集合の一要素である手段と、
前記システムプロファイルを利用する前記ベンダハードウェアモジュールの前記新規ハードウェアバージョンをテストするための手段と
をさらに含む請求項１１に記載のシステム。
【請求項２１】
一のオープンアーキテクチャテストシステムにおける複数のベンダハードウェアモジュールバージョンを表すための方法であって、前記オープンアーキテクチャテストシステムが、一のシステムコントローラ、一のサイトコントローラ、一またはそれ以上のベンダハードウェアモジュール、および一またはそれ以上の被試験デバイス（ＤＵＴｓ）を含む方法は、
一のベンダハードウェアモジュールの一連のハードウェアバージョンを受け取る段階と、
一のマスク番号および一のマスクを含む一のマスク値を利用する複数のハードウェアバージョン番号の一の等価集合として前記一連のハードウェアバージョンを表す段階と、
を含み、
前記マスクは、前記一連のハードウェアバージョンの前記範囲内の一のデータパターンであり、
前記データパターンは、少なくとも一の無関心ビットおよび一のマスクされないビットを含む方法。
【請求項２２】
複数の前記ハードウェアバージョンを表す段階は、
前記マスクにおける無関心ビットのそれぞれに対して、前記マスクされた番号における前記対応ビットをマスキングする段階であって、それによって前記対応ビット位置における一の１かそれとも０を有する前記等価集合の全ての要素を表す段階と、
前記マスクにおけるマスクされていないビットのそれぞれに対して、前記等価集合における前記マスク番号の前記対応ビットを利用する段階であって、それによって前記マスク番号における前記対応ビットがマスクされていないことを示す段階と
をさらに含む請求項２１に記載の方法。
【請求項２３】
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数のユーザ選択を得る段階と、
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にする段階と
をさらに含む請求項２１に記載の方法。
【請求項２４】
前記ベンダハードウェアモジュールの複数のハードウェアバージョンの複数の前記ユーザ選択を有効にする段階は、
ハードウェアバージョンのユーザ選択のそれぞれに対して、ハードウェアバージョンの前記ユーザ選択および前記マスクの一のビット単位の論理積が前記マスクされた番号と等しい場合、または場合のみ、ハードウェアバージョンの前記ユーザ選択を有効として表す段階と、
一のユーザ選択が有効と決定された場合、前記マスク値に対応する一の全体等価集合を選択されたとして示す段階と
をさらに含む請求項２３に記載の方法。
【請求項２５】
前記ベンダハードウェアモジュールの一の新規なハードウェアバージョンを受け取る段階であって、前記新規なハードウェアバージョンが複数のハードウェアバージョン番号の前記等価集合の一要素である段階と、
複数のハードウェアバージョン番号の前記等価集合を利用する前記ベンダハードウェアモジュールの前記新規なハードウェアバージョンをテストする段階と
をさらに含む請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体テストのための自動試験装置（ＡＴＥ）の分野に関する。特に、本発明は、効率的なフィールド配置のためのオープンアーキテクチャテストシステムにおけるベンダハードウェアモジュールバージョンのコンパクト表現に関する。
【背景技術】
【０００２】
オープンアーキテクチャテストシステムにおいて、ユーザの特別なシステムが設定されているとともに、全てのベンダハードウェアモジュールに対して、およびそのようなベンダハードウェアモジュールのそれぞれのためにモジュールソフトウェアコンポーネントに関連する全ての違いに対して、ソフトウェアは、添付のモジュールソフトウェアのバージョンのそれぞれとともに機能することが補償されるベンダハードウェアモジュールバージョンのリストのためにベンダ仕様にアクセスを有することを必要とする。システムは、その後、システムのソフトウェアコンテンツとして実施可能な用にユーザに提示されるべき、ソフトウェアコンポーネントに対して選択を決定するこの複雑な情報を効果的に分析することが要求される。
【０００３】
理想としては、ソフトウェアコンポーネントに対して提示された選択は、可能な限り大きい集合を含むべきであり、全般的な制約の中で、与えられた選択からユーザが取り上げる任意の完全な一連のソフトウェアコンポーネントが、ともに機能するとともに、ユーザの選択したハードウェア設定とともに機能することが補償される。この問題と関連して、一の方法は、整数のコンマ区切りされたリストのように、ソフトウェアコンポーネントそれぞれに対して互換性のあるハードウェアバージョンを一覧にし、ハードウェアバージョン番号（連続している番号を示すための範囲指示子とともに）を表現することである。この方法は、多数の問題を有する。
【０００４】
第１に、ハードウェアバージョン番号は、たいてい大きく、３２ビットほどが要求され、そこで、番号の中で異なるビットフィールドは、ハート゛ウェアベンダに異なる所有者の重要性を有してもよい。ベンダが単一ソフトウェアバージョンと互換性のあるような番号の中でビットの特別なパターンに対して全ての可能な値と全てのバージョンとを認証するための選択をする場合、これは、ａ）範囲指示子を通して効果的に表すことができない、バージョン番号の連続しない配列、および／またはｂ）記憶および／または処理目的に対して極めて実用的でないかもしれない、とても長いリストを作り出す、バージョン番号のとても大きな数を導くかもしれない。第２に、その方法は、特にとても頻繁なハードウェア製品のアップデートの場合、極めて制限的で、リストへの頻繁な追加と、従って、追加を組み込むため、ユーザのサイトにおけるシステムプロファイルの再生の退屈および頻繁な処理とを要求するかもしれない。従って、効果的なフィールド配置のために、オープンアーキテクチャテストシステムにおいて、ベンダハードウェアモジュールバージョンのコンパクト表現のための必要がある。
【発明の開示】
【課題を解決するための手段】
【０００５】
一の方法は、ハードウェアモジュールベンダが、コンパクトな方法で、オープンアーキテクチャテストシステムにおいて、関連するモジュールソフトウェアの与えられたバージョンとともに機能することを補償するハードウェアバージョン番号の任意の配列を特定できるようなものを開示する。加えて、ハードウェアバージョン番号は、ベンダハードウェアモジュールに対して最適な一連のソフトウェアコンポーネント選択とともに、ユーザに提供するように処理され、フィールドにおける配列に対する有効なシステム設定を導く。
【０００６】
一の実施例において、オープンアーキテクチャテストシステムにおけるベンダハードウェアモジュールバージョンとソフトウェアコンポーネントとを関連付けるための方法は、ベンダハードウェアモジュールの一連のハードウェアバージョンを受け取る段階と、ベンダハードウェアモジュールによってサポートされた一連のソフトウェアコンポーネントを受け取る段階と、一連のハードウェアバージョンを処理する段階であって、一連のハードウェアバージョンが、マスク値を利用するハードウェアバージョン番号の等価集合として表される段階と、ベンダハードウェアモジュールのハードウェアバージョンのユーザ選択を得る段階と、ベンダハードウェアモジュールのハードウェアバージョンのユーザ選択を有効にする段階と、ハードウェアバージョンのユーザ選択に従って、システムプロファイルを生成する段階とを包含する。
【０００７】
他の実施例において、オープンアーキテクチャテストシステムは、システムコントローラ、システムコントローラに結合されたサイトコントローラ、サイトコントローラに結合された一または複数のハードウェアモジュール、およびハードウェアモジュールの群によって同時に情報が提供される一または複数の被試験デバイス（ＤＵＴｓ）を包含する。システムは、ベンダハードウェアモジュールの一連のハードウェアバージョンを受け取るための手段、ベンダハードウェアモジュールによってサポートされた一連のソフトウェアコンポーネントを受け取る手段、一連のハードウェアバージョンを処理する手段であって、一連のハードウェアバージョンが、マスク値を利用するハードウェアバージョン番号の等価集合として表される手段と、ベンダハードウェアモジュールのハードウェアバージョンのユーザ選択を得る手段と、ベンダハードウェアモジュールのハードウェアバージョンのユーザ選択を有効にする手段と、ハードウェアバージョンのユーザ選択に従って、システムプロファイルを生成する手段とをさらに包含する。
【０００８】
さらにもう一つの実施形態において、オープンアーキテクチャテストシステムにおけるベンダハードウェアモジュールバージョンを表すための方法は、ベンダハードウェアモジュールの一連のハードウェアバージョンを受け取る段階と、マスク番号およびマスクを包含するマスク値を利用するハードウェアバージョン番号の等価集合として、一連のハードウェアバージョンを表す段階とを包含する。マスクは、一連のハードウェアバージョンの範囲内のデータパターンであり、データパターンは、少なくともひとつの無関心ビットおよびマスクされないビットを包含する。
【発明を実施するための最良の形態】
【０００９】
方法およびシステムは、オープンアーキテクチャテストシステムにおけるベンダハードウェアモジュールバージョンのコンパクト表現のために提供される。以下の説明は、本発明を製造することおよび本発明を利用することを当業者に可能にするために提示される。特定の実施形態および用途の説明は、単に例として提供される。ここに述べられた例の様々な変更および組み合わせは、当業者に容易に明確になり、ここで定義された一般的な原理は、他の例および用途に適用されてもよい。従って、本発明は、述べられおよび示される例を限定する目的ではなく、ここに記載された原理および技術と調和する最も広い範囲を許容される。
【００１０】
再構成可能オープンアーキテクチャテストシステムは、サードパーティソフトウェアおよびハードウェア（ベンダハードウェアモジュールとしても知られる）が、オープンアーキテクチャテストシステムの中へ発展され、個々に認証され、および確実に統合されることができることの基で、解決策を提供する。図１ａは、本発明の実施例による一または複数のＳｉｔｅＣｓと、多数のＤＵＴｓの同時テストに対するオープンアーキテクチャテストシステムを示す。システムは、システムコントローラ１０２、複数のサイトコントローラ１０４、複数のベンダハードウェアモジュール１０６、およびＤＵＴｓの対応群１１０を包含し、ＤＵＴｓの群のそれぞれは、一または複数の個々のＤＵＴｓ１１２を包含してもよい。テストヘッド１０８は、ＤＵＴｓ群１１０を保持する。一の実施形態において、システムコントローラおよびサイトコントローラは、多数の地理的場所における多数のコンピュータに分配されたコンピュータシステムにより実施されてもよい。他の実施形態において、システムコントローラおよびサイトコントローラは、単一コンピュータにより実施されてもよい。オープンアーキテクチャテストシステムの詳細な説明は、米国特許出願番号６０／４４７，８３９、"半導体集積回路に対してテストプログラムを展開する方法および構造"、および米国特許出願番号６０／５７３，５７７、"オープンアーキテクチャテストシステムにおけるソフトウェア展開"により提供される。加えて、オープンアーキテクチャテストシステムは、"モジュラオープンアーキテクチャテストシステムにおけるテストプログラミング環境"、プラマニックその他（Ａ．Ｐｒａｍａｎｉｃｋ  ｅｔ  ａｌ．）、２００４年ＩＥＥＥインターナショナルテスト会議、２００４年１０月、４１３−４２２頁にも述べられている。
【００１１】
そのようなオープンアーキテクチャテストシステムにおいて、サードパーティ解決策が統合的な枠組みの要求に順応する限り、モジュラユニットのそれぞれ、ソフトウェアおよびハードウェアの両方は、サードパーティユニットによって置き換えることができる。従って、サードパーティハードウェアは、デジタルピンカード、アナログカード、デバイス電源などのような任意の機能ユニットでもよい。ベンダハードウェアモジュール（または略してモジュール）の用語は、ハードウェア機能ユニットのように参照されて利用され、さらにベンダハードウェアモジュールのサポートにおける関連するベンダソフトウェアコンポーネントはモジュールソフトウェアと呼ぶ。後者は、モジュール制御ドライバソフトウェア、校正および診断ソフトウェア、エミュレーションソフトウェア、ベンダ特定パターンコンパイラ、等のような、いくつかの独特なソフトウェアコンポーネントを含む。
【００１２】
オープンアーキテクチャテストシステムは、テストシステムの動作に対してだけではなく、全てのそれらに付随するソフトウェアに沿って、テスト環境および新規ベンダハードウェアモジュールの導入を制御するためにも提供する。図１ｂは、オープンアーキテクチャテストシステムにおいて、多数のベンダハードウェアモジュールバージョン１２８およびそれらに対応するソフトウェアコンポーネントバージョンの例を示す。ソフトウェアコンポーネントは、ベンダソフトウェアドライバ１２４の多数のバージョンと同様に、テスタオペレイティングシステム（ＴＯＳ）１２０の多数のバージョンおよびその関連するベンダソフトウェア開発キット（ＳＤＫｓ）１２２およびユーザＳＤＫｓ１２６のバージョンを含む。オープンアーキテクチャテストシステムにおける、ＴＯＳｓ、ベンダＳＤＫｓ、およびユーザＳＤＫｓのような多数のベンダハードウェアモジュールバージョンおよびソフトウェアコンポーネントバージョンの管理のための方法は、本願の出願人に譲渡された、米国特許出願番号６０／６３５，０９４、"テスタ計測モジュールのインストールおよび設定管理を実施するための方法およびシステム"により提供される。
【００１３】
ソフトウェアのバージョンｎが、与えられたシステム設定において共存できるようにベンダハードウェアモジュールの真に異なるバージョンに互換性があることを、モジュールＭのベンダが認証するのと同様に、ベンダハードウェアモジュールＭに対して、モジュールソフトウェアの特別なバージョンｎが、特別なシステム設定と互換性のあるようなテストシステムによって確認できるように十分に、テストシステムは、柔軟であることが要求される。ベンダは、Ｍに対するモジュールソフトウェアのバージョンｎとともに機能することが補償されるモジュールＭに対するハードウェアバージョンのリストを公開することが要求される。
【００１４】
ユーザが、ベンダハードウェアモジュールおよびそれらに関連するモジュールソフトウェアの特別なバージョンとともにオープンアーキテクチャテストシステムを設置する場合、ユーザの選択が、動作システムにおいて実際にどのような結果になるかを確認することは、システムソフトウェア次第である。従って、そのようなオープンアーキテクチャテストシステムは、システム設定、ハードウェアおよびソフトウェアの両方に対して有効な選択のみをユーザに強いるプロファイル生成の間、それぞれが多数の関連するソフトウェアコンポーネントと一体の多数の異なるベンダハードウェアモジュールのスコアを大きなシステムが有することができるならば、システムからユーザへの適切なガイダンスとともに、ユーザによって生成されたシステムプロファイル情報に依存する必要がある。従って、同時に不必要にユーザを制限することがなく、システムプロファイルを生成するユーザへの適切なガイダンスを提供するタスクは、とても複雑である。
【００１５】
一般的に、効果的なフィールド配置に対するオープンアーキテクチャテストシステムにおけるベンダハードウェアモジュールバージョンのコンパクト表現を提供する方法は、２つの主要なこと、１）ハードウェアバージョンを特定すること、２）ハードウェアバージョン情報を処理すること、および有効なシステムプロファイルを生成することをユーザに許可することを包含する。当業者は、オープンアーキテクチャテストシステムにおいて、ＴＯＳｓ、ベンダＳＤＫｓ、およびユーザＳＤＫｓのバージョンのようなソフトウェアコンポーネントバージョンを表すことに適用できる方法を理解できるであろう。
【００１６】
一の実施例において、互換性のあるハードウェアバージョン仕様は、ハードウェアバージョン番号における任意の一連の（ベンダが特定された）ビットをマスキングすることによって達成される。例えば、ハードウェアバージョン番号の構文は、仕様ファイルにおいて、以下、１０９５１８８７８４、０ｘ０１４０３５００／０ｘ０ｆｆ０ｆｆ００，８８０００００１１１のように表現されてもよく、そこで、番号"１０９５１８８７８４"および"８８０００００１１１"は、マスクされていない、単一ハードウェアバージョンであることを示し、番号"０ｘ０１４０３５００／０ｘ０ｆｆ０ｆｆ００"は、マスクされた番号を示し、等価ハードウェアバージョン番号の完全なファミリ（集合）を表す。
【００１７】
この例において、マスクされた値は、構文"ｎ／ｍ"における１６進数フォーマットにおいて表され、そこで'ｎ'は、マスクされた番号を表し、'ｍ'はマスクを表す。表現"ｎ／ｍ"において、マスクされた番号ｎに対するマスクｍは、"ＥＱＣ（ｎ／ｍ）"と示されたｎに基づく番号の等価集合（ＥＱＣ）を特定する、以下のようなビットパターンとして定義される。１）ｍにおいて無関心（本例において"０"ビットにより表現される）であるビット毎に、ｎにおける対応ビットはマスクされ、等価集合の全ての要素がそのビット位置において１かそれとも０を有することができることを表す。２）ｍにおいてマスクされないビット（本例において"１"ビットにより表現される）であるビット毎に、等価集合で任意の番号における対応ビットは、ｎにおける対応ビットに等しい。
【００１８】
図２は、本発明の一実施形態によるマスクされた番号へのマスクの適用を示す。図２において、タプル"０１０／１１０"（説明の容易のために１６進数フォーマットの代わりにバイナリフォーマットにおいて表現される）を検討する。マスクｍ２０２は、バージョン番号２０６の等価集合を生成するために番号ｎ２０４に適用される。
【００１９】
上記で与えられたマスクの定義に適用して、ｘがＥＱＣ（０１０／１１０）の一要素のような番号ｘは、ビット位置２および３のそれぞれ（右からまたは最小桁から、左または最上位桁へ３ビットを数えて）において、'１'および'０'を有する。これは、マスク"１１０"におけるビット位置２および３が、１ｓ（すなわち、マスクされていない）ためであり、これは、ｘにおいて、これら２つのビットが、ｎにおける対応ビットの正確な値を有している意味を含む。しかしながら、マスク"１１０"におけるビット−１の値が'０'（すなわち、マスクされている）ことから、ｘは、ビット位置１において'１'かそれとも'０'を有することができる。従って、ＥＱＣ（０１０／１１０）は、｛０１０，０１１｝の組、すなわち｛２，３｝の組、であり、従って、ｘは２かそれとも３をとることが可能である。
【００２０】
オープンアーキテクチャテストシステムにおいて、ユーザによって提供されるハードウェアバージョン番号ｘがマスクされた等価集合の一要素かどうかを通常実施される動作は決定する。マスクされた等価集合において、構成要素を決定する方法のひとつは、"＆"はビット単位の論理積演算子であり、ｘ＆ｍ＝ｎである場合、および場合のみ、番号ｘは、等価集合（ｎ／ｍ）の一要素であることを見ることである。この特性は、要求された決定を実施することの簡単な方法を提供する。
【００２１】
次に、多数の連続性の無いバージョン番号の等価集合のマスクされた表現とともに、システムプロファイルを生成するための方法が述べられる。一般的に、方法は、１）一連のマスクされたハードウェアバージョンを処理する段階、２）ベンダハードウェアモジュールのユーザの選択したバージョンを実行する、互換性のあるソフトウェアコンポーネントバージョンの選択にユーザを提供する段階、３）モジュールに対して互換性のあるソフトウェアコンポーネントバージョンのユーザの選択から生じる、ベンダハードウェアモジュールのそれぞれに対して一連のハードウェアバージョンのコンパクト表現を計算する段階と、４）ユーザシステムプロファイルにおけるコンパクト表現を蓄積する段階とを包含する。
【００２２】
一連のマスクされたハードウェアバージョンを処理するために、ベンダハードウェアモジュールおよびそれらの関連するソフトウェアコンポーネントのバージョンを表現するために利用される表記表は、以下のように述べられる。第１に、特別なベンダハードウェアモジュールをＭとして示させ、ＡＴＥにおけるハードウェアモジュールＭを制御するために必要とされるソフトウェアコンポーネントを｛ＭＸ｝の組によって示させ、そこで、ＸはＡ、Ｂ、Ｃ等とすることができる。従って、例えば、Ｍが全部で４つのソフトウェアコンポーネントを有している場合、それらは、ＭＡ、ＭＢ、ＭＣ、およびＭＤとして表される。次に、ベンダハードウェアモジュールＭに対してソフトウェアコンポーネントＸの特別なバージョンｋをＭＸ．ｋとして示される。例えば、モジュールＭに対するコンポーネントＡのバージョン１は、ＭＡ．１として示される。さらには、ベンダハードウェアモジュールＭに対するソフトウェアコンポーネントＸのｋｔｈバージョンによりサポートされた一連のハードウェアバージョンは、ＨＷＲ（ＭＸ．ｋ）として示される。例えば、ＨＷＲ（ＭＡ．１）は、｛３，５，０１０／０１１｝の組を表す。簡単のために留意することは、マスクされた番号がバイナリフォーマットにおいて表されることである。通常の当業者は、マスクされた番号が１６進数または他のフォーマットで表されてもよいことを理解できるであろう。
【００２３】
図３は、本発明の一実施形態によるオープンアーキテクチャテストシステムおける異なるベンダハードウェアモジュールバージョンをテストするためにシステムプロファイルを生成するための方法を示す。方法は、開始状態（３０２）において始まり、その後、ステップ１（３０４）へと移動し、そこで、方法は、テストシステムにおけるモジュールＭに対するハードウェアバージョン番号の選択のためにユーザに問い合わせる。上述したように、ハードウェアバージョンに対して任意のマスクされた値およびハードウェアバージョン番号の結果として生じたファミリの利用は、ユーザに対して等価集合ＥＱＣ（ｎ／ｍ）で表される課題を生成する。ｍにおいて特定されたマスクされたビットの番号を特に考慮して、ｘがＥＱＣ（ｎ／ｍ）の一要素であるように、全ての可能な値ｘの完全な一覧表（および次の保守）は、指数関数的に複雑にできる。ｍの値の大きさがより適度であるために（例えば、ｍが３２より小さいまたは等しいために）、完全な一覧表の方法は明らかに非効率的かつ非実用的である。従って、ユーザは、ハードウェアバージョン値のユーザ選択を入力することが指示される。
【００２４】
ステップ２（３０６）において、方法は、ユーザ入力のそれぞれが有効な選択であるかどうかを決定する。決定は、ハードウェアバージョン番号がＥＱＣの一要素であるかどうかを決定することにおいて、上述した方法を利用して実施される。ユーザ入力が有効の場合（３０６＿ｙｅｓ）、方法は、ステップ３へと続く。そうでない場合（３０６＿ＮＯ）、方法は、ステップ１を繰り返し、ハードウェアバージョン番号を再入力することをユーザに問い合わせる。
【００２５】
ステップ３（３０８）において、ハードウェアバージョン番号のユーザ入力が成功すると、方法は、ＨＷＲ（ＭＸ．ｋ）（Ｍに対するハードウェアバージョンのユーザの選択）に互換性のあるＸのソフトウェアコンポーネントｋの一連の互換性のあるバージョンを決定する。それぞれのステップにおいて、マスクされた値に則してハードウェアバージョン番号をテストするために上述した方法が利用される。ユーザの選択のそれぞれに対して、それがマスクされた値によって覆われている場合、そのマスクされた値に対応する全体の等価集合は、選択されたものとみなされる。この特性は、ハードウェアバージョン番号の効果的なコンパクト表現を得るために大切である。
【００２６】
ステップ４（３１０）において、方法は、上記で決定された一連の互換性のあるソフトウェアコンポーネントからソフトウェアコンポーネントの一のバージョンを選択するために、ユーザに問い合わせをする。
【００２７】
ステップ５（３１２）において、方法は、ＨＷＲ（ＭＸ．ｐ）の全てのＸにわたり、共通部分を計算し、そこで、ステップ１からハードウェアバージョン選択のそれぞれに対して、ｐは、Ｘからソフトウェアコンポーネントの選択されたバージョンを示す。共通部分の計算の詳細な論議は、図４の論議に関連して下記の通りである。ソフトウェアコンポーネントＸのユーザ選択バージョンｐのそれぞれに対して、このステップは、全てのＨＷＲ（ＭＸ．ｐ）の組の共通部分を計算することにより、全ての互換性のあるハードウェアバージョンの全般的なリストを評価する。このステップは、ユーザのハードウェアバージョン選択のそれぞれ（単一値または単一ＥＱＣにおいて結果として生じるユーザ選択のそれぞれとともに）に対してこの計算を繰り返すとともに、結果を収集する。
【００２８】
ステップ６（３１４）において、方法は、全ての選択されたハードウェアバージョンにわたるステップ５から結果の収集を利用し、ユーザのソフトウェアバージョン選択に互換性がある、Ｍに対するハードウェアバージョンの最終リストを計算する。
【００２９】
ステップ７（３１６）において、方法は、ユーザのプロファイルにおいて上記で計算された最終リストを蓄積する。方法は、終了状態（３１８）において終了する。
【００３０】
図４は、本発明の一実施形態によるマスクされた表現の共通部分を計算するための方法を示す。図４に示すように、二つのコンポーネントｍＩおよびｍＪの共通部分は、それぞれの選択がマスクされた一つ（すなわち、全体等価集合）と仮定する。通常の当業者は、ハードウェアバージョン番号の、マスクされていないとマスクされているとの、またはマスクされていないとマスクされていないとの選択への共通部分の計算のための方法に拡張することが可能であるのを理解できるであろう。図４に示されるように、ｍIに対するユーザ選択は、ＥＱＣ（ｎＩ／ｍＩ）によって表現され、ｍJに対するユーザ選択は、ＥＱＣ（ｎＪ／ｍＪ）によって表現される。共通部分の結果はＥＱＣ（ｎ／ｍ）とされる。
【００３１】
方法は、開始状態（４０２）において始まり、その後ステップ１（４０４）へと移動し、そこで方法は、結果として生じるマスクを計算する。記号"｜"は、ビット単位の論理和演算子を表す。ビット単位の論理和演算子の定義およびマスクの定義により、ｍIおよびｍJの両方により満足される単一のマスクであるので、ｍIおよびｍJのビット単位の論理和の結果は、実際に結果により生じるマスクである。留意することは、ｍが空（すなわちすべて１ｓ）である場合、その時、ＥＱＣ（ｎ／ｍ）は単一の値ｎを構成する。ステップ２（４０６）において、方法は、結果として生じるマスクされた番号ｎを計算する。方法は、終了状態（４０８）において終了する。通常の当業者は、２つのコンポーネントよりも多い共通部分の上記計算に拡張することができ、一つは、計算において、次の繰り返しのための開始値としてステップ２において計算されたｎおよびｍの値を利用することが可能であることなどは、理解できるであろう。
【００３２】
以下の例は、上記図３および４において述べられた方法に適用する。特別なベンダハードウェアモジュールMは、三つのソフトウェアコンポーネント、コンポーネントＭＡ、コンポーネントＭＢ、およびコンポーネントＭＣを有すると仮定する。特別なユーザがこれらのコンポーネントの利用可能なソフトウェアバージョンに対して有する一連の選択および、それらに対応するサポートされたハードウェアバージョンは、テーブル１において与えられ、そこで表記法"ＭＸ．ｎ"は、ソフトウェアコンポーネントＭＸのｎｔｈバージョンを示すことも仮定する。説明の容易さのために、マスクされた番号は、１６進数に代わりバイナリにおいて表現される。加えて、一連の全ての可能なハードウェアバージョンは三つのビットにより表されることができると仮定する。
【００３３】
【表１】
2008531982.tif 000003
【００３４】
留意することは、最終的な目標が、モジュールＭに対するハードウェアバージョンの選択とともに動作することに対してソフトウェアコンポーネントそれぞれの一つのバージョン（すなわち、ＭＡ、ＭＢ、およびＭＣのそれぞれの一バージョン）を正確に選択することを可能にすることをユーザに許可することである。上記例に図３の方法を適用する。
【００３５】
【表２】
2008531982.tif 000004
【００３６】
【表３】
2008531982.tif 000005
【００３７】
【表４】
2008531982.tif 000006
【００３８】
【表５】
2008531982.tif 000007
【００３９】
従って、ハードウェアモジュールベンダは、オープンアーキテクチャテストシステムにおける関連するモジュールソフトウェアの与えられたバージョンとともに動作することが補償されたハードウェアバージョン番号の任意の配列を特定することができる。加えて、ハードウェアバージョン番号は、ベンダハードウェアモジュールに対して最適な一連のソフトウェアコンポーネント選択とともにユーザに提供されるように処理され、フィールドにおける配列のための有効なシステム設定に導く。
【００４０】
本発明は、少なくとも以下の利益を提供する。第１に、サポートされたモジュールハードウェアバージョンのコンパクト表現が採用され、ベンダハードウェアモジュールに対してサポートされた実際の製品バージョンの全体のファミリを表現する。第２に、記載された方法は、互換性のあるソフトウェアコンポーネントに対してハードウェアバージョン仕様を公開することをベンダに許可し、同時に、特定された値により暗に示された全てのハードウェアバージョンをサポートする。第３に、ベンダが、正しく連続するバージョン番号を選択することに限定されないように、任意のビットパターンは、ベンダにより特定されることができる。第４に、ベンダが特定した値は、集合を形成する個々のハードウェアバージョン番号の全てのコンパクト集合としてオープンアーキテクチャテストシステムソフトウェアによって処理されることができる。第５に、開示された方法は、ユーザの選択されたベンダハードウェアモジュールと関連する多数のソフトウェアモジュールに対する多数の互換性のあるハードウェアバージョンリストを効率的に分析し、正確なシステム動作を補償する間から選択する最適な一連の互換性のあるソフトウェアコンポーネントとともにユーザに提示する。最後に、記載された方法は、ユーザのシステムプロファイルにおいて、選択されたモジュールそれぞれに対する等価ハードウェアバージョンの全体のファミリの最適なコンパクト表現を計算し、蓄積する。従って、同じファミリから他のベンダハードウェアモジュールを置換することは、ハードウェアバージョンリストの再発行およびシステムプロファイルの再生成のどちらも要求しない。
【００４１】
当然のことながら、明瞭のための上記開示は、異なる機能ユニットおよびプロセッサに関連して本発明の実施形態を記載した。しかしながら、異なる機能ユニットまたはプロセッサの間の機能性の任意の適切な分配は、本発明から損なうことなく利用可能であることは明白である。例えば、別々のプロセッサまたはコントローラによって実施されることで示された機能性は、同じプロセッサまたはコントローラによって実施されうる。従って、特定の機能ユニットへの関連は、厳格な論理、もしくは物理的な構造または組織の指標よりもむしろ、記載された機能性を提供するための適切な方法に関連するようにのみ理解される。
【００４２】
本発明は、ハードウェア、ソフトウェア、ファームウェアまたはこれらの任意の結合を含む任意の適切なフォームにおいて実施される。本発明は、一または複数のデータプロセッサおよび／またはデジタル信号プロセッサ上で実行するコンピュータソフトウェアとして部分的に随意に実施されてもよい。本発明の一実施形態の要素およびコンポーネントは、任意の適する方法で、物理的、機能的、および論理的に実施されてもよい。実際に機能性は、単一ユニットにおいて、複数のユニットにおいて、または他の機能ユニットの一部として実施されてもよい。そのように、本発明は、単一ユニットで実施されてよく、または異なるユニットおよびプロセッサの間で物理的および機能的に分配されてもよい。
【００４３】
関連ある当業者は、同じ根底にある基礎機構および手法をさらに採用する間、開示された実施形態の多数の可能な改良および結合が利用できることを理解できる。前述の記載は、説明の目的のために、特定の実施形態に関連して記載されている。しかしながら、上記の図示する議論は、記述された種類に緻密に網羅的ではなく、または本発明を限定することを目的とするものではない。多数の改良および変形は、上記の技術に照らして可能である。実施形態は、本発明およびそれらの実用的な用途の原則を説明するとともに、他の当業者に意図された特別な利用に合わされるような様々な改良とともにある本発明および様々な実施形態の最適な利用を可能にするように選択および記載されている。
【図面の簡単な説明】
【００４４】
本発明の上記特徴および有利な点も、その付加的な特徴および有利な点も、以下の図面と併せて本発明の実施形態の詳細な説明を読んだ後、さらに明確に理解できる。
【００４５】
【図１ａ】本発明の実施形態による、一またはそれ以上のサイトコントローラ（ＳｉｔｅＣｓ）と、多数の被試験デバイス（ＤＵＴｓ）との同時テストのためのオープンアーキテクチャテストシステムを示す。
【図１ｂ】オープンアーキテクチャテストシステムにおける多数のベンダハードウェアモジュールバージョンおよびそれらの対応するソフトウェアコンポーネントバージョンの例を示す。
【図２】本発明の一実施形態による、マスクされた番号へのマスクの適用を示す。
【図３】本発明の一実施形態による、オープンアーキテクチャテストシステムにおける異なったベンダハードウェアモジュールバージョンをテストするための、システムプロファイルを生成するための方法を示す。
【図４】本発明の一実施例によるマスクされた表現の共通部分を計算するための方法を示す。
【図１ａ】
2008531982.tif 000008
【図１ｂ】
2008531982.tif 000009
【図２】
2008531982.tif 000010
【図３】
2008531982.tif 000011
【図４】
2008531982.tif 000012
【国際調査報告】
2008531982.tif 000013
2008531982.tif 000014