JP2007256295A - モジュール式試験システムにおけるデータログサポート - Google Patents

モジュール式試験システムにおけるデータログサポート Download PDF

Info

Publication number
JP2007256295A
JP2007256295A JP2007120882A JP2007120882A JP2007256295A JP 2007256295 A JP2007256295 A JP 2007256295A JP 2007120882 A JP2007120882 A JP 2007120882A JP 2007120882 A JP2007120882 A JP 2007120882A JP 2007256295 A JP2007256295 A JP 2007256295A
Authority
JP
Japan
Prior art keywords
data log
format
datalog
user
class
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007120882A
Other languages
English (en)
Other versions
JP4608517B2 (ja
Inventor
Mark Elston
エルストン、マーク
Ankan Pramanick
プラマニック、アンカン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of JP2007256295A publication Critical patent/JP2007256295A/ja
Application granted granted Critical
Publication of JP4608517B2 publication Critical patent/JP4608517B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture

Abstract

【課題】ユーザ定義データログフォーマットの拡張をサポートするデータログフレームワークを提供する。
【解決手段】モジュール式試験システムを提供することを含み、モジュール式試験システムは、少なくとも1つのサイトコントローラを制御するシステムコントローラを備え、少なくとも1つのサイトコントローラは少なくとも1つの試験モジュールを制御する。ユーザ定義データログフォーマットの拡張をサポートするデータログフレームワークを提供すること、ユーザ開始データログイベントをサポートするサポートクラスを提供すること、ソースから宛先に入力試験情報を通信するように要求するデータログイベントを受け取ること、宛先、データログフレームワーク及びサポートクラスに基づいて出力試験情報を構成すること、及び出力試験情報を宛先に転送することをさらに含む。
【選択図】図2

Description

本発明は、自動試験装置(ATE)の分野に関する。特に、本発明は、オープンアーキテクチャ試験システムにおいてデータログをサポートする方法及びシステムに関する。
本出願は、参照により本出願に援用される、株式会社アドバンテスト(Advantest Corporation)によって2004年5月22日に出願された、「Software Development in an Open Architecture Test System」と題する米国特許仮出願第60/573,577号の利益を主張する。
システム・オン・チップ(System-on-a-Chip)(SOC)デバイスの複雑性が増大することと、同時にチップ試験のコストの低減に対する要求が高まることにより、集積回路(IC)の製造業者とテスタのベンダとはともに、IC試験をいかに実行すべきかを再考せざるを得なくなった。企業調査によれば、設計し直さない限り、テスタの予測されるコストは、近い将来劇的に上昇し続ける。
試験装置のコストが高い主な理由は、従来のテスタアーキテクチャが特殊化した性質を有するということである。各テスタ製造業者は、アドバンテスト、テラダイン(Teradyne)及びアジレント(Agilent)等の会社間で互換性がないだけでなく、アドバンテストが製造するT3300、T5500及びT6600シリーズのテスタ等、一会社内のプラットフォーム間でも互換性がない多数のテスタプラットフォームを有する。これら非互換性のために、各テスタは、それ自体の特殊なハードウェアコンポーネント及びソフトウェアコンポーネントを必要とし、これら特殊なハードウェアコンポーネント及びソフトウェアコンポーネントを他のテスタで使用することができない。さらに、試験プログラムを1つのテスタから別のテスタに移植するべく、且つサードパーティソリューションを開発するために著しい労力が必要である。或るプラットフォームに対してサードパーティソリューションが開発される場合であっても、それを異なるプラットフォームに移植し又はそこで再使用することはできない。1つのプラットフォームから別のプラットフォームへの移行プロセスは、一般に複雑で且つ誤りが発生しやすく、その結果、労力及び時間が追加され試験コストが増大する。
データロギングは、1つの試験又は一続きの試験を実行している時にユーザにステータス情報を提供するために使用される。データログで報告される情報には、被試験デバイス(DUT)の合格/不合格ステータス、任意の関連する測定パラメータ、及び試験自体の全体的な実行ステータスが含まれる場合がある。この情報は、通常、試験実行の完了及び試験されているデバイスの実行を評価するためにオフラインで使用される。データログ機能をサポートすることにより、ユーザが、自身の試験情報を指定されたソースから指定された宛先まで所望のフォーマットで出力することができる。
特殊化したテスタアーキテクチャの問題の1つは、所与のテスタに対し、すべてのハードウェア及びソフトウェアが固定の構成のままであるということである。ハードウェアデバイス又はICを試験するために、試験データ、信号、波形並びに電流レベル及び電圧レベルを定義するテスタ機能とともにDUT応答を収集しDUTの合格/不合格を確定するテスタ機能のうちのいくつか又はすべてを使用する専用テストプログラムが開発されている。
試験システムは、多種多様の試験モジュールとそれらの対応するDUTとを試験するために広範囲の機能及び動作を行う必要があるので、多種多様の試験モジュールをサポートするように構成することができるオープンアーキテクチャ試験システムが必要とされている。特に、多種多様の試験モジュールをサポートするべく、試験システムの異なるソース及び宛先の異なるフォーマットで作動するように構成することができるオープンアーキテクチャ試験システム内のデータログフレームワークが必要とされている。
本発明の一実施の形態では、ソースから宛先に試験情報を通信する方法は、モジュール式試験システムを提供することを含み、モジュール式試験システムは、少なくとも1つのサイトコントローラを制御するシステムコントローラを備え、少なくとも1つのサイトコントローラは少なくとも1つの試験モジュールを制御する。本方法は、ユーザ定義データログフォーマットの拡張をサポートするデータログフレームワークを提供すること、ユーザ開始データログイベントをサポートするサポートクラスを提供すること、ソースから宛先に入力試験情報を通信するように要求するデータログイベントを受け取ること、宛先、データログフレームワーク及びサポートクラスに基づいて出力試験情報を構成すること、及び出力試験情報を宛先に転送することをさらに含む。
本発明の別の実施の形態では、モジュール式試験システムは、システムコントローラと、システムコントローラに結合される少なくとも1つのサイトコントローラと、少なくとも1つの試験モジュール及びその対応する被試験デバイス(DUT)と、ユーザ定義データログフォーマットの拡張をサポートするように構成されるデータログフレームワークと、ユーザ開始データログイベントをサポートするように構成される1つ又は複数のサポートクラスと、を具備する。モジュール式試験システムは、ソースから宛先に入力試験情報を通信するように要求するデータログイベントを受け取る手段と、宛先、データログフレームワーク及びサポートクラスに基づいて出力試験情報を構成する手段と、出力試験情報を宛先に転送する手段と、をさらに具備する。
以下、本発明の上述した特徴及び利点とともにその追加の特徴及び利点について、以下の図面をともに考慮した場合に本発明の実施形態の詳細な説明の結果としてより明確に理解されるであろう。
モジュール式試験システムにおけるデータログサポートのための方法及びシステムを提供する。以下の説明を、当業者が本発明を作成し使用することができるように提示する。特定の技法及び適用の説明は、単に例として提供する。本明細書で説明する例に対するさまざまな変更は、当業者には容易に明らかになるであろう。また、本明細書で定義する一般原理を、本発明の精神及び範囲から逸脱することなく他の例及び適用に応用してもよい。このため、本発明は、説明され且つ示される例に限定されるように意図されておらず、本明細書で開示する原理及び特徴に一致する最も広い範囲を付与される。
図1は、本発明の一実施形態によるオープンアーキテクチャ試験システムを示す。システムコントローラ(SysC)102は、複数のサイトコントローラ(SiteC)104に結合される。システムコントローラを、関連するファイルにアクセスするためにネットワークに結合してもよい。各サイトコントローラは、モジュール接続イネーブラ106を通して、試験サイト110に位置する1つ又は複数の試験モジュール108に結合される。モジュール接続イネーブラ106は、接続されたハードウェアモジュール108の再構成を可能にし、且つ、データ転送用のバスとしての役割を果たす(パターンデータをロードする、応答データを収集する、制御を提供する等)。さらに、モジュール接続イネーブラを通して、1つのサイトのモジュールが、別のサイトのモジュールにアクセスすることができる。モジュール接続イネーブラ106は、異なる試験サイトが同じか又は異なるモジュール構成を有することができるようにする。言い換えれば、各試験サイトは、異なる数及び異なるタイプのモジュールを採用してもよい。あり得るハードウェアインプリメンテーションには、専用接続、スイッチ接続、バス接続、リング接続及びスター接続が含まれる。モジュール接続イネーブラ106を、たとえばスイッチマトリクスによって実施してもよい。各試験サイト110は、DUT112に関連し、DUT112は、ロードボード114を介して対応するサイトのモジュールに接続される。一実施形態では、単一サイトコントローラを複数のDUTサイトに接続してもよい。
システムコントローラ102は、全体的なシステムマネージャとしての役割を果たす。システムコントローラ102は、サイトコントローラアクティビティを調整し、システムレベルの並列試験戦略を管理し、さらにシステムレベルのデータロギング及びエラー処理サポートとともにハンドラ/プローブ制御を提供する。システムコントローラ102は、試験環境を検証しデバッグする際の試験技術者に対する主要な対話点である。システムコントローラ102は、サイトコントローラ104に対するゲートウェイを提供し、マルチDUT環境におけるサイトコントローラアクティビティの同期化を管理する。システムコントローラ102はさらに、データロググラフィカルユーザインタフェース(DatalogGUI)等のユーザアプリケーション及びツールを実行する。動作設定に応じて、システムコントローラ102を、サイトコントローラ104の動作とは別のCPUに配置してもよい。別法として、システムコントローラ102とサイトコントローラ104とが共通のCPUを共有してもよい。同様に、各サイトコントローラ104を、それ自体の専用CPU(中央処理装置)に配置してもよく、又は同じCPU内の別々のプロセス又はスレッドとして配置してもよい。
サイトコントローラ104は、DUTを試験するためのテストプランを実行することに関与する。テストプランは、フレームワーククラスと、試験方法をカプセル化する標準テストクラス又はユーザ提供テストクラスとを使用することにより、特定の試験を生成する。さらに、テストプランは、標準インタフェースを使用してハードウェアを構成し、試験フローを定義する。
個々のシステムコンポーネントを、統合されたモノリシックシステムの論理コンポーネントとみなしてもよく、必ずしも分散システムの物理コンポーネントとみなさなくてもよいということを理解して、本発明のシステムアーキテクチャを、概念的に、図1に示す分散システムとして想定してもよい。ハードウェアレベルとソフトウェアレベルとの両方において標準インタフェースを使用することにより、プラグ・アンド・プレイモジュール又は交換可能モジュールが容易になる。テスタオペレーティングシステム(TOS)により、ユーザは、テストプランプログラミング言語を使用してテストプランプログラムを書くことができ、且つ特定の被試験デバイス(DUT)に特化した方法で試験システムを動作させることができる。また、それにより、ユーザは、一般にテストプランプログラムにおいてライブラリとして使用される試験システム動作のシーケンスをパッケージ化することも可能となる。これらのライブラリを、テストクラス及びテストテンプレートと呼ぶ場合がある。
データログフレームワーク
データログフレームワークは、テストプラン及びシステムフレームワーククラスとともに個々のサイトコントローラにおいて実行する。データログフレームワークは、データログシステムの開発、配備及び管理をサポートするために1組のインタフェース、クラス及びメソッドを提供する。データログフレームワークは、
・ソース、ストリーム及びフォーマッタ等のデータログ要素を管理し、
・データログイベントをディスパッチし、
・新たなデータログイベントの生成を可能にするアプリケーションプログラミングインタフェース(API)を提供し、
・データロギングをセットアップし制御するAPIを提供し、
・共通のフォーマッティングニーズを処理する汎用フォーマッタを提供し、
・データログフレームワークをオープンする、モジュール式サードパーティ及び/又は顧客データログサービスの統合のためのサポートを提供する。
標準データログインタフェース
図2は、本発明の一実施形態によるデータログフレームワークのインプリメンテーションを示す。データログフレームワークインタフェース及びサポートクラス間の関連のセットを、図2の統一モデリング言語(UML)クラス図を通して示す。データログフレームワーク200は、データログストリームインタフェース202、データログフォーマットインタフェース204、データログタイプインタフェース206及びデータログソースインタフェース208を含む。データログフレームワーク200は、データログマネージャクラス210、データログフォーマットマップクラス212、データログフォーマットグループクラス214、データログ値クラス216、汎用フォーマットクラス218及びユーザフォーマットクラス220をさらに含む。
テスタオペレーティングシステム(TOS)に対する標準データログインタフェースは、純粋抽象C++クラスとして定義される。データログストリームインタフェース(IDatalogStream)202は、出力ファイル又はデバイスを表す。データログシステムは、ストリームに対しフォーマットされた出力を送出する。本システムは、2つの組込みストリーム、すなわちローカルディスクファイルに対して出力を送出するFileStreamと、システムのコンソールアプリケーションに対して出力を送出するConsoleStreamとを提供する。
データログフォーマットインタフェース(IDatalogFormat)204は、出力に対するデータログイベントに関連するデータをフォーマットするために要求される必要な命令を表す。フォーマッティング機能の特定の性質は、IDatalogFormatの各インプリメンテーションの内側に隠される。たとえば、組込みGeneralFormatにより、汎用フォーマットストリングを、DatalogValuesオブジェクトから名前付きの値を抽出しそれらをフォーマットされたストリングに挿入するマクロのような機能とともに使用することができる。
データログタイプインタフェース(IDatalogType)206は、試験の特定のタイプ等、データログソースのクラス又は「タイプ」を表す。DatalogManager210は、部分的にイベントのソースのタイプに基づいてフォーマット及びストリームにイベントをマップする。新たなタイプのソースが生成されると、それらは、それら自体をDatalogManager210に登録し、識別子(ID)値を受け取る。これらのタイプを管理することにより、DatalogManager210は、データログソースの特定のインスタンスとともにデータログソースの全クラスを使用可能/使用不能にすることができる。IDatalogTypeオブジェクト206は、データログイベントの複数のクラスを生成してもよい。たとえば、或る状態が発生するまで1組のパターンでループするユーザ試験が、TestStart、TestEnd、IterationStart、IterationEnd及びConditionTestデータログイベントを生成してもよい。イベントのこれらのクラスの各々は、それに関連する異なるデータフィールドを有してもよい(以下のDatalogValuesクラスを参照)。
データログソースインタフェース(IDatalogSource)208は、データログイベントのソースを表す。IDatalogType206は、データログソースオブジェクトのクラス全体を特徴付けるが、IDatalogSource208は、個々のソースインスタンスを表す。このインタフェースは、個々のソースのデータロギングを可能/不能にすることができる。
データログサポートクラス
データログフレームワーク200の中心オブジェクトは、DatalogManagerオブジェクト210である。このオブジェクトは、すべてのデータログ出力ストリームを維持することとともに、データログイベント及びそれらの関連データをフォーマットして適当なストリーム(複数可)に送ることに関与する。DatalogManager210は、サイトコントローラのテストプランサーバ(TPS)に存在する。これは、データログ実行エンジンである。特に、DatalogManager210の主な機能には以下が含まれる。
・1組のグローバルデータログストリーム(すなわち、IDatalogStreamインタフェースをインプリメントするオブジェクト)を管理すること。
・1組のデータログフォーマット(すなわち、IDatalogFormatインタフェースをインプリメントするオブジェクト)を管理することであって、それらの各々は1組のデータログイベントの結果としてフォーマットされたストリングを生成する。
・データログイベントをすべての関連するデータログストリームに分配すること。ストリームのすべての宛先を、DatalogManagerを通して制御することができる。
・データログ出力をフィルタリングする効果がある、DatalogMask状態を維持し制御すること。なお、マスクのアプリケーションは、ソースにおいてシステム性能を向上させるために発生する場合があることに留意する。
・データログシステムを起動し/クリーンアップすること。
・データログシステム全体とともに個々のデータログタイプ又はソースを使用可能/使用不能にすること。
データログフォーマットマップクラス212は、名前付き<EventType, EventName, Format>の組合せである。すなわち、データログフォーマットマップクラス212は、EventType(特定のIDatalogTypeオブジェクトを表す)と、EventName(EventTypeオブジェクトによって生成されるデータログイベントのうちの1つを表す)と、Format(IDatalogFormatオブジェクトを表す)とをグループ化する。
データログフォーマットグループクラス214は、DatalogFormatMapオブジェクトの集まりである。ユーザは、DatalogFormatMapオブジェクトを単一グループにバンドルし、そのグループを1つのストリーム又はいくつかのストリームに割り当ててもよい。これにより、データログイベントの最終的なフォーマッティングとこれらのフォーマットされたストリングの適当なストリームへのルーティングとに対しユーザレベルの制御が提供される。
データログ値クラス216は、データログタイプ識別子及びイベントのようなヘッダ情報と、イベントソースによって設定されるデータログフィールドのリストとを含む。DatalogValuesオブジェクトは、名前から値へ、ストリング間マップとして作用し、フォーマットオブジェクトが名前によって必要な値を抽出しそれらをフォーマットされたストリームに挿入することができる。
汎用フォーマットクラス218は、IDatalogFormatのインプリメンテーションである。これにより、汎用フォーマットストリングを、DatalogValuesオブジェクトから名前付きの値を抽出しそれらをフォーマットされたストリングに挿入するマクロのような機能とともに使用することができる。
ユーザフォーマットクラス220は、ユーザ定義フォーマットクラスのためのプレースホルダである。提供されるGeneralFormatクラスがユーザの特定の要件を満たさない場合、システムに新たなフォーマットクラスを追加してそれを利用してもよい。
データログソース
一実施形態では、サイトコントローラベースのオブジェクトは、IDatalogSourceインタフェース208をインプリメントすることによりデータログイベントのソースとして作用してもよい。たとえば、テストプラン及びテストオブジェクトは、イベントのソースの例である。このようなオブジェクトの各インスタンスは、IDatalogSourceインタフェースをインプリメントする。さらに、このようなオブジェクトの各タイプ、たとえばFuntionalTestは、それに関連するIDatalogTypeインタフェース206のインプリメンテーションを有する。これは、データログソースの各タイプに対してクラス全体のスタティックオブジェクトによって達成される。図3は、本発明の一実施形態によるデータログソースのインプリメンテーションを示す。データログソースは、機能試験(functional test())クラス302、データログタイプインプリメンテーション(datalog type implementation())クラス304、データログタイプインタフェース306及びデータログソースインタフェース308を含む。
図3に示すように、FunctionalTestクラス302は、タイプDatalogTypeImpl304のクラス全体のスタティックメンバを有する。FunctionalTestのインスタンスは、このメンバ変数をそれが生成される時に検査する。変数が生成されず割り当てられていない場合、コンストラクタは、DatalogTypeImplのインスタンスを生成し、それを初期化し、それをスタティックメンバ変数に割り当て、それをDatalogManagerに登録する。FunctionalTestクラスの後続するインスタンスは、DatalogTypeImplデータメンバにアクセスし、それ自体(すなわち、IDatalogSourceとしてFunctionalTestのインスタンス)を後者のFunctionalTestインスタンスがサービスしているデータログソースインスタンスのDatalogTypeImplのリストに追加する。
別の実施形態では、FunctionalTestクラスのサブクラス、たとえばADifferentFunctionalTestは、FunctionalTestのものとは異なるデータログタイプを確立しようと試みてもよい。ADifferentFunctionalTestのインプリメンテーションは、FunctionalTestに関連するクラス全体のDatalogTypeImplを使用せず、DatalogTypeImplのそれ自体のクラス全体のインスタンスを使用してこれを達成してもよい。なお、FunctionalTestの各インスタンスはIDatalogSourceインタフェースをインプリメントすることに留意する。DatalogTypeImplは、このインタフェースを使用して個々のソースを使用可能/使用不能にする。
ソースタイプ登録
テストプランがロードされる時、データログイベントソースは、DatalogManagerオブジェクトに登録してもよい。この登録からの戻り値は識別子であり、それは後にイベントを生成するために使用される。
図4は、本発明の一実施形態によるソースタイプを登録する方法を示す。ソースタイプを登録する協働するオブジェクトのグループには、TestPlanオブジェクト402と、FunctionalTest1オブジェクト404と、FunctionalTest2オブジェクト406と、DatalogManagerオブジェクト408とが含まれる。なお、テストプランが同じタイプの2つのテストインスタンス(FunctionalTest1及びFunctionalTest2)を生成する場合、第1のテストインスタンスはDatalogManagerに新たなデータログタイプを登録することに留意する。
ユーザは、異なるイベントタイプに対してデータログフォーマットを設定してもよい。これを、テストプラン初期化中にデフォルトフォーマットを提供するように行ってもよく、且つ/又はリモートアプリケーションから対話的に行ってもよい。ユーザがデータログストリームを設定することができるように同様の手続きが続く。DatalogManagerは、試験システムを通して特定のタイプのイベントが辿る可能性のあるルートを指定する1組の{datalog-type, datalog-event}から対応する1組の{datalog-format, datalog-stream}へのマッピングを保持する。ファイルベースのストリームの場合、サイトコントローラのテストクラスは、ストリームをクローズすることによりデータログファイルをシステムコントローラに転送することができるようにしてもよい。そして、ストリームを再オープンしてもよく、又は別のストリームと置き換えてもよい。
データのフォーマッティング及びストリーミング
試験中、オブジェクトは、データストリームにロギングされるデータログイベントを生成してもよい。図5は、本発明の一実施形態によるデータをフォーマットしストリーミングする方法を示す。このタスクを実行する協働するオブジェクト及びインタフェースのグループには、TestPlanオブジェクト502と、DatalogValuesオブジェクト504と、DatalogManagerオブジェクト506と、データログフォーマットインタフェース(IDatalogFormat)508と、データログストリームインタフェース(IDatalogStream)510とが含まれる。TestPlan502は、DatalogValuesオブジェクトインスタンス504を生成し、setValue()メソッドを呼び出すことにより適当な値を設定し、このオブジェクトをDatalogManager506のdoDatalog()メソッドに渡す。そして、doDatalog()メソッドは、タイプ/イベントの組合せに対して適当なデータログフォーマットオブジェクト508を見つけ、このデータログフォーマットオブジェクト508に対してapply()メソッドを呼び出すことにより引換えにストリングオブジェクトを取得する。そして、このストリングオブジェクトは、writeMessage()メソッドを使用して、出力されるために関連するデータログストリームオブジェクト510に渡される。
データログ初期化
異なる一実施形態では、データログシステムは以下のステップを使用して初期化される。
・データログストリーム(複数可)を生成しそれをDatalogManagerに追加する。
・データログフォーマット(複数可)を生成しそれをDatalogManagerに追加する。
・データログフォーマットマップ(複数可)を生成しそれをDatalogManagerに追加する。
・データログフォーマットグループ(複数可)を生成しそれをDatalogManagerに追加する。
データログアプリケーションプログラミングインタフェース(API)は、上記タスクを実行する機能を提供する。さらに、試験システムは、1つ又は複数の構成ファイルを読み出し上記ステップを実行するテストクラス、すなわちDatalogSetupTestを提供する。以下の例は、初期化ステップを実行するためにDatalogSetupTest構成ファイルを使用することを示す。データログストリーム、データログフォーマットマップ及びデータログフォーマットグループ内のDLLパラメータは、IDatalogStream202又はIDatalogFormat204をインプリメントするために使用されるライブラリを指定する。
Version 0.1.0;
# Enable the datalog system
Enabled;
# Step 1: Stream Creation
# Creates a stream of type FileStream, which logs the message to
# a file.
Stream FunctionalTestStream
{
DLL "FileStream";
FileName "FuncDatalogDut<DutID>.log";
Overwrite"1";
}
# Step 2: Format Creation
# Adds a format with a line that looks like:
# Signal Info: $SignalInfo
# where $SignalInfo is replaced by the string provided in the datalog
# source.
Format SignalInfoFormat
{
DLL "GeneralFormat";
Format "Signal Info: $SignalInfo";
} # Adds a format with a line that looks like:
# Test Result: $Result
# where $Result is replaced by the string provided in the datalog
# source.
Format TestResultFormat
{
DLL "GeneralFormat";
Format "Test Result: $Result";
}
# Step 3: FormatMap Creation
# Maps format SignalInfoFormat to event DumpSignal from sources
# of type com.Advantest.oai.TestClasses.FunctionalTest.
FormatMap SignalFormatMap
{
Type com.advantest.oai.TestClasses.FunctionalTest;
Event DumpSignal;
Format SignalInfoFormat;
}
# Maps format TestResultFormat to event TestResult from sources
# of type com.Advantest.oai.TestClasses.FunctionalTest.
FormatMap ResultFormatMap
{
Type com.advantest.oai.TestClasses.FunctionalTest;
Event TestResult;
Format TestResultFormat;
}
# Step 4: FormatGroup Creation
# Creates a group which directs messages from format map
# SignalFormatMap and ResultFormatMap to destination FunctionalTestStream
# and ConsoleStream.
FormatGroup FunctionalTestGroup
{
FormatMap SignalFormatMap;
FormatMap ResultFormatMap;
Stream FunctionalTestStream;
Stream ConsoleStream;
}
データログセットアップファイルのセマンティクス
さらに別の実施形態では、データログセットアップファイルは、4つの異なるタイプのブロック、すなわちデータログフォーマットブロック、データログストリームブロック、データログフォーマットマップブロック及びデータログフォーマットグループブロックを含む。これらのブロックを使用して、データログフォーマット、データログストリーム、データログフォーマットマップ及びデータログフォーマットグループがそれぞれ定義される。これらの4つのブロックのうちの任意のものを、同じセットアップファイルにおいて複数回使用してもよく、複数の別々のデータログセットアップファイルを用いてデータログシステムをセットアップしてもよい。このように、データログシステムセットアップは、モジュール式であり且つ柔軟である。たとえば、Cal/Diagsデータロギングをセットアップするための第1のデータログセットアップファイルと、機能試験のためのデータロギングをセットアップするための第2のデータログセットアップファイルと、パラメータ試験のためのデータロギングをセットアップするための第3のデータログセットアップファイルとがあってもよい。
データログフォーマットブロック
一実施形態では、データログフォーマットブロックを使用してデータログフォーマットが定義される。フォーマットの定義には、フォーマット名、フォーマットDLL名、メッセージフォーマットストリング及び任意のユーザ定義フォーマットパラメータが含まれてもよい。フォーマットDLL名がGeneralFormatである場合、事前定義されたGeneralFormatが使用され、そうでない場合、ユーザ定義データログフォーマットが使用される。後者の場合、ユーザは、システム試験ディレクトリにデータログフォーマットDLLを提供する。以下のデータログAPIが呼び出されることにより、データログフォーマットブロックが定義される。
void DatalogManager::addFormat(const OFCString &formatName,
const OFCString &typeName,
const OFCString &format,
const DatalogProperties_t properties);
and
FormatSignalInfoFormat
{
DLL "GeneralFormat";
Format"$SignalInfo";
}
は、事前定義されたGeneralFormatを利用するフォーマットSignalInfoFormatを定義する。そのフォーマットストリングは$SignalInfoであり、ここでは、$SignalInfoは、ランタイム中に、引き渡されたデータログレコード(DatalogValues)においてデータログ変数SignalInfoによって置き換えられてもよいトークンである。データログフォーマットブロックを使用して、データログシステムから既存のデータログフォーマットを除去することができる。このシナリオでは、以下のデータログAPIが呼び出される。
void DatalogManager::removeFormat(const OFCString &formatName);
and
Format AnExistingFormat Disabled;
は、データログシステムからデータログフォーマットAnExistingFormatを除去する。
データログストリームブロック
別の実施形態では、データログストリームブロックを使用してデータログストリームが定義される。データログストリームの定義には、ストリーム名、ストリームDLL名及び任意のユーザ定義ストリームパラメータが含まれる。ストリームDLL名がFileStream又はConsoleStreamである場合、組込みデータログストリームFileStream又はConsoleStreamが使用され、そうでない場合、ユーザ定義データログストリームが使用される。後者の場合、ユーザは、システム試験ディレクトリにデータログストリームDLLを提供する。以下のデータログAPIが呼び出されることにより、データログストリームブロックが定義される。
void DatalogManager::addStream(const OFCString &streamName,
const OFCString &typeName,
const DatalogProperties_t properties);
and
Stream FunctionalTestStream
{
DLL "FileStream";
FileName "datalog<DutID>.log";
Overwrite "0";
}
は、任意のパラメータFileName及びOverwriteとともに組込みストリームFileStreamを利用するストリームFunctionalTestStreamを定義する。なお、FileStreamは、自動変数<DutID>及び<TimeStamp(タイムスタンプ)>を用いてファイル名をサポートすることに留意する。<DutID>は、ランタイム中に現DUT IDに置き換えられ、<TimeStamp>は、Thu_Nov_13_06_40_28_2003等のフォーマットで現日時に置き換えられる。
データログストリームブロックを使用して、データログシステムから既存のデータログストリームを除去することができる。この場合、以下のデータログAPIが呼び出される。
void DatalogManager::removeStream(const OFCString &streamName);
and
Stream AnExistingStream Disabled;
は、データログシステムからデータログストリームAnExistingStreamを除去する。
データログタイプブロック
異なる一実施形態では、データログタイプブロックを使用してデータログタイプに対するユーザ特定特性が定義される。以下のデータログAPIが呼び出されることによりデータログタイプブロックが定義される。
IDatalogType *DatalogManager::getType(const OFCString &typeName)
const;
void IdatalogType::addProperty(const OFCString &propName,
const OFCString &propValue);
and
Type com.Advantest.oai.TestClasses.FunctionalTest
{
Mode "Detailed";
}
は、データログタイプ「com.Advantest. oai.TestClasses. FunctionalTest」に対して値"Detailed"を用いて特性モードを定義する。
データログフォーマットマップブロック
さらに別の実施形態では、データログフォーマットマップブロックを使用してデータログフォーマットマップが定義される。フォーマットマップの定義には、フォーマットマップ名、データログタイプ名及びマップされるそのイベント名、並びにマップされるフォーマット名が含まれる。以下のデータログAPIが呼び出されることにより、データログフォーマットマップブロックが定義される。
void DatalogManager::createFormatMap(const OFCString &mapName,
const OFCString &typeName,
const OFCString &eventName,
const OFCString &formatName);
and
FormatMap SignalFormatMap
{
Type com.Advantest.oai.TestClasses.FunctionalTest;
Event DumpSignal;
Format SignalInfoFormat;
}
は、データログタイプcom.Advantest.oai.TestClasses.FunctionalTest及びそのイベントDumpSignalをフォーマットSignalInfoFormatにマップするフォーマットマップSignalFormatMapを定義する。
データログフォーマットマップブロックを使用して、データログシステムから既存のデータログフォーマットマップを除去してもよい。この場合、以下のデータログAPI
void DatalogManager::removeFormatMap(const OFCString &mapName);
が呼び出されることによりこのタスクが実行される。
データログフォーマットグループブロック
一実施形態では、データフォーマットブロックを使用してデータログフォーマットグループが定義される。Format Groupの定義には、フォーマットグループ名、フォーマットグループが含むフォーマットマップの名前のリスト、及びフォーマットグループから生成されるメッセージがエクスポートされるストリームの名前のリストが含まれる。以下のデータログAPIが呼び出されることにより、データログフォーマットグループブロックが定義される。
voidDatalogManager::createFormatGroup(const OFCString &groupName,
const OFCStringVec_t &mapNames);
voidDatalogManager::setStream(const OFCString &groupName,
const OFCString &streamName);
第1のコールは、フォーマットのベクトルを含むフォーマットグループを生成し、第2のコールは、生成されたフォーマットグループにデータログストリームを追加する。たとえば、
FormatGroup FunctionalTestGroup
{
FormatMap SignalFormatMap;
FormatMap ResultFormatMap;
Stream FunctionalTestStream;
Stream ConsoleStream;
}
は、フォーマットマップSignalFormatMap及びResultFormatMapを含むフォーマットグループFunctionalTestGroupを定義する。フォーマットグループから生成されるメッセージは、データログストリームFunctionalTestStream及びConsoleStreamにエクスポートされる。
データログフォーマットマップブロックを使用して、データログシステムから既存のデータログフォーマットグループを除去してもよい。この場合、データログAPI
void DatalogManager::removeFormatGroup(const OFCString
&groupName);
が呼び出されることによりこの機能が実行される。
データログシステムアプリケーション例
以下の例では、DatalogManagerProxy、DatalogHandelerProxy及びDatalogFilterProxy等のプロキシオブジェクトがシステムコントローラで実行しているアプリケーションによって使用されることにより、1つ又は複数のサイトコントローラにおけるデータログフレームワークの現状態及び動作がリモートに制御される。これらのオブジェクトは、サイトコントローラの現実のオブジェクトに対するリモートプロキシとして作用し、これらのオブジェクトに対し、システムコントローラのアプリケーションが通信プロトコルの複雑性ではなくローカルオブジェクトを扱うことができるようにする透過的な通信チャネルを提供する。
図6は、本発明の一実施形態によるデータロギングを動的に可能にすることのインプリメンテーションを示す。このタスクを達成する協働するオブジェクトのグループには、データロググラフィカルユーザインタフェース(DatalogGUI)オブジェクト602と、DataloggerProxyオブジェクト604(DatalogManagerProxyとも呼ぶ)と、テストオブジェクト606と、Dataloggerオブジェクト608(DatalogManagerとも呼ぶ)とが含まれる。シーケンス図は、データログシステムを動的に使用可能にするステップを示す。図6に示すように、シーケンス図の各ステップを以下のように説明する。
1.ステップ1において、DatalogGUI602又は他のテスタGUI(たとえば試験制御パネル)は、ボタン又はメニュー項目Enable Datalog(データログを使用可能にする)を含む。ユーザがボタン又はメニュー項目をクリックすると、DatalogGUI602は、テストプランサーバプロキシ(TPSProxy)からDataloggerProxyオブジェクト604を探索する。
2.DatalogGUI602は、返されたDataloggerProxy604に対しsetEnable()メソッドを呼び出し、データログシステムを使用可能にすることを意味するパラメータ値「真」を引き渡す。
3.プロキシモデルにより、DataloggerProxy604のsetEnable()メソッドは、Datalogger608のsetEnableTest()メソッドを呼び出すことによりデータログシステムを使用可能にする。
4.テストオブジェクト606は、enteringTest()メソッドを呼び出すことにより、Datalogger608にデータログイベントを送出する。
5.Datalogger608は、isEnabled()メソッドを呼び出すことによりそれが使用できるか否かを検査する。
6.Datalogger608は、使用できる場合、log()メソッドを呼び出すことによりデータロギングを開始する。
図7は、本発明の一実施形態によるデータロギングを動的に不能にすることのインプリメンテーションを示す。このタスクを達成する協働するオブジェクトのグループには、DatalogGUIオブジェクト702と、DataloggerProxyオブジェクト704と、テストオブジェクト704と、Dataloggerオブジェクト708とが含まれる。Datalogger708は、すべてのデータロギングを不能にするために使用され得る。シーケンス図は、データログシステムを動的に使用不能にするステップを示す。図7に示すように、シーケンス図の各ステップを以下のように説明する。
1.ステップ1において、DatalogGUI702又は他のテスタGUI(たとえば試験制御パネル)は、ボタン又はメニュー項目Disable Datalog(データログを使用不能にする)を含む。ユーザがボタン又はメニュー項目をクリックすると、DatalogGUIは、TPSProxyからシングルトンDataloggerProxyオブジェクト704を探索する。
2.DatalogGUI702は、返されたDataloggerProxy704に対しsetEnable()メソッドを呼び出し、データログシステムを使用不能にすることを意味するパラメータ値「偽」を引き渡す。
3.プロキシモデルにより、DataloggerProxy704のsetEnable()メソッドは、Datalogger708のsetEnableTest()メソッドを呼び出すことによりデータログシステムを使用不能にする。
4.テストオブジェクト706は、enteringTest()メソッドを呼び出すことにより、Datalogger708にデータログイベントを送出する。
5.Dataloggerは、それが使用できるか否かを検査する。Dataloggerが使用不能なので、データロギングは起こらない。
図8は、本発明の一実施形態によるデータログフォーマットを動的に変更することのインプリメンテーションを示す。このタスクを達成する協働するオブジェクトのグループには、DatalogGUIオブジェクト802と、DatalogFormatterProxyオブジェクト804と、DatalogHandlerオブジェクト806と、DatalogFormatterオブジェクト808とが含まれる。シーケンス図は、データログフォーマットを動的に変更するステップを示す。DatalogHandlerオブジェクト806により、ユーザは、データログストリームとフォーマット仕様とを結合して、DatalogManagerがデータログイベントを渡すために使用してもよい単一のエンタイトル(entitle)にすることができる。図8に示すように、シーケンス図の各ステップを以下のように説明する。
1.ステップ1において、DatalogGUI802は、選択されたデータログハンドラに関連する利用可能なデータログフォーマッタのリストを表示する。ユーザは、プルダウンメニューを開くことによって任意のデータログフォーマッタを選択してもよく、メニュー項目Edit(編集)を選択する。DatalogGUIのインプリメンテーションは、リストの各データログフォーマッタ項目を対応するデータログフォーマッタプロキシ参照に(ユーザデータパラメータを使用することにより)関連付ける。次に、DatalogFormatterProxyオブジェクト804が取得される。
2.DatalogGUI802は、DatalogFormatterProxyオブジェクト804を使用してgetFormat()メソッドを呼び出すことにより、フォーマットストリング及び関連引数を取得する。
3.プロキシモデルにより、DatalogFormatterProxy804のgetFormat()メソッドは、DatalogFormatter808の対応するgetFormat()メソッドを呼び出す。
4.DatalogGUI802は、選択されたフォーマッタを用いてデータログイベントのフォーマット及び引数を表示する。ユーザは、1組の所定データログフォーマット要件に従ってフォーマット及び引数を変更してもよい。
5.ユーザが変更されたフォーマッタをデータログシステムに適用すると、DatalogGUI802は、DatalogFormatterProxy804のsetFormat()メソッドを呼び出し、変更されたフォーマットストリング及び引数を渡す。
6.プロキシモデルにより、DatalogFormatterProxy804のDatalogFormatterProxy.setFormat()メソッドは、DatalogFormatter808の対応するsetFormat()メソッドを呼び出す。
7.次に、DatalogHandler806が、データログイベントとともにフォーマットされたメッセージを取得するために、変更されたデータログフォーマッタに対しgetOuptut()メソッドを呼び出すと、変更されたフォーマッタが適用される。
図9は、本発明の一実施形態によるデータログ出力ストリームを動的に割り当てることのインプリメンテーションを示す。このタスクを達成する協働するタスクのグループには、DatalogGUIオブジェクト902と、DatalogManagerProxyオブジェクト904と、IDatalogHandlerProxyオブジェクト906と、IDatalogHandlerオブジェクト908と、DatalogManagerオブジェクト910とが含まれる。シーケンス図は、データログハンドラに動的に関連付けるようにデータログ出力ストリームを割り当てるステップを示す。図9に示すように、シーケンス図の各ステップを以下のように説明する。
1.ステップ1において、ユーザがその関連するデータログ出力ストリームを編集するためにデータログハンドラを選択すると、DatalogGUI902は2つのリストを含むパネルを表示する。すなわち、第1のリストは、データログシステムのデータログストリーム名を表示し、第2のリストは、データログハンドラに関連するデータログストリーム名を表示する。さらに、DatalogGUIはまた、Add(追加)、Remove(除去)、Apply(適用)、OK及びCancel(キャンセル)ボタンも含む。
2.DatalogGUI902はDatalogManagerProxy904のgetStreamNames()メソッドを呼び出す。
3.プロキシモデルにより、DatalogManagerProxy904のgetStreamNames()メソッドは、DatalogManager910の対応するgetStreamNames()メソッドを呼び出すことによりデータログシステムに登録されているデータログストリーム名をすべて取得する。
4.DatalogGUI902は、第1のリストの取り出されたデータログストリーム名を表示する。
5.そして、DatalogGUI902は、IDatalogHandlerProxy906のgetStreamNames()メソッドを呼び出す。
6.プロキシモデルにより、IDatalogHandlerProxy906の対応するgetStreamNames()メソッドは、IDatalogHandler908の対応するgetStreamNames()メソッドを呼び出すことにより選択されたデータログハンドラに目下関連するデータログストリーム名をすべて取得する。
7.DatalogGUI902は、第2のリストの選択されたデータログハンドラに関連する取り出されたデータログストリーム名を表示する。
8.そして、ユーザは、ボタンAdd及びRemoveを使用して関連するデータログストリームリストを編集する。ユーザが編集を終了し、変更されたストリームをデータログストリームに適用するようにApply又はOKボタンをクリックした後、DatalogGUI902は、IDatalogHandlerProxy906に対してsetStreams()メソッドを呼び出し、それを変更されたデータログストリーム名に渡す。
9.プロキシモデルにより、IDatalogHandlerProxy906のsetStreams()メソッドは、IDatalogHandler908の対応するsetStreams()メソッドを呼び出す。
10.そして、IDatalogHandler908は、各データログストリーム名に対する関連するデータログストリームオブジェクト参照をDatalogManager910から取得する。
11.そして、IDatalogHandler908は、ストリームベクトルにストリームを追加する。その後、IDatalogHandler908は、そのデータログ出力に対しストリームベクトルにおいて新たに選択されたデータログストリームを送出する。
図10は、本発明の一実施形態によるデータログ出力ストリームを動的に使用不能にすることのインプリメンテーションを示す。このタスクを達成する協働するオブジェクトのグループには、DatalogGUIオブジェクト1002と、IDatalogStreamProxyオブジェクト1004と、IDatalogHandlerオブジェクト1006と、IDatalogStreamオブジェクト1008とが含まれる。シーケンス図は、データログ出力ストリームを動的に使用不能にするステップを示す。図10に示すように、シーケンス図の各ステップを以下のように説明する。
1.ステップ1において、DatalogGUI1002は、利用可能なデータログストリームのリストを表示する。ユーザは、プルダウンメニューを開くことによって任意のデータログストリームを選択してもよく、メニュー項目Disable(使用不能)を選択する。DatalogGUI1002のインプリメンテーションは、リストの各データログストリーム項目を対応するIDatalogStreamProxy参照1004に(ユーザデータパラメータを使用することにより)関連付ける。そして、IDatalogStreamProxy1004が取得される。
2.DatalogGUI1002は、取得されたIDatalogStreamProxyオブジェクト1004に対しdisable()メソッドを呼び出す。
3.IDatalogStreamProxy1004のdisable()メソッドは、プロキシモデルを通してIDatalogStream1008の対応するdisable()メソッドを呼び出す。
4.IDatalogHandler1006は、write()メソッドを呼び出すことにより、フォーマットされたメッセージをストリームに書き出す。
5.IDatalogStream1008は、それが使用可能であるか否かを検査する。使用可能である場合、出力ストリームを変更してもよい。
図11は、本発明の一実施形態による新たなソースを動的に適合させることのインプリメンテーションを示す。このタスクを達成する協働するオブジェクトのグループには、DatalogGUIオブジェクト1102と、DatalogManagerProxyオブジェクト1104と、テストオブジェクト1106と、Dataloggerオブジェクト1108と、DatalogManagerオブジェクト1110と、DatalogHandlerProxyオブジェクト1112と、DatalogHandlerオブジェクト1114と、DatalogFilterProxyオブジェクト1116と、DatalogFilterオブジェクト1118と、DatalogFormatterオブジェクト1120とが含まれる。シーケンス図は、新たなソースを動的に適合させるステップを示す。DatalogFilterオブジェクト1118によって、ユーザは、タイプ及びソース識別子によりデータログイベントを選択的にフィルタリングすることができる。このフィルタリングによって、ユーザは、特定のデータログイベントをオン及びオフにすることができる。図11に示すように、シーケンス図の各ステップを以下のように説明する。
1.ステップ1において、DatalogGUI1102は、DatalogManagerProxyオブジェクト1104を見つけ、そのaddHandler()メソッドを呼び出すことにより、新たなソースに対し新たなDatalogHandlerインスタンスを登録する。なお、この手法において、DatalogHandler1114は、イベントを異なるデータログフォーマッタに関連付けることに留意する。このモデルを用いて、新たなDatalogHandlerインスタンスが、新たなソース(テストクラス)と作用するように生成される。新たに生成されたDatalogHandlerProxyインスタンスが返される。
2.プロキシモデルにより、DatalogManagerProxy1104のaddHandler()メソッドは、DatalogManager1110の対応するaddHandler()メソッドを呼び出す。
3.次に、DatalogManager1110のaddHandler()メソッドは、DatalogHandlerの新たなインスタンスを生成し、その後その新たに生成されたDatalogHandlerインスタンスをDatalogManager1110に登録する。
4.そして、DatalogGUI1102は、データログフィルタプロキシを、ステップ1で返されたDatalogHandlerProxy1104を通して新たに生成されたデータログハンドラに関連付ける。
5.プロキシモデルにより、DatalogHandlerProxy1112のgetFilter()メソッドは、DatalogHandler1114の対応するgetFilter()メソッドを呼び出す。
6.DatalogFilterProxy1116を用いて、DatalogGUI1102はそのenableTest()メソッドを呼び出す。
7.プロキシモデルにより、DatalogFilterProxy1116のenableTest()メソッドは、DatalogFilter1118の対応するenableTest()メソッドを呼び出す。その結果、新たに生成されたデータログハンドラインスタンスは、新たなテストソースの選択されたイベントを処理する。
8.DatalogGUI1102は、新たに生成されたデータログハンドラの各選択されたデータログイベントに対しそのプロキシを通してフォーマットを設定する。この新たなテストソースに対し、新たな引数のフォーマットをTest.FooArgumentとして指定してもよい。新たなテストソースにおいて、インタフェースIPropertyをインプリメントしてもよく、それを以下のように示す。
class IProperty
{
public:
OFCString &getProperty(const OFCString &name) const;
void setProperty(const OFCString &name, const OFCString
*value);
OFCStringVec_t getPropertyNames() const;

};
where FooArgument is one of the properties in the new test source.
9.DatalogHandlerProxy1112は、対応するDatalogHandler1114を通してsetFormat()メソッドを呼び出す。
10.DatalogHandler1114は、選択されたイベントに対してDatalogFormatterを生成し、それをイベントルートマップに追加する。次に、新たに生成されたデータログハンドラは、新たなソースからのデータログイベントを処理する。そして、新たなソーステストを含むテストプランが開始してもよい。
11.TPSは、新たなソーステストの実行の最後に達すると、データログシステムにexitingTest()データログ要求を送出する。
12.Datalogger1108は、要求を受け入れ、それをロギングされるデータログイベントに転送する。
13.Datalogger1108は、新たなデータログイベントをディスパッチするためにDatalogManager1110に送る。
14.DatalogManager1110は、登録されたデータログハンドラにイベントを1つずつ発行する。データログハンドラがイベントを処理することができると、発行プロセスを停止してもよい。
15.各データログハンドラにイベントが発行される時、ハンドラは、そのイベントがロギング可能であるか否かを検査する。新たに生成されたDatalogHandlerインスタンスが新たなテストソースをサービスすることができる場合、そのイベントはロギングできる。
16.DatalogHandler1114は、現イベントに関連するDatalogFormatter1120を見つけ、そのgetOuptut()メソッドを呼び出すことにより定義されたフォーマットに基づいてフォーマットされたメッセージを取得する。getOuptut()メソッドは、
event.getDatalogger->getTest()->getProperty("FooArgument");
を呼び出すことにより新たなパラメータTest.FooArgument値をフェッチし、フォーマットされた出力メッセージはその後出力データログストリームに送られる。
開示したデータログフレームワークによって多数の利益が達成される。第1に、データログフレームワークは、データログイベントのソース、性質及び内容から独立している。これにより、データログフレームワークを変更することなく新たなデータログソース及びイベントを追加することができる。さらに、データログ出力をフォーマットすることはデータログフレームワークから独立している。システムにGeneralFormatが提供される場合、それは、フォーマットブロックに対する動的リンクライブラリ(DLL)パラメータとして指定され、フレームワークに「ハードコード」されない。さらに、データログイベントのフォーマッティングは、エンドユーザによって構成できる。たとえば、イベントを、人間が読取り可能なテキスト、スプレッドシート又はデータベースのためのコンマ区切りの値、アプリケーション特定のテキスト又はさらに処理するためのバイナリフォーマットにフォーマットしてもよく、又はそれらを完全に無視してもよい。データログフレームワークは、データログストリームの宛先から独立している。さらに、フォーマット及び出力ストリームは拡張できる。すなわち、ユーザは、フレームワークを変更することなくシステムに新たなIDatalogFormat及びIDatalogStreamインプリメンテーションを追加してもよい。テストクラス(及び他のデータログソース)及びそれらの対応するデータログイベントもまた拡張可能であり、そのため、フレームワークは特定のソース又はイベントタイプについて知る必要がない。ユーザが新たなデータログイベントタイプの新たなテストクラスを追加する際、データログフレームワークの変更は不要である。
関連技術分野の熟練者(当業者)は、依然として同じ基本の根本的なメカニズム及び方法を採用しながら、開示された実施形態の多くのあり得る変更を使用してもよい、ということを理解するであろう。上述した記述は、説明の目的のために、特定の実施形態を参照して述べた。しかしながら、上記例示的な論考は、網羅的であるように、又は本発明を開示した正確な形態に限定するようにも意図されていない。上記教示に鑑みて、多くの変更及び変形が可能である。本発明の原理とその実際的な適用とを説明するように、且つ当業者が、企図された特定の使用に適するよう、本発明及びさまざまな実施形態をさまざまな変更態様で最もよく利用することができるように、実施形態を選択し述べた。
本発明の一実施形態によるオープンアーキテクチャ試験システムを示す図である。 本発明の一実施形態によるデータログフレームワークのインプリメンテーションを示す図である。 本発明の一実施形態によるデータログソースのインプリメンテーションを示す図である。 本発明の一実施形態によるソースタイプを登録する方法を示す図である。 本発明の一実施形態によるデータをフォーマットしストリーミングする方法を示す図である。 本発明の一実施形態による動的にデータロギングを可能にすることのインプリメンテーションを示す図である。 本発明の一実施形態による動的にデータロギングを不能にすることのインプリメンテーションを示す図である。 本発明の一実施形態による動的にデータログフォーマットを変更することのインプリメンテーションを示す図である。 本発明の一実施形態による動的にデータログ出力ストリームを割り当てることのインプリメンテーションを示す図である。 本発明の一実施形態による動的にデータログ出力ストリームを使用不能にすることのインプリメンテーションを示す図である。 本発明の一実施形態による動的に新たなソースを適合させることのインプリメンテーションを示す図である。

Claims (16)

  1. ソースから宛先に試験情報を通信する方法であって、
    モジュール式試験システムを提供することであって、該モジュール式試験システムは、少なくとも1つのサイトコントローラを制御するシステムコントローラを備え、該少なくとも1つのサイトコントローラは少なくとも1つの試験モジュールを制御するためのものである、モジュール式試験システムを提供すること、
    ユーザ定義データログフォーマットの拡張をサポートするデータログフレームワークを提供すること、
    ユーザ開始データログイベントをサポートするサポートクラスを提供すること、
    前記ソースから前記宛先に入力試験情報を通信するように要求するデータログイベントを受け取ること、
    前記宛先、前記データログフレームワーク及び前記サポートクラスに基づいて出力試験情報を構成すること、及び
    前記出力試験情報を前記宛先に転送すること
    を含む、ソースから宛先に試験情報を通信する方法。
  2. 前記データログフレームワークは、
    異なるベンダからの個々のソースの前記入力試験情報をサポートするソースインタフェースと、
    データログソース及び宛先のクラスを表すタイプインタフェースと、
    フォーマッティング機能を提供するフォーマットインタフェースと、
    フォーマットされた試験情報を異なる宛先に転送するストリームインタフェースと、
    対応するソース、ストリーム、フォーマット及び宛先に応じてデータログイベントを管理するデータログマネージャと、
    を含む、請求項1に記載の方法。
  3. 前記サポートクラスは、
    ヘッダ、タイプ及びイベント情報を格納するデータログ値クラスと、
    ユーザイベントのタイプ及び名前を結合するデータログフォーマットマップクラスと、
    フォーマットマップのグループをバンドルするデータログフォーマットグループクラスと、
    ユーザ定義フォーマットクラスをサポートするユーザフォーマットクラスと、
    1組の事前定義されたフォーマットクラスをサポートする汎用フォーマットクラスと、
    を含む、請求項1に記載の方法。
  4. 前記データログフレームワークを提供するステップは、
    1つ又は複数のデータログストリームを生成すること、
    1つ又は複数のユーザフォーマットを生成すること、
    1つ又は複数のデータログフォーマットマップを生成すること、
    1つ又は複数のデータログフォーマットグループを生成すること、及び
    前記1つ又は複数のデータログストリーム、前記1つ又は複数のユーザフォーマット、前記1つ又は複数のデータログフォーマットマップ及び前記1つ又は複数のデータログフォーマットグループを対応するデータログマネージャにリンクすること
    をさらに含む、請求項1に記載の方法。
  5. 前記データログフレームワークは、入力試験情報の前記ソース及び内容から独立している、請求項1に記載の方法。
  6. 前記データログフレームワークは、出力試験情報の前記宛先及び内容から独立している、請求項1に記載の方法。
  7. 前記出力試験情報のフォーマットは、ユーザによって構成可能である、請求項1に記載の方法。
  8. 前記構成するステップは、
    データログ値オブジェクトを生成することであって、該データログ値オブジェクトはタイプ及びイベント情報を含む、データログ値オブジェクトを生成すること、
    対応する宛先、データログフレームワーク及びサポートクラスに基づいてデータログフォーマットオブジェクトを確定すること、及び
    該データログフォーマットオブジェクトを使用して前記出力試験情報をフォーマットすること
    を含む、請求項1に記載の方法。
  9. モジュール式試験システムであって、
    システムコントローラと、
    該システムコントローラに結合される少なくとも1つのサイトコントローラと、
    少なくとも1つの試験モジュール及びその対応する被試験デバイス(DUT)と、
    ユーザ定義データログフォーマットの拡張をサポートするように構成されるデータログフレームワークと、
    ユーザ開始データログイベントをサポートするように構成される1つ又は複数のサポートクラスと、
    前記ソースから前記宛先に入力試験情報を通信するように要求するデータログイベントを受け取る手段と、
    前記宛先、前記データログフレームワーク及び前記サポートクラスに基づいて出力試験情報を構成する手段と、
    該出力試験情報を前記宛先に転送する手段と、
    を具備する、モジュール式試験システム。
  10. 前記データログフレームワークは、
    異なるベンダからの個々のソースの前記入力試験情報をサポートするソースインタフェースと、
    データログソース及び宛先のクラスを表すタイプインタフェースと、
    フォーマッティング機能を提供するフォーマットインタフェースと、
    フォーマットされた試験情報を異なる宛先に転送するストリームインタフェースと、
    対応するソース、ストリーム、フォーマット及び宛先に応じてデータログイベントを管理するデータログマネージャと、
    を含む、請求項9に記載のシステム。
  11. 前記サポートクラスは、
    ヘッダ、タイプ及びイベント情報を格納するデータログ値クラスと、
    ユーザイベントのタイプ及び名前を結合するデータログフォーマットマップクラスと、
    フォーマットマップのグループをバンドルするデータログフォーマットグループクラスと、
    ユーザ定義フォーマットクラスをサポートするユーザフォーマットクラスと、
    1組の事前定義されたフォーマットクラスをサポートする汎用フォーマットクラスと、
    を含む、請求項9に記載のシステム。
  12. 前記データログフレームワークを提供することは、
    1つ又は複数のデータログストリームを生成する手段と、
    1つ又は複数のユーザフォーマットを生成する手段と、
    1つ又は複数のデータログフォーマットマップを生成する手段と、
    1つ又は複数のデータログフォーマットグループを生成する手段と、
    前記1つ又は複数のデータログストリーム、前記1つ又は複数のユーザフォーマット、前記1つ又は複数のデータログフォーマットマップ及び前記1つ又は複数のデータログフォーマットグループを対応するデータログマネージャにリンクする手段と
    をさらに具備する、請求項9に記載のシステム。
  13. 前記データログフレームワークは、入力試験情報の前記ソース及び内容から独立している、請求項9に記載のシステム。
  14. 前記データログフレームワークは、出力試験情報の前記宛先及び内容から独立している、請求項9に記載のシステム。
  15. 前記出力試験情報のフォーマットは、ユーザによって設定できる、請求項9に記載のシステム。
  16. 前記出力試験情報を構成する手段は、
    タイプ及びイベント情報を含むデータログ値オブジェクトを生成する手段と、
    対応する宛先、データログフレームワーク及びサポートクラスに基づいてデータログフォーマットオブジェクトを確定する手段と、
    該データログフォーマットオブジェクトを使用して前記出力試験情報をフォーマットする手段と
    を具備する、請求項9に記載のシステム。
JP2007120882A 2004-05-22 2007-05-01 モジュール式試験システム Expired - Fee Related JP4608517B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US57357704P 2004-05-22 2004-05-22
US10/917,821 US7430486B2 (en) 2004-05-22 2004-08-13 Datalog support in a modular test system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006519569A Division JP2007528992A (ja) 2004-05-22 2005-05-23 モジュール式試験システムにおけるデータログサポート

Publications (2)

Publication Number Publication Date
JP2007256295A true JP2007256295A (ja) 2007-10-04
JP4608517B2 JP4608517B2 (ja) 2011-01-12

Family

ID=34968847

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006519569A Withdrawn JP2007528992A (ja) 2004-05-22 2005-05-23 モジュール式試験システムにおけるデータログサポート
JP2007120882A Expired - Fee Related JP4608517B2 (ja) 2004-05-22 2007-05-01 モジュール式試験システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006519569A Withdrawn JP2007528992A (ja) 2004-05-22 2005-05-23 モジュール式試験システムにおけるデータログサポート

Country Status (7)

Country Link
US (1) US7430486B2 (ja)
EP (1) EP1756604B1 (ja)
JP (2) JP2007528992A (ja)
AT (1) ATE440292T1 (ja)
DE (1) DE602005016108D1 (ja)
TW (1) TW200608187A (ja)
WO (1) WO2005114238A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8547125B2 (en) 2010-01-26 2013-10-01 Advantest Corporation Test apparatus and test module

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040225459A1 (en) * 2003-02-14 2004-11-11 Advantest Corporation Method and structure to develop a test program for semiconductor integrated circuits
US8082541B2 (en) * 2004-12-09 2011-12-20 Advantest Corporation Method and system for performing installation and configuration management of tester instrument modules
US20090013218A1 (en) * 2007-07-02 2009-01-08 Optimal Test Ltd. Datalog management in semiconductor testing
US8839057B2 (en) * 2011-02-03 2014-09-16 Arm Limited Integrated circuit and method for testing memory on the integrated circuit
CN102866348A (zh) * 2012-09-23 2013-01-09 成都市中州半导体科技有限公司 集成电路测试数据查询系统及查询方法
US10161993B2 (en) 2013-02-21 2018-12-25 Advantest Corporation Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
US20140236527A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US11009550B2 (en) 2013-02-21 2021-05-18 Advantest Corporation Test architecture with an FPGA based test board to simulate a DUT or end-point
US10162007B2 (en) 2013-02-21 2018-12-25 Advantest Corporation Test architecture having multiple FPGA based hardware accelerator blocks for testing multiple DUTs independently
US9952276B2 (en) 2013-02-21 2018-04-24 Advantest Corporation Tester with mixed protocol engine in a FPGA block
US9810729B2 (en) 2013-02-28 2017-11-07 Advantest Corporation Tester with acceleration for packet building within a FPGA block
US9310427B2 (en) 2013-07-24 2016-04-12 Advantest Corporation High speed tester communication interface between test slice and trays
US10126362B2 (en) 2014-12-15 2018-11-13 International Business Machines Corporation Controlling a test run on a device under test without controlling the test equipment testing the device under test
KR102583174B1 (ko) 2018-06-12 2023-09-26 삼성전자주식회사 테스트 인터페이스 보드, 이를 포함하는 테스트 시스템 및 이의 동작 방법
JP6602517B1 (ja) 2018-11-20 2019-11-06 三菱電機株式会社 通信システム、リスト配信局、通信方法、および通信プログラム
US10976361B2 (en) 2018-12-20 2021-04-13 Advantest Corporation Automated test equipment (ATE) support framework for solid state device (SSD) odd sector sizes and protection modes
US11137910B2 (en) 2019-03-04 2021-10-05 Advantest Corporation Fast address to sector number/offset translation to support odd sector size testing
US11237202B2 (en) 2019-03-12 2022-02-01 Advantest Corporation Non-standard sector size system support for SSD testing
US10884847B1 (en) 2019-08-20 2021-01-05 Advantest Corporation Fast parallel CRC determination to support SSD testing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028439A (en) * 1997-10-31 2000-02-22 Credence Systems Corporation Modular integrated circuit tester with distributed synchronization and control
US20030005375A1 (en) * 2001-06-29 2003-01-02 Krech Alan S. Algorithmically programmable memory tester with test sites operating in a slave mode
JP2003066123A (ja) * 2001-08-22 2003-03-05 Hitachi Ltd テスト方法およびテスト装置並びにテスト装置の構築方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK557884A (da) * 1983-11-25 1985-05-26 Mars Inc Automatisk testudstyr
US5181201A (en) * 1990-02-07 1993-01-19 General Dynamics Land Systems Inc. Interface chip device
US5488573A (en) * 1993-09-02 1996-01-30 Matsushita Electric Industrial Co., Ltd. Method for generating test programs
US5668745A (en) * 1995-10-20 1997-09-16 Lsi Logic Corporation Method and apparatus for testing of semiconductor devices
US5892949A (en) * 1996-08-30 1999-04-06 Schlumberger Technologies, Inc. ATE test programming architecture
US6182258B1 (en) * 1997-06-03 2001-01-30 Verisity Ltd. Method and apparatus for test generation during circuit design
US6195774B1 (en) * 1998-08-13 2001-02-27 Xilinx, Inc. Boundary-scan method using object-oriented programming language
US6601018B1 (en) * 1999-02-04 2003-07-29 International Business Machines Corporation Automatic test framework system and method in software component testing
US6427223B1 (en) * 1999-04-30 2002-07-30 Synopsys, Inc. Method and apparatus for adaptive verification of circuit designs
US6678643B1 (en) 1999-06-28 2004-01-13 Advantest Corp. Event based semiconductor test system
US6405364B1 (en) * 1999-08-31 2002-06-11 Accenture Llp Building techniques in a development architecture framework
ATE298904T1 (de) * 2000-07-07 2005-07-15 Sun Microsystems Inc Prüfung eines softwarepakets
CA2321346A1 (en) * 2000-09-28 2002-03-28 Stephen K. Sunter Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data
US6868513B1 (en) * 2000-10-26 2005-03-15 International Business Machines Corporation Automated multi-device test process and system
DE10392497T5 (de) * 2002-04-11 2005-02-17 Advantest Corp. Herstellungsverfahren und Herstellungsvorrichtung zum Vermeiden eines Prototypen-Aufschubs bei der ASIC/SOC-Herstellung
US7055135B2 (en) * 2002-05-06 2006-05-30 Sun Microsystems, Inc. Method for debugging an integrated circuit
US6779170B1 (en) * 2002-12-11 2004-08-17 Nvidia Corporation Method and apparatus for performing logic emulation
US7290192B2 (en) * 2003-03-31 2007-10-30 Advantest Corporation Test apparatus and test method for testing plurality of devices in parallel
US7460988B2 (en) * 2003-03-31 2008-12-02 Advantest Corporation Test emulator, test module emulator, and record medium storing program therein
US7197417B2 (en) * 2003-02-14 2007-03-27 Advantest America R&D Center, Inc. Method and structure to develop a test program for semiconductor integrated circuits
US7184917B2 (en) * 2003-02-14 2007-02-27 Advantest America R&D Center, Inc. Method and system for controlling interchangeable components in a modular test system
US20040225459A1 (en) * 2003-02-14 2004-11-11 Advantest Corporation Method and structure to develop a test program for semiconductor integrated circuits
TWI344595B (en) 2003-02-14 2011-07-01 Advantest Corp Method and structure to develop a test program for semiconductor integrated circuits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6028439A (en) * 1997-10-31 2000-02-22 Credence Systems Corporation Modular integrated circuit tester with distributed synchronization and control
US20030005375A1 (en) * 2001-06-29 2003-01-02 Krech Alan S. Algorithmically programmable memory tester with test sites operating in a slave mode
JP2003066123A (ja) * 2001-08-22 2003-03-05 Hitachi Ltd テスト方法およびテスト装置並びにテスト装置の構築方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8547125B2 (en) 2010-01-26 2013-10-01 Advantest Corporation Test apparatus and test module

Also Published As

Publication number Publication date
WO2005114238A1 (en) 2005-12-01
EP1756604B1 (en) 2009-08-19
US20050262414A1 (en) 2005-11-24
EP1756604A1 (en) 2007-02-28
JP4608517B2 (ja) 2011-01-12
ATE440292T1 (de) 2009-09-15
DE602005016108D1 (de) 2009-10-01
TW200608187A (en) 2006-03-01
JP2007528992A (ja) 2007-10-18
US7430486B2 (en) 2008-09-30

Similar Documents

Publication Publication Date Title
JP4608517B2 (ja) モジュール式試験システム
US7437261B2 (en) Method and apparatus for testing integrated circuits
US20050022087A1 (en) Method and system for controlling interchangeable components in a modular test system
JP3954639B2 (ja) 集積回路をテストする方法および装置
CN1981202A (zh) 模块化测试系统中的数据日志支持
US7210087B2 (en) Method and system for simulating a modular test system
JP3735636B2 (ja) 試験エミュレート装置、試験モジュールエミュレート装置、及びこれらのプログラムを記録した記録媒体
JP4608516B2 (ja) モジュール式試験システムに試験モジュールを統合する方法およびモジュール式試験システム
JP2006518460A5 (ja)
JP2009116876A (ja) 試験装置のシミュレーションシステム、方法、及びプログラム製品
JP2009116878A (ja) 試験装置のシミュレーションシステム、方法、及びプログラム製品
JP2007057541A (ja) 試験エミュレート装置
CN100456043C (zh) 检测集成电路的方法和装置
TWI287639B (en) A distributed operating system for a semiconductor test system for testing at least one device under test
KR20070017535A (ko) 모듈식 테스트 시스템의 데이터로그 지원
JP2005285092A (ja) 試験エミュレート装置
Rajsuman et al. Open architecture test system: System architecture and design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080415

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100125

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100802

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101005

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101008

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees