JP2009544012A - 試験システムで処理を実行するシステムおよび方法 - Google Patents
試験システムで処理を実行するシステムおよび方法 Download PDFInfo
- Publication number
- JP2009544012A JP2009544012A JP2009519634A JP2009519634A JP2009544012A JP 2009544012 A JP2009544012 A JP 2009544012A JP 2009519634 A JP2009519634 A JP 2009519634A JP 2009519634 A JP2009519634 A JP 2009519634A JP 2009544012 A JP2009544012 A JP 2009544012A
- Authority
- JP
- Japan
- Prior art keywords
- test
- function
- instrument
- functions
- module
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
試験システムで処理を実行するためのシステムおよび方法を提供する。自動試験を実行する試験プログラムを開発するため、柔軟なプラットフォームを提供する。かかるプラットフォームにおいては、テスタとその計器をテスタオペレーティングシステムから分離することで、どんなテスタオペレーティングシステムでも使用することが可能となる。別の実装例においては、プラットフォームのユーザ層をアーキテクチャの物理層から分離することで、ハードウェアから独立した試験プログラムを作成し、異なる試験ハードウェアおよびソフトウェアを備える異なるテスタで同試験プログラムを使用することが可能となる。別の実装においては、試験プログラムの実行をテスタプラットフォームオペレーティングシステムから分離することで、試験プログラムがテスタプラットフォームから独立して機能することが可能となる。別の実施形態においては、新たなソフトウェア、ハードウェア、および/または機能がプラットフォームに追加される場合でもファンクションを追加するだけで、ファンクションに至る既存のリンクを断絶せずに継続的試験システム動作を保証する機能をプラットフォーム上で実装する。この試験システムには非決定性コンピュータシステムを盛り込むことができる。試験システムの一例においては、非決定性コンピュータシステムによって遂行される1つ以上のコンピュータ命令の実行を、一定の実行時間内に実行するよう強制する。コンピュータ命令の実行を一定の実行時間にわたって遂行するため、必要とあらば決定性エンジンが待機し、この待機時間は可変である。実行時間は一定だから、その実行は決定性であり、決定性の挙動を必要とする用途に使用できる。例えば、自動試験装置(ATE)用途でかかる決定性エンジンを使用できる。
Description
背景
発明の分野
本発明は、一般的には試験システムに関し、より具体的には自動試験装置(ATE)分野の試験システムに関する。
発明の分野
本発明は、一般的には試験システムに関し、より具体的には自動試験装置(ATE)分野の試験システムに関する。
関連技術の説明
今日では、ATE分野における殆どの試験装置には1つ以上のコンピュータシステムを伴う。試験ステップを実施するコンピュータシステムは信頼性に優れ、試験ステップを決定的に生成しなければならない。つまりコンピュータシステムは、一貫性のある結果を出すことができなければならない。そのようなコンピュータに伴う1つの問題はコストである。試験での使用に適した完全な計算システム(例えば一貫性のある結果を出すもの)の設計には、ハードウェア設計とメンテナンスに費用がかかるばかりでなく、オペレーティングシステム、ユーザインターフェース、ドライバ、ツール等を含むソフトウェアの設計にも費用がかかる。より具体的に、決定性の実行を達成するには、高価な計算ハードウェアおよびソフトウェアを、ならびに/またはテスタ内分散ハードウェアを、例えば計器内の単独制御プロセッサを、あるいはその他の試験リソースを、使用する。その結果、ATEに適したコンピュータシステムの購入とメンテナンスは殆どの会社にとって非常に高くつく。
今日では、ATE分野における殆どの試験装置には1つ以上のコンピュータシステムを伴う。試験ステップを実施するコンピュータシステムは信頼性に優れ、試験ステップを決定的に生成しなければならない。つまりコンピュータシステムは、一貫性のある結果を出すことができなければならない。そのようなコンピュータに伴う1つの問題はコストである。試験での使用に適した完全な計算システム(例えば一貫性のある結果を出すもの)の設計には、ハードウェア設計とメンテナンスに費用がかかるばかりでなく、オペレーティングシステム、ユーザインターフェース、ドライバ、ツール等を含むソフトウェアの設計にも費用がかかる。より具体的に、決定性の実行を達成するには、高価な計算ハードウェアおよびソフトウェアを、ならびに/またはテスタ内分散ハードウェアを、例えば計器内の単独制御プロセッサを、あるいはその他の試験リソースを、使用する。その結果、ATEに適したコンピュータシステムの購入とメンテナンスは殆どの会社にとって非常に高くつく。
自動試験装置(ATE)は、電子デバイスの機能と性能を試験するコンピュータ制御装置である。ATEデバイスはまた、ヒトとのやり取りを最小限に抑えながらストレス試験を行う。典型的なATEテスタは、制御ハードウェアと、センサと、試験結果とを収集し解析するソフトウェアとを含む。かかるATEテスタは、特定の試験計器に依存しながら試験を実行し、制御ソフトウェアに結果を返す。従来のATEテスタおよび手法が大量試験の場合に限り費用効果的であることは広く認められている。
この広く支持された見解は、従来のATEテスタの設計と運転に部分的に根ざしている。現状、製造業者は新しいデバイスやシステムを作ることができる。新しいデバイスやシステムの設計、構成で鍵を握るのは、デバイスまたはシステムの品質と、機能と、保守性とを試験する能力である。新しいデバイスの試験にあたって最初にすることは、その新しいデバイスに対応するよう設計され機能するテスタが既に存在するか否かを判断することである。存在しないならば、適当なテスタを作ることが唯一の選択肢となる。今日の市場は、新たなテスタを作るか否かの判断に時間がかかるのだから、かかるテスタの実際の製造に着手するまでにはなおのこと時間がかかる。新しいデバイスに対応する新しいテスタに幅広い需要があるか否か、多少なりとも使い回しがきくか否かの判断によって、新しいテスタを作るか否かが最終的に決まる。幅広い需要がなければ、大抵はその時点で新たなテスタの可能性は終わる。幅広い需要があったとしても、新しいテスタの設計と製造が待っている。そのようなプロセスが完了するまでには、平均して数年ほどかかる。例えば、新しいテスタの製作に2年以上かかることは珍しくない。その間、殆どの製造業者の関心は既により新しいデバイスの試験に向けられているから、テスタがその公表を待たずに時代遅れになることすらある。
発明の概要
本発明の一態様によると、かかるATEシステムが高くつく理由はとりわけ、それらが特別に開発されたシステムで用途に限りがあるからだと理解する。高度に特化されたATEシステムは大量生産に向いていないか、さもなくば大量生産のハードウェアコンポーネントやソフトウェアコンポーネントを組み込むのに向いていない。本発明の一態様においては、廉価で汎用性の高いコンポーネントを使ってATEシステムを製作すれば有利と理解する。
本発明の一態様によると、かかるATEシステムが高くつく理由はとりわけ、それらが特別に開発されたシステムで用途に限りがあるからだと理解する。高度に特化されたATEシステムは大量生産に向いていないか、さもなくば大量生産のハードウェアコンポーネントやソフトウェアコンポーネントを組み込むのに向いていない。本発明の一態様においては、廉価で汎用性の高いコンポーネントを使ってATEシステムを製作すれば有利と理解する。
さらに本発明の一態様によると、ATEシステムのトータルコストが高くつく主な原因はソフトウェアとハードウェアとの緊密な結合にあると理解する。より具体的に、ATEシステムのコンポーネントは、例えばオペレーティングシステムと、試験プラットフォームと、関連アプリケーションと、基礎となる試験ハードウェアは互いに依存しており、いずれか1つのコンポーネントが変更されると、ATEシステムは変更前と同じように機能しなくなることがある。ATEシステム等の決定性システムでそのような変更があると、試験プログラムの動作に違いが生じ、非決定的な試験結果に終わることがある。
このため、実際の生産試験環境でユーザ(例えば試験技師)は既存の生産試験システムに新しい機能を導入することに気乗りしない。例えば、ソフトウェア方式の新しい試験ファンクションが既存の試験システムで利用できるようになると、その新しいソフトウェアの導入によって現在のソフトウェアの動作が中断することがある。例えば、あるソフトウェアドライバが後続バージョンのドライバに差し替えられると、試験システムは同じように機能しなくなり、試験結果に支障をきたすおそれがある。同様に、既存のATEシステムに改良されたハードウェア(例えば試験計器)を追加すると、既存システムのハードウェアおよび/またはソフトウェアが同じように機能しないか、全く機能しなくなることがある。このため試験技師は通常ならば、既存の試験システムに混乱をきたしてまで新しい機能を実装しようとはせず、むしろ新しい試験ファンクションを実行する新しいハードウェアとソフトウェアを購入する。その結果、試験リソースの運用は非効率的なものとなり、試験プラットフォームの再利用には限りが生じる。さらに、試験用ハードウェアおよびソフトウェアの製造元は現場での問題発生を防ぐためコンポーネントのあらゆる組み合わせを厳密に試験しなければならないので、製造費と試験装置の総費用が膨らむ。
さらに、ATEのハードウェアとソフトウェアを使用する試験プログラムを試験技師が独自に開発することもある。そのプログラムで使用するハードウェアとソフトウェアは緊密に結合されているので、そのプログラムもまた緊密に結合されたシステムに大きく依存することとなり、基礎システムで何か変更があると、試験プログラムが思うように動かなくなることがある。このため試験技師は普通、新たなソフトウェアおよび/またはハードウェアによる既存生産試験環境への変更を検討したがらない。かかる試験装置は、例えば電子デバイスの製造に使われ、かかる装置の故障は製造スケジュールに影響を及ぼすことがある。
本発明の一態様によると、コンポーネント(例えばハードウェア、ソフトウェア)を、他のコンポーネントの動作に支障をきたすことなく変更できるプラットフォームが提供される。例えば試験環境で、試験開発プラットフォームは試験システムソフトウェアと、様々な試験計器との通信に用いるソフトウェアドライバと、オペレーティングシステムソフトウェアとを含み得る。一態様によると、かかるコンポーネントのファンクションを分離することでコンポーネント間の結合を抑えるアーキテクチャを提供する。こうして、1コンポーネントの変更が他のコンポーネントの動作に支障をきたすことはない。
例えばコンポーネントを追加する場合、そのコンポーネントの追加によって他のコンポーネントのファンクションが乱れることはない。1つの具体例として、試験ハードウェア
(例えば試験計器)の一部分が故障し、交換の必要があるとする。ただし利用できるのは新バージョンの試験ハードウェアだけである。この新バージョンのインターフェースは故障した試験ハードウェアと異なるため、新しいハードウェアにアクセスするソフトウェアとアプリケーションは新しいインターフェースに合わせて変更する必要がある。残念ながら、この変更によってハードウェアとソフトウェアとの通信が断絶するため、古いハードウェアを使っていた試験プログラムと試験アプリケーションはすべて変更し、改めて試験する必要があるから、試験システムの維持費は膨らむ。ただし、場合によっては装置製造業者によるハードウェアとソフトウェアの頻繁な変更のためユーザがなす術を失い、システム全体が機能しなくなることもある。
(例えば試験計器)の一部分が故障し、交換の必要があるとする。ただし利用できるのは新バージョンの試験ハードウェアだけである。この新バージョンのインターフェースは故障した試験ハードウェアと異なるため、新しいハードウェアにアクセスするソフトウェアとアプリケーションは新しいインターフェースに合わせて変更する必要がある。残念ながら、この変更によってハードウェアとソフトウェアとの通信が断絶するため、古いハードウェアを使っていた試験プログラムと試験アプリケーションはすべて変更し、改めて試験する必要があるから、試験システムの維持費は膨らむ。ただし、場合によっては装置製造業者によるハードウェアとソフトウェアの頻繁な変更のためユーザがなす術を失い、システム全体が機能しなくなることもある。
本発明の一態様によると、試験アプリケーションとその関連ソフトウェア(例えばプラットフォームOS、ドライバ)とハードウェアは緊密に結合していると理解する。一実施形態においては、ハードウェアから試験アプリケーションを分離する抽象層を提供する。一実施形態によると、ユーザに対し共通のインターフェースを提示する仮想計器を提供する。一実施形態によると、基礎ハードウェアが変化してもこのインターフェースが変化することはなく、変更が施された場合にアプリケーションが働かなくなる見込みは低くなる。また、一実施形態によると、特定のハードウェアに固有の実装はアプリケーションから抽象化されるため、仮想計器を使って開発されるアプリケーションは、ハードウェアの種類および/またはバージョンが異なるシステムで使用できる。
一実装においては、インターフェースによってリンクされるモジュール方式のシステムアーキテクチャが提供される。一実装においては、特定のインターフェースに機能を追加するだけのアドオンリー(add−only)インターフェースによってモジュールをリンクすることで、既存のコードと試験プログラムの「破綻」をなくす。別の実装において、かかるインターフェースは特に必要なファンクションだけに抽象化される。
さらに本発明の別の態様によると、新しい自動試験ソリューションを速やかに市場に投入すれば大変有利であると理解する。特に、新たなテスタの製作にかかる時間を短縮する自動試験装置プラットフォームは有益であろう。さらに、製造に先立ち幅広い応用範囲がなくともテスタを作ることができれば有益と理解する。また、新たなテスタを設計せずとも新たな機能をテスタに取り入れることができれば有益であろう。
短時間で製造でき、費用効率的で、新しいデバイスに適応できる柔軟なテスタは、市場のニーズを満たすであろう。そのようなテスタの設計は試みられてはいるが、従来のアーキテクチャでは依然として特定のハードウェアに専用のコードがシステムコードと混ざり合うため、コードは特定のハードウェアに依存することとなり、狭い範囲の用途にしか役に立たない。このファンクションとソフトウェアの相互の依存と混合が従来のATEテスタを制限しているのである。従来の手法で何らかの変更(ハードウェアの追加または削除、場合によっては同一部品の交換)があると、テスタは正常に機能しなくなることがある。変更されたATEテスタを正常機能に戻すには別途費用がかかり、試験対象デバイスを市場に出すまでの時間も長引く。
融通のきかない従来のATEテスタはその開発と保守にコストがかかる。従来の方法では、新たなテスタの開発にゼロから取り組む必要があり、既にあるものを活かすことはできない。本発明の一態様で説明する計器開発者プラットフォームは一連のアーキテクチャ規格を定めることにより、事実上どんなデバイスでも試験できる新たなATEテスタの適時開発を可能にする。このアーキテクチャなら、既存の試験ファンクションと関係ソフトウェアに変更を加えずとも、既存のテスタを修正し新たな計測能力を盛り込むことも可能である。この試験システムアーキテクチャなら、既存のテスタに新たな計測能力を取り入れながら既にあるものを活かすことができる。これは、ATEテスタで一連の機能を抽象
化することによって達成する。
化することによって達成する。
本発明の一実装においては、ある特定のテスタに組み込まれる計器を機能モジュールに抽象化する。この抽象化されたモジュールは、ATEテスタの残りの部分から独立した状態を保ちながら当該計器のファンクションを管理する。特に、プラットフォームレベルで設定されるインターフェースによって試験プラットフォームそのものが独立する。この計器の機能を使ってある特定のデバイスを試験するときには、他の独立抽象層によってモジュールがコールされる。そして、コール元の抽象層から独立したこのモジュールが計器のファンクションを管理し、同抽象層に結果を返す。この例のテスタは専ら他の独立抽象層を通じてこのモジュールとやり取りするから、同じアーキテクチャを採用するテスタならどんなテスタでも、モジュールとその関係計器を「プラグイン」できる。例えば、ある1つのテスタからモジュールと関係計器を取り出すことができ、さらにこれらのモジュールと計器を別のテスタ(同じアーキテクチャのもの)に設置することにより、この第2のテスタの機能は強化され、第2のテスタに既にあるファンクションに影響が及ぶことはない。さらにこの例で、モジュールと計器が取り出された第1のテスタはそれに利用可能な残りの計器で機能し続ける。このアーキテクチャ規格に準拠することで既存テスタの柔軟性と、費用効率と、新規テスタ完成までの加速が実現する。
本発明のさらに別の態様においては、ATEテスタの機能レベルを抽象化することにより、ATEテスタのファンクションを含む別々の層に一連のファンクションと機能を分けることができる。一実施形態において、ユーザが操作する試験プログラムは視覚化をバンドルし、特定のデバイスで実行済みの試験か実行されようとしている試験から結果やオプションを図式的に表示する。例えばユーザは、ただひとつの試験プログラムや多数の試験プログラムを使ってどんなデバイスでも試験できる。本発明の態様において、試験プログラムから提供されるファンクションおよび機能の抽象化は、ATEテスタアーキテクチャの最上位層を形成する。
加えて本発明の一態様によると、仮想計器を作成し管理するためのシステムが提供される。一実施形態において、仮想計器の作成にあたっては、特定のハードウェアに固有の実装ではなく、ユーザが望む機能を踏まえた挙動を仮想計器に盛り込む。例えば、ある特定のファンクションが本質的にソフトウェアドライバで実行されない場合でも、その機能は仮想計器に対応するソフトウェアで実行できる。こうして試験ハードウェアとその関連ドライバの能力は標準的な方法で拡張できる。別の実施形態によると、仮想計器はユーザの視点から作成されるため、アプリケーションの作成は容易くなる。
また、テスタとハードウェアの間に結び付きはないから、テスタとアプリケーションは速やかに作成できる。同様に、ソフトウェアとハードウェアの結び付きはさほど堅固でないから、テスタに関連するハードウェアの改良も容易くなり、ハードウェアを追加/変更してもソフトウェアに影響が及ぶことはない(ソフトウェアは容易くハードウェアと連動する)。ソフトウェアとハードウェアを作成し保守するための柔軟なプラットフォームはソフトウェアの開発担当者と保守担当者にとって有益であり、試験プログラムの作成と保守にかかる費用と手間は減少すると理解する。
本発明の別の態様によると、ソフトウェアファンクションを提供する方法が提供され、ソフトウェアバージョンとハードウェアバージョンの互換性が実現する。本発明の一態様によると、ハードウェアファンクションを参照する仮想計器のファンクションはバージョンからバージョンにかけて変化しない。より具体的に、仮想計器にファンクションが追加されても古いファンクションは保たれ、機能は所定のメモリ構造に追加される。ソフトウェアモジュールに機能が追加されても、メモリに予め存在するファンクションのリファレンスは変わらない。ファンクションのリファレンスが変わらないなら、さらなる機能がメ
モリ構造に追加されても既存の結び付きが断絶することはない。試験プログラムを作成する場合、その試験プログラムからアクセスするファンクションは変わらず機能し続け、ユーザが試験プログラムの変更を決定しない限り、プログラムの機能は凍結される。こうして、試験プログラムの作成と維持にかかる開発・維持費は大幅に減少する。
モリ構造に追加されても既存の結び付きが断絶することはない。試験プログラムを作成する場合、その試験プログラムからアクセスするファンクションは変わらず機能し続け、ユーザが試験プログラムの変更を決定しない限り、プログラムの機能は凍結される。こうして、試験プログラムの作成と維持にかかる開発・維持費は大幅に減少する。
本発明の一実施形態によると、仮想計器のため仮想ファンクションテーブル(例えばC++プログラミング言語で周知の仮想メソッドテーブル「vテーブル」)を保守する。一実施形態において、1バージョンの仮想計器vテーブルでは、基本セットの機能がvテーブルにおいて所定の位置を占める。後続バージョンの仮想計器テーブルでさらなるファンクションがvテーブルに追加されても、基本セットの機能はvテーブルで同じ位置を保つ。このように、さらなるファンクションが追加されても、ファンクションと、他のソフトウェアとファンクションとの結び付きは維持され、既存のプログラムが壊れることはない。
本発明の別の実施形態によると、本明細書で仮想マルチサイト計器と呼ばれるものが提供され、複数試験サイトの管理を促進する。従来の試験環境ではサイトを単独のエンティティとして管理し、特定の試験サイトを構成する場合は、そのサイトで使用する特定の試験ハードウェア向けに試験プログラムを開発することが分かっている。追加の試験を行うため(例えば試験能力の増大に対応するため)複数のサイトが必要となる場合は、追加の試験ハードウェア構成を購入し、追加のサイトに試験プログラムを投入する。本発明の一態様によると、基礎ハードウェアの詳細は抽象層(例えば仮想計器層)によって試験プログラムから抽出されるから、試験プログラムは試験ハードウェアから独立して管理でき、複数のサイトに対する試験プログラムの運営は抽象層で管理できる。一実施形態において、仮想計器は複数の計器サイトへマップする能力を持つ。こうして、複数のサイトに対する試験プログラムの保守と運営にかかる時間は短縮する。
本発明の別の態様によると、試験プログラムソフトウェアは様々な種類のユーザによって利用されることが分かっている。ユーザには試験アプリケーションを開発する者もいれば、開発されたアプリケーションを試験工程の運営管理に役立てる者もいる。ただし種類の異なるこれらのユーザは、実行するファンクションに応じて特定のユーザインターフェース(UI)を使用する必要がある。テスタには様々な種類があってユーザインターフェースはテスタの種類によって異なり、ユーザは装置の運転にあたって特定の種類のインターフェースを理解しなければならないことが分かっている。また、ATE業界ではアプリケーションとドライバが緊密に結合し、ユーザインターフェースはシステムソフトウェアに結合されていることが分かっている。本発明の一態様によると、標準のユーザインターフェースを使って様々な種類のテスタにアクセスすることにより、ユーザに必要なトレーニングの量を減らす。トレーニングの必要量をさらに減らすためユーザ別のインターフェースを提供し、ユーザが自身の役割に関係する試験ファンクションを実行できるようにする。
さらに本発明の別の態様によると、ユーザがどこからでも試験ファンクションを実行できるようにする試験アーキテクチャが提供される。1つの特定の実装においては、ブラウザプログラムを通じてユーザインターフェースにアクセスし、ユーザは、通信ネットワークを通じて試験システムへ結合された任意の場所から試験ファンクションを実行する。従来の環境では通常、UIがマシンに結合されているが、ネットワークを介してUIを利用できるようになれば、ユーザは別の場所からでも試験を実行できる。
以下、添付の図面を参照しながら本発明のさらなる特徴および利点、ならびに本発明の様々な実施形態の構造および動作を詳しく説明する。図面において、同様の参照番号は同様の要素を、または機能的に類似する要素を、示す。加えて、参照番号の左端から1また
は2桁目の数字は、その参照番号が最初に現れるところの図面を識別する。
は2桁目の数字は、その参照番号が最初に現れるところの図面を識別する。
本発明の一態様によると、システムは、試験プログラムと、試験プログラムからのリクエストに応じて複数のファンクションコールを生成するように構成されるプラットフォームと、複数のファンクションコールを試験ハードウェアで実行される命令にマップするように構成される抽象層とを備える。本発明の一実施形態によると、抽象層はさらに、プラットフォームに対し仮想計器(「VI」)インターフェースを備える。本発明の別の実施形態によると、抽象層はさらに、プラットフォームに対し仮想マルチサイト(「VMI」)インターフェースを備える。本発明の別の実施形態によると、抽象層はさらに、プラットフォームに対しシステム物理計器(「システムPI」)インターフェースを備える。本発明の別の実施形態によると、抽象層はさらに、プラットフォームに対し物理計器(「PI」)インターフェースを備える。本発明の別の実施形態によると、抽象層はさらに、仮想計器(「VI」)対物理計器(「PI」)インターフェースを含む。
本発明の一実施形態によると、抽象層はさらに、システム物理計器(「システムPI」)対仮想計器(「VI」)インターフェースを含む。本発明の別の実施形態によると、抽象層はさらに、システム物理計器(「システムPI」)対物理計器(「PI」)インターフェースを含む。本発明の別の実施形態によると、抽象層はさらに、試験プログラム対仮想計器(「VI」)インターフェースを含む。本発明の別の実施形態によると、抽象層はさらに、試験プログラム対物理計器(「PI」)インターフェースを含む。本発明の別の実施形態によると、抽象層はさらに、プラットフォーム対仮想計器(「VI」)インターフェースを含む。本発明の別の実施形態によると、抽象層はさらに、プラットフォーム対物理計器(「PI」)インターフェースを含む。本発明の別の実施形態によると、抽象層はさらに、プラットフォーム対仮想マルチサイト計器(「VMI」)インターフェースを含む。
本発明の一実施形態によると、抽象層はさらに、インターフェース生成エンジンを備える。本発明の別の実施形態によると、インターフェース生成エンジンは、ユーザにインターフェースの生成を案内するように構成されるグラフィカルユーザインターフェースを含む。本発明の別の実施形態によると、インターフェース生成エンジンは、システムのコンポーネント間の通信を管理するためのインターフェースを生成する。本発明の別の実施形態によると、インターフェース生成エンジンは、抽象層のコンポーネント間の通信を管理するためのインターフェースを生成する。本発明の別の実施形態によると、インターフェース生成エンジンは、プラットフォームと抽象層との間の通信を管理するためのインターフェースを生成する。本発明の別の実施形態によると、プラットフォームと抽象層との間の通信を管理することは、試験ハードウェアで実行される命令に複数のファンクションコールをマップすることを含む。本発明の別の実施形態によると、複数のファンクションコールをマップすることは、複数のファンクションコールを仮想計器(「VI」)モジュールにマップすることを含む。本発明の別の実施形態によると、複数のファンクションコールをマップすることは、複数のファンクションコールをシステム物理計器(「システムPI」)モジュールにマップすることを含む。本発明の別の実施形態によると、複数のファンクションコールをマップすることは、複数のファンクションコールを物理計器(「PI」)モジュールにマップすることを含む。
本発明の一実施形態によると、複数のファンクションコールをマップすることは、基本クラスの物理計器ファンクションコールを物理計器(「PI」)モジュールにマップすることを含む。本発明の別の実施形態によると、複数のファンクションコールをマップすることは、基本クラスの物理計器ファンクションコールを物理計器(「PI」)モジュールにマップすることを含む。本発明の別の実施形態によると、抽象層はさらに、ルールチェックエンジンを備える。本発明の別の実施形態によると、ルールチェックエンジンは、試
験ハードウェアの命令へのファンクションコールのマッピングを検証するように構成される。本発明の別の実施形態によると、ルールチェックエンジンは、ファンクションコールのリクエストを模擬することによってマッピングを検証する。本発明の別の実施形態によると、ルールチェックエンジンは、模擬ファンクションコールの結果として応答を所期形式で受け付けることによってマッピングを検証する。本発明の別の実施形態によると、ルールチェックエンジンは、ファンクションコールが正常にマップされたことを伝えるコードを操作プラットフォームに返す。本発明の別の実施形態によると、ルールチェックエンジンは、模擬ファンクションコールに応じて所期形式になっていない戻りコードを受け付けることにより不適切なマッピングを識別する。本発明の別の実施形態によると、システムはさらに、試験プログラムとプラットフォームとの間にインターフェースを備える。
験ハードウェアの命令へのファンクションコールのマッピングを検証するように構成される。本発明の別の実施形態によると、ルールチェックエンジンは、ファンクションコールのリクエストを模擬することによってマッピングを検証する。本発明の別の実施形態によると、ルールチェックエンジンは、模擬ファンクションコールの結果として応答を所期形式で受け付けることによってマッピングを検証する。本発明の別の実施形態によると、ルールチェックエンジンは、ファンクションコールが正常にマップされたことを伝えるコードを操作プラットフォームに返す。本発明の別の実施形態によると、ルールチェックエンジンは、模擬ファンクションコールに応じて所期形式になっていない戻りコードを受け付けることにより不適切なマッピングを識別する。本発明の別の実施形態によると、システムはさらに、試験プログラムとプラットフォームとの間にインターフェースを備える。
本発明の一実施形態によると、試験プログラムは、ユーザに対しグラフィカルユーザインターフェースを提供する。本発明の別の実施形態によると、試験プログラムは、ユーザがデバイスに実行する試験を設定することを可能にする。本発明の別の実施形態によると、試験プログラムは、ユーザがデバイスに実行する試験を任意のときに行うよう設定することを可能にする。本発明の別の実施形態によると、抽象層はさらに、試験システムのハードウェアリソースの機能を表現する物理計器抽象層を備える。本発明の別の実施形態によると、物理計器抽象層は、ハードウェアリソースにマップする物理計器モジュールを含む。本発明の別の実施形態によると、PIモジュールは、リクエストに応じてハードウェアリソース上での命令実行を生起させる。本発明の別の実施形態によると、ハードウェアリソースは、試験ハードウェア上で使用できる少なくとも1つのファンクションを含む。本発明の別の実施形態によると、ハードウェアリソースは、同期信号の生成を生起させるように構成される。本発明の別の実施形態によると、ハードウェアリソースは、デバイス状態クエリを生起させるように構成される。
本発明の一実施形態によると、PIモジュールは、デバイス開始状態に応じてデバイスの電力オンおよび/または初期化を生起させるファンクションコールを含む。本発明の別の実施形態によると、物理計器モジュールは、基本クラスのPIファンクションコールを含む。本発明の別の実施形態によると、基本クラスのPIファンクションコールは、電力オン/初期化ファンクションを含む。本発明の別の実施形態によると、抽象層はさらに、試験システムで実行されるハードウェアファンクションの仮想を表現する仮想計器抽象層を備える。本発明の別の実施形態によると、仮想計器抽象層は、仮想計器(「VI」)モジュールを含み、少なくとも1つのハードウェアリソースは同VIモジュールにマップされる。本発明の別の実施形態によると、VIモジュールは、リクエストに応じてハードウェアリソース上での命令実行を生起させるように構成される。本発明の別の実施形態によると、少なくとも1つのリソースにマップすることは、少なくとも1つのハードウェアリソースの各々につき少なくとも1つのPIモジュールを通じてマップされる。本発明の別の実施形態によると、VIモジュールは、ある特定のデバイスの試験に用いる1セットの既定ハードウェアリソースの仮想表現を提示するため、複数のPIモジュールにマップされる。
本発明の一実施形態によると、VIモジュールは追加PIモジュールを含むよう修正されるように構成され、この修正により、VIモジュールを通じてデバイスを試験するのに利用できる1セットのハードウェアリソースを拡張する。本発明の別の実施形態によると、VIモジュールは、ATEテスタに必要な試験ハードウェアリソースにマップする基本クラスのファンクションを含むように構成される。本発明の別の実施形態によると、抽象層はさらに、ハードウェアリソースに対するリクエストを管理するように構成されるシステム抽象層を備える。本発明の別の実施形態によると、システム抽象層はさらに、リクエストに応じてハードウェアリソースにファンクションを実行させるため、物理計器層からのリクエストをマップするように構成される。本発明の別の実施形態によると、システム
抽象層はさらに、抽象層の他のコンポーネントで利用できる基本セットのシステムファンクションコールを規定するように構成される。本発明の別の実施形態によると、システム層はさらに、抽象層の他のコンポーネントに操作を実行させる基本セットのシステムファンクションコールを規定するように構成されるシステムPIモジュールを備える。本発明の別の実施形態によると、システム抽象層はさらに、抽象層のコンポーネントに対しクエリを実行するように構成される。
抽象層はさらに、抽象層の他のコンポーネントで利用できる基本セットのシステムファンクションコールを規定するように構成される。本発明の別の実施形態によると、システム層はさらに、抽象層の他のコンポーネントに操作を実行させる基本セットのシステムファンクションコールを規定するように構成されるシステムPIモジュールを備える。本発明の別の実施形態によると、システム抽象層はさらに、抽象層のコンポーネントに対しクエリを実行するように構成される。
本発明の一実施形態によると、システム抽象層は、システム物理計器モジュールを含む。本発明の別の実施形態によると、プラットフォーム層は、「既製」オペレーティングシステムを含む。本発明の別の実施形態によると、「既製」オペレーティングシステムは、決定的に実行するよう強化される。本発明の別の実施形態によると、「既製」オペレーティングシステムは、Windows(登録商標) XPであって、これは、Tenasys INtimeオペレーティングシステムを用いて決定的に作動するよう強化される。
本発明の一態様によると、自動試験装置システムが提供される。同システムは、自動試験装置システムの抽象層の動作を管理するように構成されるプラットフォーム抽象層と、PIファンクションコールに応じてハードウェアがファンクションを実行するようPIファンクションコールをハードウェアにマップするように構成される物理計器(「PI」)抽象層と、PI抽象層にマップするように構成され、実行されるハードウェアファンクションの仮想を表現する仮想計器(「VI」)抽象層と、PIファンクションコールに応じてハードウェアがファンクションを実行することを可能にするためシステムファンクションコールをマップするように構成されるシステム抽象層と、ハードウェア上で実行されるファンクションを起動するため仮想計器層とやり取りするように構成される試験プログラム抽象層とを備える。本発明の別の実施形態によると、システム抽象層はさらに、システム物理計器(「システムPI」)モジュールに抽象化され、同システムPIモジュールはPI抽象層からリクエストを受け、これに応じてハードウェアにそのファンクションを実行させる。本発明の別の実施形態によると、システムPIモジュールはさらに、自動試験装置システムの他の抽象層によって報告される情報を集約するように構成される。本発明の別の実施形態によると、集約情報は、自動試験装置システムの他の抽象層で行われるファンクションコールの成否を含む。本発明の別の実施形態によると、集約情報は、自動試験装置システムの他の抽象層での操作による報告を含む。本発明の別の実施形態によると、システムPIモジュールはさらに、集約情報に対するクエリを受け付けるように構成される。
本発明の一実施形態によると、システムPIモジュールはさらに、集約情報を報告するように構成される。本発明の別の実施形態によると、試験プログラム抽象層は、ユーザに対しグラフィカルユーザインターフェースを提示するように構成される試験プログラムを含む。本発明の別の実施形態によると、試験プログラム層はさらに、ユーザに仮想計器層とやり取りさせるように構成される。本発明の別の実施形態によると、試験プログラム層はさらに、デバイスに実行する試験をユーザに設定させるように構成される。本発明の別の実施形態によると、試験プログラムはさらに、試験の実行結果を図式的に提示するように構成される。本発明の別の実施形態によると、試験プログラム層はさらに、デバイスに実行する試験をユーザに設定させるように構成され、ここで実行される試験は、スケジュールされたときに行われる。本発明の別の実施形態によると、実行される試験は、ユーザによって設定された任意のスケジュールに沿って行うことができる。本発明の別の実施形態によると、仮想計器抽象層は、VIモジュールを含み、ここでVIモジュールは、少なくとも1つのハードウェアリソースへのマッピングを含む。
本発明の一実施形態によると、VIモジュールは、リクエストに応じて少なくとも1つのハードウェアリソースにそのファンクションを実行させるように構成される。本発明の
別の実施形態によると、VIモジュールは、試験プログラム抽象層からのリクエストに応じて少なくとも1つのハードウェアリソースにそのファンクションを実行させる。本発明の別の実施形態によると、少なくとも1つのハードウェアリソースへのマッピングは、PI計器層を通じてマップされる。本発明の別の実施形態によると、少なくとも1つのハードウェアリソースへのマッピングは、PIモジュールを通じてマップされる。本発明の別の実施形態によると、VIモジュールは、複数のPIモジュールにマップされ、したがってVIモジュールは、デバイスの試験に用いる複数のハードウェアリソースの仮想表現を提示する。本発明の別の実施形態によると、VIモジュールとPIモジュールとの間のマッピングは、インターフェースによって管理される。本発明の別の実施形態によると、インターフェースは、グラフィカルユーザインターフェースである。本発明の別の実施形態によると、インターフェースは、VIモジュールとPIモジュールとの間の通信を所定の形式で管理する。本発明の別の実施形態によると、VIモジュールは、追加PIモジュールへのマッピングを含むよう修正されるように構成される。本発明の別の実施形態によると、VIモジュールは、ATEテスタに必要な試験ハードウェアリソースにマップする基本クラスのファンクションを含むように構成される。本発明の別の実施形態によると、物理計器抽象層は、ハードウェアリソースの実装詳細を収容するPIモジュールを含む。
別の実施形態によると、VIモジュールは、試験プログラム抽象層からのリクエストに応じて少なくとも1つのハードウェアリソースにそのファンクションを実行させる。本発明の別の実施形態によると、少なくとも1つのハードウェアリソースへのマッピングは、PI計器層を通じてマップされる。本発明の別の実施形態によると、少なくとも1つのハードウェアリソースへのマッピングは、PIモジュールを通じてマップされる。本発明の別の実施形態によると、VIモジュールは、複数のPIモジュールにマップされ、したがってVIモジュールは、デバイスの試験に用いる複数のハードウェアリソースの仮想表現を提示する。本発明の別の実施形態によると、VIモジュールとPIモジュールとの間のマッピングは、インターフェースによって管理される。本発明の別の実施形態によると、インターフェースは、グラフィカルユーザインターフェースである。本発明の別の実施形態によると、インターフェースは、VIモジュールとPIモジュールとの間の通信を所定の形式で管理する。本発明の別の実施形態によると、VIモジュールは、追加PIモジュールへのマッピングを含むよう修正されるように構成される。本発明の別の実施形態によると、VIモジュールは、ATEテスタに必要な試験ハードウェアリソースにマップする基本クラスのファンクションを含むように構成される。本発明の別の実施形態によると、物理計器抽象層は、ハードウェアリソースの実装詳細を収容するPIモジュールを含む。
本発明の一実施形態によると、物理計器抽象層は、各ハードウェアリソースの実装詳細を収容するPIモジュールを含む。本発明の別の実施形態によると、物理計器抽象層は、新規ハードウェアリソースの実装詳細を取り入れるように構成される。本発明の別の実施形態によると、新規ハードウェアリソースは、新規PIモジュールによってマップされる。本発明の別の実施形態によると、PIモジュールは、リクエストに応じてハードウェアリソースの機能の実行を生起させる。本発明の別の実施形態によると、リクエストは、VIモジュールから到来する。本発明の別の実施形態によると、ハードウェアリソースの機能は、同期信号を含む。本発明の別の実施形態によると、物理計器モジュールは、ハードウェアリソースの電力オンおよび/または初期化を生起させるファンクションコールを含む。本発明の別の実施形態によると、ファンクションコールは、PowerOnInitializeファンクションを含む。本発明の別の実施形態によると、PI抽象層は、基本クラスのPIファンクションコールを含む。本発明の別の実施形態によると、基本クラスのPIファンクションコールは、ハードウェアリソースの電力オンおよび/または初期化を生起させるように構成されるファンクションコールを含む。
本発明の一実施形態によると、ハードウェアリソースの電力オンおよび/または初期化を生起させるように構成されるファンクションコールは、PowerOnInitializeファンクションを含む。本発明の別の実施形態によると、プラットフォーム抽象層は、「既製」オペレーティングシステムを含む。本発明の別の実施形態によると、「既製」オペレーティングシステムは、決定的に実行するよう強化される。本発明の別の実施形態によると、「既製」オペレーティングシステムは、Windows(登録商標) XPである。本発明の別の実施形態によると、オペレーティングシステムは、リアルタイムエクステンションを用いて決定的に実行するよう強化される。本発明の別の実施形態によると、リアルタイムエクステンションは、「Tenasys INtime」オペレーティングシステムを通じて提供される。本発明の別の実施形態によると、プラットフォーム抽象層は、決定的に作動する。
本発明の別の実施形態によると、システムは、抽象層間の通信を管理するように構成されるインターフェース抽象層をさらに備える。本発明の別の実施形態によると、インターフェース抽象層はさらに、抽象層間で規格化された通信を保証するように構成される。本発明の別の実施形態によると、インターフェース抽象層は、プラットフォーム抽象層とVI抽象層との間にインターフェースを含む。本発明の別の実施形態によると、インターフェース抽象層は、プラットフォーム抽象層とシステム抽象層との間にインターフェースを
含む。本発明の一実施形態によると、インターフェース抽象層は、プラットフォーム抽象層と物理計器抽象層との間にインターフェースを含む。
含む。本発明の一実施形態によると、インターフェース抽象層は、プラットフォーム抽象層と物理計器抽象層との間にインターフェースを含む。
本発明の別の実施形態によると、インターフェース抽象層は、VIモジュールとPIモジュールとの間にインターフェースを含む。本発明の別の実施形態によると、インターフェース抽象層は、システムPIモジュールとVIモジュールとの間にインターフェースを含む。本発明の別の実施形態によると、インターフェース抽象層は、システムPIモジュールとPIモジュールとの間にインターフェースを含む。本発明の別の実施形態によると、インターフェース抽象層は、プラットフォーム抽象層とVI抽象層との間にインターフェースを含む。本発明の別の実施形態によると、システムはさらに、ユーザにPIモジュールとVIモジュールのいずれか一方の作成を案内するように構成されるモジュール生成エンジンを備え、これにより自動試験システムは、新規試験ハードウェアリソースを取り入れることができる。本発明の別の実施形態によると、システムはさらに、ユーザにインターフェースの作成を案内するように構成されるインターフェース生成エンジンを備え、ここでインターフェースは、自動試験システムで使用するハードウェア、ソフトウェア、またはプラットフォームにかかわりなく通信形式を規格化することによってモジュール間通信を管理する。
本発明の一実施形態によると、システムはさらに、生成済みモジュールとその生成済みインターフェースとの試験機能を検証するように構成されるルールチェックエンジンを備える。本発明の別の実施形態によると、システムはさらに、生成済みモジュールをユーザにインストールさせるように構成されるインストールモジュールを備え、これにより試験プログラムは、生成済みモジュールへリクエストを差し向け、且つ試験ファンクションを実行させることができる。本発明の別の実施形態によると、システムはさらに、生成済みインターフェースをユーザにインストールさせるように構成されるインストールモジュールを備え、これにより試験プログラムは、生成済みモジュールによってマップされた試験ハードウェアリソースへリクエストを差し向け、且つ試験ファンクションを実行させることができる。本発明の一態様によると、試験プロセスを実行するシステムが提供される。同システムは、実行時に1つ以上の試験計器でプロシージャを実行する試験プログラムを備え、1つ以上の試験計器はそれぞれ1つ以上のドライバプログラムを有し、同システムはさらに1つ以上の試験計器でプロシージャを実行するように構成される仮想計器エンティティを備え、ここで仮想計器エンティティは、それぞれ1つ以上のドライバプログラムを通じて1つ以上の試験計器にアクセスする。本発明の別の実施形態によると、仮想計器エンティティは、1つ以上のファンクションを含む。本発明の別の実施形態によると、試験プログラムは、仮想計器の1つ以上のファンクションにアクセスすることにり1つ以上の試験計器にアクセスするように構成される。本発明の別の実施形態によると、試験プログラムは、専ら仮想計器を通じて1つ以上の計器にアクセスするようプログラムされる。本発明の別の実施形態によると、試験プログラムは、テスタリソースにアクセスするためシステム物理インターフェースにアクセスするようプログラムされる。本発明の別の実施形態によると、仮想計器エンティティは、1つ以上の試験ハードウェアに特有のプログラミングインターフェースから試験プログラムを分離する。本発明の別の実施形態によると、仮想計器は、仮想計器プログラミングインターフェースを含む。本発明の別の実施形態によると、1つ以上の試験計器における変化は、仮想計器プログラミングインターフェースに相応の変化をもたらさない。
本発明の一実施形態によると、仮想計器エンティティにおける変化は、1つ以上のファンクションに相応の変化をもたらさない。本発明の別の実施形態によると、物理テスタリソースにおける変化は、1つ以上のファンクションに相応の変化をもたらさない。本発明の別の実施形態によると、試験開発プラットフォームにおける変化は、試験プラットフォームにおける変化を要求しない。本発明の別の実施形態によると、1つ以上のファンクシ
ョンは、コンピュータシステムのメモリ構造にロードされる。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、コンピュータシステムのメモリ構造に相応の変化をもたらさない。本発明の別の実施形態によると、1つ以上のファンクションは、コンピュータシステムのメモリ構造の中で第1の位置に置かれる。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上の追加ファンクションを追加することを含む。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上のファンクションの内少なくとも1つを修正することを含む。本発明の別の実施形態によると、1つ以上の追加ファンクションは、コンピュータシステムのメモリ構造の中で第1の位置の後ろに続く第2の位置に追加される。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、コンピュータシステムのメモリ構造の中で第1の位置における1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、コンピュータシステムのメモリ構造はさらに、vテーブルを備える。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、vテーブルにおける1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む。
ョンは、コンピュータシステムのメモリ構造にロードされる。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、コンピュータシステムのメモリ構造に相応の変化をもたらさない。本発明の別の実施形態によると、1つ以上のファンクションは、コンピュータシステムのメモリ構造の中で第1の位置に置かれる。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上の追加ファンクションを追加することを含む。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上のファンクションの内少なくとも1つを修正することを含む。本発明の別の実施形態によると、1つ以上の追加ファンクションは、コンピュータシステムのメモリ構造の中で第1の位置の後ろに続く第2の位置に追加される。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、コンピュータシステムのメモリ構造の中で第1の位置における1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、コンピュータシステムのメモリ構造はさらに、vテーブルを備える。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、vテーブルにおける1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む。
本発明の一実施形態によると、少なくとも1つの修正済みファンクションは、1つ以上のファンクションの内少なくとも1つから修正される。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションは、コンピュータシステムのメモリ構造の中で第1の位置の後ろに続く第2の位置に追加される。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションの追加は、コンピュータシステムのメモリ構造の中で第1の位置における1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、コンピュータシステムのメモリ構造はさらに、vテーブルを備える。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションの追加は、vテーブルにおける1つ以上のファンクションの位置を変えない。
本発明の別の実施形態によると、1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、基本プログラミングクラスは、1つ以上の追加ファンクションを含む拡張クラスのファンクションから継承される。本発明の別の実施形態によると、1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、基本プログラミングクラスは、少なくとも1つの修正済みファンクションを含む拡張クラスのファンクションから継承される。本発明の別の実施形態によると、コンピュータシステムは、汎用コンピュータシステムを含む。本発明の別の実施形態によると、1つ以上の試験計器は、1つ以上の試験対象デバイスに結合される。本発明の別の実施形態によると、1つ以上の試験計器の内少なくとも1つは、1つ以上の試験対象デバイスの内少なくとも1つに試験信号を適用するよう試験プログラムによりプログラムされる。
本発明の一態様によると、試験プロセスを実行するシステムが提供される。同システムは、それぞれ1つ以上のドライバプログラムを有する1つ以上の試験計器を備え、ここでドライバプログラムの内少なくとも1つは1つ以上のファンクションを含み、同システムはさらに、実行時に1つ以上の試験計器でプロシージャを実行する試験プログラムを備え、試験プログラムは1つ以上のドライバプログラムを通じて1つ以上の試験計器にアクセスし、同システムはさらに、メモリ構造を備え、ここでドライバプログラムの内少なくとも1つの1つ以上のファンクションは、メモリ構造により固定位置の中に収容される。本発明の一実施形態によると、メモリ構造は、コンピュータシステムのメモリに含まれ、ここで1つ以上のファンクションは、コンピュータシステムのメモリにロードされる。本発明の別の実施形態によると、ドライバプログラムの内少なくとも1つにおける変化は、メモリ構造に相応の変化をもたらさない。本発明の別の実施形態によると、1つ以上のファンクションは、メモリ構造内の第1の位置に置かれる。本発明の別の実施形態によると、
ドライバプログラムの内少なくとも1つにおける変化は、1つ以上の追加ファンクションを追加することを含む。本発明の別の実施形態によると、ドライバプログラムの内少なくとも1つにおける変化は、1つ以上のファンクションの内少なくとも1つを修正することを含む。
ドライバプログラムの内少なくとも1つにおける変化は、1つ以上の追加ファンクションを追加することを含む。本発明の別の実施形態によると、ドライバプログラムの内少なくとも1つにおける変化は、1つ以上のファンクションの内少なくとも1つを修正することを含む。
本発明の一実施形態によると、1つ以上の追加ファンクションは、メモリ構造の中で第1の位置の後ろに続く第2の位置に追加される。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、メモリ構造の中で第1の位置における1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、メモリ構造はさらに、vテーブルを備える。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、vテーブルにおける1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む。本発明の別の実施形態によると、プラットフォームエンティティにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む。本発明の別の実施形態によると、物理計器ドライバにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションは、1つ以上のファンクションの内少なくとも1つから修正される。
本発明の一実施形態によると、少なくとも1つの修正済みファンクションは、メモリ構造の中で第1の位置の後ろに続く第2の位置に追加される。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションの追加は、メモリ構造の中で第1の位置における1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、メモリ構造はさらに、vテーブルを備える。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションの追加は、vテーブルにおける1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、基本プログラミングクラスは、1つ以上の追加ファンクションを含む拡張クラスのファンクションから継承される。本発明の別の実施形態によると、1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、基本プログラミングクラスは、少なくとも1つの修正済みファンクションを含む拡張クラスのファンクションから継承される。本発明の別の実施形態によると、コンピュータシステムは、汎用コンピュータシステムを含む。本発明の別の実施形態によると、1つ以上の試験計器は、1つ以上の試験対象デバイスに結合される。本発明の別の実施形態によると、1つ以上の試験計器の内少なくとも1つは、1つ以上の試験対象デバイスの内少なくとも1つに試験信号を適用するよう試験プログラムによりプログラムされる。
本発明の一実施形態によると、システムは、自動試験システムの一部である。本発明の別の実施形態によると、システムはさらに、1つ以上の試験計器でプロシージャを実行するように構成される仮想計器エンティティを備え、ここで仮想計器エンティティは、それぞれ1つ以上のドライバプログラムを通じて1つ以上の試験計器にアクセスする。本発明の別の実施形態によると、仮想計器エンティティは、1つ以上のファンクションを含む。本発明の別の実施形態によると、試験プログラムは、仮想計器の1つ以上のファンクションにアクセスすることにり1つ以上の試験計器にアクセスするように構成される。本発明の別の実施形態によると、試験プログラムは、専ら仮想計器を通じて1つ以上の計器にアクセスするようプログラムされる。本発明の別の実施形態によると、仮想計器エンティティは、1つ以上の試験ハードウェアに特有のプログラミングインターフェースから試験プログラムを分離する。本発明の別の実施形態によると、仮想計器は、仮想計器プログラミングインターフェースを含む。本発明の別の実施形態によると、1つ以上の試験計器における変化は、仮想計器プログラミングインターフェースに相応の変化をもたらさない。本
発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上のファンクションに相応の変化をもたらさない。本発明の別の実施形態によると、1つ以上のファンクションは、コンピュータシステムのメモリ構造にロードされる。
発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上のファンクションに相応の変化をもたらさない。本発明の別の実施形態によると、1つ以上のファンクションは、コンピュータシステムのメモリ構造にロードされる。
本発明の一実施形態によると、仮想計器エンティティにおける変化は、コンピュータシステムのメモリ構造に相応の変化をもたらさない。本発明の別の実施形態によると、1つ以上のファンクションは、コンピュータシステムのメモリ構造の中で第1の位置に置かれる。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上の追加ファンクションを追加することを含む。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上のファンクションの内少なくとも1つを修正することを含む。本発明の別の実施形態によると、1つ以上の追加ファンクションは、コンピュータシステムのメモリ構造の中で第1の位置の後ろに続く第2の位置に追加される。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、コンピュータシステムのメモリ構造の中で第1の位置における1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、コンピュータシステムのメモリ構造はさらに、vテーブルを備える。本発明の別の実施形態によると、1つ以上の追加ファンクションの追加は、vテーブルにおける1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションは、1つ以上のファンクションの内少なくとも1つから修正される。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションは、コンピュータシステムのメモリ構造の中で第1の位置の後ろに続く第2の位置に追加される。
本発明の一実施形態によると、少なくとも1つの修正済みファンクションの追加は、コンピュータシステムのメモリ構造の中で第1の位置における1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、コンピュータシステムのメモリ構造はさらに、vテーブルを備える。本発明の別の実施形態によると、少なくとも1つの修正済みファンクションの追加は、vテーブルにおける1つ以上のファンクションの位置を変えない。本発明の別の実施形態によると、仮想計器エンティティにおける変化は、1つ以上の追加ファンクションを追加することを含む。本発明の別の実施形態によると、1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、基本プログラミングクラスは、1つ以上の追加ファンクションを含む拡張クラスのファンクションから継承される。本発明の別の実施形態によると、1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、基本プログラミングクラスは、少なくとも1つの修正済みファンクションを含む拡張クラスのファンクションから継承される。本発明の別の実施形態によると、コンピュータシステムは、汎用コンピュータシステムを含む。
本発明の一態様によると、試験プロセスを実行するシステムが提供される。同システムは、実行時に複数の試験計器でプロシージャを実行する試験プログラムを備え、1つ以上の試験計器はそれぞれ1つ以上のドライバプログラムを有し、同システムはさらに、複数の試験計器でプロシージャを実行するように構成される仮想マルチサイト計器エンティティを備え、ここで仮想計器エンティティは、それぞれ1つ以上のドライバプログラムを通じて複数の試験計器にアクセスし、仮想マルチサイト計器エンティティは、試験プログラムに対し透過的に複数の試験計器でプロシージャを実行するように構成される。本発明の一実施形態によると、仮想マルチサイト計器は、複数の計器サイトを制御する機能を含む。本発明の別の実施形態によると、仮想マルチサイト計器エンティティは、1つ以上のファンクションを含む。本発明の別の実施形態によると、試験プログラムは、仮想計器の1つ以上ファンクションにアクセスすることにより複数の計器にアクセスするように構成される。本発明の別の実施形態によると、試験プログラムは、専ら仮想計器を通じて複数の
計器にアクセスするようプログラムされる。本発明の別の実施形態によると、仮想マルチサイト計器は、複数の計器に特有のプログラミングインターフェースから試験プログラムを分離する。本発明の別の実施形態によると、仮想マルチサイト計器は、仮想マルチサイト計器プログラミングインターフェースを含む。
計器にアクセスするようプログラムされる。本発明の別の実施形態によると、仮想マルチサイト計器は、複数の計器に特有のプログラミングインターフェースから試験プログラムを分離する。本発明の別の実施形態によると、仮想マルチサイト計器は、仮想マルチサイト計器プログラミングインターフェースを含む。
本発明の一実施形態によると、複数の試験計器の内少なくとも1つにおける変化は、仮想マルチサイト計器プログラミングインターフェースに相応の変化をもたらさない。本発明の別の実施形態によると、仮想マルチサイト計器エンティティにおける変化は、1つ以上のファンクションに相応の変化をもたらさない。本発明の別の実施形態によると、1つ以上のファンクションは、コンピュータシステムのメモリ構造にロードされる。本発明の別の実施形態によると、仮想マルチサイト計器エンティティにおける変化は、コンピュータシステムのメモリ構造に相応の変化をもたらさない。本発明の別の実施形態によると、仮想マルチサイト計器エンティティは、複数の試験計器で概ね同時にプロシージャを実行するように構成される。
本発明の一態様によると、試験プロセスを実行するシステムが提供される。同システムは、試験システムと、通信ネットワークによって試験システムへ結合された少なくとも1つのクライアントコンピュータとを備え、ここでクライアントコンピュータを操作するユーザは、試験システムで複数の試験ファンクションを実行できる。本発明の一実施形態によると、システムはさらに、実行時に1つ以上の試験計器でプロシージャを実行する試験プログラムを備え、1つ以上の試験計器は、それぞれ1つ以上のドライバプログラムを有する。本発明の別の実施形態によると、システムはさらに、クライアントコンピュータから通信ネットワークを通じて1つ以上のリクエストを受け取るプロセスをさらに備える。本発明の別の実施形態によると、少なくとも1つのクライアントコンピュータは、試験システムにアクセスするためのユーザインターフェースコンポーネントを含む。本発明の別の実施形態によると、ユーザインターフェースコンポーネントは、少なくとも1つのクライアントコンピュータ上で実行するブラウザプログラムを用いて操作される。本発明の別の実施形態によると、試験システムはさらに、複数の試験計器でプロシージャを実行するように構成される仮想マルチサイト計器エンティティを備え、ここで仮想計器エンティティは、それぞれ1つ以上のドライバプログラムを通じて複数の試験計器にアクセスし、仮想マルチサイト計器エンティティは、試験プログラムに対し透過的に複数の試験計器でプロシージャを実行するように構成される。
本発明の一実施形態によると、試験システムはさらに、1つ以上の試験計器でプロシージャを実行するように構成される仮想計器エンティティを備え、ここで仮想計器エンティティは、それぞれ1つ以上のドライバプログラムを通じて1つ以上の試験計器にアクセスする。本発明の別の実施形態によると、ユーザインターフェースコンポーネントは、クライアントコンピュータを操作するユーザに基づき構成される。本発明の別の実施形態によると、試験システムは、複数のユーザインターフェースを蓄積するように構成され、且つユーザに対応するユーザインターフェース構成に基づき少なくとも1つのユーザインターフェースをユーザに提供するように構成される。本発明の別の実施形態によると、仮想計器エンティティは、1つ以上のファンクションを含む。本発明の別の実施形態によると、試験プログラムは、仮想計器の1つ以上のファンクションにアクセスすることにより1つ以上の試験計器にアクセスするように構成される。本発明の別の実施形態によると、試験プログラムは、専ら仮想計器を通じて1つ以上の計器にアクセスするようプログラムされる。本発明の別の実施形態によると、仮想計器エンティティは、1つ以上の試験ハードウェアに特有のプログラミングインターフェースから試験プログラムを分離する。本発明の別の実施形態によると、仮想計器は、仮想計器プログラミングインターフェースを含む。
添付の図面は一定の縮尺で描くことを意図するものではない。これらの図面で、様々な図に描かれた同じかほぼ同じコンポーネントは同様の数字で表示されている。明確を図るため、全ての図面で全てのコンポーネントに標示があるとは限らない。
従来型試験システムアーキテクチャ例のブロック図を示す。
別の従来型試験システムアーキテクチャ例のブロック図を示す。
本発明の一実施形態による試験システムアーキテクチャのブロック図を示す。
本発明の一実施形態による試験システムアーキテクチャのブロック図である。
本発明の別の実施形態による試験システムアーキテクチャのブロック図である。
本発明の別の実施形態による試験システムアーキテクチャのブロック図である。
本発明の別の実施形態による試験システムアーキテクチャのブロック図である。
本発明の別の実施形態による試験システムアーキテクチャのブロック図である。
本発明の別の実施形態による試験システムアーキテクチャのブロック図である。
本発明の一実施形態による試験システムプラットフォームのブロック図である。
本発明の態様を実装するにあたって使用できるメモリ構造のブロック図である。
本発明の一実施形態による試験システムアーキテクチャのブロック図である。
本発明の一実施形態によるメモリ構造のブロック図である。
本発明の別の実施形態によるメモリ構造のブロック図である。
本発明の別の実施形態によるメモリ構造のブロック図である。
本発明の別の実施形態による試験システムアーキテクチャのブロック図である。
本発明の様々な態様を実践できる汎用コンピュータシステムのブロック図である。
本発明の別の実施形態による試験システム試験システムアーキテクチャのブロック図である。
本発明の一実施形態による試験システムプロセス例の図である。
本発明の一実施形態による試験システムプロセス例の図である。
本発明の一実施形態による警報処理ファンクション例のブロック図である。
本発明の一実施形態による電力初期化ファンクション例のフロー図である。
詳細な説明
本発明の応用は、以降の説明に記された、または図面に描かれた、コンポーネントの構成および配置の詳細に限定されない。本発明は他の実施形態にも対応し、様々な方法で実践または実施できる。また、本明細書で使われている言葉遣いと用語は説明を目的とするものであって、制限するものとみなすべきでない。本明細書での「including」、「comprising」または「having」、「containing」、「involving」、ならびにこれらの変化形の使用は、後ろに記された項目とその同等物、ならびに追加的項目を包含することを意図する。
本発明の応用は、以降の説明に記された、または図面に描かれた、コンポーネントの構成および配置の詳細に限定されない。本発明は他の実施形態にも対応し、様々な方法で実践または実施できる。また、本明細書で使われている言葉遣いと用語は説明を目的とするものであって、制限するものとみなすべきでない。本明細書での「including」、「comprising」または「having」、「containing」、「involving」、ならびにこれらの変化形の使用は、後ろに記された項目とその同等物、ならびに追加的項目を包含することを意図する。
ATEシステム等の試験システムで処理を実行するシステムおよび方法を提供する。本発明の一態様によると、従来のATEシステムの総費用が高くつく主な原因はソフトウェアとハードウェアとの緊密な結合にあると理解する。本発明の一態様によると、ATEシステムで処理を実行する改良方法が提供され、これによりソフトウェアの総費用は抑えられる。例えば、ATEシステムにおいて汎用のコンピュータシステム、プロセッサ、および/またはソフトウェアを実装し、かかるシステムの所有・維持費を抑えると有益である。一例においては、既製のハードウェアとソフトウェア(例えば汎用コンピュータシステム、商品オペレーティングシステム(例えばWindows(登録商標) NT)、その他)を使って本発明の様々な態様を実施する。このためATEシステムの開発費は、専用に開発されたハードウェアとソフトウェアとを使用する特別に設計されたシステムの何分の1かの費用ですむ。したがって、かかるシステムの総開発費を抑える方法なら何であれ有益である。
図1は、従来型試験システムアーキテクチャ例のブロック図である。例えば従来の試験システム100は一般的に、1つ以上の試験システムソフトウェア101部分と、対応する試験システムハードウェア102とを含む。例えば試験システムソフトウェアは、通常ならば専用のオペレーティングシステムであるオペレーティングシステムと、1つ以上の試験システムソフトウェアドライバ(例えば104A−104B)と、1つ以上の試験対象デバイス106A−106Bを試験するために開発された試験アプリケーションとを含む。自動試験システム100の場合、試験システムソフトウェア101は、ドライバの通信相手にあたる計器(例えば計器105A)に実装専用のソフトウェアドライバ(例えば104A)を含む。このため、1つ以上のソフトウェアドライバと通信する試験システムソフトウェア101は、かかるドライバ(例えばドライバ104A−104B)を通じて試験システムハードウェア102と通信するよう限定的にプログラムされる。
本発明の一態様によると、ドライバかこれに対応する計器が変更されると、その都度ドライバおよび/または計器を相応に変更しなければならないと理解する。試験システムソフトウェア101、例えばオペレーティングシステム、試験アプリケーション、その他のソフトウェアエンティティなどは、かかるドライバを通じて通信するよう限定的に記述されるから、ドライバかハードウェアに変更があると試験システムソフトウェア101の変更が余儀なくされる。このような結合のため、試験システム100で変更または追加されたソフトウェアドライバおよび/または計器とともに試験システムソフトウェア101が作動することを改めて検証しなければならない。さらに、試験システム100で作動するよう試験プログラムを記述するユーザ103は、変更された環境で自身の試験プログラムが作動するようにするため余分な手間をかけなければならない。
別の従来型試験システムアーキテクチャ例のブロック図を示す図2は、従来の試験プログラミング環境における問題をより詳しく説明する。例えば試験システム100は、1つ以上の試験アプリケーション201A−201Zから構成される試験システムソフトウェア101を含み、様々なバージョンは試験アプリケーションによって異なり、1種類以上のソフトウェアおよびハードウェアと連動する。同様に、特定の試験システムには1つ以上のドライバ(例えばドライバA 202AとドライバB 203A)があり、それぞれ関連する1つ以上のバージョンを持つ(例えばドライバAバージョン202A−202ZとドライバBバージョン203A−203Z)。さらに複雑なことに、試験システムのオペレーティングシステムそのものにも1つ以上のバージョン204A−204Zがあり、ドライバ、アプリケーション、あるいは他のエンティティ等、他の多数のソフトウェアエンティティと連動するよう構成される。
同様に、試験システムハードウェア102にも1つ以上の試験ハードウェアエンティテ
ィ(例えば試験ハードウェアA 205A、試験ハードウェアB 206A)があり、インターフェースや機能が異なる1つ以上のバージョン(例えば試験ハードウェアAバージョン205A−205Z、試験ハードウェアBバージョン206A−206Z)を持つ。本発明の一態様によると、これらのエンティティのいずれか1つが修正されると、通信やファンクションの実行に違いが生じ、試験システム100全体が故障することがある。試験プログラムを決定的に実行する必要があるATE環境において、そのような非決定性動作は望ましくない。
ィ(例えば試験ハードウェアA 205A、試験ハードウェアB 206A)があり、インターフェースや機能が異なる1つ以上のバージョン(例えば試験ハードウェアAバージョン205A−205Z、試験ハードウェアBバージョン206A−206Z)を持つ。本発明の一態様によると、これらのエンティティのいずれか1つが修正されると、通信やファンクションの実行に違いが生じ、試験システム100全体が故障することがある。試験プログラムを決定的に実行する必要があるATE環境において、そのような非決定性動作は望ましくない。
本発明の一態様によると、基礎となるドライバやハードウェア(例えば試験計器)からソフトウェアアプリケーションを分離する仮想計器を提供することにより、ドライバや計器における変更がオペレーティングシステム、試験アプリケーション、あるいはその他ソフトウェアエンティティなどを含む、上位層ソフトウェアのファンクションに影響することはない。
図3は、試験システムのエンティティを分離する、本発明の一実施形態による試験システムアーキテクチャのブロック図である。提供されるアーキテクチャ300で、例えば試験システムアプリケーション、オペレーティングシステム、または他の何らかの種類のソフトウェアエンティティを含むソフトウェアアプリケーション301は、仮想計器302により、物理計器ドライバ303と物理計器304の詳細から切り離される。
仮想計器302は、例えば抽象層となってソフトウェアアプリケーション301層と物理計器ドライバ303層とを分離する。仮想計器302は、例えば抽象仮想計器インターフェース(図示せず)とファンクションと物理計器ドライバ303の中にあるデータとの間でマッピングを実行するコードを含む。
本発明の一実施形態によると、仮想計器によって提示されるインターフェースは基礎ハードウェアから独立した標準計器インターフェースである。代表的システムにおいては、ユーザが一般的に実行を望む機能の観点から仮想計器インターフェースを記述する(例えば試験対象デバイス(DUT)のため波形生成)。通常、ハードウェアの具体的詳細にユーザが関心を寄せることはなく、ユーザは専ら予測可能な刺激を提供することと予測可能な結果を得ることに関心を寄せる。そこでユーザに、ハードウェアから独立しユーザの試験プログラムから通常の方法でアクセスできる機能的インターフェースを提示するインターフェースが提供される。このような仮想計器の規格化により、基礎となる物理計器ドライバと対応する計器の追加や差し替えがあっても、上位層ソフトウェアアプリケーション301の動作に支障をきたすことはない。
システムプラットフォームアーキテクチャ
本発明の様々な態様は、開発者、装置製造業者、試験装置会社、その他のユーザが様々な試験対象デバイス(DUT)の試験に用いる試験プログラムをプログラムできる総合システムアーキテクチャの一部として実装できる。
本発明の様々な態様は、開発者、装置製造業者、試験装置会社、その他のユーザが様々な試験対象デバイス(DUT)の試験に用いる試験プログラムをプログラムできる総合システムアーキテクチャの一部として実装できる。
図4に示す具体的アーキテクチャ400では、プラットフォームソフトウェア401上で作動する1つ以上の試験プログラム405A−405Zが1名以上のユーザによって開発される。具体的に、試験プログラム405A−405Zは、仮想マルチサイト計器層404A−404Zを通じて試験ハードウェアにアクセスするようプログラムされる。仮想マルチサイト計器については後ほど詳しく説明するが、1つ以上のハードウェアデバイスに対し仮想インターフェースを提供するという点では上述した仮想計器の働きに類似する。一実施形態によると、かかるインターフェースは、ATEシステムにおける試験ファンクションの実行にあたって、ハードウェアから独立したインターフェースを提示することができる。
一実施形態において、物理的ハードウェアに対するソフトウェアインターフェースは、本明細書で「物理計器」(PI)モジュールと呼ばれるものに実装される。それぞれの計器ハードウェアには、ハードウェアから提供される基礎的機能を実装する関連したPIモジュールが付随する。一実施形態によると、ユーザの試験プログラム(TP)はPI層(403A−403Z)エンティティ(例えばPIモジュール)と直にやり取りしない。ユーザ試験プログラムから見た試験計器とのやり取りは、本明細書で後ほど詳述される「仮想マルチサイト計器」(VMI)と呼ばれるものを通じて行われる。一実装において、VMIは1つ以上のPIを使って機能を実装し、1つ以上のPIが1つ以上の計器にアクセスする。
本発明の別の実施形態によると、本明細書で仮想マルチサイト計器(VMI)と呼ばれるものが提供され、複数試験サイトの管理を促進する。従来の試験環境ではサイトを単独のエンティティとして管理し、特定の試験サイトを構成する場合は、そのサイトで使用する特定の試験ハードウェア向けに試験プログラムを開発することが分かっている。追加の試験を行うため(例えば試験能力の増大に対応するため)複数のサイトが必要となる場合は、追加の試験ハードウェア構成を購入し、追加のサイトに試験プログラムを投入する。
本発明の一態様によると、基礎ハードウェアの詳細は抽象層(例えば仮想計器層)によって試験プログラムから抽出されるから、試験プログラムは試験ハードウェアから独立して管理でき、複数のサイトに対する試験プログラムの運営は抽象層で管理できる。一実施形態において、仮想計器は複数の計器サイトへマップする能力を持つ。こうして、複数のサイトに対する試験プログラムの保守と運営にかかる時間は短縮する。
一例において、PIは、本明細書で「システムPI」と呼ぶ専用のPIを通じて試験システムリソースにアクセスできる。一実施形態によると、システムPI層(例えば層402A−402Z)は、他のPIが試験システムリソース、例えばシステムメモリ、システムトリガ、その他リソースなどを、使用するためのインターフェースを提供する。別の実施形態において、システムPIは試験システム内の他の計器に通じる通信インターフェースを提供する。
実際には、例えば汎用コンピュータシステムの中でソフトウェアライブラリファンクション(例えばWindows(登録商標) NTオペレーティングシステムで周知のダイナミックリンクライブラリ(DLL))としてPIを実装する。試験システムに存在するハードウェアに応じて適切なPIモジュールを適宜ロードできる。
一実装においては、それぞれのPIが一意な識別子によって一意に識別される。この一意な識別子は一例において、試験システム全体にわたって一意であって、特定のPI実装を一意に識別する。このような識別方法は、例えば試験システム内の他のエンティティがPIと通信するにあたって便利である。
一実施形態によると、システム層(例えばシステムドライバとして実装)のインターフェースによりVMIとPIをシステム層上で構築する。別の実装において、VMI層はハードウェアから抽象層を提供し、これはPIとシステムドライバソフトウェアによってカプセル化される。別の実施形態において、システム層はシステム固有リソース(例えば較正計)のための試験プログラムに対しファンクションを公開することもできる。
別の実施形態において、試験プログラムはユーザに対しVMIファンクションを仮想計器として公開し、試験プログラムは、ユーザが望む試験ソリューションの形でこれらのファンクションを影響する。インターフェースはアドオンリーというルールによって指導さ
れ、既存ファンクションの実行機能または性能は変化しない。また、一実装においてはそれぞれのモジュールが相手方のモジュールに対しバージョンチェックを行うことにより、モジュール間の十分なパフォーマンスを保証する。
れ、既存ファンクションの実行機能または性能は変化しない。また、一実装においてはそれぞれのモジュールが相手方のモジュールに対しバージョンチェックを行うことにより、モジュール間の十分なパフォーマンスを保証する。
かかるルールは、例えばモジュールの完全な前方−後方互換性を可能にする。つまりモジュールは個別にバージョン管理でき、どのバージョンでも互換的に機能できる。このため、例えば特定バージョンのVMIにより設計された試験プログラムは、これの作成とコンパイルのときに使われたバージョン以上であればどのPIおよびシステムドライバ(同一種類のもの)バージョンでも使用できる。
別の実施形態によると、アーキテクチャ400はプラットフォームソフトウェア401を含む。一実施形態においては、従来のコンピュータオペレーティングシステムから提供される機能をプラットフォームソフトウェア層の一部として抽象化する。後ほど詳述するとおり、一実施形態によると、このプラットフォーム層の抽象化により殆ど全てのオペレーティングシステム、例えば汎用オペレーティングシステムを、ATEテスタで使用できるようになる。プラットフォームソフトウェア層401は一実施形態において、ATEテスタの各種コンポーネント全体の作動と通信にあたって必要となる基礎的機能を提供する。一実施形態においては、Windows(登録商標) XPまたはWindows(登録商標) Vistaオペレーティングシステムを基本オペレーティングシステムとして使用し、このオペレーティングシステムが各種ATEテスタコンポーネントに必要な基礎的ファンクションを取り仕切る。ただし、他のオペレーティングシステムも使用できることを理解されたい。
図5は、本発明の一実施形態による試験システムアーキテクチャ400のより詳細な例を示す。説明したとおり、アーキテクチャ500はプラットフォームソフトウェアエンティティ501を含み、これは試験システムプラットフォームの基礎的ファンクションを実行し、汎用オペレーティングシステムによって、例えばWindows(登録商標) XPまたはWindows(登録商標) Vistaオペレーティングシステムによって、支援される。本発明の一実施形態においては特定の試験計器の仮想表現を抽出し、仮想計器のファンクションと機能を試験システムの他の抽象層から分離する。上述したとおり、所定のプログラミングインターフェースで各層を分離し、PI、VMI、その他のバージョンからバージョンにかけてインターフェースを維持し、さらにメモリにおけるファンクションの位置を維持することにより、プラットフォームで開発される試験プログラムは、プラットフォームの要素が修正される場合でも引き続き機能する。
本発明の別の実施形態によると、本明細書で仮想マルチサイト計器(VMI)と呼ばれるものが提供されて、複数試験サイトの管理を促進する。従来の試験環境では単独のエンティティとしてサイトを管理し、特定の試験サイトを構成する場合は、そのサイトで使用する特定の試験ハードウェア向けに試験プログラムを開発することが分かっている。追加の試験を行うため(例えば試験能力の増大に対応するため)複数のサイトが必要になる場合は、追加の試験ハードウェア構成を購入し、追加のサイトに試験プログラムを投入する。本発明の一態様によると、基礎ハードウェアの詳細は抽象層(例えば仮想計器層)によって試験プログラムから抽出されるから、試験プログラムは試験ハードウェアから独立して管理でき、複数のサイトに対する試験プログラムの運営は抽象層で管理できる。一実施形態において、仮想計器は複数の計器サイトへマップする能力を持つ。こうして、複数のサイトに対する試験プログラムの保守と運営にかかる時間は短縮する。
アーキテクチャ500では1つ以上の仮想マルチサイト計器(504A、504B)を設定し、仮想マルチサイト計器(VMI)にリソース(例えば1つ以上の計器またはサイト(505A−505C))をマップできる。仮想計器と同様、仮想マルチサイト計器は
1つ以上の物理計器ドライバプログラム(例えばPI 503A−503C)を通じて計器505A−505Cと通信する。仮想計器と同様、仮想マルチサイト計器は特定のハードウェア実装に限定されるものではなく、機能を抽出し、特定ハードウェアのファンクションにマップする。
1つ以上の物理計器ドライバプログラム(例えばPI 503A−503C)を通じて計器505A−505Cと通信する。仮想計器と同様、仮想マルチサイト計器は特定のハードウェア実装に限定されるものではなく、機能を抽出し、特定ハードウェアのファンクションにマップする。
一実施形態によると、仮想計器504A上での試験プログラムの実行により、例えば複数の計器サイト(計器505Aおよび505C)で試験プログラムを実行できる。一実施形態によると、複数のサイトが単一のエンティティに抽出されるため、試験プログラムに修正があると複数のサイトで試験プログラムが更新される。このため、複数のサイトにおける試験プログラムの管理は簡略化する。
本発明の一実施形態によると、ATEテスタの機能は図4に示す一連の抽象層で抽象化される。1つの手法によると、試験プログラム層は、ATEテスタが(通常は試験プログラムを通じて)ユーザとやり取りするためのファンクションと機能を抽象化したものである。本発明の別の態様において、物理計器層は、ATEテスタの物理的ハードウェア計器との通信に必要なハードウェア実装詳細を抽象化したものである。本発明の別の実施形態においては、ATEテスタのファンクションが仮想計器層と、システム層と、プラットフォーム層に分解され、仮想計器層は、試験プログラム層から物理計器層にかけて試験リクエストをマップするための機能を抽象化したものであり、システム層は、物理計器層が該当する物理的ハードウェアと通信するための機能を抽象化したものであり、プラットフォーム層は、他の抽象層が作動する基盤を提供するためのファンクションと機能を抽象化したものである。図4に図示されていない別の実施形態においては、ATEテスタのファンクションがさらにインターフェース層に抽象化され、このインターフェース層は、各種抽象層間の通信を管理し規格化するための機能を抽象化したものである。図4に図示された層については後ほど詳しく説明する。
典型的な実施形態においては、ATEテスタのファンクションを表現する抽象層を参照しながらATEテスタを説明する。一実施形態においてはこの抽象層がシステムアーキテクチャの基礎をなす。一例において、試験プログラムは試験プログラム層の一部を形成する。別の実施形態において、ユーザは試験プログラム層を通じて試験結果をやり取りする。別の例において、ユーザは試験プログラム層を通じてATEテスタの特定の計器で実行する試験リクエストのスケジュールを組む。試験プログラム層に多数の試験プログラムを容易く組み込むことができることは、当業者によって十分に理解されよう。
プラットフォーム抽象層
別の実施形態においては、従来のコンピュータオペレーティングシステムから提供される機能をプラットフォームソフトウェア層の一部として抽象化する。一例においては、このプラットフォーム層の抽象化により殆ど全てのオペレーティングシステムをATEテスタで使用できるようになる。本発明の一態様によると、プラットフォーム層は、ATEテスタの各種コンポーネントが作動し通信するための基礎的機能を提供する。図4に示す例においては、プラットフォーム層がアーキテクチャの基礎を形成する。別の実施形態においては、オペレーティングシステムとしてWindows(登録商標) XPを使用し、プラットフォーム層の一部を形成する。この場合は、各種ATEテスタコンポーネントで使われる基礎的ファンクションがオペレーティングシステムによって管理される。
別の実施形態においては、従来のコンピュータオペレーティングシステムから提供される機能をプラットフォームソフトウェア層の一部として抽象化する。一例においては、このプラットフォーム層の抽象化により殆ど全てのオペレーティングシステムをATEテスタで使用できるようになる。本発明の一態様によると、プラットフォーム層は、ATEテスタの各種コンポーネントが作動し通信するための基礎的機能を提供する。図4に示す例においては、プラットフォーム層がアーキテクチャの基礎を形成する。別の実施形態においては、オペレーティングシステムとしてWindows(登録商標) XPを使用し、プラットフォーム層の一部を形成する。この場合は、各種ATEテスタコンポーネントで使われる基礎的ファンクションがオペレーティングシステムによって管理される。
別の実施形態においては、C++クラスとCルーチンのライブラリがATEテスタの各種コンポーネントに対しオペレーティングシステムサービスを提供する。一実施形態によると、C++クラスとCルーチンのライブラリがプラットフォーム層の一部になることにより、殆ど全ての基本オペレーティングシステムをプラットフォーム層の一部として利用することができる。別の実施形態においては、ATEテスタで使用する基本機能がWin
dows(登録商標) XPオペレーティングシステムとINtimeオペレーティングシステムから提供されるが、リアルタイムオペレーティングシステムならどれでも、あるいはリアルタイムエクステンションを備える汎用オペレーティングシステムならどれでも、使用できることは理解されよう。ATEテスタの各種コンポーネントにシステムサービスを提供するにあたって数多くのプログラミング言語と数多くのクラスライブラリを利用できること、そしてオペレーティングシステムサービスの提供にあたってC++クラスとCルーチンのライブラリにプラットフォーム層が限定されないことは、当業者によって理解されよう。
dows(登録商標) XPオペレーティングシステムとINtimeオペレーティングシステムから提供されるが、リアルタイムオペレーティングシステムならどれでも、あるいはリアルタイムエクステンションを備える汎用オペレーティングシステムならどれでも、使用できることは理解されよう。ATEテスタの各種コンポーネントにシステムサービスを提供するにあたって数多くのプログラミング言語と数多くのクラスライブラリを利用できること、そしてオペレーティングシステムサービスの提供にあたってC++クラスとCルーチンのライブラリにプラットフォーム層が限定されないことは、当業者によって理解されよう。
一例において、プラットフォーム層には決定性ファンクションを提供する能力がある。本発明の一実施形態においては、決定性となるよう強化された「既製」オペレーティングシステムを使って決定性ファンクションを提供する。例えば既製のオペレーティングシステムとしてWindows(登録商標) XPを使用し、リアルタイムエクステンションを使ってこれを決定性に仕立てる。別の実施形態においては、INtimeオペレーティングシステムはリアルタイムエクステンションで動作を決定性に仕立てるが、どんなリアルタイムエクステンションでも使用できることは理解されよう。
典型的実施形態においては、プラットフォーム層がATEテスタの他の抽象層の動作を管理する。
仮想計器抽象層
本発明の一実施形態においては、ある特定の試験計器のファンクションを仮想表現に抽象化することにより、それらのファンクションを試験システムの他の抽象層から分離する。例えば、ある1つの計器のファンクションは仮想層で表現でき、他の抽象層は仮想を通じて計器の機能にアクセスできる。本発明の一態様によると、仮想との通信は規格化でき、特定のハードウェア実装詳細に縛られることはない。典型的な実施形態においては、仮想計器層がさらに、デバイスの試験に用いる計器一式の仮想に相当する仮想計器モジュール(「VIモジュール」)に、抽象化される。本発明の一態様によると、1つの仮想計器モジュールでいくつもの物理的ハードウェアを表現できる。一実施形態においては、ATEテスタの物理的ハードウェアから提供される機能をVIモジュールで表現する。別の実施形態において、ユーザは試験プログラムを通じてVIモジュールとつながり、いくつもの物理的ハードウェアにそれぞれの試験ファンクションを実行させるためのファンクションとファンクションコールはVIモジュールによって管理される。
本発明の一実施形態においては、ある特定の試験計器のファンクションを仮想表現に抽象化することにより、それらのファンクションを試験システムの他の抽象層から分離する。例えば、ある1つの計器のファンクションは仮想層で表現でき、他の抽象層は仮想を通じて計器の機能にアクセスできる。本発明の一態様によると、仮想との通信は規格化でき、特定のハードウェア実装詳細に縛られることはない。典型的な実施形態においては、仮想計器層がさらに、デバイスの試験に用いる計器一式の仮想に相当する仮想計器モジュール(「VIモジュール」)に、抽象化される。本発明の一態様によると、1つの仮想計器モジュールでいくつもの物理的ハードウェアを表現できる。一実施形態においては、ATEテスタの物理的ハードウェアから提供される機能をVIモジュールで表現する。別の実施形態において、ユーザは試験プログラムを通じてVIモジュールとつながり、いくつもの物理的ハードウェアにそれぞれの試験ファンクションを実行させるためのファンクションとファンクションコールはVIモジュールによって管理される。
本発明の一態様によると、仮想計器層は特定のハードウェアに固有の実装詳細を収容しない。むしろ仮想計器層は一例において、特定のハードウェア実装詳細を収容する別の抽象層をコールするための機能を収容する。この例で説明する分離により、追加の計器をVIモジュールに組み込むことは容易い。別の実施形態において、新たなハードウェアがテスタに追加される場合は、特定のハードウェア実装詳細を収容する抽象層へマップする新たなファンクションコールの追加により、テスタで新たな機能を利用できるようになる。本発明の別の態様においては、新たな仮想計器モジュールを作成することによって新たな機能を追加する。新たな仮想計器モジュールの作成によって新たな機能が追加されても、ATEテスタの既存ファンクションに影響がおよばないことは理解されよう。仮想モジュールは、一実施形態において様々なバージョンのソフトウェアに相当し、ATEテスタでソフトウェアのバージョン管理を行い、古いバージョンと機能には影響しない。一実施形態においては、ダイナミックリンクライブラリとして仮想計器モジュールを実装する。別の実施形態においては、ランタイムシステムライブラリ(RSL)として仮想計器モジュールを実装してよい。
物理計器抽象層
物理計器層は、一実施形態において、ATE試験システムの特定のハードウェアに固有
の実装詳細を抽象化したものである。別の実施形態において、物理計器層はさらに物理計器モジュール(「PIモジュール」)に抽象化される。一例において、実際のハードウェアにはその基礎的機能を実装するPIモジュールが付随する。ある特定のハードウェアから提供される機能はしばしばリソースと呼ばれる。本発明の原理に一致する一実施形態においては、ダイナミックリンクライブラリとしてPIモジュールを実装する。代わりに、RSLとしてPIモジュールを実装することもできる。
物理計器抽象層
物理計器層は、一実施形態において、ATE試験システムの特定のハードウェアに固有
の実装詳細を抽象化したものである。別の実施形態において、物理計器層はさらに物理計器モジュール(「PIモジュール」)に抽象化される。一例において、実際のハードウェアにはその基礎的機能を実装するPIモジュールが付随する。ある特定のハードウェアから提供される機能はしばしばリソースと呼ばれる。本発明の原理に一致する一実施形態においては、ダイナミックリンクライブラリとしてPIモジュールを実装する。代わりに、RSLとしてPIモジュールを実装することもできる。
本発明の一態様によると、仮想計器層は、ATEテスタに設置された特定のハードウェアに固有の実装詳細にアクセスするため物理計器層をコールする。一実施形態においてはVIモジュールがPIモジュールをコールし、そのPIモジュールによって表現された特定のハードウェアに固有の詳細にアクセスすることによってこれを果たす。PIモジュールは一例において、クロック同期信号をATEテスタに提供できる物理的ハードウェアの特定のハードウェアに固有の実装詳細を表現する。一実施形態においては、VIモジュールがPIモジュールに対するファンクションコールを管理し、このファンクションコールを受けて物理的ハードウェアがクロック同期信号を生成する。
代表的図6Aおよび図6Bを参照し、様々な抽象層間のやり取りを詳しく見ることができる。これらの図が示すとおり、試験プログラム層(ユーザアプリケーション/試験アプリケーション)は仮想計器層(仮想計器/VI)のVIモジュールまでリクエストを導き、VIモジュールは物理計器層(物理計器/PI)のPIモジュールまでリクエストを導く。
図6Aに示す別のアーキテクチャ例は、本発明の一実施形態による試験システムアーキテクチャの一例を示す。ユーザアプリケーション601は1つ以上の仮想計器(例えば仮想計器602A−602N)にアクセスする。説明したとおり、仮想計器には物理計器(例えば物理計器603A−603N)をいくらでも盛り込むことができる。このため、例えば個々の物理計器に分散するファンクションを試験システムで実装できる。
一実装において、VMIは実際のハードウェア実装について具体的情報を持たない。この情報は「物理計器モジュール」(PI、例えば物理計器603A−603N)とともにある。一実装例によると、実際のハードウェアには、そのハードウェアの基礎的機能を一通り実装するPIモジュールが付随する。ユーザへ提示される機能を実装するため、VMIは1つ以上のPIから提供される機能を使用する。VMIは別の実施形態において、試験システム開発者および/または用途の要求に応じてある程度の情報を持つことがある。
一実施形態によると、PIモジュールそのものはハードウェアと直接通信せず、「システムPI」エンティティ(例えばシステムPI 604)を通じてハードウェアと通信する。システムPI 604は、試験システムハードウェアのテストヘッドにある計器とPIが通信するための機能を実装する。別の実施形態においては、VMIがシステムPIを通じてハードウェアと直接通信する。この実施形態ではVMIが通信の内容をPIに知らせるから、PIは必要に応じてハードウェアの状態に整合する。
図6A〜図6Bが制限ではなく例証のため提示されていることを理解されたい。図6Aには、後ほど詳述する物理計器層とシステム層とのやり取りの一例も盛り込まれている。
一実施形態において、図6A〜図6Bから見てとれるように、1つのVIモジュールにいくつものPIモジュールを盛り込むことができ、1つのVIモジュールでPIモジュールを共有することすらできる。本発明の一態様によると、ハードウェアリソースをPIモジュールの形にモジュール化することによって、本発明は、このモデルに基づくテスタに柔軟性と順応性を提供する。本発明の別の態様によると、さらなる試験ニーズに応じて新
たなPIモジュールを容易にプログラムでき、新たなテスタの設計と製造にあたっては古いPIモジュールを活かすことができる。一実施形態においては、デバイスの試験に通常使われる機能を基本クラスのファンクションコールで表現する。一実施形態においては、これらの基本ファンクションコールをPIモジュールに組み込み、VIモジュールを通じて試験プログラムで利用できるようにする。
たなPIモジュールを容易にプログラムでき、新たなテスタの設計と製造にあたっては古いPIモジュールを活かすことができる。一実施形態においては、デバイスの試験に通常使われる機能を基本クラスのファンクションコールで表現する。一実施形態においては、これらの基本ファンクションコールをPIモジュールに組み込み、VIモジュールを通じて試験プログラムで利用できるようにする。
システム抽象層
本発明の一態様によると、物理計器層は、該当する物理的ハードウェアと直接的には通信しない。PIモジュールは、一実施形態において、リクエスト、ファンクションコール、および/またはデータを、システム層に引き渡す。本発明の一態様によると、システム層は、ATEテスタに設置された物理的ハードウェア(すなわち計器)とPI層が通信するためのファンクションと機能を抽象化したものである。
本発明の一態様によると、物理計器層は、該当する物理的ハードウェアと直接的には通信しない。PIモジュールは、一実施形態において、リクエスト、ファンクションコール、および/またはデータを、システム層に引き渡す。本発明の一態様によると、システム層は、ATEテスタに設置された物理的ハードウェア(すなわち計器)とPI層が通信するためのファンクションと機能を抽象化したものである。
図6Cの例から見てとれるように、物理計器層(PIと図示)のPIモジュールはシステム層(システムPIと図示)と通信し、システム層はATEテスタの物理的ハードウェアにコールをマップする。一実施形態において、システム層はシステムPIモジュールを含む。本発明の別の態様によると、システム層は、他の抽象層と情報をやり取りしてプラットフォーム層に報告するための機能を抽象化したものである。
インターフェース
本発明の別の態様によると、ファンクションコールの引き渡しと、リクエストと、抽象層間のデータ転送とを管理する機能も抽象層で抽象化する。本発明の一実施形態において、インターフェース層は、他の抽象層との通信と他の抽象層間の通信を管理するための機能の抽象を含む。インターフェース層は一実施形態において、ファンクションコールの通信と、データの転送と、それぞれの抽象層の中にあるモジュール間で行われるその他の通信とを管理する。本発明の一態様によると、インターフェース層は、ATEテスタの各種モジュール間通信が所期形式で行われることを保証する。所期形式による通信を徹底することにより、各種モジュールが、特定のテスタに実装されるハードウェアにかかわりなく同じ方法で通信することは理解されよう。
本発明の別の態様によると、ファンクションコールの引き渡しと、リクエストと、抽象層間のデータ転送とを管理する機能も抽象層で抽象化する。本発明の一実施形態において、インターフェース層は、他の抽象層との通信と他の抽象層間の通信を管理するための機能の抽象を含む。インターフェース層は一実施形態において、ファンクションコールの通信と、データの転送と、それぞれの抽象層の中にあるモジュール間で行われるその他の通信とを管理する。本発明の一態様によると、インターフェース層は、ATEテスタの各種モジュール間通信が所期形式で行われることを保証する。所期形式による通信を徹底することにより、各種モジュールが、特定のテスタに実装されるハードウェアにかかわりなく同じ方法で通信することは理解されよう。
仮想マシン
本発明の一態様によると、テスタシステムの様々なコンポーネントを1つ以上の仮想マシン上に実装すると有益であると理解する。かかる仮想マシンは当技術で公知であり、1つ以上のコンピュータシステムによってサポートされる仮想マシンの一部として実装できる。多くの様々な種類のプラットフォームが仮想化と仮想マシンをサポートしており、本発明は特定のプラットフォームに限定されない。図6Cには、仮想化を実装するその種のシステムアーキテクチャが例示されている。
本発明の一態様によると、テスタシステムの様々なコンポーネントを1つ以上の仮想マシン上に実装すると有益であると理解する。かかる仮想マシンは当技術で公知であり、1つ以上のコンピュータシステムによってサポートされる仮想マシンの一部として実装できる。多くの様々な種類のプラットフォームが仮想化と仮想マシンをサポートしており、本発明は特定のプラットフォームに限定されない。図6Cには、仮想化を実装するその種のシステムアーキテクチャが例示されている。
本発明の一態様によると、ユーザ層(例えばテスタインターフェース)の機能を物理層(例えばVMIおよびPI実装)から分離することにより、ユーザ層のコンポーネントに、あるいは特化されたハードウェアやソフトウェアを必要としない他の何らかの種類のコンポーネントに、汎化されたハードウェアとソフトウェアを使用できる。システムをこのように構築すれば、特化されたコンポーネントの代わりに既製のハードウェア(例えばPC)とソフトウェア(例えばOS)を使用できるから、テスタの製作費は大幅に抑えることができる。
さらに、ユーザ層のコンポーネント(例えば試験プログラムを含む)を分離することにより、ユーザ層コンポーネントに支障をきたすことなくテスタプラットフォームOSと関連テスタコンポーネントを修正できることが分かる。つまり、もしもユーザ層に提示されるテスタインターフェースが保たれるなら、試験プログラムやその他のユーザ層コンポー
ネントは変更を経て変わりなく機能する。その結果、ソフトウェアやハードウェア等、システムコンポーネントが異なる試験システムで試験プログラム等のユーザ層コンポーネントを容易に移動できる。さらに、試験システムに関係する基礎ハードウェアおよびソフトウェアを変更する必要がある場合でも、かかるシステム上で開発された試験プログラムは、書き換えて試験する必要がないから、時間が経っても役に立つ。このため、複数の仮想マシンを用意し、少なくとも1つの仮想マシンはユーザレベルコンポーネントのために用意し、さらにテスタプラットフォームの少なくとも1コンポーネントを実行する別の仮想マシンを用意する。前述したとおり、通常のATE実装では、試験システムと、試験プログラムと、関連コンポーネントの開発と保守が単一のエンティティとして行われ、変更がごく僅かでもあると再テストと検証が必要になる。その結果、通常のATE実装は柔軟性に乏しく、保守に多大な労力を要し、結果的にさほど有用ではないことが分かる。
ネントは変更を経て変わりなく機能する。その結果、ソフトウェアやハードウェア等、システムコンポーネントが異なる試験システムで試験プログラム等のユーザ層コンポーネントを容易に移動できる。さらに、試験システムに関係する基礎ハードウェアおよびソフトウェアを変更する必要がある場合でも、かかるシステム上で開発された試験プログラムは、書き換えて試験する必要がないから、時間が経っても役に立つ。このため、複数の仮想マシンを用意し、少なくとも1つの仮想マシンはユーザレベルコンポーネントのために用意し、さらにテスタプラットフォームの少なくとも1コンポーネントを実行する別の仮想マシンを用意する。前述したとおり、通常のATE実装では、試験システムと、試験プログラムと、関連コンポーネントの開発と保守が単一のエンティティとして行われ、変更がごく僅かでもあると再テストと検証が必要になる。その結果、通常のATE実装は柔軟性に乏しく、保守に多大な労力を要し、結果的にさほど有用ではないことが分かる。
バージョン管理
図7は、物理計器バージョンの変更を示す、本発明の一実施形態による試験システムプラットフォームのブロック図である。例えばユーザは、物理計器バージョン1.0例(項目702A)との連動に適した試験アプリケーション701を開発するかもしれない。後ほど、先行バージョンとは異なる物理計器バージョンが利用可能になるかもしれない。例えば、後続バージョンのハードウェアで追加された追加機能が物理計器に備わるかもしれない。同様に、新バージョンの物理計器のため異なるインターフェースを含む物理計器ドライバが提供されるかもしれない。
図7は、物理計器バージョンの変更を示す、本発明の一実施形態による試験システムプラットフォームのブロック図である。例えばユーザは、物理計器バージョン1.0例(項目702A)との連動に適した試験アプリケーション701を開発するかもしれない。後ほど、先行バージョンとは異なる物理計器バージョンが利用可能になるかもしれない。例えば、後続バージョンのハードウェアで追加された追加機能が物理計器に備わるかもしれない。同様に、新バージョンの物理計器のため異なるインターフェースを含む物理計器ドライバが提供されるかもしれない。
一例において、物理計器バージョン1.0(702A)は試験対象デバイスに対しデフォルトで5ボルトの出力電圧を生成する。物理計器バージョンZ(項目702Z)では出力電圧のデフォルト値が異なる(例えば64ボルト)。この変更のせいで、試験アプリケーション701は示されるように機能しなくなることがある。そこで本発明の一実施形態によると、物理計器のバージョンから独立し、ただし後続のハードウェアとドライバソフトウェアが利用可能になったときに追加の機能をサポートするように設計された、仮想計器エンティティを提供する。
同様に、新バージョンのソフトウェアプラットフォームが利用可能になる場合は、1つ以上のバージョンの特定の物理計器でかかる新バージョンを利用できると有益である。事実、試験構成によっては、連動するよう構成されていない複数バージョンの物理計器と試験アプリケーションを組み合わせる必要がある。本発明の一実施形態によると、試験ハードウェアを関連ソフトウェアアプリケーション301から分離する仮想計器が提供される。
ファンクションリファレンスの維持
本発明の一態様によると、ソフトウェアファンクションを提供する方法が提供され、この方法によりソフトウェアバージョンとハードウェアバージョンの互換性が実現する。一実施形態においては、バージョンからバージョンにかけて変化しない仮想計器のファンクションが提供される。より具体的に、仮想計器にファンクションが追加されても古いファンクションは保たれ、機能は所定のメモリ構造に追加される。ソフトウェアモジュールに機能が追加されても、メモリに予め存在するファンクションのリファレンスは変わらない。ファンクションのリファレンスが変わらないなら、さらなる機能がメモリ構造に追加されても既存の結び付きが断絶することはない。
本発明の一態様によると、ソフトウェアファンクションを提供する方法が提供され、この方法によりソフトウェアバージョンとハードウェアバージョンの互換性が実現する。一実施形態においては、バージョンからバージョンにかけて変化しない仮想計器のファンクションが提供される。より具体的に、仮想計器にファンクションが追加されても古いファンクションは保たれ、機能は所定のメモリ構造に追加される。ソフトウェアモジュールに機能が追加されても、メモリに予め存在するファンクションのリファレンスは変わらない。ファンクションのリファレンスが変わらないなら、さらなる機能がメモリ構造に追加されても既存の結び付きが断絶することはない。
本発明の一実施形態によると、仮想計器のため仮想ファンクションテーブル(例えばC++プログラミング言語で周知の仮想メソッドテーブル「vテーブル」)を保守する。一実施形態において、1バージョンの仮想計器vテーブルでは基本セットの機能がvテーブルにおいて所定の位置を占める。後続バージョンの仮想計器テーブルでさらなるファンク
ションがvテーブルに追加されても、基本セットの機能はvテーブルで同じ位置を保つ。このように、さらなるファンクションが追加されても、ファンクションと、他のソフトウェアエンティティとファンクションとの結び付きは維持され、既存のプログラムが壊れることはない。例えば、基本vテーブルの後には追加機能を含む派生vテーブルが続く。後述するように、ファンクションリファレンスを維持するためvテーブルを使用するが、ファンクションリファレンスが壊れないようにするため別の方法(例えばファンクションアービトレーション、トラッキングファンクション)を採ることもできることは理解されよう。
ションがvテーブルに追加されても、基本セットの機能はvテーブルで同じ位置を保つ。このように、さらなるファンクションが追加されても、ファンクションと、他のソフトウェアエンティティとファンクションとの結び付きは維持され、既存のプログラムが壊れることはない。例えば、基本vテーブルの後には追加機能を含む派生vテーブルが続く。後述するように、ファンクションリファレンスを維持するためvテーブルを使用するが、ファンクションリファレンスが壊れないようにするため別の方法(例えばファンクションアービトレーション、トラッキングファンクション)を採ることもできることは理解されよう。
図8は、本発明の様々な態様の実装に使えるvテーブルメモリ構図のブロック図を示す。図示されているとおり、vテーブル800は1つ以上のメソッド801A−801Eを含み、これらは特定の計器ドライバに対応するファンクションに相当する。従来のシナリオである特定のファンクション(例えばメソッドE(801E))が修正されるとメソッドの挙動が変化し、そのファンクションを使って通信するハードウェアやソフトウェアは先行バージョンで当初予定されたとおりには実行しなくなる。例えば、メソッドEのコールに誤りがあったり、メソッドEのデフォルト値が異なったり、メソッドEから返されるデータの形式が異なると、コールする側のファンクションが思いどおりに実行しなくなる。本発明の一態様によると、既存の結び付きを壊さずにソフトウェア機能を追加できるメモリ構造が提供される。
バージョン管理アーキテクチャの例
図9Aは、本発明の一実施形態による1アーキテクチャ900を示す。具体的に、アプリケーション901は1つ以上の仮想計器を使用し、それぞれの仮想計器は、試験システムのソフトウェアモジュール間でソフトウェア互換性を促進する様々な機能群を備える。例えば仮想計器V1.0(項目902A)が提供され、1つ以上の物理計器(PI)ドライバにマップされる。つまり、ある特定の仮想計器に1つ以上のバージョンの物理計器ドライバへのアクセスが許可される。
図9Aは、本発明の一実施形態による1アーキテクチャ900を示す。具体的に、アプリケーション901は1つ以上の仮想計器を使用し、それぞれの仮想計器は、試験システムのソフトウェアモジュール間でソフトウェア互換性を促進する様々な機能群を備える。例えば仮想計器V1.0(項目902A)が提供され、1つ以上の物理計器(PI)ドライバにマップされる。つまり、ある特定の仮想計器に1つ以上のバージョンの物理計器ドライバへのアクセスが許可される。
従来、システムに計器が追加されると、その新しい計器に対応するドライバによって旧バージョンの計器ドライバが差し替えられる。本発明の一態様によると、バージョンが異なる計器を同じ試験システムの中で使用し、1つの仮想計器を通じてそれらの計器にアクセスする方法が提供される。
一例においては、要素[a、b、c、d、e]からなるファンクションセットを持つ物理計器ドライバv.1.0(項目903A)を通じて計器v.1.0(項目904A)と通信するよう仮想計器v.1.0(項目902A)を構成する。さらに仮想計器v.1.0(項目902A)は、物理計器ドライバv.y(項目903Z)を使用し、ファンクションセット[a、b、c、d、e’、f、g]を持つ計器v.y(項目904Z)と通信できる。したがってアプリケーション901は、用途に応じてどのバージョンの計器およびこれに関連するドライバでも混乱なく使用できる。
図9Bは、本発明の一実施形態によるメモリ構造のブロック図を示す。本発明の一態様に従って説明したとおり、以前のファンクションから修正された1つ以上のファンクションを含む追加のハードウェアを導入できると、あるいは近々導入されるハードウェアやソフトウェアの追加機能を利用できると、有益である。図9Bに見られるとおり、物理計器バージョンv.1.0に対応するvテーブル901は1つ以上のファンクション[a、b、c、d、e]を含む。後ほど後続バージョンの物理計器が利用可能になり、これに対応するvテーブル912はファンクションセット[a、b、c、d、e’、f、g]を含む。
本発明の一態様によると、ある特定のファンクションをコールするソフトウェアが同じファンクションを同じ場所で見つけられるようにするため、物理計器に対応するvテーブルの後続バージョンでは旧バージョンと同じファンクションリファレンスを維持することを含む。つまり、例えばファンクションA(項目913A)は次のバージョンのvテーブルのファンクションAにマップされ、同じメモリ位置に置かれる。さらに、ある特定のファンクションが後続バージョンで修正される別の例では、既存のファンクション(例えばファンクションE(項目914A))が後続バージョンのvテーブルで同じメモリ位置に保たれる。こうして、新バージョンの物理計器をシステムに追加しても、そのバージョンにアクセスする既存のソフトウェアとハードウェアに支障はない。
本発明の一態様によると、修正および/または追加機能はvテーブルの後続部分に付け足されるから、古いアプリケーションと新バージョンの物理計器との結び付きは保たれる。一実施形態によると、これらの修正または追加ファンクションは前のバージョンの機能の後ろに付け加えられる。例えば図9Bに見られるとおり、修正ファンクション915 e’は当初のファンクション914B eの後ろに付け加えられる。さらに図9Bに見られるとおり、さらなるファンクションfおよびgは追加ファンクション916であり、これらはaからeまでの基本ファンクションの後ろに付け加えることができる。このように、機能の変更や追加があってもvテーブルの中に予め存在するリファレンスが混乱することはない。このため、古いアプリケーションと新バージョンの物理計器との間にある既存の結び付きが壊れることはない。
さらに、上述した規約に準拠することにより、後続バージョンのPI vテーブルを使って同一バージョンの特定の計器ハードウェアや旧バージョンの特定の計器ハードウェアにアクセスできることを理解されたい。
図10は本発明の別の実施形態によるメモリ構造のブロック図であり、上述したプログラムと規約による後方互換性の維持を示す。具体的に、バージョン2.0のPI vテーブル(項目1001)は、セット[a、b、c、d、e、e’、f、g]を含むいくつかのメソッドを含む。後続バージョンのvテーブルは旧バージョンPIの機能をすべて含み、PI vテーブルの中での位置は保たれるから、後続バージョンのPIは、現行バージョンとそれ以前のバージョンの計器ハードウェアと通信できる。例えば、計器バージョン1.0(項目1002)と計器バージョン2.0(項目1003)とによって使用されるメソッドaは同じであり、バージョン2.0 PI(項目1001)と旧バージョンの計器とで後方互換性は維持される。
一実施形態によると、後続バージョンの計器(例えば計器バージョン2.0(項目1003))において新たなメソッドが追加される場合に、その追加機能は新バージョンのvテーブルの末尾に付け加えられる。したがって図10に見られる例で、設定済みのメソッドeは計器バージョン1.0(項目1002)にマップし、新バージョンのPI vテーブルとの通信は断絶せず、修正メソッドe’は引き続き計器バージョン2.0(項目1003)との通信に用いることができる。VMIがコールする対象(例えば、コールしようとするPIのバージョン(例えば、抽象クラスで識別されるバージョン番号))を把握している限り、要素間の結び付きは壊れない。
そのような後方互換性を果たすには、例えば抽象クラスを用意し、修正または追加機能を含む後続クラスでこれを継承する。こうして、vテーブルは、基本データ構造と関連メソッドがvテーブルで同じファンクション位置を占めるよう構成される。
要するに、ソフトウェアの相継ぐ修正のたびに旧バージョンvテーブルの構造を維持する標準vテーブル構造を使用する。構造が維持されるため、標準vテーブル構造を使用す
るアプリケーションやその他のプログラムは、新しいメソッドと古いメソッドにアクセスできるほか、新バージョンのハードウェアや旧バージョンのハードウェアにアクセスできる。ただしファンクションリファレンスを維持するにあたってこれとは別の方法を採ることもできること、そしてvテーブルが必須でないことを理解されたい。
るアプリケーションやその他のプログラムは、新しいメソッドと古いメソッドにアクセスできるほか、新バージョンのハードウェアや旧バージョンのハードウェアにアクセスできる。ただしファンクションリファレンスを維持するにあたってこれとは別の方法を採ることもできること、そしてvテーブルが必須でないことを理解されたい。
同様に、新しい機能を活用するため仮想計器を修正する場合でも、同じプログラミングルールを使用し、旧バージョンのソフトウェア(およびハードウェア)がその仮想計器バージョンと通信できるようにする。例えば仮想計器バージョンX(項目902Z)を導入する場合、その仮想計器バージョンXは旧バージョンと同じvテーブル構造を維持するほか、追加の機能を仮想計器の中に含む。様々なバージョンの仮想計器で提供される所定のファンクションと様々なバージョンの物理インターフェースドライバとの間には前方および後方互換性が成立する。
図9Cに詳しく示すとおり、VIバージョン1.0 vテーブル(項目921)は様々なバージョンの物理インターフェースドライバによって提供される所定のファンクションにアクセスする。VIで作成される特定のファンクションは、VIの上位層ファンクションを実行する1つ以上のファンクションをPIでコールする。図示されたとおり、ファンクションA−E(項目925A−925E)は、PIバージョン1.0(項目922)かPIバージョン2.0(項目924)のファンクションa−eを使用する。このようにvテーブル構造の中ではファンクションリファレンスが維持されるため、物理計器ドライバは、仮想計器のメソッドに適合するものに差し替えることができる。VIとPIのファンクションには1対1のマッピングが見られるが、ファンクションにはこれとは別のコールパターンもあり、図示されたマッピングが本発明の様々な態様を例証する一例に過ぎないことを理解されたい。
仮想計器に対応する後続バージョンのvテーブルが、先行バージョンの物理計器ドライバと後続バージョンの物理計器ドライバの両方に適合することは説明できる。例えば図9Cに見られるとおり、仮想計器のvテーブルには修正メソッドE’(項目926A)が追加されており、これはバージョン2.0の物理計器ドライバ(項目924)のe’ファンクションに対応する。例えば、後続バージョンの物理計器ドライバにおける追加機能を活用するため、新バージョンのVIを提供できる。
さらに、物理計器ドライバに対する変更とほぼ同様、修正および/または追加機能はvテーブル構造の末尾に付け加えられるため、当初の機能は修正されない。このため、旧バージョンの物理計器ドライバ(例えばPIバージョン1.0)は後続バージョンのVI(例えばバージョン2.0)と連動できる。つまり、後続バージョンのVIは先行バージョンのPIと通信できる。こうして、ATEシステムの中のソフトウェアエンティティ間で前方互換性と後方互換性の両方が維持される。
プログラミングの例
本発明の一実施形態によると、計器の独立性は試験システムアーキテクチャの重要要素である。これにより各計器の単独改良または修正が可能となり、組織的な一斉アップグレードは必要はない。この独立性を維持するため、試験システムはシステムPIを通じてシステムドライバファンクションを提供することで同期サブシステムとトリガサブシステムを管理する。この方式でシステムPIは計器間の媒介役として働く。システムPIは、信号ラインの使用とアベイラビリティを管理し、トリガ接続およびモードを設定し、遅延情報を保持し、その他のハウスキーピング機能を果たす。
本発明の一実施形態によると、計器の独立性は試験システムアーキテクチャの重要要素である。これにより各計器の単独改良または修正が可能となり、組織的な一斉アップグレードは必要はない。この独立性を維持するため、試験システムはシステムPIを通じてシステムドライバファンクションを提供することで同期サブシステムとトリガサブシステムを管理する。この方式でシステムPIは計器間の媒介役として働く。システムPIは、信号ラインの使用とアベイラビリティを管理し、トリガ接続およびモードを設定し、遅延情報を保持し、その他のハウスキーピング機能を果たす。
ユーザプログラムまたはアプリケーション(例えば901)からスタートし、このユーザプログラムは仮想マルチサイト計器(VMI)のファンクションをコールし、仮想マル
チサイト計器のファンクションは計器物理ドライバ(またはPI)のファンクションをコールする。作成されたPIは、システムレベルファンクションと、較正と、システムリソース(例えばメモリ、トリガサブシステム、その他)の使用のため、システムPIにアクセスできる。これより、図10に示す試験アーキテクチャを通じてハードウェアにアクセスするユーザプログラムの実例を説明する。
チサイト計器のファンクションは計器物理ドライバ(またはPI)のファンクションをコールする。作成されたPIは、システムレベルファンクションと、較正と、システムリソース(例えばメモリ、トリガサブシステム、その他)の使用のため、システムPIにアクセスできる。これより、図10に示す試験アーキテクチャを通じてハードウェアにアクセスするユーザプログラムの実例を説明する。
パターンの実行時にパルスを生成する「Control」と呼ばれるVMIにマップされたデジタル計器リソースを検討する。このデジタル計器は「Vcc」と呼ばれるVMIにマップされたV/Iリソースに接続され、これはパターンの中のその地点でIdd電流を測定する測定用ストロボとして計器を使用する。試験コードは次のような体裁をとる。.
.
.
Control−>ConnectTrigger(9,’Iddmeas’);
Vcc−>SetModeIMeasure(100ma);
Vcc−>ConnectMeasStrobe(‘Iddmeas’);
Control−>RunPattern(‘mypat’);
Wait(100ms);
Vcc−>GetMeas(&Idd);
.
.
.
最初の行Control−>ConnectTrigger(9,’Iddmeas’);で、まずはVMIが自身にマップされたリソース(PI内のリソース)に対しコールを行い、Piは‘Iddmeas[site]’という各サイトにつき信号ラインに至る固有のトリガラインの接続をシステムPI経由でリクエストする。十分な信号ラインが使用可能なら、信号ラインを(名前により)確保し、接続カウンタを1に設定し、信号ラインが既に存在するなら接続カウンタが増加する。使用できる十分な信号ラインがない場合は警報を発することができる。信号ラインの確保に成功したら、VMIはパターンビット9を信号‘Iddmeas[site]’へ接続することを各サイトの計器PIに指示する。
.
.
Control−>ConnectTrigger(9,’Iddmeas’);
Vcc−>SetModeIMeasure(100ma);
Vcc−>ConnectMeasStrobe(‘Iddmeas’);
Control−>RunPattern(‘mypat’);
Wait(100ms);
Vcc−>GetMeas(&Idd);
.
.
.
最初の行Control−>ConnectTrigger(9,’Iddmeas’);で、まずはVMIが自身にマップされたリソース(PI内のリソース)に対しコールを行い、Piは‘Iddmeas[site]’という各サイトにつき信号ラインに至る固有のトリガラインの接続をシステムPI経由でリクエストする。十分な信号ラインが使用可能なら、信号ラインを(名前により)確保し、接続カウンタを1に設定し、信号ラインが既に存在するなら接続カウンタが増加する。使用できる十分な信号ラインがない場合は警報を発することができる。信号ラインの確保に成功したら、VMIはパターンビット9を信号‘Iddmeas[site]’へ接続することを各サイトの計器PIに指示する。
各PIは使用可能なトリガラインをチェックし、ボード上で接続を果たす。次にPIは、選択されたトリガラインを‘Iddmeas[site]’という信号に接続することをシステムPIにリクエストする。計器PIは、その場所と、選択されたトリガラインと、接続の方向と(この場合はAsynchronous Dive)、接続する信号とに関する情報をシステムPIに送ることによってこれを果たす。システムPIはクロスポイントファンクションでしかるべき接続を設定し、選択されたトリガラインのモードを設定する。これでパターンビット9は‘Iddmeas[site]’という信号ラインを駆動する。
2番目の行では、VccというVMIが100ma範囲の電流測定モードに設定される。3番目の行で、VccというVMIは測定用ストロボをトリガモードに設定し、且つストロボを受信モードで信号‘Iddmeas’という信号へ接続する指示を受ける。これは例えばVcc VMIが信号ラインの確保をシステムPIに要請することよって果たすこともできるが、信号ラインは既に確保されているから、接続カウンタが増加するだけでよい。そしてVcc VMIは個々の計器PIに接続を要請する。
VMI計器はボード上で使用可能なトリガラインへストロボを接続し、選択されたトリガラインを非同期受信モードで‘Iddmeas’へ接続することをシステムPIにリク
エストする。
エストする。
次にパターンを実行し、測定値をボードに蓄積する。この後に遅延を挟んで測定値を引き出す。接続は永続し、以降の試験で使用できるため、接続が再び必要となる場合は接続を再度プログラムする必要はない。以降の試験で使用できる十分な信号ラインがない状況が発生することもある。この場合は、Disconnectファンクションを使って必要でなくなった信号ラインを解放できる。接続カウントはシステムPIによって管理され、このカウントがゼロならVMIからの切断ファンクションコールが受け付けられる。この例で‘Iddmeas’を解放するには以下の行を追加する。
Control−>DisconnectTrigger(9,’Iddmeas’);Vcc−>DisconnectMeasStrobe(‘Iddmeas’);
上記の1番目の行で、デジタルVMI「Control」は計器PIに切断を指示し、PIはシステムPIから切断をリクエストし、次にControl VMIは‘Iddmeas’という信号の切断をリクエストする。システムPIは接続カウンタを減少させるが、接続は依然として存在するから信号ラインは解放しない。上記の2番目の行で、Vcc VMIも同様に計器PIに切断を指示し、システムPIから切断をリクエストする。この場合、システムPIは接続カウンタをゼロまで減らし、信号ラインを後ほど使用するため解放する。
Control−>DisconnectTrigger(9,’Iddmeas’);Vcc−>DisconnectMeasStrobe(‘Iddmeas’);
上記の1番目の行で、デジタルVMI「Control」は計器PIに切断を指示し、PIはシステムPIから切断をリクエストし、次にControl VMIは‘Iddmeas’という信号の切断をリクエストする。システムPIは接続カウンタを減少させるが、接続は依然として存在するから信号ラインは解放しない。上記の2番目の行で、Vcc VMIも同様に計器PIに切断を指示し、システムPIから切断をリクエストする。この場合、システムPIは接続カウンタをゼロまで減らし、信号ラインを後ほど使用するため解放する。
一実施形態によると、システムPIはリソース(信号ライン)を堅固に管理する。例えば、プログラムをロードするときと試験を開始するときには全ての信号ラインを解放できる。また、接続状態はツールでコントロールでき、ユーザはブレイクポイント等で終了できるから、信号ラインが誤ってロックアウトすることはない。
この例の使用により、2計器間で基礎的接続方式が遂行される。計器ファンクションは、接続先にあたる計器におけるファンクションの実装にまったく左右されない。この方式には、接続にあたって2行のユーザコードが必要になるという欠点がある。ただし、このアーキテクチャなら多数の計器が1つのソースに接続することができる。
図11は、本発明の様々な態様の実装に使える試験システムアーキテクチャの別の例を示す。試験アプリケーションで高度な再現性を達成する上で決定性動作は基本条件の1つである。試験アプリケーションで個々の試験の実行時間にかかわる変動を抑えれば、多数のデバイスで行われる測定はより正確で一貫性のあるものになるだろう。ATE業界ではこれまで、リアルタイムオペレーティングシステムを実行する専用プロセッサを使って個々の試験を実行することでこの問題を解決してきた。この手法には、決定性動作の達成にあたって非常に高いコストがかかるという欠点がある。
これは通常、試験環境に関係する全てのタスク(例えばユーザインターフェース、データ記録、試験実行、その他)をただ1つのプロセッサで制御する低コストの試験システムで問題となる。さらに厄介なことに、低コストプラットフォームでリアルタイムオペレーティングシステム(RTOS)を利用できる見込みは比較的低くい上、そのオペレーティングシステムは扱いやすくて「見栄えの良い」ユーザインターフェースをユーザに提供するようにはできていない。通常、これらのRTOSから提供されるインターフェースはテキスト方式であり、一般ユーザにとっては非常に暗号めいたコマンドに基づくものである。
図11はリアルタイムコンポーネントと非リアルタイムコンポーネントの両方を含むアーキテクチャの例を示す。例えばこのアーキテクチャはグラフィカルユーザインターフェース1101を含み、ユーザはこれを使って試験プログラムを実行し、管理する。さらにアーキテクチャは、試験対象デバイス(DUT)から引き出された試験結果を蓄積するデ
ータ記録プロセス1102を含む。さらにシステムは、実行される試験プロシージャに関係するフロー制御を行う非リアルタイムファンクション1103を含む。さらにアーキテクチャは、試験に関係するいくつかの非リアルタイムタスク1104、例えば報告、警報、その他のタスクを、実行する。
ータ記録プロセス1102を含む。さらにシステムは、実行される試験プロシージャに関係するフロー制御を行う非リアルタイムファンクション1103を含む。さらにアーキテクチャは、試験に関係するいくつかの非リアルタイムタスク1104、例えば報告、警報、その他のタスクを、実行する。
本発明の一実施形態においては、リアルタイムコンポーネントと非リアルタイムコンポーネントを別々の仮想マシン上で実装できる。当技術で周知のとおり、これらの仮想マシンは、例えば同じプロセッサで実行されることもあれば、異なるプロセッサで実行されることもある。これらの仮想マシンは仮想マシン間通信を行いながら様々な分散機能を実装する。一態様によると、非リアルタイムコンポーネントを単独のシステムエンティティ(例えば単独の仮想マシン)で実装すれば、既製のハードウェアとソフトウェアを使ってかかる非リアルタイムコンポーネントを実装できるから、システムのコストを抑えることができる。
さらにアーキテクチャは、1つ以上のDUTの試験に関係するファンクションを実行するリアルタイムプロセスを提供する。例えば、1つ以上のDUTに対する試験ファンクションの実行を取り仕切る試験実行制御コンポーネント1106を提供できる。このシステムでは予め1つ以上の仮想マルチサイト計器(例えばVMI 1108A−1108C)を設定しておき、これを使って、ユーザから提供される1つ以上の試験プログラムを実装する。アーキテクチャはまた、試験プロシージャを支援するその他補助リアルタイムタスク1107を含む。かかるタスクは、例えばシグナリングをはじめとする他の時間に左右されるタスクを含む。
リアルタイムプロセスと非リアルタイムプロセスとの通信を促進するため、OS間通信エリア1105(個別の仮想マシンを使用する場合は仮想マシン間通信エリア)を設け、リアルタイムタスクが非リアルタイム領域のリソースと通信しこれにアクセスできるようにする。
Windows(登録商標) XPオペレーティングシステムは周知のグラフィカルユーザインターフェースを具備するが、Windows(登録商標) XPオペレーティングシステムはリアルタイムオペレーティングシステムではない。これは基本的に、ある特定のオペレーティングシステムリクエストが一定の時間内に処理されることをWindows(登録商標) XPオペレーティングシステムで保証できないことを、あるいはオペレーティングシステムのもとで実行するタスクが所定の期間内に実行する保証がないことを、意味する。一実施形態によると、Windows(登録商標) XPオペレーティングシステムを修正することで、このオペレーティングシステムで(あるいは他の何らかのオペレーティングシステムで)リアルタイム能力を提供できるようにする。
本発明の一実施形態によると、Tenasys社のリアルタイムエクステンション(INtimeエクステンション製品)を使用するが、これとは種類が異なるエクステンションを、または他の何らかのリアルタイムオペレーティングシステム(RTOS)を、使用できることを理解されたい。Tenasysが提供するソリューションは、2つの全く異なるオペレーティングシステムを1つのプロセッサで実行しながら2つのOS間の通信を可能にする。Tenasysの技術なら、両方のオペレーティングシステムが干渉を起こさずx86プラットフォームで実行できる。この技術は、一方の環境における不具合(壊滅的不具合をも含む)によって他方の環境に副作用が生じないことをも保証する。これは非常に高度な信頼性を実現する。
INtime製品から提供されるリアルタイム環境では、Windows(登録商標)
NTオペレーティングシステムそのものが優先順位の低いタスクとなる。リアルタイム
タスクはどれもWindows(登録商標) NTオペレーティングシステムより優先するため、Windows(登録商標)環境における活動にかかわりなく安定した実行時間を保証できる。試験システムアーキテクチャは、一実施形態によると、時間が重視されるタスクが実行するリアルタイム環境と、優先順位が比較的低いタスクが実行する非リアルタイム環境とに依存する。これらのオペレーティングシステム環境は単一のプロセッサシステムを共用し、必要に応じて互いに通信する。
NTオペレーティングシステムそのものが優先順位の低いタスクとなる。リアルタイム
タスクはどれもWindows(登録商標) NTオペレーティングシステムより優先するため、Windows(登録商標)環境における活動にかかわりなく安定した実行時間を保証できる。試験システムアーキテクチャは、一実施形態によると、時間が重視されるタスクが実行するリアルタイム環境と、優先順位が比較的低いタスクが実行する非リアルタイム環境とに依存する。これらのオペレーティングシステム環境は単一のプロセッサシステムを共用し、必要に応じて互いに通信する。
本発明の一実施形態によると、参照により開示内容を本明細書に援用する2005年9月2日に提出された米国特許出願第11/218,915号、表題「SYSTEM AND METHOD FOR PERFORMING DETERMINISTIC PROCESSING(決定性処理を実行するシステムおよび方法)」で説明されているとおり、決定性処理を実行するように試験アーキテクチャを構成する。ただし、他のオペレーティングシステムをリアルタイム能力と併せて使用できること、そして本発明が特定の種類のオペレーティングシステムに限定されないことを理解されたい。
汎用コンピュータシステム
本発明の様々な実施形態は1つ以上のコンピュータシステムで実装できる。これらのコンピュータシステムは、例えばIntel PENTIUM(登録商標)タイププロセッサ、Motorola PowerPCプロセッサ、AMD AthlonまたはTurionプロセッサ、Sun UltraSPARCプロセッサ、Hewlett−Packard PA−RISCプロセッサ、あるいは他の何らかのプロセッサに基づくものなど、汎用コンピュータシステムであってよい。本発明の様々な実施形態による処理の実行にあたって、どんな種類のコンピュータシステムであれ1つ以上使用できることを理解されたい。さらに、システムは単一のコンピュータ上に位置することもあれば、通信ネットワークによって接続された複数のコンピュータに分散することもある。
本発明の様々な実施形態は1つ以上のコンピュータシステムで実装できる。これらのコンピュータシステムは、例えばIntel PENTIUM(登録商標)タイププロセッサ、Motorola PowerPCプロセッサ、AMD AthlonまたはTurionプロセッサ、Sun UltraSPARCプロセッサ、Hewlett−Packard PA−RISCプロセッサ、あるいは他の何らかのプロセッサに基づくものなど、汎用コンピュータシステムであってよい。本発明の様々な実施形態による処理の実行にあたって、どんな種類のコンピュータシステムであれ1つ以上使用できることを理解されたい。さらに、システムは単一のコンピュータ上に位置することもあれば、通信ネットワークによって接続された複数のコンピュータに分散することもある。
本発明の一実施形態による汎用コンピュータシステムは既述のファンクションのいずれかを実行するように構成され、そのファンクションは、これに限定されないが試験プログラムに関連する処理の実行を含む。システムは他のファンクションでも実行できること、そして本発明が特定のファンクションまたはファンクション一式を具備することに限定されないことを理解されたい。
図12は、本発明の様々な態様を実践できる汎用コンピュータおよびネットワークシステムのブロック図である。本発明の様々な態様は、例えば図12に見られる汎用コンピュータシステム1201を含む1つ以上のコンピュータシステムで実行する特化ソフトウェアとして実装できる。コンピュータシステム1201は、1つ以上のメモリデバイス1205、例えばディスクドライブ、メモリ、またはデータを蓄積するその他のデバイスなどへ、接続するプロセッサ1204を含む。メモリ1205は通常、コンピュータシステム1201の作動中にプログラムとデータを蓄積するために用いられる。コンピュータシステム1201のコンポーネントはネットワーク1210等の相互接続機構によって結合され、これは1つ以上のバス(例えば同一マシンに内蔵されたコンポーネント間のバス)および/またはネットワーク(例えば別個のマシンに存在するコンポーネント間のネットワーク)を含む。この相互接続機構により、システム1201のシステムコンポーネント間で通信(例えばデータ、命令)のやり取りが可能になる。
コンピュータシステム1201はまた、1つ以上の入力/出力(I/O)デバイス1206、例えばキーボード、マウス、トラックボール、マイクロフォン、タッチスクリーン、印刷デバイス、表示画面、スピーカなどを含む。加えてコンピュータシステム1201は、コンピュータシステム1201を通信ネットワーク(ネットワーク1210に追加されるネットワーク、またはネットワーク1210に代わるネットワーク)に接続する1つ
以上のインターフェース(例えばネットワーク通信デバイス1208)を含む。
以上のインターフェース(例えばネットワーク通信デバイス1208)を含む。
ストレージシステム1209は通常、コンピュータによる読み書きが可能な不揮発性記録媒体を含み、プロセッサによるプログラムの実行を決定する信号や、プログラムによって処理される情報をそこに蓄積する。この媒体は、例えばディスクまたはフラッシュメモリであってよい。プロセッサは通常、作動中に不揮発性記録媒体から、プロセッサが同媒体より速く情報にアクセスできる別のメモリに、データを読み込む。このメモリは通常、ダイナミックランダムアクセスメモリ(DRAM)やスタティックメモリ(SRAM)等の揮発性ランダムアクセスメモリである。メモリは、図示されたストレージシステム1209にあってよく、あるいはメモリシステム105にあってよい。プロセッサ104は通常、集積回路メモリ104の中でデータを操作し、処理が完了した後にはストレージ1209と連係する媒体へデータをコピーする。媒体と集積回路メモリ素子との間のデータ移動の管理については様々なメカニズムが知られており、本発明はそれらに限定されない。本発明は特定のメモリシステムまたはストレージシステムに限定されない。
コンピュータシステムは、専用にプログラムされた専用のハードウェアを、例えば特定用途向け集積回路(ASIC)を、含むことがある。本発明の態様は、ソフトウェア、ハードウェアまたはファームウェア、またはこれらの組み合わせで、実装できる。さらに、かかる方法、動作、システム、システム要素、およびこれらのコンポーネントは、上述したコンピュータシステムの一部として実装されることもあれば、単独のコンポーネントとして実装されることもある。
本発明の様々な態様を実践できる1種類のコンピュータシステムとしてコンピュータシステム1201が例示されているが、本発明の態様が図12に示すコンピュータシステム上での実装に限定されないことを理解されたい。本発明の様々な態様は、図12に示すものとは異なるアーキテクチャまたはコンポーネントを具備する1つ以上のコンピュータで実践できる。
コンピュータシステム1201は、高水準コンピュータプログラミング言語を使ってプログラムできる汎用コンピュータシステムであってよい。コンピュータシステム1201はまた、専用にプログラムされた専用ハードウェアを使って実装できる。コンピュータシステム1201におけるプロセッサ1204は通常、Intel Corporationから入手できる周知のPentium(登録商標)クラスプロセッサ等、市販のプロセッサである。その他多数のプロセッサを使用できる。
通常はかかるプロセッサがオペレーティングシステムを実行し、このオペレーティングシステムは数ある中で、例えばMicrosoft Corporationから入手できるWindows(登録商標)方式のオペレーティングシステム(例えばWindows(登録商標) NT、Windows(登録商標) 2000(Windows(登録商標) ME)、Windows(登録商標) XP、Windows(登録商標) Vistaオペレーティングシステム)、Apple Computerから入手できるMAC OS System Xオペレーティングシステム、Sun Microsystemsから入手できるSolarisオペレーティングシステム、様々な供給元から入手できるUNIX(登録商標)オペレーティングシステム、上述したINtimeおよびTenasysであってよい。その他多数のオペレーティングシステムを使用でき、本発明は、様々な実施形態に従いリアルタイムファンクションや非リアルタイムファンクションを実行するにあたり、特定のオペレーティングシステムまたはオペレーティングシステムエクステンションに限定されない。
プロセッサとオペレーティングシステムによってコンピュータプラットフォームが決ま
り、このコンピュータプラットフォームに向けて高水準プログラミング言語でアプリケーションプログラムを記述する。1つ以上の請求項で指定される場合を除き、特定のコンピュータシステムプラットフォーム、プロセッサ、オペレーティングシステム、またなネットワークに本発明が限定されないことを理解されたい。また、本発明が特定のプログラミング言語またはコンピュータシステムに限定されないことは当業者にとって明白であろう。また、他の適切なプログラミング言語と他の適切なコンピュータシステムも使用できることを理解されたい。
り、このコンピュータプラットフォームに向けて高水準プログラミング言語でアプリケーションプログラムを記述する。1つ以上の請求項で指定される場合を除き、特定のコンピュータシステムプラットフォーム、プロセッサ、オペレーティングシステム、またなネットワークに本発明が限定されないことを理解されたい。また、本発明が特定のプログラミング言語またはコンピュータシステムに限定されないことは当業者にとって明白であろう。また、他の適切なプログラミング言語と他の適切なコンピュータシステムも使用できることを理解されたい。
コンピュータシステムの1つ以上の部分は、通信ネットワークに結合された1つ以上のコンピュータシステムにわたって分散できる。これらのコンピュータシステムもまた汎用コンピュータシステムであってよい。例えば、1つ以上のクライアントコンピュータに対しサービスを提供するように、または全体的タスクを分散システムの一部として実行するように、構成された1つ以上のコンピュータシステム(例えばサーバ)の中で、本発明の様々な態様を分散させることができる。例えば本発明の様々な態様は、1つ以上のサーバシステムに分散するコンポーネントが本発明の様々な実施形態に従って様々なファンクションを実行するクライアント・サーバシステムや多層システムで、実施できる。これらのコンポーネントは、実行可能コード、中間コード(例えばIL)、またはインタープリタ型コード(例えばJava(登録商標))であってよく、通信ネットワーク(例えばインターネット)上で通信プロトコル(例えばTCP/IP)を使って通信する。
本発明が特定のシステムまたはシステム群での実行に限定されないことを理解されたい。また、本発明が特定の分散アーキテクチャ、ネットワーク、または通信プロトコルに限定されないことを理解されたい。
本発明の様々な実施形態はオブジェクト指向プログラミング言語を使って、例えばSmallTalk、Java(登録商標)、C++、Ada、またはC#(Cシャープ)を使って、プログラムできる。他のオブジェクト指向プログラミング言語を使用することもできる。代わりに、関数型言語、スクリプト言語、アセンブリ言語、および/または論理プログラミング言語を使用することもできる。本発明の様々な態様は非プログラム環境で実装できる(例えばHTML、XML、またはその他の形式で作成された文書は、ブラウザプログラムのウィンドウに表示されるときに、グラフィカルユーザインターフェース(GUI)の諸態様を提示したりその他のファンクションを実行する)。本発明の様々な態様は、プログラム要素として、非プログラム要素として、またはこれらの組み合わせとして、実装できる。
このシステムの様々な態様は、システム100の中の1つ以上のシステムによって実装できる。例えばシステムは、シングルまたはマルチプロセッサシステムであってよい。システムは一例において、パーソナルコンピュータ(PC)等のシステムで実行するソフトウェアプロセスを含む。かかるシステムは、例えば試験対象デバイス(DUT)を試験する試験システムで1つ以上のファンクションをユーザに実行させる。かかるシステムは、数ある中で例えば試験システムや制御システムを含む。
クライアント・サーバアーキテクチャの例
本発明の別の態様によると、試験プログラムソフトウェアは様々な種類のユーザによって利用されることが分かっている。ユーザには試験アプリケーションを開発する者もいれば、開発されたアプリケーションを試験工程の運営管理に役立てる者もいる。ただし種類の異なるこれらのユーザは、実行するファンクションに応じて特定のユーザインターフェース(UI)を使用する必要がある。テスタには様々な種類があってユーザインターフェースはテスタの種類によって異なり、ユーザは装置の運転にあたって特定の種類のインターフェースを理解しなければならないことが分かっている。また、ATE業界ではアプリ
ケーションとドライバが緊密に結合し、ユーザインターフェースはシステムソフトウェアに結合されていることが分かっている。本発明の一態様によると、標準のユーザインターフェースを使って様々な種類のテスタにアクセスすることにより、ユーザに必要なトレーニングの量を減らす。トレーニングの必要量をさらに減らすためユーザ別のインターフェースを提供し、ユーザが自身の役割に関係する試験ファンクションを実行できるようにする。
本発明の別の態様によると、試験プログラムソフトウェアは様々な種類のユーザによって利用されることが分かっている。ユーザには試験アプリケーションを開発する者もいれば、開発されたアプリケーションを試験工程の運営管理に役立てる者もいる。ただし種類の異なるこれらのユーザは、実行するファンクションに応じて特定のユーザインターフェース(UI)を使用する必要がある。テスタには様々な種類があってユーザインターフェースはテスタの種類によって異なり、ユーザは装置の運転にあたって特定の種類のインターフェースを理解しなければならないことが分かっている。また、ATE業界ではアプリ
ケーションとドライバが緊密に結合し、ユーザインターフェースはシステムソフトウェアに結合されていることが分かっている。本発明の一態様によると、標準のユーザインターフェースを使って様々な種類のテスタにアクセスすることにより、ユーザに必要なトレーニングの量を減らす。トレーニングの必要量をさらに減らすためユーザ別のインターフェースを提供し、ユーザが自身の役割に関係する試験ファンクションを実行できるようにする。
さらに、本発明の別の態様によると、ユーザがどこからでも試験ファンクションを実行できるようにする試験アーキテクチャが提供される。1つの特定の実装においては、ブラウザプログラムを通じてユーザインターフェースにアクセスし、ユーザは、通信ネットワークを通じて試験システムへ結合された任意の場所から試験ファンクションを実行する。従来の環境では通常、UIがマシンに結合されているが、ネットワークを介してUIを利用できるようになれば、ユーザは別の場所からでも試験を実行できる。
図13は、本発明の一実施形態によるシステム例1300のアーキテクチャ図を示すもので、これは試験ファンクションを実行するサーバと、試験ファンクションの実行に用いるユーザインターフェースを提示する1つ以上のクライアントシステムとを含む。図13は専ら例証を目的とするものであって、本発明の1つ以上の態様を促進するにあたってこれ以外のアーキテクチャを使用できることを理解されたい。
図13に見られるとおり、試験システムを実装するためコンピュータシステム200(例えば図12を参照しながら上述した汎用コンピュータシステム)を使用する。コンピュータシステム1301は、試験システムファンクションと、データベースファンクションと、後述するインターフェースファンクションとを実行する1つ以上のソフトウェアプロセス1305を含む。本発明の一実施形態によると、システム1301は図12を参照しながら上述した汎用コンピュータシステムであってよい。このため、システム1301はオペレーティングシステムと、1つ以上のプロセッサと、1つ以上のI/Oコンポーネントとを含む。
一実施形態によると、システム1301は1つ以上のクライアントシステム(例えばシステム1307A−1307D)とそれらに関連するユーザ(例えばユーザ1308A−1308D)とに試験ファンクションへのアクセスを許可する。一実施形態によると、試験システム1301とこれに関連するハードウェアとソフトウェアは、1つ以上の通信ネットワーク1304を介して通信する。ネットワーク1304は、例えばインターネット、法人企業ネットワーク、またはその他の通信ネットワーク型を含む。とりわけユーザは、通信ネットワーク1304を通じて様々な場所で試験システムファンクションにアクセスできる。
一実施形態において、試験システムのユーザインターフェースは、通信ネットワークを介してダウンロードし閲覧できるウェブ方式のインターフェースである。一実施形態において、クライアント(例えばクライアント1307D)はブラウザプログラム(例えばMicrosoft Internet Explorerブラウザプログラム)を含む。ユーザは試験システム1301にログインし、システム1301は1つ以上のソフトウェアプログラムまたはコンポーネント1303を提供し、クライアントはこれを使って試験システムファンクションにアクセスする。一実施形態によると、試験システムファンクションはMicrosoft Corporationから入手できる周知のWindows(登録商標)形式インターフェースを使って実行され、ブラウザプログラム(例えば1309)を通じてアクセスされる。事実クライアントは、既述のユーザインターフェースを提示するため任意のアプリケーションプログラム1310ソフトウェアおよび/またはデータベース要素(例えばデータベース1311に蓄積される要素)をダウンロードし、
蓄積する。Windows(登録商標)形式を使用するが、どんな種類のソフトウェアおよび/または通信方法でも使用でき(例えばCGI、Perl、XML、その他)、本発明が特定の方法に限定されないことを理解されたい。
蓄積する。Windows(登録商標)形式を使用するが、どんな種類のソフトウェアおよび/または通信方法でも使用でき(例えばCGI、Perl、XML、その他)、本発明が特定の方法に限定されないことを理解されたい。
特に、ユーザは任意のウェブ対応クライアントから試験ファンクションを実行できる。ユーザは、例えばウェブサービスを利用し、試験システム1301へ接続している限りは、任意の場所から任意のテスタをコントロールできる。従来、ユーザインターフェースは試験ハードウェアに結合されその試験ハードウェアに専用のものだから、試験装置で局所的に実行される。本発明の一実施形態によると、ユーザは通信ネットワーク(例えばインターネット)を通じて試験システム1301にログインする。
さらに別の実施形態によると、それぞれのユーザには試験をコントロールするため自分なりのGUIが提示される。試験システム1301は、ユーザがそれぞれ異なるファンクション(プログラミング、メンテナンス、その他)を実行する場合に別々のUIを蓄積し(例えばデータベース1302内のエントリ1306として蓄積)、ログインするユーザに応じて異なるUIをユーザに提示する。これらのUIは1つ以上のプログラム(例えばアプリケーションプログラム1310)を含み、局所的に蓄積された1つ以上のコンポーネントを具備する。さらにUIは、UI構成データを蓄積する1つ以上のデータベースを含む。したがってユーザは、ネットワークに接続する場所ならどこでもカスタムUIを閲覧でき、それらのカスタムUIはユーザの特定の役割に合わせて構成される。
ATEテスタにおけるプロセス
本発明の一実施形態において、図14に示すPowerPollプロセス1400は抽象層アーキテクチャの中でのモジュール間のやり取りを例証する。これより、例えば図15について説明するプロセスフロー1400を使って実行されるプロセスの例を説明する。以下に説明するプロセスは一例に過ぎず、制限を目的とするものではないことを理解されたい。
本発明の一実施形態において、図14に示すPowerPollプロセス1400は抽象層アーキテクチャの中でのモジュール間のやり取りを例証する。これより、例えば図15について説明するプロセスフロー1400を使って実行されるプロセスの例を説明する。以下に説明するプロセスは一例に過ぎず、制限を目的とするものではないことを理解されたい。
PowerPollプロセス1400は、典型的にはプラットフォーム層で1402におけるタイマーの満了によって始まる。任意選択で、時間終了(EOT)イベントの有無やプログラムがブレイクポイントに達したか否かをPowerPollプロセスでチェックすることもできる。電力ポーリングタイマーが満了になっていなければ1404(偽)、1406でメインスレッドの実行が継続する。電力ポーリングタイマーが満了しているなら、1404(真)、プラットフォーム層は2つのプラットフォーム状態変数「System PowerState」および「System Power Interrupted」を含むコールをシステム層に引き渡す。これに応じてシステム層は1408で、システムPIモジュールを通じてUpdate SystemPowerStatusファンクションをコールする。一実施形態においては、データフローが一通り完了した後にシステムPIが2ビットのデータをプラットフォーム層に返し、ビット1はPower Interruptedを反映し、ビット0はPowerStateを反映する。この抽象化により、プラットフォームが実際の電力チェック方法(例えば電力スイッチの状態を判断する、電圧の有無を判断する、その他)を知る必要はなく、このチェックファンクションはシステムPIが遂行する。
任意選択で、プロセスは引き続きプラットフォーム状態変数が「ProgramAtBreakPoint」になっているか否かを判断し(図示せず)、なっていなければステップ1410でディスパッチャ制御コンポーネントがメールボックスを読み取り、これをクリアする。ディスパッチャ制御コンポーネントはステップ1410で最新の構成(存在する場合)を取り、その構成を現在の構成と比較する。異なる構成の存在が確認されると1412(真)、PIモジュールが削除されたか否かのチェックを1414で行い、PI
モジュールが削除されていないなら、1414(偽)、1420で新たなPIモジュールをロードし、PIモジュールが削除されていたなら、1414(真)、削除された全PIモジュールにつき1416でPowerOnInitファンクション(物理計器層内)をコールし、1418で削除済みPIモジュールをアンロードする。ステップ1420では新たなPIをロードする。これとは別に、ステップ1408のシステムPIに対するUpdateコールの後にプロセスは1410へ直行し、ディスパッチャが新たな構成を受け取ったか否かを判断する場合もある。
モジュールが削除されていないなら、1414(偽)、1420で新たなPIモジュールをロードし、PIモジュールが削除されていたなら、1414(真)、削除された全PIモジュールにつき1416でPowerOnInitファンクション(物理計器層内)をコールし、1418で削除済みPIモジュールをアンロードする。ステップ1420では新たなPIをロードする。これとは別に、ステップ1408のシステムPIに対するUpdateコールの後にプロセスは1410へ直行し、ディスパッチャが新たな構成を受け取ったか否かを判断する場合もある。
このプロセスの二者択一分岐1412(真)および1412(偽)は再び合流し、PIモジュールに対応するハードウェアで電力の有無を1422で判断する。電力がオフなら1422(偽)なら1428でPowerOnInitファンクションをコールし、電力が使用可能なら1422(真)、システムは電力がオフまたは不通になっていたか否かを1424でチェックする。電力がオフまたは不通になっていたなら1424(真)、1428でPowerOnInitファンクションをコールする。電力がオフまたは不通になっていなかったなら1424(偽)、引き続き1426で構成が異なるか否かをチェックする。以前の分岐は構成検査のところで再び合流する。構成が異ならないなら1426(偽)、プロセスは1438でメインスレッドの実行に戻る。構成が異なるなら1426(真)、任意選択としてシステムはプラットフォーム状態変数「StateRecipeQualified」を再度審査し、更新する(図示せず)。代わりに、異なる構成の確認を受けて1426(真)、プログラムがロードされるか否かを判断するチェックをステップ1430で行う。プログラムがロードされないなら1430(偽)、1438でメインスレッドの実行が継続する。プログラムがロードされるなら1430(真)、1432で全VMIに対しファンクションコールIsMappingOK()を行う。全てのVMIでマッピングがokなら、1434(真)、1438でメインスレッドの実行が継続する。全てのVMIでマッピングがokでなければ、1434(偽)、1436で状態変数ProgramNotValidを更新する。
要するに、このプロセス例はシステムが電力オン状態にあるか否かを判断する。また、電力オン状態にあるなら、試験プログラムとVMIは、ハードウェアで既存のポストパワーサイクルまたは再構成を試験するための所要条件を満たすことができる。このチェックの責任をVMIが担うことで、別の抽象化された責任はプラットフォームからモジュールに移される。
システムの電力状態を判断したら、次のチェックでシステムの実際の構成を確認する。このプロセスの結果、ハードウェアが不在か不適切な構成済みPIモジュールは自身をディスエーブル状態に置き、そのリソースを「PoweredOff」として公開する。構成済みPIモジュールに一致しない追加のハードウェアが検出される場合は、ValidateConfigurationプロセス(図示せず)が警告メッセージを発行する。この警告メッセージはプラットフォームユーザメッセージングウィンドウかプラットフォームコンフィギュレータへ返され、気の利いた表示名があるならこれを表示し、なければ「不明ハードウェア」メッセージを表示する。
警報処理
一実施形態の警報処理操作を図解する図15について様々な層間のやり取りをさらに説明できる。図15は制限ではなく例証のため提示されている。
一実施形態の警報処理操作を図解する図15について様々な層間のやり取りをさらに説明できる。図15は制限ではなく例証のため提示されている。
図5の実施形態に見られるとおり、種々の抽象層はさらに、それぞれのモジュールに抽象化されている。この例ではまた、モジュール間通信を管理するための少なくとも1つのインターフェース(1534−1552)が各モジュールの境界のところに見られる。例えば、システムPI 1504モジュールはプラットフォーム層インターフェース153
2(ディスパッチャを備えるプラットフォームソフトウェアとして図示)とのインターフェース1538を持ち、これはCheckAlarmsファンクションコールにかかわる双方向通信を管理する。この例のシステムPIモジュール1504はまた、PIモジュールのインターフェース1542とともに通信とファンクションを管理するインターフェース1540を持つ。
2(ディスパッチャを備えるプラットフォームソフトウェアとして図示)とのインターフェース1538を持ち、これはCheckAlarmsファンクションコールにかかわる双方向通信を管理する。この例のシステムPIモジュール1504はまた、PIモジュールのインターフェース1542とともに通信とファンクションを管理するインターフェース1540を持つ。
本発明の別の態様において、プラットフォーム層は、処理フローの結果を記録するための機能を抽象化したものである。図15を参照して分かるとおり、処理フローの一部として実行される様々なファンクションコールは一実施形態において、その結果をプラットフォーム層に報告する。プラットフォーム層は一実施形態において、他の抽象層からの各種ファンクションコールの報告結果を記録するための機能を抽象化したものである。
代表的警報プロセス1500を参照しながら様々なファンクションコールと機能を説明する。代表的プロセス1500は制限ではなく例証のため提示されている。警報プロセス1500は1502でシステムPIに対するCheckAlarms()コールで始まる。システムPI 1504は一実施形態においてテスタの構成を完全に把握し、全占有ロケーション(ロケーションはプラットフォームコンセプトであり、リストの索引として機能する32ビット数で表される)のリストを保持する。プラットフォーム/ディスパッチャ1508は、警報を発したロケーションのリストがシステムPI 1504から返ってくることを期待する。システムPIは1506で、警報を発したロケーションのリストをプラットフォーム/ディスパッチャ1508に返す。このリストは一実施形態において、システムPI 1504によって選別される。一例において、選別にあたってはPI 1512が管轄内にあるかどうかをシステムPI 1504が判断する。別の例では、システムPI 1504の管轄内にないPI 1512を自動的に返すようシステムを構成する。例証のため、Ceres Native InstrumentはCeres システムPIの管轄内にある。
ここでの重要コンセプトとして、テスタにとってネイティブではない計器は総合試験ソリューションに容易く組み入れることができる。PIモジュールとのプラットフォームインターフェースはハードウェア実装を期待しない。したがって一具体例で、GPIBまたはPCIExpressベースのソリューションはネイティブ構築ソリューションとして統合でき、ハードウェアから独立したソリューションを可能にする。
1510では、システムPIに対するCheckAlarms()コールで返された各ロケーションに対し(1502および1506)、ServiceAlarms()コールを行う。ServiceAlarms()を受け取ったPI 1512(またはシステムPI 1504(図示せず))は、実際の警報状態の有無を判断するためハードウェアにアクセスする。一実施形態においてはシステムPIによる警報の選別が実行時間に貢献し、試験プラットフォームの決定的性質を維持するのに役立つ。別の実施形態においては、測定精度に関係しない警報やハードウェアの有効状態を指摘しない警報は生成しないようシステムを構成する。1514では、PI 1512(またはシステムPI 1504(図示せず))がハードウェアの警報状態を読み取る。ステップ1514はまた、ローカル警報キャッシュをクリアすることを含む場合があり、さらにハードウェアを安全状態に置くことを含む場合がある。
警報状態を読み取ったPI 1512(またはシステムPI 1504(図示せず))は、リソース別の警報とAllSite警報(グローバル警報)をキャッシュする。一実施形態においては、次のServiceAlarms()コールが行われるまでこのキャッシュを維持する。キャッシュにより、ツール表示に警報を使用することが可能となる。
1516では、インスタンス化された各VMI 1518に対しReportAlarms()コールを行う。このコールは一実施形態において、1502と1506におけるシステムPI 1504に対するCheckAlarms()コールでロケーションが返されようが返されまいが行われる。このような独立したReportAlarms()コールは一例によると、警報がPI(例えば1512)によって永続警報として扱われる場合、ハードウェアがシステムPI 1504に警報を伝えない場合(これはシステムPIが管轄内のPIに基づき警報を選別する実施形態において生じる)、あるいはVMIの中かVMIにマップされたリソースでソフトウェアレベルの警報が発生した場合に、有利である。1520では、VMI 1518が警報の有無を判断するためリソース、例えばPI 1512を、照会する。VMI 1518は1つ以上のPIとやり取りすることもあり、いくつかのPI相互作用とそれらの関連リソースにVMIを制限するものとして図を解釈するべきではない。
VMIの照会に応じ、1522でPI 1512はリクエストされた警報情報で応答し、警報を報告済みとマークする。PI 1512は、その設計または構成に基づき、報告する警報を選別することがある。VMI 1518もまた、その設計または構成に基づき、報告された警報を選別することがある。1524では、VMI 1518がそのリソースに関する応答をms_boolを使って提供する。一実施形態においては、マルチサイトディープのブールを使って応答を行う。つまりマルチサイトオブジェクト(例えばms_bool、ms_float、その他)を作成し、そのサイズは、開発されるプログラムでサポートするサイトの数によって決まる。VMIオブジェクトはサイトの情報もとに設計されるから、VMI 1518は警報をサイト別にコンパイルできる。1530では、ReportAlarmsからの応答をデータ記録サービス1554に報告する。あるいは、ReportAlarmsからの応答を他の情報と組み合わせてデータ記録サービス1554に報告することもできる。
1526では、インスタンス化された各PI 1512(1つのPIが図示されているが、多数のPIも可能)とシステムPI 1054に対しGetUnreportedAlarms()コールを行う。GetUnreportedAlarms()コールは、CheckAlarms()コールで返されるロケーションの有無にかかわりなく(1502および1506)行われることもあれば、システムPI 1504に対して行われることもある(図示せず)。一実施形態においては、システムPIとPIだけにGetUnReportedAlarms()コールを行う。GetUnReportedAlarms()コールでは、VMIにマップされていないリソースによる警報の報告が可能である。VMIに対するReportAlarms()コールは、永続警報であれ非永続警報であれ、VMIにマップされたリソースの全ての警報を処理するように構成できる。永続警報またはソフトウェア警報は、たとえシステムPIがCheckAlarms()コールに対し空のロケーションリストを返す場合でもReportAlarmsとGetUnreportedAlarmsが依然として実行されるという事実により、処理される。
一実施形態においては、これに応じて、1526でPI 1512が2ビット数を返し、そのMSBはAllSitesアラームを指示し、LSBは非報告リソース警報を指示する。1532では、GetUnreportedAlarms()からの応答をデータ記録サービス1554に報告する。あるいは、この報告に他の情報を組み合わせてデータ記録サービス1554に報告することもでき、例えばReportAlarmsとGetUnreportedAlarmsからの応答を組み合わせ、まとめてデータ記録サービス1554へ送ることができる。
PowerOnInitialize(POI)ファンクション
本発明の一実施形態において、物理計器層は、システムの電力状態をポーリングするシ
ステムプロセスの一部としてPowerOnInitializeファンクションをコールする。本発明の一実施形態においては、PowerOnInitializeファンクションが物理計器の基本クラスメソッドに含まれる。本発明の一態様によると、PowerOnInitializeファンクションはPIモジュールとそのハードウェアを既知の初期電力状態に置く。本発明の別の態様によると、プラットフォーム層が実行している保証はないため、あるいはPIモジュールが構成されロードされる保証はないため、試験ハードウェアは既知の安全な電力状態に入ることが重要である。一実施形態において、PowerOnInitializeファンクションは物理計器抽象層で規定される基本クラスファンクションのメンバーである。
本発明の一実施形態において、物理計器層は、システムの電力状態をポーリングするシ
ステムプロセスの一部としてPowerOnInitializeファンクションをコールする。本発明の一実施形態においては、PowerOnInitializeファンクションが物理計器の基本クラスメソッドに含まれる。本発明の一態様によると、PowerOnInitializeファンクションはPIモジュールとそのハードウェアを既知の初期電力状態に置く。本発明の別の態様によると、プラットフォーム層が実行している保証はないため、あるいはPIモジュールが構成されロードされる保証はないため、試験ハードウェアは既知の安全な電力状態に入ることが重要である。一実施形態において、PowerOnInitializeファンクションは物理計器抽象層で規定される基本クラスファンクションのメンバーである。
図16は、一実施形態のPowerOnInitializeファンクション実装例1600を示す。図16は代表的なデータフローを説明するものであり、図示された1つのファンクションに、またはこの特定のデータフローに、本発明を制限するものと読解するべきものではない。
1602ではPowerOnInitializationコールを行う。1604では、試験ファンクションの実行にあたってPI/ハードウェアデバイスがシステム電力状態に依拠するか否かを判断する。依拠しないなら1604(偽)、1612でPIローカルキャッシュを初期化状態に設定し、1614で公開リソースの状態を更新する。PI/ハードウェアデバイスがシステム電力状態に依拠するなら1604(真)、1606でシステムの電力ステータスチェックを行う。一実施形態においてはGetPlatformStateInformation()コールを行ってシステム電力ステータスを入手する。GetPlatformStateInformation()コールは別の実施形態において、PI基本クラスファンクションの一部である。システム電力がオンでなければ1608(偽)、1612でPIローカルキャッシュを初期化状態に設定し、1614で公開リソースの状態を更新する。システム電力がオンなら1608(真)、PI/ハードウェアデバイスをリセットする。一実施形態においては、試験に向けてPI/ハードウェアデバイスが既知の状態にあることを保証するため、リセットを行う。PI/ハードウェアデバイスをリセットしたら、1612でPIローカルキャッシュを初期化状態に設定し、1614で公開リソースの状態を更新する。一実施形態においては、PowerOn状態かPowerOff状態のいずれかでPIリソースの電力状態を識別する。
別の実施形態において、仮想計器層は、そのファンクションの実行に用いる基礎的機能を規定する基本クラスのファンクションを含む。一例において、VIモジュールはGetPlaformInformationファンクションをコールしてプラットフォーム状態情報を得る。一実施形態において、仮想計器層は、リソースの警報リストを報告するファンクションを含む。別の実施形態において、この警報報告ファンクションは基本クラスのファンクションに含まれる。
本発明の別の態様によると、システム層は、そのファンクションの実行に用いる基礎的機能を規定する基本クラスのファンクションを含む。一例において、プラットフォームは図14に示すPowerPollプロセスの一部としてUpdateSystemPowerStatusファンクションをコールする。実施形態において、このUpdateSystemPowerStatusファンクションはシステム層の基本クラスファンクションに含まれる。別の例で、基本クラスのファンクションは、ロケーションで警報の有無をチェックし警報のリストを返すCheckAlarmファンクションを含む。
ソフトウェアウィザードとルールチェックエンジン
本発明の一態様によると、機能の抽象化は、種々の抽象層間にインターフェースを生成するソフトウェアウィザードを操作するための機能の抽象化を含む。一実施形態において
、機能の抽象化は生成エンジンを含み、このインターフェース生成エンジンは、種々の抽象層間で通信を管理するインターフェースを生成する。このインターフェース生成エンジンは一実施形態において、システム層のモジュールと物理計器層のモジュールとの間でインターフェースを規定するための機能を抽象化したものである。インターフェース生成エンジンは一実施形態において、仮想計器層のモジュールと物理計器層のモジュールとの間でインターフェースを規定するための機能を抽象化したものである。インターフェース生成エンジンは一実施形態において、仮想計器層のモジュールとシステム層のモジュールとの間でインターフェースを規定するための機能を抽象化したものである。別の実施形態において、インターフェース生成エンジンは、システムPIモジュールと、PIモジュールと、VIモジュールと、プラットフォーム層との間でインターフェースを規定するための機能を抽象化したものである。
本発明の一態様によると、機能の抽象化は、種々の抽象層間にインターフェースを生成するソフトウェアウィザードを操作するための機能の抽象化を含む。一実施形態において
、機能の抽象化は生成エンジンを含み、このインターフェース生成エンジンは、種々の抽象層間で通信を管理するインターフェースを生成する。このインターフェース生成エンジンは一実施形態において、システム層のモジュールと物理計器層のモジュールとの間でインターフェースを規定するための機能を抽象化したものである。インターフェース生成エンジンは一実施形態において、仮想計器層のモジュールと物理計器層のモジュールとの間でインターフェースを規定するための機能を抽象化したものである。インターフェース生成エンジンは一実施形態において、仮想計器層のモジュールとシステム層のモジュールとの間でインターフェースを規定するための機能を抽象化したものである。別の実施形態において、インターフェース生成エンジンは、システムPIモジュールと、PIモジュールと、VIモジュールと、プラットフォーム層との間でインターフェースを規定するための機能を抽象化したものである。
別の実施形態において、機能の抽象化は、種々の抽象層のモジュールを生成するソフトウェアウィザードを操作するための機能の抽象化を含む。一実施形態において、機能の抽象化はモジュール生成エンジンを含み、このモジュール生成エンジンは、抽象層のいずれか1つでモジュールを規定する。このモジュール生成エンジンは一実施形態において、VIモジュールを規定するための機能を抽象化したものである。別の実施形態において、モジュール生成エンジンは、PIモジュールを規定するための機能を抽象化したものである。別の実施形態において、モジュール生成エンジンは、システムPIモジュールを規定するための機能を抽象化したものである。別の実施形態において、モジュール生成エンジンは、プラットフォームモジュールを規定するための機能を抽象化したものである。
本発明の一態様によると、種々の抽象層間で適切なマッピングを保証するため、生成されたモジュールを検証する必要がある。本発明の別の態様によると、適切な機能を保証するため、生成されたモジュールを検証しなければならない。ルールチェックエンジンは一実施形態において、生成されたモジュールの適切なマッピングを検証して適切な機能を保証するための機能を抽象化したものである。例えば一実装においてはシステムPIとPIでルールチェックを行い、好ましくない相互作用を伴うことなくシステムPIとPIが連動することを検証する。VMIでルールチェックを行い、リソースのマッピングでルールが守られ正常に機能することを検証することもできる。
本発明は本明細書で説明した上記の実施形態に限定されず、本発明の様々な実施形態が単独で実践されることもあれば、他の実施形態との組み合わせで実践されることもあることを理解されたい。
本発明の少なくとも1つの実施形態の態様をいくつか説明してきたが、当業者が様々な変更、修正、および改良に容易く想到することは理解されよう。かかる変更、修正、および改良は本開示の一部であり、本発明の精神と範囲の中にある。したがって、前述の説明と図面は例証に過ぎない。
Claims (224)
- 試験プログラムと、
該試験プログラムからのリクエストに応じて複数のファンクションコールを生成するように構成されるプラットフォームと、
前記複数のファンクションコールを試験ハードウェアで実行される命令にマップするように構成される抽象層とを備える、
システム。 - 前記抽象層はさらに、前記プラットフォームに対し仮想計器(「VI」)インターフェースを備える、請求項1に記載のシステム。
- 前記抽象層はさらに、前記プラットフォームに対し仮想マルチサイト(「VMI」)インターフェースを備える、請求項2に記載のシステム。
- 前記抽象層はさらに、前記プラットフォームに対しシステム物理計器(「システムPI」)インターフェースを備える、請求項1に記載のシステム。
- 前記抽象層はさらに、前記プラットフォームに対し物理計器(「PI」)インターフェースを備える、請求項1に記載のシステム。
- 前記抽象層はさらに、仮想計器(「VI」)対物理計器(「PI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、システム物理計器(「システムPI」)対仮想計器(「VI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、システム物理計器(「システムPI」)対物理計器(「PI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、試験プログラム対仮想計器(「VI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、試験プログラム対物理計器(「PI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、プラットフォーム対仮想計器(「VI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、プラットフォーム対物理計器(「PI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、プラットフォーム対仮想マルチサイト計器(「VMI」)インターフェースを含む、請求項1に記載のシステム。
- 前記抽象層はさらに、インターフェース生成エンジンを備える、請求項1に記載のシステム。
- 前記インターフェース生成エンジンは、ユーザにインターフェースの生成を案内するように構成されるグラフィカルユーザインターフェースを含む、請求項1に記載のシステム
。 - 前記インターフェース生成エンジンは、前記システムのコンポーネント間の通信を管理するためのインターフェースを生成する、請求項14に記載のシステム。
- 前記インターフェース生成エンジンは、前記抽象層のコンポーネント間の通信を管理するためのインターフェースを生成する、請求項14に記載のシステム。
- 前記インターフェース生成エンジンは、前記プラットフォームと前記抽象層との間の通信を管理するためのインターフェースを生成する、請求項17に記載のシステム。
- 前記プラットフォームと前記抽象層との間の通信を管理することは、試験ハードウェアで実行される命令に前記複数のファンクションコールをマップすることを含む、請求項18に記載のシステム。
- 前記複数のファンクションコールをマップすることは、前記複数のファンクションコールを仮想計器(「VI」)モジュールにマップすることを含む、請求項19に記載のシステム。
- 前記複数のファンクションコールをマップすることは、前記複数のファンクションコールをシステム物理計器(「システムPI」)モジュールにマップすることを含む、請求項19に記載のシステム。
- 前記複数のファンクションコールをマップすることは、前記複数のファンクションコールを物理計器(「PI」)モジュールにマップすることを含む、請求項19に記載のシステム。
- 前記複数のファンクションコールをマップすることは、基本クラスの物理計器ファンクションコールを物理計器(「PI」)モジュールにマップすることを含む、請求項22に記載のシステム。
- 前記複数のファンクションコールをマップすることは、基本クラスの物理計器ファンクションコールを物理計器(「PI」)モジュールにマップすることを含む、請求項22に記載のシステム。
- 前記抽象層はさらに、ルールチェックエンジンを備える、請求項14に記載のシステム。
- 前記ルールチェックエンジンは、前記試験ハードウェアの命令へのファンクションコールの前記マッピングを検証するように構成される、請求項25に記載のシステム。
- 前記ルールチェックエンジンは、前記ファンクションコールのリクエストを模擬することによって前記マッピングを検証する、請求項26に記載のシステム。
- 前記ルールチェックエンジンは、前記模擬ファンクションコールの結果として応答を所期形式で受け付けることによって前記マッピングを検証する、請求項27に記載のシステム。
- 前記ルールチェックエンジンは、前記ファンクションコールが正常にマップされたことを伝えるコードを操作プラットフォームに返す、請求項28に記載のシステム。
- 前記ルールチェックエンジンは、前記模擬ファンクションコールに応じて前記所期形式になっていない戻りコードを受け付けることにより不適切なマッピングを識別する、請求項29に記載のシステム。
- 前記試験プログラムと前記プラットフォームとの間にインターフェースをさらに備える、請求項1に記載のシステム。
- 前記試験プログラムは、ユーザに対しグラフィカルユーザインターフェースを提供する、請求項1に記載のシステム。
- 前記試験プログラムは、ユーザがデバイスに実行する試験を設定することを可能にする、請求項32に記載のシステム。
- 前記試験プログラムは、ユーザがデバイスに実行する試験を任意のときに行うよう設定することを可能にする、請求項32に記載のシステム。
- 前記抽象層はさらに、前記試験システムのハードウェアリソースの機能を表現する物理計器抽象層を備える、請求項1に記載のシステム。
- 前記物理計器抽象層は、ハードウェアリソースにマップする物理計器モジュールを含む、請求項35に記載のシステム。
- 前記PIモジュールは、リクエストに応じてハードウェアリソース上での命令実行を生起させる、請求項35に記載のシステム。
- ハードウェアリソースは、前記試験ハードウェア上で使用できる少なくとも1つのファンクションを含む、請求項35に記載のシステム。
- 前記ハードウェアリソースは、同期信号の生成を生起させるように構成される、請求項38に記載のシステム。
- 前記ハードウェアリソースは、デバイス状態クエリを生起させるように構成される、請求項38に記載のシステム。
- 前記PIモジュールは、デバイス開始状態に応じてデバイスの電力オンおよび/または初期化を生起させるファンクションコールを含む、請求項35に記載のシステム。
- 前記物理計器モジュールは、基本クラスのPIファンクションコールを含む、請求項35に記載のシステム。
- 前記基本クラスのPIファンクションコールは、前記電力オンおよび/または初期化ファンクションを含む、請求項42に記載のシステム。
- 前記抽象層はさらに、前記試験システムで実行されるハードウェアファンクションの仮想を表現する仮想計器抽象層を備える、請求項1に記載のシステム。
- 前記仮想計器抽象層は、仮想計器(「VI」)モジュールを含み、少なくとも1つのハードウェアリソースは同VIモジュールにマップされる、請求項44に記載のシステム。
- 前記VIモジュールは、リクエストに応じてハードウェアリソース上での前記命令実行を生起させるように構成される、請求項45に記載のシステム。
- 少なくとも1つのリソースに前記マップすることは、少なくとも1つのハードウェアリソースの各々につき少なくとも1つのPIモジュールを通じてマップされる、請求項45に記載のシステム。
- 前記VIモジュールは、ある特定のデバイスの試験に用いる1セットの既定ハードウェアリソースの仮想表現を提示するため、複数のPIモジュールにマップされる、請求項47に記載のシステム。
- 前記VIモジュールは、追加PIモジュールを含むよう修正されるように構成され、この修正により、前記VIモジュールを通じてデバイスを試験するのに利用できる前記1セットのハードウェアリソースを拡張する、請求項47に記載のシステム。
- 前記VIモジュールは、ATEテスタに必要な試験ハードウェアリソースにマップする基本クラスのファンクションを含むように構成される、請求項46に記載のシステム。
- 前記抽象層はさらに、ハードウェアリソースに対するリクエストを管理するように構成されるシステム抽象層を備える、請求項1に記載のシステム。
- 前記システム抽象層はさらに、リクエストに応じてハードウェアリソースにファンクションを実行させるため、物理計器層からのリクエストをマップするように構成される、請求項1に記載のシステム。
- 前記システム抽象層はさらに、前記抽象層の他のコンポーネントで利用できる基本セットのシステムファンクションコールを規定するように構成される、請求項1に記載のシステム。
- 前記システム層はさらに、前記抽象層の前記他のコンポーネントに操作を実行させる基本セットのシステムファンクションコールを規定するように構成されるシステムPIモジュールを備える、請求項1に記載のシステム。
- 前記システム抽象層はさらに、前記抽象層のコンポーネントに対しクエリを実行するように構成される、請求項53に記載のシステム。
- 前記システム抽象層は、システム物理計器モジュールを含む、請求項51に記載のシステム。
- 前記プラットフォーム層は、「既製」オペレーティングシステムを含む、請求項1に記載のシステム。
- 前記「既製」オペレーティングシステムは、決定的に実行するよう強化される、請求項57に記載のシステム。
- 前記「既製」オペレーティングシステムは、Windows(登録商標) XPであって、これは、Tenasys INtimeオペレーティングシステムを用いて決定的に作動するよう強化される、請求項58に記載のシステム。
- 自動試験装置システムであって、
前記自動試験装置システムの抽象層の動作を管理するように構成されるプラットフォーム抽象層と、
PIファンクションコールに応じてハードウェアがファンクションを実行するようPIファンクションコールを前記ハードウェアにマップするように構成される物理計器(「PI」)抽象層と、
前記PI抽象層にマップするように構成され、実行されるハードウェアファンクションの仮想を表現する仮想計器(「VI」)抽象層と、
PIファンクションコールに応じて前記ハードウェアがファンクションを実行することを可能にするためシステムファンクションコールをマップするように構成されるシステム抽象層と、
ハードウェア上で実行されるファンクションを起動するため前記仮想計器層とやり取りするように構成される試験プログラム抽象層とを備える、
自動試験装置システム。 - 前記システム抽象層はさらに、システム物理計器(「システムPI」)モジュールに抽象化され、同システムPIモジュールは前記PI抽象層からリクエストを受け、これに応じてハードウェアにそのファンクションを実行させる、請求項60に記載の自動試験装置システム。
- 前記システムPIモジュールはさらに、前記自動試験装置システムの前記他の抽象層によって報告される情報を集約することに適する、請求項61に記載の自動試験装置システム。
- 前記集約情報は、前記自動試験装置システムの前記他の抽象層で行われるファンクションコールの成否を含む、請求項62に記載の自動試験装置システム。
- 前記集約情報は、前記自動試験装置システムの前記他の抽象層での操作による報告を含む、請求項62に記載の自動試験装置システム。
- システムPIモジュールはさらに、前記集約情報に対するクエリを受け付けるように構成される、請求項62に記載の自動試験装置システム。
- システムPIモジュールはさらに、前記集約情報を報告するように構成される、請求項62に記載の自動試験装置システム。
- 前記試験プログラム抽象層は、ユーザに対しグラフィカルユーザインターフェースを提示するように構成される試験プログラムを含む、請求項60に記載の自動試験装置システム。
- 前記試験プログラム層はさらに、ユーザに前記仮想計器層とやり取りさせるように構成される、請求項67に記載の自動試験装置システム。
- 前記試験プログラム層はさらに、デバイスに実行する試験をユーザに設定させるように構成される、請求項68に記載の自動試験装置システム。
- 前記試験プログラムはさらに、試験の実行結果を図式的に提示するように構成される、請求項69に記載の自動試験装置システム。
- 前記試験プログラム層はさらに、デバイスに実行する試験をユーザに設定させるように構成され、ここで実行される前記試験は、スケジュールされたときに行われる、請求項6
9に記載の自動試験装置システム。 - 実行される前記試験は、ユーザによって設定された任意のスケジュールに沿って行うことができる、請求項71記載の自動試験装置システム。
- 前記仮想計器抽象層は、VIモジュールを含み、ここで前記VIモジュールは、少なくとも1つのハードウェアリソースへのマッピングを含む、請求項60に記載の自動試験装置システム。
- 前記VIモジュールは、リクエストに応じて前記少なくとも1つのハードウェアリソースにそのファンクションを実行させるように構成される、請求項73に記載の自動試験装置システム。
- 前記VIモジュールは、前記試験プログラム抽象層からのリクエストに応じて前記少なくとも1つのハードウェアリソースにそのファンクションを実行させる、請求項74に記載の自動試験装置システム。
- 前記少なくとも1つのハードウェアリソースへの前記マッピングは、前記PI計器層を通じてマップされる、請求項73に記載の自動試験装置システム。
- 前記少なくとも1つのハードウェアリソースへの前記マッピングは、PIモジュールを通じてマップされる、請求項73に記載の自動試験装置システム。
- 前記VIモジュールは、複数のPIモジュールにマップされ、その結果VIモジュールは、デバイスの試験に用いる複数のハードウェアリソースの仮想表現を提示する、請求項73に記載の自動試験装置システム。
- 前記VIモジュールと前記PIモジュールとの間の前記マッピングは、インターフェースによって管理される、請求項77に記載の自動試験装置システム。
- 前記インターフェースは、グラフィカルユーザインターフェースである、請求項79に記載の自動試験装置システム。
- 前記インターフェースは、前記VIモジュールと前記PIモジュールとの通信を所定の形式で管理する、請求項79に記載の自動試験装置システム。
- 前記VIモジュールは、追加PIモジュールへのマッピングを含めるよう修正されるように構成される、請求項73に記載の自動試験装置システム。
- 前記VIモジュールは、ATEテスタに必要な試験ハードウェアリソースにマップする基本クラスのファンクションを含むように構成される、請求項73に記載の自動試験装置システム。
- 前記物理計器抽象層は、ハードウェアリソースの実装詳細を収容するPIモジュールを含む、請求項60に記載の自動試験装置システム。
- 前記物理計器抽象層は、各ハードウェアリソースの前記実装詳細を収容するPIモジュールを含む、請求項84に記載の自動試験装置システム。
- 前記物理計器抽象層は、新規ハードウェアリソースの前記実装詳細を取り入れるように
構成される、請求項84に記載の自動試験装置システム。 - 前記新規ハードウェアリソースは、新規PIモジュールによってマップされる、請求項86に記載の自動試験装置システム。
- 前記PIモジュールは、リクエストに応じて前記ハードウェアリソースの機能の実行を生起させる、請求項84に記載の自動試験装置システム。
- 前記リクエストは、VIモジュールから到来する、請求項88に記載の自動試験装置システム。
- 前記ハードウェアリソースの機能は、同期信号を含む、請求項88に記載の自動試験装置システム。
- 前記物理計器モジュールは、ハードウェアリソースの電力オンおよび/または初期化を生起させるファンクションコールを含む、請求項84に記載の自動試験装置システム。
- 前記ファンクションコールは、前記PowerOnInitializeファンクションを含む、請求項91に記載の自動試験装置システム。
- 前記PI抽象層は、基本クラスのPIファンクションコールを含む、請求項60に記載の自動試験装置システム。
- 前記基本クラスのPIファンクションコールは、ハードウェアリソースの電力オンおよび/または初期化を生起させるように構成される前記ファンクションコールを含む、請求項93に記載の自動試験装置システム。
- ハードウェアリソースの電力オンおよび/または初期化を生起させるように構成される前記ファンクションコールは、前記PowerOnInitializeファンクションを含む、請求項94に記載の自動試験装置システム。
- 前記プラットフォーム抽象層は、「既製」オペレーティングシステムを含む、請求項60に記載の自動試験装置システム。
- 前記「既製」オペレーティングシステムは、決定的に実行するよう強化される、請求項96に記載の自動試験装置システム。
- 前記「既製」オペレーティングシステムは、Windows(登録商標) XPである、請求項96に記載の自動試験装置システム。
- 前記オペレーティングシステムは、リアルタイムエクステンションを用いて決定的に実行するよう強化される、請求項98に記載の自動試験装置システム。
- 前記リアルタイムエクステンションは、「Tenasys INtime」オペレーティングシステムを通じて提供される、請求項99に記載の自動試験装置システム。
- 前記プラットフォーム抽象層は、決定的に作動する、請求項60に記載の自動試験装置システム。
- 前記抽象層間の前記通信を管理するように構成されるインターフェース抽象層をさらに
備える、請求項60に記載の自動試験装置システム。 - 前記インターフェース抽象層はさらに、前記抽象層間で規格化された通信を保証するように構成される、請求項60に記載の自動試験装置システム。
- 前記インターフェース抽象層は、前記プラットフォーム抽象層と前記VI抽象層との間にインターフェースを含む、請求項103に記載の自動試験装置システム。
- 前記インターフェース抽象層は、前記プラットフォーム抽象層と前記システム抽象層との間にインターフェースを含む、請求項103に記載の自動試験装置システム。
- 前記インターフェース抽象層は、前記プラットフォーム抽象層と前記物理計器抽象層との間にインターフェースを含む、請求項103に記載の自動試験装置システム。
- 前記インターフェース抽象層は、VIモジュールとPIモジュールとの間にインターフェースを含む、請求項103に記載の自動試験装置システム。
- 前記インターフェース抽象層は、システムPIモジュールとVIモジュールとの間にインターフェースを含む、請求項103に記載の自動試験装置システム。
- 前記インターフェース抽象層は、システムPIモジュールとPIモジュールとの間にインターフェースを含む、請求項103に記載の自動試験装置システム。
- 前記インターフェース抽象層は、前記プラットフォーム抽象層と前記VI抽象層との間にインターフェースを含む、請求項103に記載の自動試験装置システム。
- ユーザにPIモジュールとVIモジュールのいずれか一方の作成を案内するように構成されるモジュール生成エンジンをさらに備え、これにより前記自動試験システムは、新規試験ハードウェアリソースを取り入れることができる、請求項60に記載の自動試験装置システム。
- ユーザにインターフェースの作成を案内するように構成されるインターフェース生成エンジンをさらに備え、ここで前記インターフェースは、前記自動試験システムで使用する前記ハードウェア、ソフトウェア、またはプラットフォームにかかわりなく前記通信形式を規格化することによってモジュール間通信を管理する、請求項60に記載の自動試験装置システム。
- 生成済みモジュールとその生成済みインターフェースとの試験機能を検証するように構成されるルールチェックエンジンをさらに備える、請求項112に記載の自動試験装置システム。
- 前記生成済みモジュールをユーザにインストールさせるように構成されるインストールモジュールをさらに備え、これにより前記試験プログラムは、前記生成済みモジュールへリクエストを差し向け、且つ試験ファンクションを実行させることができる、請求項113に記載の自動試験装置システム。
- 前記生成済みインターフェースをユーザにインストールさせるように構成されるインストールモジュールをさらに備え、これにより前記試験プログラムは、前記生成済みモジュールによってマップされた前記試験ハードウェアリソースへリクエストを差し向け、且つ試験ファンクションを実行させることができる、請求項114に記載の自動試験装置シス
テム。 - 試験プロセスを実行するシステムであって、該システムは、
実行時に1つ以上の試験計器でプロシージャを実行する試験プログラムであって、前記1つ以上の試験計器はそれぞれ1つ以上のドライバプログラムを有する試験プログラムと、
前記1つ以上の試験計器で前記プロシージャを実行するように構成される仮想計器エンティティとを備え、ここで前記仮想計器エンティティは、前記それぞれ1つ以上のドライバプログラムを通じて前記1つ以上の試験計器にアクセスする、
システム。 - 前記仮想計器エンティティは、1つ以上のファンクションを含む、請求項116に記載のシステム。
- 前記試験プログラムは、前記仮想計器の前記1つ以上のファンクションにアクセスすることにより前記1つ以上の試験計器にアクセスするように構成される、請求項117に記載のシステム。
- 前記試験プログラムは、専ら前記仮想計器を通じて前記1つ以上の計器にアクセスするようプログラムされる、請求項118に記載のシステム。
- 前記試験プログラムは、テスタリソースにアクセスするためシステム物理インターフェースにアクセスするようプログラムされる、請求項118に記載のシステム。
- 前記仮想計器エンティティは、前記1つ以上の試験ハードウェアに特有のプログラミングインターフェースから前記試験プログラムを分離する、請求項116に記載のシステム。
- 前記仮想計器は、仮想計器プログラミングインターフェースを含む、請求項116に記載のシステム。
- 前記1つ以上の試験計器における変化は、前記仮想計器プログラミングインターフェースに相応の変化をもたらさない、請求項122に記載のシステム。
- 前記仮想計器エンティティにおける変化は、前記1つ以上のファンクションに相応の変化をもたらさない、請求項117に記載のシステム。
- 物理テスタリソースにおける変化は、前記1つ以上のファンクションに相応の変化をもたらさない、請求項117に記載のシステム。
- 試験開発プラットフォームにおける変化は、前記試験プラットフォームにおける変化を要求しない、請求項116に記載のシステム。
- 前記1つ以上のファンクションは、コンピュータシステムのメモリ構造にロードされる、請求項124に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、前記コンピュータシステムの前記メモリ構造に相応の変化をもたらさない、請求項127に記載のシステム。
- 前記1つ以上のファンクションは、前記コンピュータシステムの前記メモリ構造の中で
第1の位置に置かれる、請求項128に記載のシステム。 - 前記仮想計器エンティティにおける前記変化は、1つ以上の追加ファンクションを追加することを含む、請求項129に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、前記1つ以上のファンクションの内少なくとも1つを修正することを含む、請求項129に記載のシステム。
- 前記1つ以上の追加ファンクションは、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置の後ろに続く第2の位置に追加される、請求項130に記載のシステム。
- 前記1つ以上の追加ファンクションの前記追加は、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置における前記1つ以上のファンクションの前記位置を変えない、請求項132に記載のシステム。
- 前記コンピュータシステムの前記メモリ構造はさらに、vテーブルを備える、請求項133に記載のシステム。
- 前記1つ以上の追加ファンクションの前記追加は、前記vテーブルにおける前記1つ以上のファンクションの位置を変えない、請求項134に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、少なくとも1つの修正済みファンクションを追加することを含む、請求項131に記載のシステム。
- 前記少なくとも1つの修正済みファンクションは、前記1つ以上のファンクションの内前記少なくとも1つから修正される、請求項136に記載のシステム。
- 前記少なくとも1つの修正済みファンクションは、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置の後ろに続く第2の位置に追加される、請求項137に記載のシステム。
- 前記少なくとも1つの修正済みファンクションの前記追加は、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置における前記1つ以上のファンクションの前記位置を変えない、請求項138に記載のシステム。
- 前記コンピュータシステムの前記メモリ構造はさらに、vテーブルを備える、請求項139に記載のシステム。
- 前記少なくとも1つの修正済みファンクションの前記追加は、前記vテーブルにおける前記1つ以上のファンクションの位置を変えない、請求項140に記載のシステム。
- 前記1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、前記基本プログラミングクラスは、前記1つ以上の追加ファンクションを含む拡張クラスのファンクションから継承される、請求項130に記載のシステム。
- 前記1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、前記基本プログラミングクラスは、前記少なくとも1つの修正済みファンクションを含む拡張クラスのファンクションから継承される、請求項136に記載のシステム。
- 前記コンピュータシステムは、汎用コンピュータシステムを含む、請求項127に記載のシステム。
- 前記1つ以上の試験計器は、1つ以上の試験対象デバイスに結合される、請求項116に記載のシステム。
- 前記1つ以上の試験計器の内少なくとも1つは、前記1つ以上の試験対象デバイスの内少なくとも1つに試験信号を適用するよう前記試験プログラムによりプログラムされる、請求項145に記載のシステム。
- 前記システムは、自動試験システムの一部である、請求項116に記載のシステム。
- 試験プロセスを実行するシステムであって、該システムは、
それぞれ1つ以上のドライバプログラムを有する1つ以上の試験計器であって、前記ドライバプログラムの内少なくとも1つは1つ以上のファンクションを含む1つ以上の試験計器と、
実行時に前記1つ以上の試験計器でプロシージャを実行する試験プログラムであって、該試験プログラムは前記1つ以上のドライバプログラムを通じて前記1つ以上の試験計器にアクセスする試験プログラムと、
メモリ構造とを備え、前記ドライバプログラムの内前記少なくとも1つのドライバプログラムの前記1つ以上のファンクションは、前記メモリ構造により固定位置の中に収容される、
システム。 - 前記メモリ構造は、コンピュータシステムのメモリに含まれ、ここで前記1つ以上のファンクションは、前記コンピュータシステムの前記メモリにロードされる、請求項148に記載のシステム。
- 前記ドライバプログラムの内少なくとも1つにおける変化は、前記メモリ構造に相応の変化をもたらさない、請求項148に記載のシステム。
- 前記1つ以上のファンクションは、前記メモリ構造内の第1の位置に置かれる、請求項150に記載のシステム。
- 前記ドライバプログラムの内の前記少なくとも1つにおける前記変化は、1つ以上の追加ファンクションを追加することを含む、請求項151に記載のシステム。
- 前記ドライバプログラムの内の前記少なくとも1つにおける前記変化は、前記1つ以上のファンクションの内少なくとも1つを修正することを含む、請求項151に記載のシステム。
- 前記1つ以上の追加ファンクションは、前記メモリ構造の中で前記第1の位置の後ろに続く第2の位置に追加される、請求項151に記載のシステム。
- 前記1つ以上の追加ファンクションの前記追加は、前記メモリ構造の中で前記第1の位置における前記1つ以上のファンクションの前記位置を変えない、請求項154に記載のシステム。
- 前記メモリ構造はさらに、vテーブルを備える、請求項155に記載のシステム。
- 前記1つ以上の追加ファンクションの前記追加は、前記vテーブルにおける前記1つ以上のファンクションの位置を変えない、請求項156に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、少なくとも1つの修正済みファンクションを追加することを含む、請求項153に記載のシステム。
- プラットフォームエンティティにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む、請求項158に記載のシステム。
- 物理計器ドライバにおける変化は、少なくとも1つの修正済みファンクションを追加することを含む、請求項158に記載のシステム。
- 前記少なくとも1つの修正済みファンクションは、前記1つ以上のファンクションの内前記少なくとも1つから修正される、請求項158に記載のシステム。
- 前記少なくとも1つの修正済みファンクションは、前記メモリ構造の中で前記第1の位置の後ろに続く第2の位置に追加される、請求項161に記載のシステム。
- 前記少なくとも1つの修正済みファンクションの前記追加は、前記メモリ構造の中で前記第1の位置における前記1つ以上のファンクションの前記位置を変えない、請求項162に記載のシステム。
- 前記メモリ構造はさらに、vテーブルを備える、請求項163に記載のシステム。
- 前記少なくとも1つの修正済みファンクションの前記追加は、前記vテーブルにおける前記1つ以上のファンクションの位置を変えない、請求項164に記載のシステム。
- 前記1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、前記基本プログラミングクラスは、前記1つ以上の追加ファンクションを含む拡張クラスのファンクションから継承される、請求項152に記載のシステム。
- 前記1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、前記基本プログラミングクラスは、前記少なくとも1つの修正済みファンクションを含む拡張クラスのファンクションから継承される、請求項160に記載のシステム。
- 前記コンピュータシステムは、汎用コンピュータシステムを含む、請求項149に記載のシステム。
- 前記1つ以上の試験計器は、1つ以上の試験対象デバイスに結合される、請求項148に記載のシステム。
- 前記1つ以上の試験計器の内少なくとも1つは、前記1つ以上の試験対象デバイスの内少なくとも1つに試験信号を適用するよう前記試験プログラムによりプログラムされる、請求項169に記載のシステム。
- 前記システムは、自動試験システムの一部である、請求項148に記載のシステム。
- 前記1つ以上の試験計器で前記プロシージャを実行するように構成される仮想計器エンティティをさらに備え、ここで前記仮想計器エンティティは、前記それぞれ1つ以上のドライバプログラムを通じて前記1つ以上の試験計器にアクセスする、請求項148に記載
のシステム。 - 前記仮想計器エンティティは、1つ以上のファンクションを含む、請求項172に記載のシステム。
- 前記試験プログラムは、前記仮想計器の前記1つ以上のファンクションにアクセスすることにより前記1つ以上の試験計器にアクセスするように構成される、請求項173に記載のシステム。
- 前記試験プログラムは、専ら前記仮想計器を通じて前記1つ以上の計器にアクセスするようプログラムされる、請求項174に記載のシステム。
- 前記仮想計器エンティティは、前記1つ以上の試験ハードウェアに特有のプログラミングインターフェースから前記試験プログラムを分離する、請求項172に記載のシステム。
- 前記仮想計器は、仮想計器プログラミングインターフェースを含む、請求項172に記載のシステム。
- 前記1つ以上の試験計器における変化は、前記仮想計器プログラミングインターフェースに相応の変化をもたらさない、請求項177に記載のシステム。
- 前記仮想計器エンティティにおける変化は、前記1つ以上のファンクションに相応の変化をもたらさない、請求項173に記載のシステム。
- 前記1つ以上のファンクションは、コンピュータシステムのメモリ構造にロードされる、請求項179に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、前記コンピュータシステムの前記メモリ構造に相応の変化をもたらさない、請求項180に記載のシステム。
- 前記1つ以上のファンクションは、前記コンピュータシステムの前記メモリ構造の中で第1の位置に置かれる、請求項181に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、1つ以上の追加ファンクションを追加することを含む、請求項182に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、前記1つ以上のファンクションの内少なくとも1つを修正することを含む、請求項182に記載のシステム。
- 前記1つ以上の追加ファンクションは、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置の後ろに続く第2の位置に追加される、請求項183に記載のシステム。
- 前記1つ以上の追加ファンクションの前記追加は、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置における前記1つ以上のファンクションの前記位置を変えない、請求項185に記載のシステム。
- 前記コンピュータシステムの前記メモリ構造はさらに、vテーブルを備える、請求項186に記載のシステム。
- 前記1つ以上の追加ファンクションの前記追加は、前記vテーブルにおける前記1つ以上のファンクションの位置を変えない、請求項187に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、少なくとも1つの修正済みファンクションを追加することを含む、請求項184に記載のシステム。
- 前記少なくとも1つの修正済みファンクションは、前記1つ以上のファンクションの内前記少なくとも1つから修正される、請求項189に記載のシステム。
- 前記少なくとも1つの修正済みファンクションは、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置の後ろに続く第2の位置に追加される、請求項190に記載のシステム。
- 前記少なくとも1つの修正済みファンクションの前記追加は、前記コンピュータシステムの前記メモリ構造の中で前記第1の位置における前記1つ以上のファンクションの前記位置を変えない、請求項191に記載のシステム。
- 前記コンピュータシステムの前記メモリ構造はさらに、vテーブルを備える、請求項192に記載のシステム。
- 前記少なくとも1つの修正済みファンクションの前記追加は、前記vテーブルにおける前記1つ以上のファンクションの位置を変えない、請求項193に記載のシステム。
- 前記仮想計器エンティティにおける前記変化は、1つ以上の追加ファンクションを追加することを含む、請求項182に記載のシステム。
- 前記1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、前記基本プログラミングクラスは、前記1つ以上の追加ファンクションを含む拡張クラスのファンクションから継承される、請求項183に記載のシステム。
- 前記1つ以上のファンクションは、基本プログラミングクラスのファンクションに含まれ、前記基本プログラミングクラスは、前記少なくとも1つの修正済みファンクションを含む拡張クラスのファンクションから継承される、請求項189に記載のシステム。
- 前記コンピュータシステムは、汎用コンピュータシステムを含む、請求項180に記載のシステム。
- 試験プロセスを実行するシステムであって、該システムは、
実行時に複数の試験計器でプロシージャを実行する試験プログラムであって、前記1つ以上の試験計器はそれぞれ1つ以上のドライバプログラムを有する試験プログラムと、
前記複数の試験計器で前記プロシージャを実行するように構成される仮想マルチサイト計器エンティティとを備え、ここで前記仮想計器エンティティは、前記それぞれ1つ以上のドライバプログラムを通じて前記複数の試験計器にアクセスし、前記仮想マルチサイト計器エンティティは、前記試験プログラムに対し透過的に前記複数の試験計器で前記プロシージャを実行するように構成される、
システム。 - 前記仮想マルチサイト計器は、複数の計器サイトを制御する機能を含む、請求項199に記載のシステム。
- 前記仮想マルチサイト計器エンティティは、1つ以上のファンクションを含む、請求項199に記載のシステム。
- 前記試験プログラムは、前記仮想計器の前記1つ以上ファンクションにアクセスすることにより前記複数の計器にアクセスするように構成される、請求項201に記載のシステム。
- 前記試験プログラムは、専ら前記仮想計器を通じて前記複数の計器にアクセスするようプログラムされる、請求項202に記載のシステム。
- 前記仮想マルチサイト計器は、前記複数の計器に特有のプログラミングインターフェースから前記試験プログラムを分離する、請求項199に記載のシステム。
- 前記仮想マルチサイト計器は、仮想マルチサイト計器プログラミングインターフェースを含む、請求項199に記載のシステム。
- 前記複数の試験計器の内少なくとも1つにおける変化は、前記仮想マルチサイト計器プログラミングインターフェースに相応の変化をもたらさない、請求項205に記載のシステム。
- 前記仮想マルチサイト計器エンティティにおける変化は、前記1つ以上のファンクションに相応の変化をもたらさない、請求項201に記載のシステム。
- 前記1つ以上のファンクションは、コンピュータシステムのメモリ構造にロードされる、請求項207に記載のシステム。
- 前記仮想マルチサイト計器エンティティにおける前記変化は、前記コンピュータシステムの前記メモリ構造に相応の変化をもたらさない、請求項208に記載のシステム。
- 前記仮想マルチサイト計器エンティティは、前記複数の試験計器で概ね同時に前記プロシージャを実行するように構成される、請求項199に記載のシステム。
- 試験プロセスを実行するシステムであって、該システムは、
試験システムと、
通信ネットワークによって前記試験システムへ結合された少なくとも1つのクライアントコンピュータとを備え、ここで前記クライアントコンピュータを操作するユーザは、前記試験システムで複数の試験ファンクションを実行できる、
システム。 - 実行時に1つ以上の試験計器でプロシージャを実行する試験プログラムをさらに備え、前記1つ以上の試験計器は、それぞれ1つ以上のドライバプログラムを有する、請求項211に記載のシステム。
- クライアントコンピュータから前記通信ネットワークを通じて1つ以上のリクエストを受け取るプロセスをさらに備える、請求項211に記載のシステム。
- 前記少なくとも1つのクライアントコンピュータは、前記試験システムにアクセスするためのユーザインターフェースコンポーネントを含む、請求項211に記載のシステム。
- 前記ユーザインターフェースコンポーネントは、前記少なくとも1つのクライアントコンピュータ上で実行するブラウザプログラムを用いて操作される、請求項214に記載のシステム。
- 前記試験システムはさらに、前記複数の試験計器で前記プロシージャを実行するように構成される仮想マルチサイト計器エンティティを備え、ここで前記仮想計器エンティティは、前記それぞれ1つ以上のドライバプログラムを通じて前記複数の試験計器にアクセスし、前記仮想マルチサイト計器エンティティは、前記試験プログラムに対し透過的に前記複数の試験計器で前記プロシージャを実行するように構成される、請求項212に記載のシステム。
- 前記試験システムはさらに、前記1つ以上の試験計器で前記プロシージャを実行するように構成される仮想計器エンティティを備え、ここで前記仮想計器エンティティは、前記それぞれ1つ以上のドライバプログラムを通じて前記1つ以上の試験計器にアクセスする、請求項212に記載のシステム。
- 前記ユーザインターフェースコンポーネントは、前記クライアントコンピュータを操作する前記ユーザに基づき構成される、請求項214に記載のシステム。
- 前記試験システムは、複数のユーザインターフェースを蓄積するように構成され、且つ前記ユーザに対応するユーザインターフェース構成に基づき少なくとも1つのユーザインターフェースを前記ユーザに提供するように構成される、請求項218に記載のシステム。
- 前記仮想計器エンティティは、1つ以上のファンクションを含む、請求項217に記載のシステム。
- 前記試験プログラムは、前記仮想計器の前記1つ以上のファンクションにアクセスすることにより前記1つ以上の試験計器にアクセスするように構成される、請求項220に記載のシステム。
- 前記試験プログラムは、専ら前記仮想計器を通じて前記1つ以上の計器にアクセスするようプログラムされる、請求項221に記載のシステム。
- 前記仮想計器エンティティは、前記1つ以上の試験ハードウェアに特有のプログラミングインターフェースから前記試験プログラムを分離する、請求項217に記載のシステム。
- 前記仮想計器は、仮想計器プログラミングインターフェースを含む、請求項217に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81976206P | 2006-07-10 | 2006-07-10 | |
US81961006P | 2006-07-10 | 2006-07-10 | |
PCT/US2007/073145 WO2008008773A1 (en) | 2006-07-10 | 2007-07-10 | System and method for performing processing in a testing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009544012A true JP2009544012A (ja) | 2009-12-10 |
Family
ID=38923557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009519634A Withdrawn JP2009544012A (ja) | 2006-07-10 | 2007-07-10 | 試験システムで処理を実行するシステムおよび方法 |
Country Status (6)
Country | Link |
---|---|
US (7) | US8065663B2 (ja) |
JP (1) | JP2009544012A (ja) |
KR (1) | KR20090082341A (ja) |
CN (1) | CN101512359A (ja) |
TW (1) | TW200817931A (ja) |
WO (1) | WO2008008773A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016508256A (ja) * | 2012-12-17 | 2016-03-17 | アイトロン インコーポレイテッド | 分割された計測を用いる仮想計量 |
US9677907B2 (en) | 2013-03-14 | 2017-06-13 | Itron Inc | Intelligent receptacle |
US9747786B2 (en) | 2012-12-17 | 2017-08-29 | Itron, Inc. | Virtual cluster meter (VCM) |
KR20180084372A (ko) * | 2017-01-17 | 2018-07-25 | 한국항공우주산업 주식회사 | 모듈화를 통한 자동시험장비의 운용 시스템 |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7842948B2 (en) | 2004-02-27 | 2010-11-30 | Nvidia Corporation | Flip chip semiconductor die internal signal access system and method |
US7279887B1 (en) * | 2004-08-06 | 2007-10-09 | Nvidia Corporation | In-process system level test before surface mount |
DE102004041822A1 (de) * | 2004-08-27 | 2006-03-02 | Robert Bosch Gmbh | Funktionseinheit zur Ausführung von logischen Testfällen auf einem an eine zu prüfende Einheit angekoppelten Testsystem und entsprechendes Verfahren |
TW200817931A (en) * | 2006-07-10 | 2008-04-16 | Asterion Inc | System and method for performing processing in a testing system |
US8131387B2 (en) * | 2007-08-09 | 2012-03-06 | Teradyne, Inc. | Integrated high-efficiency microwave sourcing control process |
US8271252B2 (en) * | 2007-11-08 | 2012-09-18 | Nvidia Corporation | Automatic verification of device models |
US8510616B2 (en) * | 2008-02-14 | 2013-08-13 | Nvidia Corporation | Scalable scan-based test architecture with reduced test time and test power |
US8745200B2 (en) * | 2008-05-06 | 2014-06-03 | Nvidia Corporation | Testing operation of processors setup to operate in different modes |
WO2010004557A1 (en) | 2008-07-07 | 2010-01-14 | Quali Systems Ltd | System and method for automatic hardware and software sequencing of computer-aided design (cad) functionality testing |
US8943457B2 (en) * | 2008-11-24 | 2015-01-27 | Nvidia Corporation | Simulating scan tests with reduced resources |
TWI405969B (zh) * | 2009-05-08 | 2013-08-21 | Accton Wireless Broadband Corp | 管線式元件測試系統及其方法 |
US8413117B1 (en) * | 2009-08-07 | 2013-04-02 | Symantec Corporation | Systems and methods for focusing product testing based on areas of change within the product between product builds |
EP2375335A1 (en) * | 2010-04-09 | 2011-10-12 | Eurocopter Deutschland GmbH | Method for automated testing of a system and automated testing system for such a method |
US8683440B2 (en) * | 2010-05-27 | 2014-03-25 | Red Hat Israel, Ltd. | Performing dynamic software testing based on test result information retrieved in runtime using test result entity |
US8850396B2 (en) | 2010-05-27 | 2014-09-30 | Red Hat Israel, Ltd. | Performing software testing based on grouping of tests using test list entity |
US9009668B2 (en) | 2010-05-27 | 2015-04-14 | Red Hat Israel, Ltd. | Software testing using test entity |
US20130086557A1 (en) * | 2010-06-21 | 2013-04-04 | Arul Murugan Alwar | System for testing and certifying a virtual appliance on a customer computer system |
US9317351B2 (en) * | 2010-09-07 | 2016-04-19 | Advantest Corporation | System, methods and apparatus using virtual appliances in a semiconductor test environment |
US8489929B2 (en) * | 2010-09-30 | 2013-07-16 | Salesforce.Com, Inc. | Facilitating large-scale testing using virtualization technology in a multi-tenant database environment |
US8479172B2 (en) * | 2010-11-23 | 2013-07-02 | International Business Machines Corporation | Virtual machine testing |
WO2012070254A1 (ja) * | 2010-11-26 | 2012-05-31 | 三菱電機株式会社 | プログラム生成装置、プログラム生成プログラム、及びプログラム生成方法 |
US8607203B1 (en) * | 2010-12-17 | 2013-12-10 | Amazon Technologies, Inc. | Test automation framework using dependency injection |
US8782117B2 (en) | 2011-08-24 | 2014-07-15 | Microsoft Corporation | Calling functions within a deterministic calling convention |
US10776233B2 (en) * | 2011-10-28 | 2020-09-15 | Teradyne, Inc. | Programmable test instrument |
US9759772B2 (en) | 2011-10-28 | 2017-09-12 | Teradyne, Inc. | Programmable test instrument |
US9910086B2 (en) | 2012-01-17 | 2018-03-06 | Allen Czamara | Test IP-based A.T.E. instrument architecture |
CN102749544A (zh) * | 2012-07-20 | 2012-10-24 | 广州供电局有限公司 | 基于虚拟仪器技术的电力设备测试系统 |
US9110731B1 (en) | 2012-08-15 | 2015-08-18 | Xiotech Corporation | Hard allocation of resources partitioning |
CN102788935A (zh) * | 2012-08-23 | 2012-11-21 | 广州供电局有限公司 | 电桥法电缆故障定位仿真方法 |
US9959186B2 (en) * | 2012-11-19 | 2018-05-01 | Teradyne, Inc. | Debugging in a semiconductor device test environment |
US20140157238A1 (en) * | 2012-11-30 | 2014-06-05 | Microsoft Corporation | Systems and methods of assessing software quality for hardware devices |
US9785526B2 (en) * | 2013-04-30 | 2017-10-10 | Advantest Corporation | Automated generation of a test class pre-header from an interactive graphical user interface |
US20160179658A1 (en) * | 2013-11-27 | 2016-06-23 | Ca, Inc. | User interface testing abstraction |
US9910765B2 (en) | 2014-05-22 | 2018-03-06 | Citrix Systems, Inc. | Providing testing environments for software applications using virtualization and a native hardware layer |
US10235868B2 (en) * | 2014-09-29 | 2019-03-19 | National Instruments Corporation | Embedded shared logical instrument |
CN105893234B (zh) * | 2014-12-30 | 2019-05-07 | 伊姆西公司 | 用于软件测试的方法和计算设备 |
US10429437B2 (en) * | 2015-05-28 | 2019-10-01 | Keysight Technologies, Inc. | Automatically generated test diagram |
US9983981B1 (en) * | 2015-06-23 | 2018-05-29 | Amdocs Development Limited | System, method, and computer program for implementing optimal regression test strategies |
US9864655B2 (en) * | 2015-10-30 | 2018-01-09 | Google Llc | Methods and apparatus for mobile computing device security in testing facilities |
CN105630679B (zh) * | 2015-12-23 | 2019-04-23 | 北京奇虎科技有限公司 | 代码测试的方法及装置 |
CN105759790B (zh) * | 2016-04-21 | 2018-06-29 | 合肥通用机械研究院有限公司 | 电子冷却装置控制系统的组态测试系统及其测试方法 |
TWI637177B (zh) * | 2016-12-23 | 2018-10-01 | 台灣福雷電子股份有限公司 | 用於測試半導體元件之系統及方法 |
US10789550B2 (en) * | 2017-04-13 | 2020-09-29 | Battelle Memorial Institute | System and method for generating test vectors |
US10451668B2 (en) | 2017-04-28 | 2019-10-22 | Advantest Corporation | Test program flow control |
US10754765B2 (en) * | 2017-05-17 | 2020-08-25 | Google Llc | Operating system validation |
US10896106B2 (en) * | 2018-05-10 | 2021-01-19 | Teradyne, Inc. | Bus synchronization system that aggregates status |
JP2022506114A (ja) * | 2018-10-23 | 2022-01-17 | イーノシックス、インコーポレイテッド | データ統合のためのマイクロコンポーネント及びデータ統合の方法 |
CN109483552B (zh) * | 2018-12-27 | 2020-10-23 | 合肥欣奕华智能机器有限公司 | 一种基板搬送机器人系统软硬件调试方法及设备 |
CN109885435A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 通用容器化计算集群的测试系统及方法 |
CN110045260A (zh) * | 2019-04-03 | 2019-07-23 | 南京邮电大学 | 半导体器件虚拟测试平台及半导体器件虚拟测试方法 |
CN112115013A (zh) * | 2019-06-21 | 2020-12-22 | 昆山纬绩资通有限公司 | 测试数据汇总系统与其方法 |
US11314628B2 (en) | 2019-12-02 | 2022-04-26 | Bank Of America Corporation | System for intelligent unit performance testing of computer applications |
CN113495162A (zh) * | 2020-03-20 | 2021-10-12 | 竑腾科技股份有限公司 | 自动光学检测设备的控制系统 |
US11449407B2 (en) | 2020-05-28 | 2022-09-20 | Bank Of America Corporation | System and method for monitoring computing platform parameters and dynamically generating and deploying monitoring packages |
CN111917513B (zh) * | 2020-07-29 | 2022-11-22 | 上海海洋大学 | 一种移动端与服务器端数据交互方法 |
CN112306784A (zh) * | 2020-10-29 | 2021-02-02 | 深圳宝新创科技股份有限公司 | 一种测试方法、装置、电子设备和测试系统 |
TWI811663B (zh) * | 2021-04-14 | 2023-08-11 | 國立臺灣大學 | 軟體測試報告產生方法及裝置 |
CN117501662A (zh) * | 2021-06-18 | 2024-02-02 | 西门子股份公司 | 在分布式自动化系统中耦接功能控制的方法和装置 |
KR20240051986A (ko) | 2021-08-31 | 2024-04-22 | 넛크래커 테라퓨틱스 인코포레이티드 | 상태 머신 기반 스크립트 애플리케이션 및 시스템 |
CN115550336A (zh) * | 2022-09-16 | 2022-12-30 | 宁夏隆基宁光仪表股份有限公司 | 一种基于Web的NB-IoT表计测试通讯方法、系统和测试设备 |
CN116501447B (zh) * | 2023-06-20 | 2023-09-26 | 麒麟软件有限公司 | 基于Xen的硬实时实现系统 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0143623A3 (en) * | 1983-11-25 | 1987-09-23 | Mars Incorporated | Automatic test equipment |
US5717614A (en) * | 1994-05-04 | 1998-02-10 | National Instruments Corporation | System and method for handling events in an instrumentation system |
US5974241A (en) * | 1997-06-17 | 1999-10-26 | Lsi Logic Corporation | Test bench interface generator for tester compatible simulations |
US6085156A (en) * | 1998-03-20 | 2000-07-04 | National Instruments Corporation | Instrumentation system and method having instrument interchangeability |
US6405145B1 (en) * | 1998-03-20 | 2002-06-11 | National Instruments Corporation | Instrumentation system and method which performs instrument interchangeability checking |
US5963726A (en) * | 1998-03-20 | 1999-10-05 | National Instruments Corporation | Instrumentation system and method including an improved driver software architecture |
US6499137B1 (en) * | 1998-10-02 | 2002-12-24 | Microsoft Corporation | Reversible load-time dynamic linking |
US6381735B1 (en) * | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
US6631344B1 (en) * | 1999-03-26 | 2003-10-07 | Synopsys, Inc. | Method and system for performing deterministic analysis and speculative analysis for more efficient automatic test pattern generation |
US6587671B1 (en) | 1999-05-28 | 2003-07-01 | Agilent Technologies, Inc. | RF test set with concurrent measurement architecture |
GB0001585D0 (en) | 2000-01-24 | 2000-03-15 | Radioscape Ltd | Method of designing,modelling or fabricating a communications baseband stack |
US6512988B1 (en) * | 2000-05-25 | 2003-01-28 | Agilent Technologies, Inc. | Fast test application switching method and system |
US6594612B2 (en) * | 2000-12-11 | 2003-07-15 | National Instruments Corporation | Measurement system having an improved scan list configuration |
US7913170B2 (en) | 2000-12-20 | 2011-03-22 | National Instruments Corporation | System and method for performing type checking for hardware device nodes in a graphical program |
FI20010592A (fi) | 2001-03-22 | 2002-09-23 | Ssh Comm Security Ltd | Menetelmä ohjelman hallintakaavion kääntämiseksi |
US6563301B2 (en) * | 2001-04-30 | 2003-05-13 | Nokia Mobile Phones Ltd. | Advanced production test method and apparatus for testing electronic devices |
US8473922B2 (en) | 2001-09-19 | 2013-06-25 | Hewlett-Packard Development Company, L.P. | Runtime monitoring in component-based systems |
US20040088448A1 (en) * | 2001-10-16 | 2004-05-06 | Userspace Corporation | Embedded system and method for controlling, monitoring of instruments or devices and processing their data via control and data protocols that can be combined or interchanged |
AU2002357040A1 (en) * | 2001-11-28 | 2003-06-10 | Evolution Robotics, Inc. | Sensor and actuator abstraction and aggregation in a hardware abstraction layer for a robot |
US7272828B2 (en) * | 2002-11-27 | 2007-09-18 | Intel Corporation | Software object type identification |
US20040225459A1 (en) | 2003-02-14 | 2004-11-11 | Advantest Corporation | Method and structure to develop a test program for semiconductor integrated circuits |
CN100456043C (zh) | 2003-02-14 | 2009-01-28 | 爱德万测试株式会社 | 检测集成电路的方法和装置 |
US7200529B2 (en) | 2003-08-15 | 2007-04-03 | National Instruments Corporation | Automatic configuration of function blocks in a signal analysis system |
US8775997B2 (en) | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for testing and configuring semiconductor functional circuits |
US20050097515A1 (en) * | 2003-10-31 | 2005-05-05 | Honeywell International, Inc. | Data empowered laborsaving test architecture |
US20050097548A1 (en) * | 2003-10-31 | 2005-05-05 | Dillenburg Brian J. | Systems and methods for developing and distributing software components |
US7673197B2 (en) | 2003-11-20 | 2010-03-02 | Practical Engineering Inc. | Polymorphic automatic test systems and methods |
US7149943B2 (en) * | 2004-01-12 | 2006-12-12 | Lucent Technologies Inc. | System for flexible embedded Boundary Scan testing |
US8418162B2 (en) * | 2004-01-27 | 2013-04-09 | Research In Motion Limited | Network delivered dynamic persistent data |
US7222340B2 (en) * | 2004-01-27 | 2007-05-22 | Research In Motion Limited | Software-delivered dynamic persistent data |
US7107173B2 (en) * | 2004-02-03 | 2006-09-12 | Credence Systems Corporation | Automatic test equipment operating architecture |
US7552024B2 (en) | 2004-03-08 | 2009-06-23 | Kelbon Richard G | Circuit board diagnostic operating center |
US7210087B2 (en) * | 2004-05-22 | 2007-04-24 | Advantest America R&D Center, Inc. | Method and system for simulating a modular test system |
US7624379B2 (en) * | 2005-01-12 | 2009-11-24 | Advanced Testing Technologies, Inc. | Test program set obsolescence mitigation through software and automatic test equipment system processes |
US20060195744A1 (en) * | 2005-02-11 | 2006-08-31 | Broadcom Corporation | Method and apparatus to simulate automatic test equipment |
US8214800B2 (en) * | 2005-03-02 | 2012-07-03 | Advantest Corporation | Compact representation of vendor hardware module revisions in an open architecture test system |
US7418317B2 (en) * | 2005-03-10 | 2008-08-26 | Aai Corporation | System and method for controlling and communicating with a vehicle |
US7958488B2 (en) | 2005-08-16 | 2011-06-07 | National Instruments Corporation | Virtual testing in a development environment |
EP1783604A3 (en) * | 2005-11-07 | 2007-10-03 | Slawomir Adam Janczewski | Object-oriented, parallel language, method of programming and multi-processor computer |
US20070294580A1 (en) | 2006-05-31 | 2007-12-20 | Ziyang Lu | Virtual tester architecture |
TW200817931A (en) * | 2006-07-10 | 2008-04-16 | Asterion Inc | System and method for performing processing in a testing system |
JP4822346B2 (ja) * | 2006-10-31 | 2011-11-24 | アジレント・テクノロジーズ・インク | 誘導結合プラズマ質量分析装置のための診断及び較正システム |
US8356282B1 (en) * | 2011-09-13 | 2013-01-15 | Advanced Testing Technologies, Inc. | Integrated development environment for the development of electronic signal testing strategies |
-
2007
- 2007-07-10 TW TW096125210A patent/TW200817931A/zh unknown
- 2007-07-10 WO PCT/US2007/073145 patent/WO2008008773A1/en active Application Filing
- 2007-07-10 CN CNA2007800335817A patent/CN101512359A/zh active Pending
- 2007-07-10 US US11/827,134 patent/US8065663B2/en active Active
- 2007-07-10 US US11/827,094 patent/US20080033682A1/en not_active Abandoned
- 2007-07-10 JP JP2009519634A patent/JP2009544012A/ja not_active Withdrawn
- 2007-07-10 KR KR1020097001934A patent/KR20090082341A/ko not_active Application Discontinuation
- 2007-07-10 US US11/827,090 patent/US7869986B2/en active Active
- 2007-07-10 US US11/827,136 patent/US7844412B2/en active Active
- 2007-07-10 US US11/827,083 patent/US9032384B2/en active Active
- 2007-07-10 US US11/827,105 patent/US8442795B2/en active Active
-
2015
- 2015-05-11 US US14/708,566 patent/US20160003892A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016508256A (ja) * | 2012-12-17 | 2016-03-17 | アイトロン インコーポレイテッド | 分割された計測を用いる仮想計量 |
US9747786B2 (en) | 2012-12-17 | 2017-08-29 | Itron, Inc. | Virtual cluster meter (VCM) |
US9677907B2 (en) | 2013-03-14 | 2017-06-13 | Itron Inc | Intelligent receptacle |
US10309800B2 (en) | 2013-03-14 | 2019-06-04 | Itron, Inc. | Intelligent receptacle |
KR20180084372A (ko) * | 2017-01-17 | 2018-07-25 | 한국항공우주산업 주식회사 | 모듈화를 통한 자동시험장비의 운용 시스템 |
KR101956779B1 (ko) * | 2017-01-17 | 2019-03-11 | 한국항공우주산업 주식회사 | 모듈화를 통한 자동시험장비의 운용 시스템 |
Also Published As
Publication number | Publication date |
---|---|
US7869986B2 (en) | 2011-01-11 |
KR20090082341A (ko) | 2009-07-30 |
US20080040708A1 (en) | 2008-02-14 |
US20080040641A1 (en) | 2008-02-14 |
WO2008008773A1 (en) | 2008-01-17 |
US7844412B2 (en) | 2010-11-30 |
US20080040709A1 (en) | 2008-02-14 |
US20080021669A1 (en) | 2008-01-24 |
TW200817931A (en) | 2008-04-16 |
US9032384B2 (en) | 2015-05-12 |
CN101512359A (zh) | 2009-08-19 |
US20080040706A1 (en) | 2008-02-14 |
US8442795B2 (en) | 2013-05-14 |
US20160003892A1 (en) | 2016-01-07 |
US8065663B2 (en) | 2011-11-22 |
US20080033682A1 (en) | 2008-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009544012A (ja) | 試験システムで処理を実行するシステムおよび方法 | |
US5724272A (en) | Method and apparatus for controlling an instrumentation system | |
US5640572A (en) | System and method for mapping driver level event function calls from a process-based driver level program to a session-based instrumentation control driver level system | |
US6405145B1 (en) | Instrumentation system and method which performs instrument interchangeability checking | |
US5847955A (en) | System and method for controlling an instrumentation system | |
US6223134B1 (en) | Instrumentation system and method including an improved driver software architecture | |
US5710727A (en) | System and method for creating resources in an instrumentation system | |
US5717614A (en) | System and method for handling events in an instrumentation system | |
US7228541B2 (en) | Creation of application system installer | |
US20080320071A1 (en) | Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system | |
US20040255291A1 (en) | Installing software using programmatic component dependency analysis | |
JP3735636B2 (ja) | 試験エミュレート装置、試験モジュールエミュレート装置、及びこれらのプログラムを記録した記録媒体 | |
US6085156A (en) | Instrumentation system and method having instrument interchangeability | |
US5627998A (en) | System and method for mapping calls to functions in a first driver level library to a session-based instrumentation control driver level system | |
US7383168B2 (en) | Method and system for design verification and debugging of a complex computing system | |
JP5269450B2 (ja) | 試験システム及びバックアノテーション方法 | |
Schröder et al. | Configuration and control of SystemC models using TLM middleware | |
Mueller et al. | Architecture drives test system standards | |
Hronek | CAN Bus Latency Test Automation for Continuous Testing and Evaluation | |
Sinervä | UVM testbench in Python: feature and performance comparison with SystemVerilog implementation | |
Melin et al. | Applying AUTOSAR in Practice: Available Development Tools and Migration Paths | |
US20040024577A1 (en) | Method and system for automatic recognition of simulation configurations of an integrated circuit | |
Neag | COTS software design minimizes ATS lifecycle cost | |
Curry | CASS CTS software design | |
Iman et al. | e Reuse Methodology |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20101005 |