(57)【要約】      （修正有）【課題】シーケンス項目の管理と実行のためのテストシーケンサソフトウェアアプリケーションを提供する。【解決手段】本テストシーケンサは、管理モジュールと実行モジュールを含む。管理モジュールは、多数のシーケンス項目定義を得る機能、構成情報を得る機能、シーケンス項目定義から順番に並んだシーケンス項目の多数のリストを作成する機能、およびシーケンス項目の各リストを構成情報からの多数のシーケンスエンジンのうちの１つに別々にリンクする機能を有する。実行モジュールはシーケンサコントローラモジュール２２５と多数のシーケンスエンジン２３０を含む。シーケンスコントローラモジュール２２５は、あらかじめ選択された順序で多数のシーケンスエンジン２３０を各々起動し、各シーケンスエンジン２３０はそのシーケンスエンジン２３０にリンクされた各リスト２３５内の順番に並んだシーケンス項目２４０を実行する。【選択図】図２
2006053924.tif 000002
【特許請求の範囲】
【請求項１】
テストシーケンサソフトウェアアプリケーションであって、
多数のシーケンス項目定義を得る機能と、構成情報を得る機能と、前記シーケンス項目定義から順番に並んだシーケンス項目の多数のリストを作成する機能と、前記シーケンス項目の各リストを前記構成情報からの多数のシーケンスエンジンのうちの１つに別々にリンクする機能とを備える管理モジュールと、
実行モジュールと、を有し、
前記実行モジュールは、
シーケンサコントローラモジュールと、
多数のシーケンスエンジンを含み、前記シーケンサコントローラモジュールはあらかじめ選択された順序で前記多数のシーケンスエンジンの各々を起動し、各シーケンスエンジンはそのシーケンスエンジンにリンクされた各リスト内の順番に並んだシーケンス項目を実行する、
テストシーケンサソフトウェアアプリケーション。
【請求項２】
前記テストシーケンサソフトウェアアプリケーションの機能が、１つまたは複数のシーケンスエンジンの追加、削除、または修正、および、前記構成情報の適切な修正を介して修正できる、請求項１に記載のテストシーケンサソフトウェアアプリケーション。
【請求項３】
前記テストシーケンサソフトウェアアプリケーションの機能が、１つまたは複数のシーケンス項目定義の追加、削除、または修正を介して修正できる、請求項１に記載のテストシーケンサソフトウェアアプリケーション。
【請求項４】
多数のシーケンス項目定義がランタイム時に得られ、順番に並んだシーケンス項目の多数のリストがランタイム時に前記シーケンス項目定義から作成され、シーケンス項目の各リストがランタイム時に前記構成情報からの多数のシーケンスエンジンの１つに別々にリンクされる、請求項１に記載のテストシーケンサソフトウェアアプリケーション。
【請求項５】
前記シーケンサコントローラモジュールおよび前記多数のシーケンスエンジンがインタープリタである、請求項１に記載のテストシーケンサソフトウェアアプリケーション。
【請求項６】
前記構成情報が非プログラマチックデータストアから得られる、請求項１に記載のテストシーケンサソフトウェアアプリケーション。
【請求項７】
テストシーケンサソフトウェアアプリケーションによってシーケンス項目を管理および実行する方法であって、
多数のシーケンス項目定義を得るステップと、
構成情報を得るステップと、
前記シーケンス項目定義から順番に並んだシーケンス項目の多数のリストを作成するステップと、
前記シーケンス項目の各リストを前記構成情報から多数のシーケンスエンジンのうちの１つに別々にリンクするステップと、
あらかじめ選択された順序で前記多数のシーケンスエンジンを各々起動することであって、前記起動はシーケンサコントローラモジュールによって行われるステップと、
前記各シーケンスエンジンにリンクされた各リスト内の順番に並んだシーケンス項目を該シーケンスエンジンによって実行するステップと、
を含む方法。
【請求項８】
前記多数のシーケンス項目定義を得るステップがランタイム時に行われ、前記順番に並んだシーケンス項目の多数のリストを前記シーケンス項目定義から作成するステップがランタイム時に行われ、前記シーケンス項目の各リストを前記構成情報からの多数のシーケンスエンジンのうちの１つに別々にリンクするステップがランタイム時に行われる、請求項７に記載の方法。
【請求項９】
テストシーケンサソフトウェアアプリケーションが項目シーケンスを管理および実行するために、コンピュータが実行可能な命令のコンピュータプログラムを具体化するコンピュータ読み取り可能メモリデバイスであって、前記命令は、
多数のシーケンス項目定義を得るステップと、
構成情報を得るステップと、
前記シーケンス項目定義から順番に並んだシーケンス項目の多数のリストを作成するステップと、
前記シーケンス項目の各リストを前記構成情報からの多数のシーケンスエンジンのうちの１つに別々にリンクするステップと、
あらかじめ選択された順序で前記多数のシーケンスエンジンを各々起動することであって、前記起動はシーケンサコントローラモジュールによって行われるステップと、
前記各シーケンスエンジンにリンクされた各リスト内の順番に並んだシーケンス項目を該シーケンスエンジンによって実行するステップと、
を含むコンピュータ読み取り可能メモリデバイス。
【請求項１０】
前記多数のシーケンス項目定義を得るステップがランタイム時に行われ、前記順番に並んだシーケンス項目の多数のリストを前記シーケンス項目定義から作成するステップがランタイム時に行われ、前記シーケンス項目の各リストを前記構成情報からの多数のシーケンスエンジンのうちの１つに別々にリンクするステップがランタイム時に行われる、請求項９に記載のコンピュータ読み取り可能メモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストシーケンサに関する。
【背景技術】
【０００２】
テストと測定は最近の製品開発および製造の重要な部分である。これらのテストを行う機器は典型的には、いくつかの選択されたテストを行うように自動化できる。これらのテストは、多数のシステムあるいはコンポーネントに対する種々の条件の下で実行される。任意のテストシーケンスが行う項目の数は、製品がまだ開発中であるかまたは生産されているかに左右され、また生産中の品目についてはマーケットの大きさに左右される。
【０００３】
機器によるテストをコンピュータから制御する場合、少数の基本的なテスト技術が使用される。１つの技術はテストプログラムを使用することである。この技術が生み出すのは、柔軟性がなく、製品の変更やテスト戦略の進展に伴って変えるためには時間がかかる、手でコード化されたプログラムである。またこの技術は、典型的なハードウェア開発者が通常有しないレベルのプログラミングスキルを必要とする。これはさらにプログラムを変える時間を増加させ、テストの変更を作成し確認することの複雑さを増加し、このような変更コストを増加させる。
【０００４】
別の技術は、コンピュータから機器の仮想フロントパネルをユーザに提供するインタラクティブソフトフロントパネルを使用することである。しかしこの技術を使用する場合、典型的には、コンピュータはテストステップを何も記憶しない。テストは自動化されず、ユーザは、コンピュータを使用して機器を制御するだけである。予備的なツールとしては有用であるが、製品の設計が変更された場合または多数のプロトタイプが構成された場合のようにテストが繰り返されねばならない時、または製造や大規模テストなどの環境では、有効ではない。
【０００５】
さらに別の技術は、いわゆるテストエクゼクティブ（test executive）を使用する。テストエクゼクティブは、種々のソフトウエアコンポーネントに定義されたテストの実行を制御できるプログラムである。これらのソフトウエアコンポーネントは実際には小さなテストプログラムそのものであり、必要に応じてテストエクゼクティブが起動する。製品とテスト戦略が発展すると、テストエクゼクティブが実行できるものに新しいテストコンポーネントが加えられ、既存のテストコンポーネントは必要に応じて修正できる。テストエクゼクティブはテストプログラムより柔軟であるが、典型的なユーザが希望するより複雑で込み入っている。
【０００６】
これまで種々の会社が多くのテストエクゼクティブを市販している。アジレント  テクノロジー社のＴｅｓｔＥｘｅｃＳＬとＦＴＭ−３００、Ｎａｔｉｏｎａｌ  Ｉｎｓｔｒｕｍｅｎｔ社のＴｅｓｔＳｔａｎｄ、Ｆｌｕｋｅ社のＳｐｅｃｔｒｕｍはいくつかの例である。これらおよび他のテストエクゼクティブ製品は、ユーザが定義したテストのシーケンシングを行うために単一のシーケンシングエンジンを使用する。これらのテストエクゼクティブが有する一貫した問題は、シーケンサの機能が一部のユーザには不適切で、他のユーザには複雑すぎるということである。その結果、ユーザは、希望するより少ない能力で処理したり、必要ではなく理解もしない特徴や機能を扱わなければならない。一部のユーザは必要な機能と不必要な機能に関して強い感情を持っているため、これらのユーザは自分の用途のためにはテストエクゼクティブは最適未満であると感じる。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ダイナミック環境で動作し、不断に変化する環境の課題に対処するように発展することのできるほとんどのシステムと同様に、テストエクゼクティブは新しい機能と修正された機能を絶えず追加する傾向がある。これらの機能が追加されるにつれ、テストエクゼクティブは時間とともにますます複雑になる傾向がある。これらの追加のほとんどは、追加されたときにユーザに明らかになり、ついで使用できるようになる。しかし、これらの新しい機能は通常ユーザベースに普遍的に追加されるが、多くのユーザにとっては追加機能を必要としない可能性があるので問題である。多くのユーザにとって、新機能の追加は混乱といらいらのポイントとなりうる。新機能がユーザにとって必要ではなく、そのことで煩わされたくないものである場合も多い。よくても、ユーザは、必要としない新機能を無視するのに十分な知識が必要である。悪ければ、ユーザは、新しい機能が自分たちのプログラムとテストシーケンスに干渉しないようにするための方法を知る必要がある。さらに、これらの強化を加えることができる唯一の組織はテストエクゼクティブを提供している会社である。顧客の基本的なテストエクゼクティブの機能を強化し、特定の顧客ベースによりよいサービスを提供できる独自の拡張機能を追加しようと考えるシステムインテグレータは、このような機能を容易に追加することはできない。
【課題を解決するための手段】
【０００８】
代表的な実施形態では、シーケンス項目の管理と実行のためのテストシーケンサソフトウェアアプリケーションと方法を開示する。テストシーケンサは管理モジュールと実行モジュールを含む。管理モジュールは、多数のシーケンス項目定義を得る機能、構成情報を得る機能、シーケンス項目定義から順番に並んだシーケンス項目の多数のリストを作成する機能、およびシーケンス項目の各リストを構成情報からの多数のシーケンスエンジンのうちの１つに別々にリンクする機能を有する。実行モジュールはシーケンサコントローラモジュールと多数のシーケンスエンジンを含む。シーケンサコントローラモジュールは、あらかじめ選択された順序で多数のシーケンスエンジンを各々起動し、各シーケンスエンジンはそのシーケンスエンジンにリンクされた各リスト内の順番に並んだシーケンス項目を実行する。
【０００９】
他の代表的な実施形態では、テストシーケンサソフトウェアアプリケーションによって項目のシーケンスを起動および実行する方法を開示する。この方法は、多数のシーケンス項目定義を得ることと、構成情報を得ることと、シーケンス項目定義から順番に並んだシーケンス項目の多数のリストを作成することと、シーケンス項目の各リストを構成情報からの多数のシーケンスエンジンのうちの１つに別々にリンクすることと、あらかじめ選択された順序で多数のシーケンスエンジンの各々を起動することと、各シーケンスエンジンがそのシーケンスエンジンにリンクされた各リスト内の順番に並んだシーケンス項目を実行することとを含む。多数のシーケンスエンジンの各々をあらかじめ選択された順序で起動するステップにおける起動は、シーケンサコントローラモジュールが行なう。
【００１０】
本明細書に提示される代表的な実施形態の他の態様および利点は、次の詳細な説明を付随する図面と共に参照すると明らかになるであろう。
【００１１】
添付図面は、種々の代表的な実施形態をより完全に説明し、当業者が使用してこれらの実施形態およびその固有の利点をよりよく理解するための視覚的な表現を提供するものである。これらの図面の中で、同様な参照数字は対応する要素を識別する。
【発明を実施するための最良の形態】
【００１２】
例示のための図面に示すように、拡張可能でスケーリング可能な新規のテスト測定シーケンサを、種々の代表的な実施形態で開示する。これらの実施形態は、新しい機能を追加する機能、特定のユーザまたはユーザグループが不必要と考える機能を削除する機能を提供する。これらの変更は比較的容易に行なうことができ、シーケンサの効果的なカスタム化を介して、時間と共に複雑さが増す以前のシーケンサの傾向を回避する機能をこのテスト測定シーケンサに提供することができる。
【００１３】
次の詳述および図面のうちいくつかの図の中で、同様な要素は同様な参照番号で識別する。
【００１４】
代表的な実施形態の実装では、テスト測定シーケンステストは従来のプログラミング言語でコードを書くことに頼らずに準備できる。使用される技術は、本明細書に開示されるシーケンサ機能の拡張および／または制限の両方を可能にする。
【００１５】
代表的な実施形態では、本明細書に開示されるシーケンサは、シーケンサプロバイダ、システムインテグレータ、またはユーザによって容易に拡張でき、新しいシーケンシング機能を組み込むことができる。このような新しいシーケンシング機能の例は、シーケンサが、並列にまたは特定のイベント発生時にシーケンシング操作を行なう機能を含む。シーケンサは容易に縮小してユーザが必要としないシーケンシング機能を削除することができる。このような例は、簡単な順序の実行が必要なアプリケーションについては、「ｆｏｒ．．ｌｏｏｐ」シーケンシング機能の削除、および／または「ｉｆ．．ｔｈｅｎ．．ｅｌｓｅ」シーケンシング機能の削除を含んでいてもよい。
【００１６】
代表的な実施形態では、シーケンシングランタイムは、テストエクゼクティブのユーザ、システムインテグレータ、および／またはプロバイダが定義したシーケンスの管理、および、これらのシーケンスの実行という２つの部分に分割される。シーケンス管理は実行のためのシーケンスを準備する責任があるが、これらのシーケンスの実行順序に関する正確な知識は有しない。実行順序は１つまたは複数のシーケンス実行エンジンによって決定される。これらのシーケンス実行エンジンは、提示されたシーケンス項目の１つまたは複数のリストを実行する方法を知っているが、それらのリストを作成する方法は知らない。シーケンス定義は、シーケンス項目のリストだけでなくリストと共に使用すべきシーケンス実行エンジンも指定する。
【００１７】
このアーキテクチャの結果、シーケンシングアプリケーションは、新しいタイプのシーケンシング操作をリストに行なう追加のシーケンシング実行エンジンを書くことにより拡張できる。シーケンシング実行エンジンはシーケンス項目の実行順序だけを扱えばよく、これらの項目の定義、管理、実行可能なオブジェクトへの変換の方法の機構は扱わなくてもよいので、シーケンシング実行エンジンを書くことは全シーケンサを書くことよりもはるかに簡単である。
【００１８】
さらに、シーケンシングアプリケーションは、ユーザがアプリケーションユーザインタフェース内でアクセスを有するシーケンシング実行エンジンのタイプを制限することによって簡単にすることができる。これにより、シーケンサ製品を特定の顧客に合わせることが可能になり、特定の顧客が必要な機能だけがシーケンサプリケーション内で見えるようになり、顧客が必要とせず理解する必要もない複雑性を除去することができる。
【００１９】
図１は、種々の代表的な実施形態に記述される測定システム１００の構成図である。図１では、コンピュータ１１５は中央演算処理装置（ＣＰＵ）１２０、メモリ１２５、モニタ１３５を含む。テスト構成の代表的な実施形態では、本明細書ではテストシーケンサソフトアプリケーション２００およびテストシーケンサ２００とも呼ばれるテストシーケンサソフトウェアプログラム２００は、コンピュータ１１５上で動作し、定義された測定条件下で被測定物（ＤＵＴ）１５５の測定を行なう装置１５０と通信する。テスト条件と測定結果は種々の手段によって収集および記憶することができる。この中にはコンピュータ１１５上のファイル内の記憶域が含まれるが、これに限定されるものではない。
【００２０】
図２は、種々の代表的な実施形態に記述されるテストシーケンサソフトウェアプログラム２００の構成図である。図２では、テストシーケンサ２００は管理モジュール２０１と実行モジュール２０２を含む。管理モジュール２０１は、テストコントローラモジュール２０５、デフォルト構成モジュール２１０、構成（configuration）ファイル２１５を含む。実行モジュール２０２は、シーケンサコントローラモジュール２２５、集合的にシーケンスエンジン２３０と呼ばれるいくつかのシーケンスエンジンを含む。図２の代表的な実施形態では、テストシーケンサ２００はさらに構成ファイルエディタ２２０を含む。以下の説明で構成ファイル２１５について言及するが、あるいはより一般的には、たとえばデータベースとして任意の非プログラマチックデータストア（non-programmatic data store）２１５を意味する。
【００２１】
上記のように、実行モジュール２０２は、集合的にシーケンスエンジン２３０と呼ばれるいくつかのシーケンスエンジンを含む。図２の代表的な実施形態では、シーケンスエンジンＡ２３０ａ、シーケンスエンジンＢ２３０ｂ、シーケンスエンジンＣ２３０ｃと識別される３つのシーケンスエンジン２３０がある。しかし、シーケンスエンジン２３０の数を調節し、テスト測定アプリケーションの必要性に適合させることができる。
【００２２】
さらに図２では、シーケンスエンジン２３０は各々、集合的にシーケンスリスト２３５と呼ばれるいくつかのシーケンスリストにリンクされる。図２の代表的な実施形態では、シーケンスエンジンＡ２３０ａは、シーケンスリストＡ２３５ａと識別される単一のシーケンスリスト２３５にリンクされる。シーケンスエンジンＢ２３０ｂは、シーケンスリストＢ１  ２３５ｂ１、シーケンスリストＢ２  ２３５ｂ２、シーケンスリストＢ３  ２３５ｂ３と識別される３つのシーケンスリスト２３５にリンクされる。シーケンスエンジンＣ２３０ｃは、シーケンスリストＣ１  ２３５ｃ１、シーケンスリストＣ２  ２３５ｃ２と識別される２つのシーケンスリスト２３５にリンクされる。図２の代表的な実施形態では、シーケンスエンジンＡ２３０ａ、シーケンスエンジンＢ２３０ｂ、シーケンスエンジンＣ２３０ｃと識別される３つのこのようなシーケンスエンジン２３０がある。各シーケンスエンジン２３０にリンクされるシーケンスリスト２３５の数を調節して、テスト測定アプリケーションのニーズに適合させられることに注意されたい。
【００２３】
上記の代表的な実施形態に述べるように、シーケンシングランタイム（sequencing runtime）は２つの部分に分けられる。これらの部分のうち第１の部分は、テストシーケンサ２００のユーザ、システムインテグレータ、および／またはプロバイダが定義するシーケンスの管理である。これらのユーザが定義する定義は、多くの個々のブロックに分離でき、これらは集合的にシーケンス項目定義（Sequence items Definition）２４０と呼ばれる。図２に示すように、シーケンス項目定義２４０はテストシーケンス定義ファイル２４１に組み合せることができる。テストシーケンサソフトウェアアプリケーション２００を実行すると、テストコントローラモジュール２０５はまず、おそらく図２には示されない別のモジュールを介して、デフォルト構成モジュール２１０内にある構成情報を使用してモジュール２０５自体の実行の設定を開始する。デフォルト構成モジュール２１０は、コンピュータメモリ１２５内に記憶されたファイルであってもよいし、テストシーケンサソフトウェアアプリケーション２００内にコード化してもよいし、または他の適切な手段を介して使用可能にしてもよい。
【００２４】
テストコントローラモジュール２０５は、図２に示さない別のモジュールを介して、構成ファイル２１０内にある構成情報にアクセスすることによってモジュール２０５自体が実行するための設定を継続する。構成ファイル２１５がなければ、テストコントローラモジュール２０５に、テストシーケンサを実行するための構成はデフォルトの構成モジュール２１０内の構成であることを示す場合がある。これは、テストシーケンサ２００が、たとえばシーケンスエンジンＡ２３０ａであってもよい１つだけのシーケンスエンジン２３０と、たとえばシーケンスリストＡ２３５ａであってもよい１つだけのシーケンスリスト２３５をデフォルトの構成の中に備えることを示す場合がある。
【００２５】
いずれにせよ、テストコントローラモジュール２０５が必要な構成情報を得ると、デフォルト構成モジュール２１０内の情報と構成ファイル２１５とを介して知識を得たシーケンス項目定義２４０の各々にアクセスし、関連づけられたシーケンスリスト２３５を作成する。特に、テストコントローラモジュール２０５はシーケンス項目定義Ａ２４０ａ内の情報からシーケンスリストＡ２３５ａを作成し、テストコントローラモジュール２０５はシーケンス項目定義Ｂ１  ２４０ｂ１の中の情報からシーケンスリストＢ１  ２３５ｂ１を作成し、テストコントローラモジュール２０５はシーケンス項目定義Ｂ２  ２４０ｂ２の中の情報からシーケンスリストＢ２  ２３５ｂ２を作成し、テストコントローラモジュール２０５はシーケンス項目定義Ｂ３  ２４０ｂ３の中の情報からシーケンスリストＢ３    ２３５ｂ３を作成し、テストコントローラモジュール２０５は、シーケンス項目定義Ｃ１  ２４０ｃ１の中の情報からシーケンスリストＣ１  ２３５ｃ１を作成し、テストコントローラモジュール２０５はシーケンス項目定義Ｃ２  ２４０ｃ２の中の情報からシーケンスリストＣ２  ２３５ｃ２を作成する。
【００２６】
図３Ａは、種々の代表的な実施形態に記述されるシーケンス項目定義２４０の生成および修正のためのエディタの構成図である。図２の代表的な実施形態では、シーケンス項目定義エディタ３０５は、シーケンス項目定義２４０を作成および修正する機能を有する。各シーケンス項目定義２４０は、それ自体の一意的なシーケンス項目定義エディタ３０５を備えることができる。図２と図３Ａの代表的な実施形態では、種々のシーケンス項目定義２４０はテストシーケンス定義ファイル２４１に組み合わせられる。特定のシーケンス項目定義２４０に関連づけられたシーケンス項目定義エディタ３０５を構成し、そのシーケンス項目定義２４０内のシーケンス項目のパラメータおよび／またはプロパティを制御することができる。シーケンス項目定義の組の作成者は、このような調整されたシーケンス項目定義エディタ３０５を使用して、作成者が適当であると指定したパラメータ値とプロパティにその後のユーザを限定することができる。シーケンス項目定義エディタ３０５を使用するとユーザは、所定のコマンド、および／または、所定の値および／または範囲のパラメータだけを挿入できるようになる。エディタの作成者は、一般的なエディタよりも直感的または自然な方法でシーケンス項目制御パラメータを提供することができる。エディタは、ユーザが相互作用するという点で適切なシーケンス項目定義と関連づけられた特定のユーザインタフェース挙動を提供する。例えば、ユーザが新しいＦｏｒ−ｌｏｏｐシーケンスを挿入したければ、シーケンス項目定義エディタ３０５はループを１回と１０回の間に制限することができる。シーケンス項目定義エディタ３０５は、ユーザがループの繰り返しに１５回を入力しないように強制する。別の例では、ユーザが特別のコマンドシーケンスを指定する場合、シーケンス項目定義エディタ３０５はその特別のコマンドから正常にコールできるシーケンス項目だけを表示するように設定できる。上記のいずれの場合でも、シーケンス項目定義エディタ３０５の作成者は、ユーザができることに一定の境界を提供し、また同時にユーザが理解可能で直感的な方法で制御できるパラメータを提供することができる。
【００２７】
図３Ｂは、種々の代表的な実施形態に記述されるシーケンスリスト２３５の構成図である。多くのシーケンス項目３３５を、図３Ｂのシーケンスリスト２３５の中で示す。しかし例示の目的のために、図３Ｂの中の３つのシーケンス項目３３５のうち１つだけを識別番号と共に明示的に示す。
【００２８】
図４Ａは、種々の代表的な実施形態に記述される代表的なシーケンス項目定義２４０の図である。図４Ａの代表的な実施形態では、図示されたシーケンス項目定義２４０は図２のシーケンス項目定義Ｂ１  ２４０ｂ１であり、テストシーケンサ２００が実行すべき、図４Ａではシーケンス項目Ｂ１−１からシーケンス項目Ｂ１−５として示すシーケンス項目４０５の線形リストを含む。
【００２９】
図４Ｂは、種々の代表的な実施形態に記述される別の代表的なシーケンス項目定義２４０の図面である。図４Ｂの代表的な実施形態では、図示されたシーケンス項目定義２４０は図２のシーケンス項目定義Ｂ２  ２４０ｂ２であり、ｉｆ．．ｔｈｅｎ構成内の条件に一致したときにテストシーケンサ２００が行なうべきシーケンス項目Ｂ２−１からシーケンス項目Ｂ２−４を伴うｉｆ．．ｔｈｅｎ．．ｅｌｓｅシーケンス構成を含む。一致しない場合には構成の「ｅｌｓｅ」部分（すなわちシーケンス項目Ｂ３−５）を行なう。
【００３０】
図４Ｃは、種々の代表的な実施形態に記述されるさらに別の代表的なシーケンス項目定義２４０の図である。図４Ｃの代表的な実施形態では、図示されたシーケンス項目定義２４０は図２のシーケンス項目定義Ｂ３  ２４０ｂ３であり、テストシーケンサ２００がＮ回行なうべきシーケンス項目Ｂ３−１からシーケンス項目Ｂ３−６を伴うｆｏｒ．．ｌｏｏｐシーケンス構成を含む。
【００３１】
図５は、種々の代表的な実施形態に記述されるさらに別の代表的なシーケンス項目定義２４０の図である。図５の代表的な実施形態では、図示されたシーケンス項目定義２４０は新しいシーケンス項目定義Ｄ  ２４０ｄである。シーケンス項目定義Ｄ  ２４０ｄは、図５ではシーケンス項目定義リストＢ１  ６４０ｂ１として示されるシーケンス項目定義Ｂ１  ２４０ｂ１からの項目の線形リストと、図５ではシーケンス項目定義リストＢ２  ６４０ｂ２として示されるシーケンス項目定義Ｂ２  ２４０ｂ２からの項目のｉｆ．．ｔｈｅｎ．．ｅｌｓｅリストと、図５ではシーケンス項目定義リストＢ３  ６４０ｂ３として示されるシーケンス項目定義Ｂ３  ２４０ｂ３からの項目のｆｏｒ．．ｌｏｏｐリストとを含む。したがって、代替の実施形態では、１つのシーケンス項目定義２４０からのシーケンス項目の定義は、別のシーケンス項目定義２４０からのシーケンス項目の定義と組み合わせ、新しいシーケンス項目定義２４０を形成することができる。代替の実施形態では、別のシーケンス項目定義２４０内に含まれる１つまたは複数のシーケンス項目定義２４０の内容により、別のシーケンスリスト２３５内の１つまたは複数のシーケンスリスト２３５のシーケンス項目を効果的に実行する。シーケンス項目定義Ｄ  ２４０ｄ自体は、別のシーケンス項目定義２４０の一部になることもでき、または、テストシーケンス定義ファイル２４１内に記憶することもできる。
【００３２】
図６は、種々の代表的な実施形態に記述される項目３３５のシーケンスを管理および実行する方法６００のフローチャートの図である。図６のブロック６０５では、多数のシーケンス項目定義２４０を得る。ついでブロック６０５は制御をブロック６１０に移す。
【００３３】
ブロック６１０では、構成情報を得る。ついでブロック６１０は制御をブロック６１５に移す。
【００３４】
ブロック６１５では、順番に並んだシーケンス項目３３５の多数のリスト２３５をシーケンス項目定義２４０から作成する。ついでブロック６１５は制御をブロック６２０に移す。
【００３５】
ブロック６２０では、シーケンス項目３３５の各リスト２３５を、構成情報からの多数のシーケンスエンジン２３０のうちの１つに別々にリンクする。ついでブロック６２０は制御をブロック６２５に移す。
【００３６】
ブロック６２５では、多数のシーケンスエンジン２３０は各々、あらかじめ選択された順序で起動される。ここで起動はシーケンサコントローラモジュール２２５が行なう。ついでブロック６２５は制御をブロック６３０に移す。
【００３７】
ブロック６３０では、各シーケンスエンジン２３０は、そのシーケンスエンジン２３０にリンクされた、各リスト２３５中の順番に並んだシーケンス項目３３５を実行する。
【００３８】
代表的な実施形態で上述したように、シーケンシングランタイムは２つの部分に分割される。これらの部分のうち第２の部分は、テストシーケンサ２００のユーザ、システムインテグレータ、および／またはプロバイダが定義したシーケンスの実行である。テストコントローラモジュール２０５がシーケンスリスト２３５を作成すると、制御はシーケンサコントローラモジュール２２５に渡され、シーケンスリスト２３５内のシーケンスを実行する。シーケンサコントローラモジュール２２５は、知識を有するシーケンスエンジン２３０をコールする。これは図２の実施形態では、シーケンスエンジンＡ２３０ａ、シーケンスエンジンＢ２３０ｂ、シーケンスエンジンＣ２３０ｃである。これらの各シーケンスエンジン２３０はついで、関連づけられたシーケンスリスト２３５内のシーケンス項目を実行する。
【００３９】
テストシーケンサ２００の基本的なフレームワークの一部分はまず、シーケンシングすべき項目を作成および構成する。テストシーケンサ２００の別の部分はいくつかのシーケンスエンジン２３０を介して、これらのシーケンス項目を実行するために必要なコールを行なう。種々のシーケンス項目定義リスト６４０の中のシーケンス項目を実行するためにいくつかのシーケンスエンジン２３０を使用することにより、任意の所与のユーザに提供する機能を決定する際の融通性が提供され、これらの機能をそのユーザにカスタマイズすることができる。シーケンシング機能は、特定用途向けのテストを作成できるシステムインテグレータまたは他の者が顧客のグループのためにカスタマイズすることができる。たとえばテストシーケンサ２００のサプライヤは、携帯電話製造業者向けに特に設計されたテストを、これらの携帯電話製造業者向けパッケージとして提供し、他のユーザには提供しないことができる。ついでエンドユーザは適切なテストを選択し、被測定物に適用可能なパラメータ値を提供し、製品固有のテストを設計および作成することができる。このカスタマイゼーションは、多数のシーケンス項目タイプを含む多数のシーケンスリスト２３５を有する多数のシーケンスエンジン２３０を使用することで行なわれる。これらはすべて、全体のシーケンス定義を構成するために使用できるシーケンスエンジンとシーケンス項目構成ブロックをテストシーケンサ２００に伝えるＡＳＣＩＩファイルであってもよい構成ファイル２１５を介して設定される。テストシーケンサ２００はシーケンサ制御モジュール２２５に、シーケンス内に使用できるシーケンスエンジン２３０のタイプとシーケンス項目のタイプを伝える。これらのシーケンスエンジン２３０とシーケンス項目タイプの各々は、エディタを有し、定義オブジェクトを有し、ランタイムオブジェクトを有し、これらが機能する方法を定義することができる。これらの項目は構成ファイル２１５の一部として指定される。
【００４０】
構成ファイル２１５内、またはより一般的には非プログラマチックデータストア２１５内の構成情報は、許可／サポートされるシーケンスエンジン２３０とシーケンス項目３３５のタイプを識別する情報を含む。定義情報は、シーケンス項目３３５の定義、これらを含むシーケンス項目定義２４０、これらのリストを含むシーケンスエンジン２３０を含む。代表的な実施形態では、これらの２つの情報源は異なる。第１の情報源は、典型的には１つのテストシーケンサプリケーション２００のインスタンスについて１つである構成情報を含み、第２の情報源は、多くてもよいシーケンス定義情報を含む。シーケンス項目定義２４０は、所与のタイプの多数のシーケンス項目３３５を含んでいてもよく、各々はそのシーケンス項目タイプのインスタンスに関するパラメータ設定を記述する定義を伴う。シーケンスエンジン２３０のタイプとシーケンス項目３３５のタイプに関する構成は、典型的には起動時に構成されるが、必ずしもそうする必要はない。このようないくつかのテストシーケンス定義のうち１つをロードし、実行し、ついで別のテストシーケンス定義をロードし、ついでそのテストシーケンス定義を実行するなどの機能をユーザが求めているので、特定のテストシーケンスのシーケンス定義は典型的には開始時に得ることはない。
【００４１】
シーケンス項目定義は別々のファイルに記憶できる。しかしこれらは、全体のテストシーケンス定義ファイルの一部として記憶することができる。このうち１つを図３Ａに示す。テストシーケンス定義は１つまたは複数のシーケンスエンジン定義を含み、１つまたは複数のシーケンスエンジン定義は１つまたは複数のシーケンス項目リストと他のエンジンパラメータ設定を含み、各シーケンス項目リストは１つまたは複数のシーケンス項目定義を含むという、階層レベルがあってもよい。
【００４２】
サプライヤによってテストシーケンサ２００に備えられた標準のビルトインシーケンスエンジン２３０は、１つがｉｆ．．ｔｈｅｎ部分で１つがｅｌｓｅ部分のための２つのシーケンス項目定義２４０から得られた２つのシーケンスリスト２３５を有する、ｉｆ．．ｔｈｅｎ．．ｅｌｓｅタイプのシーケンスエンジンを含んでいてもよい。別の標準のビルトインシーケンスエンジン２３０はまた、１つずつ順番にシーケンス項目を実行するシリアル構成であるｆｏｒ．．ｌｏｏｐ構成を含んでいてもよい。シーケンス項目を並列に開始し、実行が次のシーケンシング動作に進む前に全部が完了しなくてはならない、効果的な並列シーケンス構成も可能である。
【００４３】
テストシーケンサ２００の機能は、テストシーケンサ２００が顧客に出荷された後にも比較的容易に拡張することができる。これは、新しいシーケンスエンジン２３０を新しいシーケンス項目定義２４０で定義し、ついで、構成ファイル２１５を変えて、テストシーケンサ２００に新しい機能が使用可能になったことを知らせることによって行なう。また機能は、構成ファイル２１５からこれらの機能の知識を削除し、ついで、適切なシーケンスエンジン２３０とシーケンス項目定義２４０を削除することによって容易に削除できる。
【００４４】
テストシーケンサ２００の機能は、シーケンス項目定義２４０を介した新しいシーケンスエンジン２３０の追加または新しいシーケンス項目の追加により拡張できる。このレベルの拡張可能性により、特定用途向けテストシーケンサ２００が可能になる。上記の携帯電話製品については、その製造業者が提供するテストシーケンサ２００から特にその用途のためのテストシーケンサ２００を巧妙に作成することができる。異なるタイプの標準の携帯電話テストを各々行なう方法を知っているシーケンス項目を作成し、実行すべきシーケンスに挿入することができる。本明細書に開示された代表的な実施形態では、特定のテストシーケンサまたは特定のテストシーケンサ２００のグループを特定のアプリケーション領域または特定のタイプの製品のテストのために調節することができる。
【００４５】
多くのデータ処理製品と同様に、上述したシステムは、ハードウェアコンポーネントとソフトウエアコンポーネントの組み合わせとして実装することができる。さらに、代表的な実施形態を使用するために必要な機能は、本明細書に記述した技術にしたがって実行するように情報処理装置（たとえば特に図１Ａに示す要素を含むコンピュータ１１５）をプログラミングする際に使用される、コンピュータ読み取り可能媒体（フロッピディスク、従来のハードディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、不揮発性ＲＯＭ、ＲＡＭ）の中で具体化することができる。
【００４６】
本明細書では「プログラム記憶媒体」という用語は幅広く定義され、任意のタイプのコンピュータメモリを含む。これはフロッピディスク、従来のハードディスク、ＤＶＤ、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、不揮発性のＲＯＭとＲＡＭを含むが、これらに限定されるものではない。
【００４７】
コンピュータ１１５は、ＤＯＳ、マイクロソフトウィンドウズの種々のバージョン（Ｗｉｎｄｏｗｓ９５、９８、Ｍｅ、２０００、ＮＴ、ＸＰなど）、アップルのＭＡＣ  ＯＳ  Ｘ、ＵＮＩＸ、Ｌｉｎｕｘ、または他の適切なオペレーティングシステムなどの任意の市販のオペレーティングシステムの１つまたは複数を実行することができる。
【００４８】
本特許文書に記述した代表的な実施形態の利点は、テストシーケンサ２００が本質的に特定用途向けテストシーケンサ２００になるようにカスタマイズする機能を含むことである。さらに、以前のテストエクゼクティブには時間と共に大きくなる傾向があったが、テストシーケンサ２００は比較的容易に大きくせずに維持することができる。システムインテグレータは、不必要な機能の混乱なしに、所与のユーザまたはユーザグループが必要とする機能までアプリケーションを簡単にすることができる。拡張性は、新しいタイプのシーケンスエンジンと新しいタイプのシーケンス項目を追加する機能によって提供される。たとえば拡張可能マークアップ言語（ＸＭＬ）ファイルであってもよいテキストファイルを変えることにより、再コンパイルをせずにテストシーケンサ２００を再構成することができる。
【００４９】
以前のテストエクゼクティブはすべてのユーザが求めるすべての機能を有しなければならない唯一のシーケンシングエンジンしかなかったため、単一のシーケンシングエンジンは典型的には時と共にさらに複雑さが増していた。本明細書に開示した代表的な実施形態はシーケンシングを区画分けし、多数のシーケンシングエンジンができるようにしている。シーケンスエンジンは各々、特定のタイプのシーケンシングジョブを行なう方法を知っている。その結果、アプリケーションは容易に拡張でき、また縮小もできる。
【００５０】
本明細書に詳細に記述した代表的な実施形態は、限定のためではなく例示のために提供されたものである。当業者であれば、記述された実施形態の形態および詳細に種々の変更を行なっても、付随する請求項の範囲の中にとどまる等価な実施形態が得られることを理解されるであろう。
【図面の簡単な説明】
【００５１】
【図１】種々の代表的な実施形態に記述される測定システムの構成図である。
【図２】種々の代表的な実施形態に記述されるテストシーケンサソフトウェアプログラムの構成図である。
【図３Ａ】種々の代表的な実施形態に記述されるシーケンス項目定義を生成および修正するためのエディタの構成図である。
【図３Ｂ】種々の代表的な実施形態に記述されるシーケンスリストの構成図である。
【図４Ａ】種々の代表的な実施形態に記述される代表的なシーケンス項目定義を示す図である。
【図４Ｂ】種々の代表的な実施形態に記述される別の代表的なシーケンス項目定義を示す図である。
【図４Ｃ】種々の代表的な実施形態に記述されるさらに別の代表的なシーケンス項目定義を示す図である。
【図５】種々の代表的な実施形態に記述されるさらに別の代表的なシーケンス項目定義を示す図である。
【図６】種々の代表的な実施形態に記述される項目のシーケンスを管理および実行する方法のフローチャートである。
【符号の説明】
【００５２】
１００  測定システム
１１５  コンピュータ
１２０  中央演算処理装置
１２５  メモリ
１３５  モニタ
１５０  測定装置
１５５  被測定物
２００  テストシーケンサソフトウェアアプリケーション
２０１  管理モジュール
２０２  実行モジュール
２０５  テストコントローラモジュール
２１０  デフォルト構成モジュール
２１５  構成ファイル、非プログラマチックデータストア
２２０  構成ファイルエディタ
２２５  シーケンサコントローラモジュール
２３０  シーケンスエンジン
２３５  シーケンスリスト
２４０  シーケンス項目定義
２４１  テストシーケンス定義ファイル
３０５  シーケンス項目定義エディタ
３３５  シーケンス項目
４０５  シーケンス項目
【図１】
2006053924.tif 000003
【図２】
2006053924.tif 000004
【図３Ａ】
2006053924.tif 000005
【図３Ｂ】
2006053924.tif 000006
【図４Ａ】
2006053924.tif 000007
【図４Ｂ】
2006053924.tif 000008
【図４Ｃ】
2006053924.tif 000009
【図５】
2006053924.tif 000010
【図６】
2006053924.tif 000011