(57)【要約】【課題】フォーマット処理の有用性を向上させること。【解決手段】一実施例において、複数のデータフォーマット手段のフォーマット処理の優先度を決める方法は、（１）処理システムにより実行する複数のスレッドをインスタンス化するものであって、該複数のスレッドが、スレッド処理リソースを共有し、かつ異なる優先度の少なくとも２つのスレッドを含むものであり、（２）前記複数のスレッド上で、複数のデータフォーマット手段を起動するものであって、該複数のデータフォーマット手段が、異なる優先度を持つ前記少なくとも２つのスレッドの各上でそれぞれ起動される、少なくとも２つのデータフォーマット手段を含むものであり、（３）複数の最上優先度のアクティブなスレッドに対する前記スレッド処理リソースの割り当てを周期的に要求するものであって、ここで、アクティブなスレッドが、データフォーマット手段を、そのフォーマット処理が機能するよう実行するスレッドであるもの、とを備える。他の実施例が同様に開示されている。【選択図】図１
2007207243.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータフォーマット手段のフォーマット処理の優先度を決めるための方法であって、
処理システムにより実行する複数のスレッドをインスタンス化することであって、該複数のスレッドが、スレッド処理リソースを共有し、かつ該複数のスレッドが、異なる優先度の少なくとも２つのスレッドを含み、
前記複数のスレッド上で、複数のデータフォーマット手段を起動することであって、該複数のデータフォーマット手段が、異なる優先度を持つ前記少なくとも２つのスレッドの各上でそれぞれ起動される、少なくとも２つのデータフォーマット手段を含み、
複数の最上優先度のアクティブなスレッドに対する前記スレッド処理リソースの割り当てを周期的に要求することであって、ここで、アクティブなスレッドが、データフォーマット手段を、そのフォーマット処理が機能するよう実行するスレッドである方法。
【請求項２】
前記周期的な要求が、前記複数の最上優先度のアクティブなスレッドのための、前記スレッド処理リソースの排他的な割り当て要求である、請求項１に記載の方法。
【請求項３】
前記複数のデータフォーマット手段のそれぞれを通して、フォーマット処理を行うこと、を更に備え、該フォーマット処理を行うことが、
データストアからデータ項目を読み出し、
該データ項目をフォーマットし、
フォーマット化されたデータを出力する、
ことを含む、請求項１に記載の方法。
【請求項４】
前記データ項目の少なくともいくつかが、１以上の被試験デバイス（ＤＵＴ）の試験に適したものである、請求項３に記載の方法。
【請求項５】
前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、請求項３に記載の方法。
【請求項６】
前記複数のスレッドの一つでデータ取り込み手段を起動し、
データストアにデータ項目を書き込み、前記データ項目をインデックス化するトークンを生成し、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかに渡されるようにする、各処理を、前記データ取り込み手段が行うようにし、
前記トークンによってインデックス化された前記データ項目を読み出し、前記データ項目の一つの読み出しの完了で、前記読み出したデータ項目に関連付けられたトークンを解放する、ことを含むフォーマット処理を、前記データフォーマット手段の何れかが行うようにする、
請求項１に記載の方法。
【請求項７】
前記データ取り込み手段が起動される前記スレッドが、前記データフォーマット手段が起動される前記複数のスレッドより高い実行優先度でインスタンス化される、請求項６に記載の方法。
【請求項８】
前記データ項目をインデックス化するためのトークンの生成が、各データ項目ごとに、
前記データ取り込み手段が、前記データ項目をインデックス化するための一つの初期トークンを生成するようにし、
前記初期トークンを通知管理手段に渡すこと、を備え、
前記方法が、更に、これらの前記初期トークンに応じて、前記通知管理手段を介して、トークンを前記データフォーマット手段に渡すことを、備える請求項６に記載の方法。
【請求項９】
前記通知管理手段を、前記複数のスレッドの一つで起動すること、を更に備える請求項８に記載の方法。
【請求項１０】
前記データフォーマット手段から、複数のデータ形式のデータ項目のサブスクリプションを受け取り、
前記初期トークンに応じて、前記通知管理手段を介して、（１）前記初期トークンによってインデックス化された前記データ項目の形式と、（２）前記データ項目のサブスクリプションとに従って、トークンを前記データフォーマット手段の何れかに渡すこと、を更に備える請求項８に記載の方法。
【請求項１１】
複数のデータフォーマット手段のフォーマット処理の優先度を決めるためのシステムであって、
コンピュータ読み取り可能な媒体と、前記コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードとを備え、該コンピュータ読み取り可能なコードが、
処理システムにより実行する複数のスレッドをインスタンス化するためのコードであって、前記複数のスレッドが、スレッド処理リソースを共有し、かつ前記複数のスレッドが、異なる優先度の少なくとも２つのスレッドを含むものと、
前記複数のスレッド上で複数のデータフォーマット手段を起動するためのコードであって、前記複数のデータフォーマット手段が、前記異なる優先度を持つ少なくとも２つのスレッドの各上でそれぞれ起動される、少なくとも２つのデータフォーマット手段を含むものと、
複数の最上優先度のアクティブなスレッドに対する前記スレッド処理リソースの割り当てを周期的に要求するためのコードであって、ここで、アクティブなスレッドが、データフォーマット手段を、そのフォーマット処理が機能するよう実行するスレッドであるものと、
を含むシステム。
【請求項１２】
前記周期的な要求が、前記複数の最上優先度のアクティブなスレッドのための、前記スレッド処理リソースの排他的な割り当て要求である、請求項１１に記載のシステム。
【請求項１３】
前記複数のデータフォーマット手段のそれぞれを通して、フォーマット処理を行うためのコードを更に備え、該フォーマット処理を行うことが、
データストアからデータ項目を読み出し、
該データ項目をフォーマットし、
フォーマット化されたデータを出力する、
ことを含む、請求項１１に記載のシステム。
【請求項１４】
前記データ項目の少なくともいくつかが、１以上の被試験デバイス（ＤＵＴ）の試験に適したものである、請求項１３に記載のシステム。
【請求項１５】
前記データストアがメモリであり、かつ、前記データ項目が、該メモリ内のオブジェクトに関係付けられている、請求項１３に記載のシステム。
【請求項１６】
前記複数のスレッドの一つでデータ取り込み手段を起動するコードと、
データストアにデータ項目を書き込み、前記データ項目をインデックス化するトークンを生成し、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかに渡されるようにする、各処理を、前記データ取り込み手段が行うようにするコードと、
前記トークンによってインデックス化された前記データ項目を読み出し、前記データ項目の一つの読み出しの完了で、前記読み出したデータ項目に関連付けられたトークンを解放する、ことを含むフォーマット処理を、前記データフォーマット手段の何れかが行うようにするコードと、
を更に備える請求項１１に記載のシステム。
【請求項１７】
前記データ取り込み手段が起動される前記スレッドが、前記データフォーマット手段が起動される前記複数のスレッドより高い実行優先度でインスタンス化される、請求項１６に記載のシステム。
【請求項１８】
前記データ項目をインデックス化するためのトークンの生成が、各データ項目ごとに、
前記データ取り込み手段が、前記データ項目をインデックス化するための一つの初期トークンを生成するようにし、
前記初期トークンを通知管理手段に渡すこと、を備え、
前記システムが、更に、これらの前記初期トークンに応じて、前記通知管理手段を介して、トークンを前記データフォーマット手段に渡すことを、備える請求項１６に記載のシステム。
【請求項１９】
前記通知管理手段を、前記複数のスレッドの一つで起動するコードを、更に備える請求項１８に記載のシステム。
【請求項２０】
前記データフォーマット手段から、複数のデータ形式のデータ項目のサブスクリプションを受け取るコードと、
前記初期トークンに応じて、前記通知管理手段を介して、トークンを前記データフォーマット手段に、（１）前記初期トークンによってインデックス化された前記データ項目の形式と、（２）前記データ項目のサブスクリプションと、に従って渡すコードと、を更に備える請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータフォーマット手段のフォーマット処理の優先度を決める方法およびシステムに関する。
【背景技術】
【０００２】
回路を試験するとき、その試験結果は、未処理のフォーマットで記録されうる。しばしば、この未処理フォーマットは、（１）試験結果を解析するのに使用するアプリケーションプログラムでは受け付けられず、また（２）試験技術者や他の人間にとって、理解が困難である。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
未加工データフォーマット上のこのような問題ゆえに、しばしば、未加工データは、１以上の他のフォーマット、例えば、再配置、ソート、グループ化、要素抽出、およびデータに対する他の操作の実行によって、変換される。
【課題を解決するための手段】
【０００４】
一実施例において、複数のデータフォーマット手段のフォーマット処理の優先度を決める方法は、（１）処理システムにより実行する複数のスレッドをインスタンス化するものであって、該複数のスレッドが、スレッド処理リソースを共有し、かつ異なる優先度の少なくとも２つのスレッドを含むものであり、（２）前記複数のスレッド上で、複数のデータフォーマット手段を起動するものであって、該複数のデータフォーマット手段が、異なる優先度を持つ前記少なくとも２つのスレッドの各上でそれぞれ起動される、少なくとも２つのデータフォーマット手段を含むものであり、（３）複数の最上優先度のアクティブなスレッドに対する前記スレッド処理リソースの割り当てを周期的に要求するものであって、ここで、アクティブなスレッドが、データフォーマット手段を、そのフォーマット処理が機能するよう実行するスレッドであるもの、とを備える。
【０００５】
他の実施例において、複数のデータフォーマット手段のフォーマット処理の優先度を決めるシステムは、コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードを備える。このコンピュータ読み取り可能なコードは、（１）処理システムにより実行する複数のスレッドをインスタンス化するコードであって、該複数のスレッドが、スレッド処理リソースを共有し、かつ異なる優先度の少なくとも２つのスレッドを含むもの、（２）前記複数のスレッド上で、複数のデータフォーマット手段を起動するコードであって、該複数のデータフォーマット手段が、異なる優先度を持つ前記少なくとも２つのスレッドの各上でそれぞれ起動される、少なくとも２つのデータフォーマット手段を含むもの、および（３）複数の最上優先度のアクティブなスレッドに対する前記スレッド処理リソースの割り当てを周期的に要求するコードであって、ここで、アクティブなスレッドが、データフォーマット手段を、そのフォーマット処理が機能するよう実行するスレッドであるもの、とを備える。
【０００６】
他の実施例もまた、開示されている。
【発明を実施するための最良の形態】
【０００７】
最初に記しておくが、以下の説明において、異なる図に使われている同様の参照番号は、同様の部材や特徴部位を参照している。従って、しばしば、異なる図に使われている同様の部材や特徴部分は、それぞれの図において詳細に説明されることはないであろう。
【０００８】
図１は、データストアへのアクセスを管理する第１の実施例に係る方法１００を表している。方法１００によれば、第１優先スレッド、および複数の第２優先スレッドが、処理システムによって実行されるべくインスタンス化される（ブロック１０２を参照）。そして、データ取り込み手段が、前記第１優先スレッドで起動され（ブロック１０４）、更に、複数のデータフォーマット手段が、前記第２優先スレッドの少なくとも一つにおいて起動される（ブロック１０６）。一実施例において、単一のデータフォーマット手段が、前記複数の第２優先スレッドのそれぞれにおいて起動される。他の実施例においては、前記複数の第２優先スレッドの１つまたはそれ以上が、そのそれぞれにおいて、そこで実行される複数のデータフォーマット手段を持ってよい。
【０００９】
データ取り込み手段を起動した後、方法１００は、データ取り込み手段が、データストアにデータ項目を書き込むようにし（ブロック１０８）、その間、データ取得システムのパラメータを監視する（ブロック１１０）。一例として、このデータストアは、メモリであってよく、また、このデータ項目は、メモリ内データオブジェクト（すなわち、オブジェクト指向プログラミングモデルを実行した結果として生成されるオブジェクト）であってよい。このパラメータは、データ取得システム（それは、データ取り込み手段およびデータストアを含みうる）によって、その上で操作する必要のある新たなデータの利用可能性、または、データストアの空き度合いを示すものであってよい。他のパラメータ、およびパラメータの組み合わせもまた、監視してよい。
【００１０】
方法１００により監視されるパラメータに応じて、前記第２優先スレッドの実行を制御して、複数のフォーマット手段によって、前記第１優先スレッドがデータストアおよびその内部データ項目へのアクセスを管理するようにする（ブロック１１２）。監視されるパラメータが、データストアの空き度合いを示すものであるとき、第１優先スレッドに対する第２優先スレッドの実行は、（１）データストアの空きが第１の閾値を超えた場合に、第１優先スレッドを保留にして、第２優先スレッドの何れかを実行できるようにし、（２）データストアの空きが第２の閾値以下に下がった場合に、第１優先スレッドをアクティブにする、よう制御できる。データストアの空きを監視することによって、データストアは、そのオーバーフローを予防できる。更に、データストアの空きの２つの閾値を監視することによって、スレッドの保留／アクティブ化のピンポン動作を回避できる。
【００１１】
第１優先スレッドに対する第２優先スレッドの実行を制御することによって、データ取得システムは、最高速度または所望の実行目標で、データを生成でき、また、データ取り込み手段は、データストアを取り込める。そして、データフォーマット手段は、データストアへのアクセスが、データ取得システムまたはデータ取り込み手段の所望の実行目標に影響を与えないタイミングでなされるアクセス権限を得る。これは、特に、回路試験環境（この場合、データ項目は、１以上の被試験デバイス（ＤＵＴ）に属する）のような試験環境において有用である。
【００１２】
図２は、データストアへのアクセスを管理する第２の実施例に係る方法２００を示している。方法２００によれば、第１優先スレッドおよび複数の第２優先スレッドは、処理システムで実行するためにインスタンス化される（ブロック２０２参照）。データ取り込み手段が、そして、第１優先スレッドで起動され（ブロック２０４）、次いで、複数のデータフォーマット手段が、複数の第２優先スレッドの少なくとも一つで起動される（ブロック２０６）。一実施例において、単一のデータフォーマット手段が、前記複数の第２優先スレッドのそれぞれにおいて起動される。他の実施例においては、前記複数の第２優先スレッドの１つまたはそれ以上が、そのそれぞれにおいて、そこで実行される複数のデータフォーマット手段を持ってよい。
【００１３】
データ取り込み手段を起動した後、方法２００は、ブロック２０８で、データ取り込み手段が、（１）データストアにデータ項目を書き込みし（ブロック２１０）、（２）データ項目をインデックス化するトークンを生成し（ブロック２１２）、そして、前記トークンの少なくともいくつかが、前記複数のデータフォーマット手段の少なくともいくつかへ渡されるようにする（ブロック２１４）、ように機能される。一実施例において、このトークンは、直接、データフォーマット手段へ渡される。他の実施例においては、このトークンは、通知管理手段を通してデータフォーマット手段へ渡されるが、この詳細については、後述する。一例として、このデータストアは、メモリであってよく、また、このデータ項目は、メモリ内データオブジェクトであってよい。更に、一例として、このトークンは、メモリ配置、オブジェクト、レコード番号、ファイル名、ライン番号、また、データ項目に関連付けられた他の識別子を、参照しうる。
【００１４】
前記複数のフォーマット手段を起動した後、方法２００は、ブロック２１６において、前記複数のフォーマット手段の何れかが、（１）トークンによってインデックス化されたデータ項目を読み（ブロック２１８）、更に、（２）前記データ項目の１つの読み込みの完了で、この読み込んだデータ項目に関連付けされたトークンを解放する（ブロック２２０）、よう機能される。データ項目が、如何なるトークンによってもインデックス化されていないときに、データストアから、例えば、データ取り込み手段または他の処理によって、削除しうる。
【００１５】
第１優先スレッドを、複数の第２優先スレッドよりも高い実行優先度でインスタンス化することによって、データフォーマット手段は、データストアへのアクセスが、データ取得システムまたはデータ取り込み手段の所望の実行目標に影響を与えないタイミングでなされるアクセス権限を得る。一方、第１優先スレッドを超える優先度を第２優先スレッドに与えるのが好ましい場合もあり得る。
【００１６】
図１および図２に示した方法の各工程における順序は、確定的なものではなく、これらの工程の他の順序が可能であり、これには並列処理が含まれる。
【００１７】
図１および図２に示した方法１００、２００は、コンピュータ読み取り可能な媒体に格納されたコンピュータ読み取り可能なコードによる手段によって、実装しうる。このコンピュータ読み取り可能な媒体には、例えば、如何なる数または混合の、固定のまたは取り外し可能な媒体（例えば、１またはそれ以上の固定ディスク、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、コンパクトディスクなど）を含むことができ、それらは一カ所に、あるいはネットワークを介して分散されているか問わない。コンピュータ読み取り可能なコードは、典型的には、ソフトウェアからなるが、しかしまた、ファームウェアやプログラム回路から構成できる。
【００１８】
図３は、装置３００の一実施例に係るブロック図を示しており、これは、図１および２の方法を実行してインスタンス化されるマルチスレッド３０４、３０６、３０８、３１０を実行する。処理システム３０２は、１以上のプロセッサ、および、１以上のオペレーティングシステムのインスタンスを備えることができ、これらでスレッド３０４、３０６、３０８、３１０を実行する。データ取り込み手段３１２が、第１優先スレッド３０４で起動され、また、複数のデータフォーマット手段３１４、３１６、３１８、３２０、３２２が、複数の第２優先スレッド３０６、３０８、３１０で起動される。複数のデータフォーマット手段３１４、３１６、３１８は、第２優先スレッド３０６で起動されることに、注意されたい。
【００１９】
一実施例において、第１優先スレッドおよび第２優先スレッド３０４、３０６、３０８、３１０は、同じ優先度レベルでインスタンス化される。他の実施例においては、第１優先度スレッド３０４は、複数の第２優先度スレッド３０６、３０８、３１０より高い優先度レベルでインスタンス化され、また、その逆もある。
【００２０】
図４は、データ取り込み手段３１２で示される、データ取り込み手段の一実施例に係るブロック図を示している。データ取り込み手段３１２は、コード片４００、４０２、４０４を備え、これらは、（１）データストアにデータ項目を書き込み、（２）このデータ項目をインデックス化するトークンを生成し、更に、（３）これらトークンを前記複数のデータフォーマット手段３１４、３１６、３１８、３２０、３２２に渡す。
【００２１】
図６は、データフォーマット手段３１４で示される、一データフォーマット手段の一実施例に係るブロック図６００を示している。データフォーマット手段３１４は、コード片６００、６０２を備え、これらは、（１）トークンを受け取り、（２）トークンによりインデックス化されたデータ項目を読み出し、そして（３）トークンを解放する。
【００２２】
これら方法１００、２００は、多くの用途で使用することができ、その一つは、回路試験結果のような試験結果の記録およびフォーマット化である。一つの具体的用途として、試験結果は、アジレント・テクノロジー社（Agilent Technologies, Inc）により出されている９３０００ＳＯＣシリーズのテスターにより生成できるであろう。
【００２３】
９３０００ＳＯＣテスター（以下、９３０００テスターと呼ぶ）は、ＳＯＣ（System On a Chip）テスターであり、試験結果とイベントを、ＥＤＬ（Event Data Loggin）ファイル６００として知られるバイナリデータファイルへ記録する。図６を参照されたい。このＥＤＬファイル６００内のイベントは、１以上の被試験デバイス（ＤＵＴ）上での複数の試験の実行に対応しており、順序付けられたシーケンスで記録される。しかしながら、ＥＤＬファイル６００内に記録されたイベントは、他のどの処理にも投入されず、ＥＤＬファイル６００に記録されるに過ぎない。このような用途において、（１）複数のイベントに対応したファイル（例えば、ＥＤＬファイル６００）は、これら複数のイベントを取り出すために解析することができ、そして、（２）このデータファイルから取り出したイベントは、複数のデータオブジェクトを生成し、メモリ６１０内にデータを記録する処理（例えば、データ取り込み手段６０８）に渡すことができる。
【００２４】
一実施例において、ＥＤＬファイル６００は、イベント管理手段６０４により作られるメソッド呼び出しに応答して、解析される。図６に示すように、イベント管理手段６０４は、共有ライブラリ６０２にメソッド呼び出し（例えば、get event, get event attribute）を作ることができ、また、共有ライブラリ６０２は、ＥＤＬファイル６００からイベントを取り出し、それらをイベント管理手段６０４に投げることができる。イベント管理手段６０４は、そして、このイベント６０６をデータ取り込み手段６０８に渡す。
【００２５】
共有ライブラリ６０２は、データ検索ライブラリ（ＤＲＬ：Data Retrieval Library）のようなコンパイル済みコードの形式を取ることができ、単一のまたは複数のメッソドを、それらがイベント管理手段６０４により呼ばれたときに実行する。
【００２６】
データ取り込み手段６０８は、メモリ６１０内にデータオブジェクトを記憶でき、更に、それらデータオブジェクト同士を、種々の方法で、関連付けできる。一実施例において、それらは、階層化ツリー構造で互いに関連付けられる。他のデータオブジェクトの子となるデータオブジェクトは、それらの親データオブジェクトへのポインタを維持するが、親オブジェクトは、その子オブジェクトすべてのポインタのリストを維持する必要はない。本書で後述するように、これらの子から親へのポインタは、必要のなくなったデータオブジェクトの削除処理を支援できる。
【００２７】
データ項目は、各種の方法により、データオブジェクトに関連付けでき、それには、（１）直接的にデータ項目をデータオブジェクト内に記憶する、また、（２）データ項目を、データオブジェクトに関連付けられているデータ構造（例えば、ポインタまたは他の方法による関連付け）に記憶する、ことによるものが含まれる。
【００２８】
ＥＤＬファイル６００において、データはイベントの属性として保存される。従って、データ取り込み手段６０８が、ＥＤＬファイル６００から読み出されたイベント６０６を受け取ると、データ取り込み手段６０８は、イベントの属性からデータ項目を抽出することによって、イベントに応じたデータ項目を抽出できる。回路試験において、この抽出データは、試験結果を備えてよい。
【００２９】
データフォーマット手段６１４、６１６、６１８、６２０が、データ取り込み手段６０８により生成されたデータオブジェクトおよびデータ項目にアクセスする、多くの方法がある。一実施例において、データフォーマット手段６１４、６１６、６１８、６２０は、単にデータオブジェクトを監視できる。しかしながら、これには多大なメモリ領域が要求され、しばしば極めて非効率的である。好適な実施例においては、データ取り込み手段６０８が、データ項目をインデックス化するトークンを生成し、更に、それらトークンを通知管理手段６１２へ渡す。通知管理手段６１２は、そして、それらトークンの何れかをデータフォーマット手段６１４、６１６、６１８、６２０の何れかに配分する。
【００３０】
通知管理手段６１２は、各データオブジェクト毎に、１つのトークンだけを受け取る必要があることに注意されたい。通知管理手段６１２は、そして、それぞれのデータフォーマット手段６１４、６１６、６１８、６２０に対して、トークンを複製し、または、それをブロードキャストできる。これに代えて、通知管理手段６１２は、それぞれのデータフォーマット手段６１４、６１６、６１８、６２０に対して、またはそのために、トークンを複製またはブロードキャストせずに、データオブジェクトにより表されるデータ項目の形式のために予めアレンジされた特定のデータフォーマット手段６１４、６１６、６１８、６２０に対して、またはそのために、トークンを複製またはブロードキャストしてもよい。
【００３１】
通常、データ取り込み手段６０８の動作は、データフォーマット手段６１４、６１６、６１８、６２０の動作の上の優先度を与えられる。データオブジェクトおよびデータが記憶されているメモリ６１０への更なるアクセス制御のためには、データ取り込み手段６０８は、データオブジェクトおよびデータ項目への直接アクセスを提供できる。しかしながら、複数のデータフォーマット手段６１４、６１６、６１８、６２０は、構造化インタフェースであって、それがデータオブジェクトおよびデータへのデータフォーマット手段のアクセスを調整／仲裁するもの、を通しての、複数のデータオブジェクトへのアクセスを提供してもよい。
【００３２】
メモリ６１０内で維持される複数のデータオブジェクトを減らすために、データ取り込み手段６０８は、データオブジェクトの確保を監視してもよく、そして、データオブジェクトを参照またはアクセスする他のオブジェクトやプロセスによる確保が既にされていないデータオブジェクト（またはデータ項目）を削除してもよい。一実施例において、トークンがデータオブジェクトをインデックス化するために生成されたとき、データオブジェクトが確保されたと見なされる。データ取り込み手段６０８は、データオブジェクトの形成において、このような１つのトークンを生成でき、そして、通知管理手段６１２が、このトークンの追加のコピーを生成し、データフォーマット手段６１４、６１６、６１８、６２０へ分配するようできる。データ取り込み手段６０８は、また、オブジェクト（またはインデックストークン）へのポインタを、そのデータオブジェクトの子オブジェクトが作られたときに、生成してもよい。トークンが生成されると、特定のデータオブジェクト（またはデータ項目）を参照するトークンの数の計測が、維持される（可能であれば、データオブジェクトそれ自身により）。データフォーマット手段６１４、６１６、６１８、６２０、および他のプロセスは、データオブジェクトをインデックス化するそれらのトークンを、それらがデータオブジェクトにアクセスすることを終えたときに、捨てるよう、プログラムすることができ、そして、データ取り込み手段６０８は、すべてのこのようなトークンが解放されたときに、そのデータオブジェクトを削除できる。親オブジェクトを参照している子オブジェクトがあるため、親オブジェクトは、そのすべての子が最初に削除されるまでは、削除できない。
【００３３】
図６のデータフォーマット手段は、各種の形態をとることができ、その中には、ＡＳＣＩＩ（American Standard Code for Information Interchange）フォーマット手段６１４、ＸＭＬ（eXtensible Markup Language）フォーマット手段６１６、ＥＤＬフォーマット手段６１８、および／またはＳＴＤＦ（Standard Test Definition Format）フォーマット手段６２０、のような形態が含まれる。
【００３４】
データフォーマット手段３１４、３１６、３１８、３２０、３２２が実行されるスレッド３０６、３０８、３１０に対して、データ取り込み手段３１２が実行されるスレッド３０４の実行を制御することに加えて、これらのデータフォーマット用スレッド３０６、３０８、３１０の実行優先度を、制御してもよい。このように、高い優先度のスレッド内に高い優先度のデータフォーマット手段を置くことによって、一部のデータフォーマット手段に、他のデータフォーマット手段の上の優先度を与えうる。一部のフォーマット手段に優先度を与えることが好ましいが、これは、例えば、それらの出力が、ほとんどリアルタイムで生成できるからであり、また、それらの出力が、スレッド処理リソースに対する小さい影響で生成できるからであり、また、それらの出力が、試験プロセスの評価のためにより重要であるからである。図７は、よって、複数のデータフォーマット手段３１４、３１６、３１８、３２０、３２２のフォーマット処理を優先順位付けする一実施例に係る方法７００を示している。
【００３５】
方法７００は、図３に示した第２優先スレッド３０６、３０８、３１０のような、複数のスレッドを、処理システム３０２で実行するためにインスタンス化することを備えている（ブロック７０２）。複数のスレッド３０６、３０８、３１０は、処理システム３０２のような、スレッド処理リソースを共有し、また、複数のスレッド３０６、３０８、３１０は、異なる優先度の少なくとも２つのスレッド３０６，３０８を含む。複数のデータフォーマット手段３１４、３１６、３１８、３２０、３２２は、そして、前記複数のスレッド上で起動されるが（ブロック７０４）、このとき、複数のデータフォーマット手段は、それぞれが、異なる優先度を持つ少なくとも２つのスレッド３０６、３０８上で起動される少なくとも２つのデータフォーマット手段３１４、３２０を含んでいる。
【００３６】
前記複数のデータフォーマット手段３１４、３１６、３１８、３２０、３２２の起動の後、前記スレッド処理リソースの割り当てが、複数の高い優先度のアクティブなスレッドのために周期的に要求されるが、ここで、アクティブなスレッドは、目的のためフォーマット処理を用いてデータフォーマット手段を実行するスレッドである。例として、データフォーマット手段のフォーマット処理は、データ項目を読み込み、データ項目をフォーマットし、更にフォーマット化されたデータを出力すること、を備える。
【００３７】
リソース割り当てのための要求は、”周期的”になされるが、これは、処理すべき作業を大量に持つ低い優先度のデータフォーマット手段が、スレッド処理リソースの制御を奪わないようにし、また、高い優先度のデータフォーマット手段が、如何なる処理済み作業も取得しないようにして、なされる。
【００３８】
好ましくは、スレッド処理リソースの割り当ての要求は、スレッド処理リソースの排他的割り当ての要求である。高い優先度のデータフォーマット手段は、この場合、それらのフォーマット処理を、他のデータフォーマット手段に先立って、遂行でき、また、他のデータフォーマット手段は、高い優先度のデータフォーマット手段が処理すべき作業がないときに、これに”追随する”ことを許容される。ある場合、この追随時間は、テスターがセットアップの変更のために休止するときのものであってもよい。
【００３９】
各種のプログラミング言語、パラダイム、およびハードウェアプラットフォームは、ここで教示した実装に使用されうることが理解されよう。一実施例において、オブジェクト指向プログラミングのテクニックが、メモリ６１０（図６）に記憶したデータオブジェクトを開発するために用いられる。他の実施例においては、手続き型言語が、データ要素および処理ロジックを開発するために用いられる。また、用語”解放”は、”削除のためのマーキング（印付け）”を含むことが理解されよう。この場合、オペレーティングシステムまたは他のプロセスは、前に割り当てられていたメモリやストレージが、そのオーナーにより解放されており、かつ使用できる状態であることを感知させられる。
【図面の簡単な説明】
【００４０】
【図１】図１は、データストアへのアクセスを管理する第１の実施例に係る方法を示している。
【図２】図２は、データストアへのアクセスを管理する第２の実施例に係る方法を示している。
【図３】図３は、図１または図２の方法により要求される、マルチスレッドを実行する処理システムの一実施例に係るブロック図を示している。
【図４】図４は、図３に示したデータ取り込み手段の一実施例に係るブロック図を示している。
【図５】図５は、図３に示した一データフォーマット手段の一実施例に係るブロック図を示している。
【図６】図６は、データストアへのアクセスを管理する一実施例に係るシステムを示している。
【図７】図７は、複数のデータフォーマット手段のフォーマット処理の優先度を決める一実施例に係る方法を示している。
【符号の説明】
【００４１】
３００：装置
３０２：処理システム
３０４：第１優先スレッド
３０６：第２優先スレッド
３１２：データ取り込み手段
３１４：データフォーマット手段
６００：ＥＤＬファイル
６０２：共有ライブラリ
６０４：イベント管理手段
６０６：イベント
６０８：データ取り込み手段
６１０：メモリ
６１２：通知管理手段
６１４：ＡＳＣＩＩデータフォーマット手段
６１６：ＸＭＬフォーマット手段
６１８：ＥＤＬフォーマット手段
６２０：ＳＴＤＦフォーマット手段
【図１】
2007207243.tif 000003
【図２】
2007207243.tif 000004
【図３】
2007207243.tif 000005
【図４】
2007207243.tif 000006
【図５】
2007207243.tif 000007
【図６】
2007207243.tif 000008
【図７】
2007207243.tif 000009
【外国語明細書】
2007207243000001.pdf