(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-21
(54)【発明の名称】ダイナミック・アプリケーション・ビルダーを使用した分離分散型測定分析システム
(51)【国際特許分類】
G06F 11/36 20060101AFI20220414BHJP
G06F 8/30 20180101ALI20220414BHJP
【FI】
G06F11/36 164
G06F8/30
G06F11/36 188
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021540421
(86)(22)【出願日】2020-01-10
(85)【翻訳文提出日】2021-09-13
(86)【国際出願番号】 US2020013189
(87)【国際公開番号】W WO2020146798
(87)【国際公開日】2020-07-16
(31)【優先権主張番号】201921001261
(32)【優先日】2019-01-10
(33)【優先権主張国・地域又は機関】IN
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】391002340
【氏名又は名称】テクトロニクス・インコーポレイテッド
【氏名又は名称原語表記】TEKTRONIX,INC.
(74)【代理人】
【識別番号】100090033
【氏名又は名称】荒船 博司
(74)【代理人】
【識別番号】100093045
【氏名又は名称】荒船 良男
(74)【代理人】
【識別番号】110001209
【氏名又は名称】特許業務法人山口国際特許事務所
(72)【発明者】
【氏名】ロビン・ジョリー・プーリケン
(72)【発明者】
【氏名】サティッシュ・クマール・マカナハリー・ラマイア
(72)【発明者】
【氏名】スリラム・マンディアム・クリシュナクマール
(72)【発明者】
【氏名】マヘシャ・ガタハリ・ラクシュミパティ
(72)【発明者】
【氏名】ヴィシュヌ・ヴァルダン・カンダン
【テーマコード(参考)】
5B042
5B376
【Fターム(参考)】
5B042HH49
5B042NN50
5B376BC13
5B376BC14
5B376BC31
5B376BC41
5B376BC80
(57)【要約】
分離分散型測定分析システムは、試験測定自動化プラットフォームを提供し、これは、試験測定自動化プラットフォームの自動化エンジンにデプロイされるソリューションとして、ソリューション・ワークフロー・メタデータを使用して自動試験スイートを生成する。自動化プラットフォームは、測定を開発し、システムの再起動を必要とせずに、自動化エンジンにソリューションをデプロイするためのツールと手法を提供する。システムは、試験測定自動化プラットフォームにより、ユーザが、ソリューションの測定を開発し、ソリューションをコンパイルする必要なしに、試験測定自動化プラットフォームの自動化エンジンに各ソリューションをデプロイし、実行することを可能にする。
【特許請求の範囲】
【請求項1】
試験測定システムにおいて、自動試験スイートを作成及び実行するためのコンピュータ制御による方法であって、
少なくとも1つのコンピュータのプロセッサが、被試験デバイス(DUT)について実施される測定と、自動試験スイートを構成する第1ソリューションのソリューション・ワークフローとを示す入力を受ける処理と、
少なくとも1つのコンピュータのプロセッサが、上記第1ソリューションをコンパイルする必要なしに、上記DUTについての測定を実施するために、ダイナミックに上記第1ソリューションの命令を実行する処理と
を具えるコンピュータ制御による方法。
【請求項2】
上記入力を受ける処理に応答して、少なくとも1つのコンピュータのプロセッサによって、上記第1ソリューションに関連するソリューション・ワークフロー・メタデータを作成する処理を更に具える請求項1の方法。
【請求項3】
上記命令を実行する処理が、上記第1ソリューションをコンパイルする必要なしに、ダイナミックに上記第1ソリューションの上記命令を実行しやすくするために、上記ソリューション・ワークフロー・メタデータを使用する処理を含む請求項2の方法。
【請求項4】
少なくとも1つのコンピュータのプロセッサによって、上記第1ソリューションを上記試験測定システムにデプロイした後に、コンパイルすることなく実行するための準備のために、上記ソリューション・ワークフロー・メタデータを使用して上記第1ソリューションをビルドする処理を更に具える請求項3の方法。
【請求項5】
上記第1ソリューションの上記命令を実行する処理が、上記第1ソリューションに関連する上記ソリューション・ワークフロー・メタデータに基づく請求項3の方法。
【請求項6】
上記命令を実行する処理が、上記試験測定システムを再起動することなく、ダイナミックに上記第1ソリューションを実行するのを容易にするために、上記ソリューション・ワークフロー・メタデータを使用する処理を含む請求項3の方法。
【請求項7】
ユーザ入力に応答して、APIと通信し、上記命令の実行の一部として、上記ソリューション・ワークフロー・メタデータに基づいて上記ソリューション・ワークフローを実行するように構成されたユーザ・インタフェースを提供する処理を更に具える請求項3の方法。
【請求項8】
少なくとも1つのコンピュータのプロセッサが、実施される追加の測定と、別の自動試験スイートを構成する第2ソリューションの異なるソリューション・ワークフローとを示す入力を受ける処理と、
少なくとも1つのコンピュータのプロセッサが、入力を受ける処理に応答して、上記第2ソリューションに関連するソリューション・ワークフロー・メタデータを作成する処理と、
少なくとも1つのコンピュータのプロセッサが、上記第1ソリューションの上記命令の実行と上記第2ソリューションの上記命令の実行との間に、コンパイルする必要なく、且つ、試験測定システムを再起動する必要なしに、上記DUTについての測定を行うために、上記第2ソリューションに関連する上記ソリューション・ワークフロー・メタデータに基づいて、ダイナミックに上記第2ソリューションの命令を実行する処理と
を更に具える請求項3の方法。
【請求項9】
上記命令を実行する処理が、上記試験測定システムの一部として自動登録された複数のサービスを呼び出す処理を含む請求項1の方法。
【請求項10】
上記試験測定自動化プラットフォームの上記自動化エンジンが、分散型アーキテクチャ上にビルドされ、フェイルオーバーとリカバリをサポートする請求項1の方法。
【請求項11】
試験測定システムにおいて自動試験スイートの作成を可能にするコンピュータ制御による方法であって、
少なくとも1つのコンピュータのプロセッサが、ソリューション・ワークフロー・メタデータを使用して、試験測定自動化プラットフォームの自動化エンジンにデプロイされるソリューションとして、分離型ソフトウェアによる自動試験スイートを作成する試験測定自動化プラットフォームを提供する処理と、
上記試験測定自動化プラットフォームによって、ユーザが、上記ソリューションについての測定を開発し、上記試験測定システムを再起動する必要なしに、上記試験測定自動化プラットフォームの上記自動化エンジンに上記ソリューションの夫々をデプロイできるようにする処理と
を具えるコンピュータ制御による方法。
【請求項12】
上記試験測定自動化プラットフォームを提供する処理が、
複数の上記ソリューションの中の第1ソリューションについての入力を受け、
集積回路についての試験を実行するために、複数の上記ソリューションの中の上記第1ソリューションの命令をダイナミックに実行する
よう構成された試験測定自動化プラットフォームを提供する処理を含む請求項11の方法。
【請求項13】
上記試験測定自動化プラットフォームを提供する処理が、複数の上記ソリューションの中の上記第1ソリューションについての上記入力を受けるのに応答して、複数の上記ソリューションの中の上記第1ソリューションに関連するソリューション・ワークフロー・メタデータを作成するように構成された試験測定自動化プラットフォームを提供する処理を含む請求項12の方法。
【請求項14】
上記試験測定自動化プラットフォームを提供する処理が、上記集積回路についての測定を実施するために、上記ソリューション・ワークフロー・メタデータを使用して、複数の上記ソリューションの中の上記第1ソリューションの実行をダイナミックに行うのを容易にするように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項15】
上記試験測定自動化プラットフォームを提供する処理が、上記ソリューション・ワークフロー・メタデータを使用して、複数の上記ソリューションの中の上記第1ソリューションをコンパイルする必要なしに、上記試験測定システムに複数の上記ソリューションの中の上記第1ソリューションをデプロイするのを容易にするように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項16】
上記試験測定自動化プラットフォームを提供する処理が、複数の上記ソリューションの中の上記第1ソリューションを上記試験測定システムにデプロイされた後に実行するための準備をするために、上記ソリューション・ワークフロー・メタデータを使用して、複数の上記ソリューションの中の上記第1ソリューションをビルドするように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項17】
複数の上記ソリューションの中の上記第1ソリューションの上記命令の実行は、複数の上記ソリューションの中の上記第1ソリューションに関連する上記ソリューション・ワークフロー・メタデータに基づいている請求項13の方法。
【請求項18】
上記試験測定自動化プラットフォームによって、上記ユーザが、上記ソリューションについての測定を開発し、上記試験測定自動化プラットフォームの上記自動化エンジンに上記ソリューションの夫々をデプロイできるようにする処理が、上記試験測定システムを再起動する必要なしに、上記集積回路についての測定を実行するために、複数の上記ソリューションの中の上記第1ソリューションをダイナミックに実行するのを容易にするように、上記ソリューション・ワークフロー・メタデータの使用を可能する処理を含む請求項13の方法。
【請求項19】
上記入力が、実施される測定及びソリューション・ワークフローを示す請求項13の方法。
【請求項20】
上記試験測定自動化プラットフォームを提供する処理が、ユーザ入力に応答して、APIを使用して上記命令の実行の一部として上記ソリューション・ワークフロー・メタデータに基づいて上記ソリューション・ワークフローを実行するように構成されたユーザ・インタフェースを含む試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項21】
上記試験測定自動化プラットフォームを提供する処理が、
複数の上記ソリューションの中の第2ソリューションについての入力を受け、
複数の上記ソリューションの中の第2ソリューションについての上記入力を受けるのに応答して、複数の上記ソリューションの中の上記第2ソリューションに関連するソリューション・ワークフロー・メタデータを作成し、
コンパイルする必要なく、且つ、複数の上記ソリューションの中の上記第1ソリューションの上記命令の実行と複数の上記ソリューションの中の上記第2ソリューションの命令の実行との間で、上記試験測定システムを再起動する必要なしに、上記集積回路についての試験を実施するために、複数の上記ソリューションの中の上記第2ソリューションに関連する上記ソリューション・ワークフロー・メタデータに基づいて、ダイナミックに複数の上記ソリューションの中の上記第2ソリューションの命令を実行する
ように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項22】
上記入力が、実施される測定及びソリューション・ワークフローを示し、上記試験測定自動化プラットフォームを提供する処理が、上記集積回路の試験の追加要件に従って上記ソリューション・ワークフロー又はソリューションを上記ユーザが変更できる拡張機能を提供するように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項23】
上記試験測定自動化プラットフォームを提供する処理が、
少なくとも、ユーザ・インタフェースの一部として、試験自動化ワークフロー又はソリューションのテンプレートのメニューを提供することによって、上記ソリューションのビルドを容易にする上記ユーザ・インタフェースを提供する
ように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項24】
上記試験測定自動化プラットフォームを提供する処理が、
上記試験測定自動化プラットフォームがハードウェアを制御し、測定の分析を実施し、上記ソリューションを実行する方法を、上記ユーザが視覚化できるようにする上記試験測定自動化プラットフォームのユーザ・インタフェースを提供する
ように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項25】
上記試験測定自動化プラットフォームを提供する処理が、ユーザ・インタフェース及びAPIを介して上記入力を受けるように構成された試験測定自動化プラットフォームを提供する処理を含む請求項13の方法。
【請求項26】
上記命令の実行が、上記試験測定システムの一部として自動登録された複数のサービスを呼び出す処理を含む請求項13の方法。
【請求項27】
上記試験測定自動化プラットフォームの上記自動化エンジンが、分散型アーキテクチャ上にビルドされ、フェイルオーバーとリカバリをサポートする請求項13の方法。
【請求項28】
試験測定システムにおいて、自動試験スイートを作成及び実行するためのシステムであって
少なくとも1つのメモリと、
少なくとも1つの上記メモリに結合された少なくとも1つのプロセッサとを具え、
少なくとも1つの上記メモリ上に、コンピュータ実行可能な命令が格納されており、実行されると、少なくとも1つの上記プロセッサが、
被試験デバイス(DUT)について実施される測定と、自動試験スイートを構成する第1ソリューションのソリューション・ワークフローとを示す入力を受け、
上記第1ソリューションをコンパイルする必要なしに、上記DUTについての測定を実施するために、ダイナミックに上記第1ソリューションの命令を実行する
自動試験スイートを作成するためのシステム。
【請求項29】
上記コンピュータ実行可能な命令は、実行されると、少なくとも1つの上記プロセッサが、更に、
上記入力を受けるのに応答して、上記第1ソリューションに関連するソリューション・ワークフロー・メタデータを作成する
請求項28のシステム。
【請求項30】
上記命令の実行が、上記第1ソリューションをコンパイルする必要なしに、ダイナミックに上記第1ソリューションの上記命令の実行を容易にするために、上記ソリューション・ワークフロー・メタデータの使用を含む請求項29のシステム。
【請求項31】
上記コンピュータ実行可能な命令は、実行されると、少なくとも1つの上記プロセッサが、更に、
上記第1ソリューションを上記試験測定システムにデプロイした後に、コンパイルすることなく実行するための準備をするために、上記ソリューション・ワークフロー・メタデータを使用して、上記第1ソリューションをビルドする請求項30のシステム。
【請求項32】
上記第1ソリューションの上記命令の実行は、上記第1ソリューションに関連する上記ソリューション・ワークフロー・メタデータに基づく請求項30のシステム。
【請求項33】
上記命令の実行が、上記試験測定システムを再起動する必要なしに、ダイナミックに上記第1ソリューションを実行するのを容易にするために、上記ソリューション・ワークフロー・メタデータの使用を含む請求項30のシステム。
【請求項34】
上記コンピュータ実行可能な命令は、実行されると、少なくとも1つの上記プロセッサが、更に、
ユーザ入力に応答して、APIと通信し、上記命令の実行の一部として、上記ソリューション・ワークフロー・メタデータに基づいて上記ソリューション・ワークフローを実行するように構成されたユーザ・インタフェースを提供する請求項30のシステム。
【請求項35】
上記コンピュータ実行可能な命令は、実行されると、少なくとも1つの上記プロセッサが、更に、
実施される追加の測定と、別の自動化試験スイートを構成する第2ソリューションの異なるソリューション・ワークフローとを示す入力を受け、
上記入力を受けるのに応答して、上記第2ソリューションに関連するソリューション・ワークフロー・メタデータを作成し、
上記第1ソリューションの上記命令の実行と上記第2ソリューションの上記命令の実行との間に、コンパイルする必要がなく、かつ、上記試験測定システムを再起動する必要もなしに、上記DUTについての測定を実施するために、上記第2ソリューションに関連する上記ソリューション・ワークフロー・メタデータに基づいて、ダイナミックに上記第2ソリューションの命令を実行する
請求項30のシステム。
【請求項36】
上記命令の実行が、上記試験測定システムの一部として自動登録された複数のサービスを呼び出す処理を含む請求項28のシステム。
【請求項37】
上記試験測定自動化プラットフォームの上記自動化エンジンは、分散型アーキテクチャ上にビルドされ、フェイルオーバーとリカバリをサポートする請求項28のシステム。
【請求項38】
非一時的なコンピュータ可読記憶媒体であって、格納されたコンピュータ実行可能な命令が、少なくとも1つのプロセッサによって実行されると、少なくとも1つの上記プロセッサが、
被試験デバイス(DUT)について実施される測定と、自動試験スイートを構成する第1ソリューションのソリューション・ワークフローとを示す入力を受け、
上記DUTについての試験を実施するために、上記第1ソリューションをコンパイルする必要なしに、ダイナミックに上記第1ソリューションの命令を実行する
非一時的なコンピュータ可読記憶媒体。
【請求項39】
上記コンピュータ実行可能な命令は、実行されると、少なくとも1つの上記プロセッサが、更に、
上記入力を受けるのに応答して、上記第1ソリューションに関連するソリューション・ワークフロー・メタデータを作成する
請求項38の非一時的なコンピュータ可読記憶媒体。
【請求項40】
上記命令の実行が、コンパイルする必要なしに、ダイナミックに上記第1ソリューションの実行を容易にするために、上記ソリューション・ワークフロー・メタデータの使用を含む請求項39の非一時的なコンピュータ可読記憶媒体。
【請求項41】
上記DUTについて実施される測定が、ジッタ測定、基本測定、アイ測定、時間測定及び振幅測定の中の1つ以上を含む信号測定である請求項39の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野は、協調型(collaborative)コンピューティング技術に関し、特に、分離分散型測定分析システムに関する。
【背景技術】
【0002】
現在、集積回路などのデバイス用の自動試験スイート(suite:一組、一そろい)を作成するのに市場で入手可能な従来の技術的ソリューションは、カスタム・プログラマチック・インタフェースである。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Fortino G. et al.: "Multicast control of mobile measurement systems", INSTRUMENTATION AND MEASUREMENT TECHNOLOGY CONFERENCE, 1998. IMTC/98. CONFERENCE PROCEEDINGS. IEEE ST. PAUL, MN, USA 18-21, MAY 1998, NEW YORK, NY, USA, IEEE, US, vol. 1, 18 May 1998 (1998-05-18), pages 108-114, XP010281663, DOI: 10.1109/IMTC.1998.679723 ISBN: 978-0-7803-4797-7, abstract page 108, left-hand column, page 109 left-hand column - page 110, right-hand column, page 111, right-hand column
【非特許文献2】Domenico Grimaldi et al.:"Java-Based Distributed Measurement Systems", IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 47, no. 1 , 1 February 1998 (1998-02-01), XP011024430, ISSN: 0018-9456, page 100, left-hand column - page 102, right-hand column
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようなプログラマチック・インタフェースには、2つの特徴的な問題がある。まず、システムのユーザは、書き込み(write)、ビルド(build:組み立て、構築)、及びデプロイ(deploy:展開、配置する)のコンセプトに影響するプログラミング言語を理解する必要がある。第2に、既知のプログラマチック・インタフェースでは、ユーザが目的のソフトウェア・エコシステム内でプログラムを組み合わせて一体化(integrate)してインストールするのに加えて、アプリケーションのインストール時にアプリケーションを再起動する必要がある。これらのソリューションの一部は、1つのハードウェアだけに固有のもので、これらが扱う、この固有のハードウェアの限定的な一部分にのみ対応することがある。
【0005】
更には、他の従来のソリューションは、それらが管理しているハードウェアの上に、追加のハードウェアを必要とする。加えて、試験測定システム用の自動試験スイートには、HDMI(登録商標)、USB、PCIなどの特定のインタフェースに固有のソリューションがあり、これらソリューションは、他のインタフェースでは無効である。
【0006】
従って、現在知られているシステムの上記の技術的な問題や制限に対処する必要がある。
【課題を解決するための手段】
【0007】
このため、本願で説明するシステム及び方法は、メタデータを使用して、分離型ソフトウェア中に自動試験スイート(suite)を作成する自動化プラットフォームを提供し、この自動化プラットフォームが、システムを再起動せずに、測定方法を記述して自動化エンジンにデプロイする(deploy:配置、展開する)手法を提供できるようにし、メタデータを使用して、分離型ソフトウェアの形式で自動試験スイートを作成する方法を提供する。
【0008】
少なくとも1つの実施形態によれば、試験測定システムにおいて自動試験スイートを作成して実行するためのコンピュータ制御による方法は、少なくとも1つのコンピュータのプロセッサが、被試験デバイス(DUT)に関して実施される測定と自動試験スイートを構成する第1ソリューションのソリューション・ワークフローとを示す入力を受ける処理と、少なくとも1つのコンピュータのプロセッサが、上記第1ソリューションをコンパイルする必要なしに、DUTについて測定を行うために、上記第1ソリューションの命令をダイナミックに実行する処理とを具えている。
【0009】
この方法は、更に、少なくとも1つのコンピュータのプロセッサが、上記入力を受ける処理に応答して、上記第1ソリューションに関連するソリューション・ワークフロー・メタデータを作成する処理を具えていてもよい。
【0010】
上記命令の実行には、第1ソリューションをコンパイルする必要なしに、第1ソリューションの命令のダイナミックな実行を容易にするために、上記ソリューション・ワークフロー・メタデータを使用することが含まれる。
【0011】
この方法は、更に、少なくとも1つのコンピュータのプロセッサが、第1ソリューションを試験測定システムにデプロイ(deploy:配置、展開)した後に、コンパイルすることなしに第1ソリューションを実行する準備をするために、上記ソリューション・ワークフロー・メタデータを使用して第1ソリューションをビルド(build:組み立て、構築)する処理を具えていても良い。第1ソリューションの命令を実行する処理は、第1ソリューションに関連付けられたソリューション・ワークフロー・メタデータに基づいていても良い。
【0012】
命令を実行する処理には、試験測定システムを再起動せずに、第1ソリューションをダイナミックに実行するのを容易にするために、ソリューション・ワークフロー・メタデータを使用する処理が含まれても良い。
【0013】
この方法は、更に、ユーザ入力に応答して、API(アプリケーション・プログラミング・インタフェース)と交信し、上記命令の実行の一部として、ソリューション・ワークフロー・メタデータに基づいて、ソリューション・ワークフローを実行するように構成されたユーザ・インタフェースを用意することを含んでいても良い。
【0014】
この方法は、更に、少なくとも1つのコンピュータのプロセッサが、実施される追加の測定と、別の自動試験スイートを含む第2ソリューションの異なるソリューション・ワークフローとを示す入力を受ける処理と、少なくとも1つのコンピュータのプロセッサが、上記入力を受けるのに応答して、上記第2ソリューションに関連付けられたソリューション・ワークフロー・メタデータを生成する処理と、少なくとも1つのコンピュータのプロセッサが、第2ソリューションに関連付けられたソリューション・ワークフロー・メタデータに基づいて、第2ソリューションの命令をダイナミックに実行し、第1ソリューションの命令の実行と第2ソリューションの命令の実行との間に、コンパイルする必要がなく、かつ、試験測定システムを再起動する必要もなしに、DUTについて測定を実施する処理とを具えている。
【0015】
命令の実行には、試験測定システムの一部として自動登録された(self-registered)複数のサービスをコールする(call:呼び出す)処理が含まれても良い。
【0016】
試験測定自動化プラットフォームの自動化エンジンは、分散型アーキテクチャ上にビルド(build:組み立て、構築)され、フェイルオーバー(failover:障害迂回)とリカバリ(recovery)をサポートする。
【0017】
少なくとも1つの実施形態によれば、試験測定システムにおいて自動試験スイートの作成を可能にするコンピュータ制御による方法は、少なくとも1つのコンピュータのプロセッサが、ソリューション・ワークフロー・メタデータを使用して、試験測定自動化プラットフォームの自動化エンジン中にデプロイ(deploy:配置、展開)されるソリューションとして分離型ソフトウェアを使用して自動試験スイートを作成する試験測定自動化プラットフォームを提供する処理と、試験測定自動化プラットフォームによって、ユーザが、試験測定システムを再起動することなく、ソリューション用の測定を開発し、試験測定自動化プラットフォームの自動化エンジンにソリューションの夫々をデプロイできるようにする処理とを具えている。
【0018】
試験測定自動化プラットフォームの提供には、複数のソリューションの中の第1ソリューションについての入力を受けて、複数の上記ソリューションの上記第1ソリューションの命令をダイナミックに実行して、集積回路について試験を実施するように構成された試験測定自動化プラットフォームを提供することが含まれる。
【0019】
様々な実施形態によれば、試験測定システムにおいて自動試験スイートを作成及び実行するシステムは、少なくとも1つのメモリと、少なくとも1つのメモリに結合された少なくとも1つのプロセッサとを具え、少なくとも1つのメモリは、そこに記憶されたコンピュータ実行可能命令を有し、これは、実行されると、少なくとも1つのプロセッサに、上述の1つ以上の方法を実行させる。
【0020】
様々な実施形態によれば、非一時的なコンピュータ可読記憶媒体が、そこに格納されたコンピュータ実行可能命令を有し、これは、少なくとも1つのプロセッサによって実行されると、少なくとも1つのプロセッサに上述の1つ以上の方法を実行させる。
【0021】
図面内のコンポーネントは、互いに対して、必ずしも一定の縮尺ではない。類似する参照番号は、いくつか図面を通して対応する部分を指定している。
【図面の簡単な説明】
【0022】
【
図1】
図1は、自動化プラットフォームを含む分離分散型測定分析システムである、様々な例示的な実施形態による例示的な試験測定システムの要素を示すブロック図である。
【
図2】
図2は、試験測定システムの自動化プラットフォームの実施形態が実施されることがある、様々な例示的な実施形態による例示的なコンピューティング装置を示す概略ブロック図である。
【
図3】
図3は、自動化プラットフォームにデプロイされることがある、様々な例示的な実施形態による自動化エンジンのワークフローを説明する図である。
【
図4】
図4は、試験測定システムにおいて自動試験スイートを作成及び実行するための様々な例示的な実施形態によるコンピュータ制御による方法のフロー図である。
【
図5】
図5は、試験測定システムにおいて、複数の試験スイートを実行する間にシステムを再起動する必要なしに、複数の自動試験スイートを作成及び実行するための様々な例示的な実施形態によるコンピュータ制御による方法のフロー図である。
【
図6】
図6は、試験測定システムにおいて自動試験スイートの作成を可能にする、様々な例示的な実施形態によるコンピュータ制御による方法のフロー図である。
【発明を実施するための形態】
【0023】
本技術開示の様々な実施形態は、メタデータを使用して、分離型(disaggregated)ソフトウェア形式で自動試験スイート(suite:一組、一そろい)を作成する動作(operation)プラットフォームを提供する。ここで開示する自動化プラットフォームは、測定方法を開発又は記述し、システムの再起動を必要とせずに、自動化エンジン中に自動試験スイートを構成する関連するソリューション・ワークフローをデプロイ(配置、展開)するためのツールと手法を提供する。更に、これら測定方法は、本システム中に自動登録され、それらは、ユーザが直ちに利用可能になる。
【0024】
図1は、様々な例示的実施形態による自動化プラットフォームを含む分離(disaggregated:個別の要素に分離された)分散(distributed:広く分布した)型測定分析システムである例示的な試験測定システム100の要素を示すブロック図である。
図1に示されているのは、自動化プラットフォーム102、統合型開発環境(IDE:integrated development environment)104及びハードウェア装置106である。
【0025】
自動化プラットフォーム102は、ユーザ・インタフェース108、分析(測定)サービス・エンジン110、コア・サービス・エンジン112及びテンプレート・カタログ・サービス・エンジン114を含む。分析サービス・エンジン110には、この例では、ジッタ測定サービス116、基本(base)測定サービス118、アイ測定サービス120、時間測定サービス122及び振幅測定サービス124などの複数の信号測定サービスが含まれる。
【0026】
コア・サービス・エンジン112は、オープンAPI(application programming interface)126を含み、これは、既存のプロトコルを活用するように設計されたRESTful又はREST(Representational State Transfer)APIであっても良い。RESTは、ほぼ全てのプロトコルで使用できるため、開発者は、REST APIの仕組みを活用するために、ライブラリや追加のソフトウェアをインストールする必要はない。SOAP(Simple Object Access Protocol)と異なり、RESTは、拡張マークアップ言語(XML)に限定されないが、その代わりに、クライアントの要求に応じて、XML、JSON(JavaScript Object Notation)などの形式を返すことができる。また、RPC(Remote Procedure Call)と異なり、ユーザは、特定の手順でプロシージャ名や特定のパラメータを知る必要はない。コア・サービス・エンジン112は、また、自動化エンジン128とハードウェア・コントローラ130も含み、以下で詳しく説明する。
【0027】
テンプレート・カタログ・サービス・エンジン114には、この例では、パターン・ジェネレータ132、測定カタログ・サービス134、ソリューション・カタログ・サービス136及び装置構成/校正カタログ・サービス138が含まれる。自動化プラットフォームは、ユーザ・インタフェース108を提供して、少なくともユーザ・インタフェースの一部として、ユーザが1つ以上のソリューションを作るための基礎となるものを選択できる試験自動化ワークフロー又はソリューションの複数のテンプレートからなるメニューを提供することにより、ソリューションのビルド(構築)を容易にする。
【0028】
ハードウェア装置106の試験装置の例としては、オシロスコープ140、ビット・エラー・レート・テスタ(BERT)142、任意波形発生装置(AWG)144及びスペクトラム・アナライザ146などが含まれる。
【0029】
本技術開示の実施形態を活用することにより、システム100は、アプリケーションを再起動する必要なく、試験測定システムに新しい測定方法を追加する拡張機能を提供する。更に、自動化プラットフォーム102は、また、ユーザ・インタフェース108内のソリューション・ビルダーを用いて有用なソリューションを作成し、システム100を再起動することなく、ソリューションを直接かつ直ちに、そのエコシステム(ecosystem:生態系)内で公開する機能も提供する。
【0030】
別の実施形態では、新しいソリューションも、API126を使用して作成することができる。更に、自動化プラットフォーム102によって、顧客が、オシロスコープ140、BERT142、AWG144のような異なる形式のハードウェアを有することがある顧客の試験スイート内でワークフローを定義するのも容易になる。
【0031】
自動化プラットフォーム102は、分離型(disaggregated:個別の要素に分離された)ソフトウェア・ソリューションであって、ハードウェア装置106を制御し、ハードウェア装置106によって得られた測定値(例えば、波形)の分析を行い、ユーザ・インタフェースを介してAPI126などのAPIを用いてソリューションを実行し、ユーザ・インタフェースは、ユーザに視覚化された体験を提供する。例えば、自動化プラットフォーム102は、試験測定自動化プラットフォーム102がハードウェア装置106を制御し、測定値の分析(例えば、波形)を実行し、ソリューションを実行する方法のユーザによる可視化を可能にする。
【0032】
更に、本技術開示の実施形態による試験測定システム100は、メタデータに基づいており、これによれば、ソリューションを、コンパイル又は再起動することなく、デプロイする(deploy:配置、展開する)ことが可能になる。IDE104は、自動化プラットフォーム102のソフトウェア環境において、測定サービス110をデプロイするために用いられる。デプロイされる測定サービス110は、起動時に、測定カタログ・サービス134に自動登録される。一度、自動登録された測定サービス110は、アプリケーション実行中に測定を実行するために自動化エンジン128にアクセスできる。ソリューションは、システム100にデプロイされ次第、ビルド(build:組み立て、構築)され、システム全体で、直ぐに使用可能となる。ユーザ・インタフェース108のソリューション/アプリケーション・ビルダーは、テンプレート・カタログ・サービス114を利用することによるテンプレートに基づくアプローチを使用し、これによって、開発及びデプロイのための全体的な時間を短縮する。
【0033】
更に、1つ以上の実施形態において、自動化プラットフォーム102が、JSONで記述されても良い。自動化プラットフォーム102は、ドメイン固有言語(DSL:Domain Specific Language)を使用する他のアプローチと同様に記述されても良い。自動化エンジン128は、ソリューションについて提供されたユーザ入力を読み込み、その命令をダイナミックに実行する。例えば、自動化プラットフォーム102が、被試験デバイス(DUT)について実施される複数の測定(measurements:複数の測定方法)と、自動試験スイートを構成する第1ソリューションのソリューション・ワークフローとを示す入力を受けても良い。次いで、自動化プラットフォーム102は、第1ソリューションの命令をダイナミックに実行して、第1ソリューションをコンパイルすることなく、DUTについての試験を実施する。自動化プラットフォーム102は、入力を受けるのに応答して、第1ソリューションに関連付けられたソリューション・ワークフロー・メタデータを作成する。命令の実行には、コンパイルを必要とせずにソリューションをダイナミックに実行するのを容易にするために、ソリューション・ワークフロー・メタデータを使用する処理が含まれても良い。また、この命令の実行が、試験測定システムを再起動せずに、第1ソリューションをダイナミックに実行するのを容易にするために、ソリューション・ワークフロー・メタデータを使用することも含んでいても良い。図に表したフロー(流れ)は、ソリューション・メタデータ(例えば、JSONメタデータ148)が作成され、API126を介して、ソリューション・カタログ・サービス136にデプロイされるという、作成及びデプロイを示す。このソリューション・カタログ・サービス136は、メタデータの内容(content:コンテンツ)が正しいことを検証して、格納する。一つの実施形態では、メタデータの作成及びデプロイは、API126の使用によって行われる(例えば、HTTP(HyperText Transfer Protocol)を介してJSONを用いるOpenAPIを利用する、など)。
【0034】
ユーザ・インタフェース108は、ユーザ入力に応答して、API126と交信し、命令の実行の一部として、ソリューション・ワークフロー・メタデータに基づいてソリューション・ワークフローを実行するように構成される。図示されているのは、例示的な実行要求150(例えば、JSON実行要求)であり、自動化エンジン128が、ソリューション・カタログ・サービス136からメタデータを取得することによって、メタデータの命令(例えば、JSONメタデータ148)を実行する。自動化エンジン128は、ソリューション・メタデータと比較してソリューション実行要求150を検証し、ソリューションで定義されたソリューションと測定を実行する。例えば、ユーザは、API126を使用して(例えば、HTTPプロトコル経由でJSONを使用してOpenAPIを使用する)、実行命令を送信できる。
【0035】
少なくとも1つの実施形態においては、自動化エンジン128は、マイクロサービス・アプローチを使用して、エコシステム(生態系)の一部として自動登録された複数のサービスを呼び出す(call:コールする)。デプロイされる測定サービス110は、起動時に、測定カタログ・サービス134に自動登録(self-register)される。一度自動登録された測定サービス110は、自動化エンジン128にアクセスして、アプリケーション実行中に、測定(measurements:測定方法)を実行できる。自動化エンジン128は、分散型アーキテクチャ上にビルドされ、フェイルオーバー(failover:障害迂回)とリカバリをサポートする。
【0036】
自動化プラットフォーム102は、試験測定システム100内に、複数の自動試験スイートを作成して、これら試験スイートの実行と実行の間で、システムを再起動する必要なしに、複数の自動試験スイートを実行することを可能にする。例えば、自動化プラットフォーム102は、第2のソリューションについての入力を受け、次いで、この第2ソリューションについての入力の受信に応答して、第2ソリューションに関連するソリューション・ワークフロー・メタデータを作成しても良い。次に、自動化プラットフォーム102は、第2ソリューションに関連するメタデータに基づいてダイナミックに第2ソリューションの命令を実行してDUTについての試験を行うが、このとき、第1ソリューションの命令の実行と第2ソリューションの命令の実行との間に、コンパイルをする必要はなく、試験測定システム100を再起動する必要もない。
【0037】
更に、本技術開示の実施形態は、エンド・ユーザがワークフロー又はソリューションを変更することを可能にする拡張機能を提供し、DUTの試験に関する追加の要件をいつでも追加でき、このため、製品化までの全体の時間を短縮できる。
【0038】
図2は、試験測定システム100の自動化プラットフォームの実施形態を実施しても良い、様々な例示的実施形態による自動化プラットフォーム・コンピュータ210の例を示すブロック図である。図示した実施形態において、自動化プラットフォーム・コンピュータ210は、コンピュータ・メモリ(「メモリ」)201、ディスプレイ202(限定するものではないが、発光ダイオード(LED)パネル、液晶ディスプレイ(LCD)、タッチ・スクリーン・ディスプレイなど)、1つ以上の中央処理装置(「CPU」)203、入出力装置204(例えば、ボタン・パネル、キーボード、マウス、RF又は赤外線レシーバ、USBポート、その他の通信ポート、など)、その他のコンピュータ可読媒体205、通信接続部206を具えている。自動化プラットフォーム102は、メモリ201内に存在することが示されている。別の実施形態では、自動化プラットフォーム102のコンテンツの一部と、コンポーネントの一部又は全てが、別個のコンピュータ可読媒体205上に記憶されたり、別個のコンピュータ可読媒体205を通じて送信される。自動化プラットフォーム102のこれらコンポーネントは、好ましくは、1つ以上のCPU203上で実行され、DUTについて実施される測定と、自動試験スイートを構成する第1ソリューションのソリューション・ワークフローとを示す入力を受ける処理と、第1ソリューションの命令を実行して、ソリューションをコンパイルすることなく、DUTについての試験を実施する処理とを実行するか、さもなければ、これら処理を容易なものにする。自動化プラットフォーム102のコンポーネントは、好ましくは1つ以上のCPU203上で実行され、ソリューション・ワークフロー・メタデータを使用して、試験測定自動化プラットフォームの自動化エンジンにデプロイされるソリューションとして、分離型ソフトウェアを用いる自動試験スイートを作成する試験測定自動化プラットフォーム102を提供する処理と、ユーザが、これらソリューションに関する測定を開発し、試験測定システム100を再起動する必要なしに、試験測定自動化プラットフォーム102の自動化エンジン128に、これらソリューションの夫々をデプロイすることを可能にする処理とについても実行するか、さもなければ、これら処理を容易なものにしても良い。
【0039】
別の実施形態では、別の処理装置及び構成を用いても良い(限定するものではないが、グラフィックス・プロセッシング・ユニット(GPU:graphics processing units)、ASIC及び組み込みCPU/GPUブロックなど)。自動化プラットフォーム102は、メモリ201に格納された各種ソフトウェア・アプリケーションとして動作するか、これら各種ソフトウェア・アプリケーションの一部であるか、又は、これら各種ソフトウェア・アプリケーションと連結若しくは連携して動作しても良い。また、自動化プラットフォーム102は、通信システム208を介してのIDE104及びハードウェア装置106との通信も容易にする。通信システム208には、様々な異なる物理的及び論理的通信チャンネルによって利用されるものを含む多数の異なる種類の通信媒体があっても良い。限定するものではないが、メディア及び通信チャンネルの例としては、HDMI(登録商標)、USB(Universal Serial Bus)、PCI(Peripheral Component Interconnect)、Wi-Fiシステム、WLANシステム、近距離無線(例えば、Bluetooth(登録商標))システム、ピア・ツー・ピア・ネットワーク・システム、ハードワイヤード・システム、通信バス、コンピュータ・ネットワーク・ケーブル配線、広域ネットワーク(WAN)システム、インターネット、ケーブル・システム、電話システム、光ファイバ・システム、マイクロ波システム、非同期転送モード(「ATM」)システム、フレーム・リレーシ・ステム、デジタル加入者回線(「DSL:digital subscriber line」)システム、無線周波数(「RF」)システム、セルラー・システム(セルラー方式)、衛星システムの中の1つ以上、又は、任意の動作可能な組み合わせ、などがある。
【0040】
自動化プラットフォーム102には、API126(
図1に示す)があり、これは、例えば、
図1に示す、分析サービス・エンジン110、コア・サービス・エンジン112及びテンプレート・カタログ・サービス・エンジン114といった複数のサービスなど、試験測定システム100の1つ以上の機能又はサービスへのプログラマチック・アクセス(programmatic access)を提供する。例えば、このようなAPI126は、分析サービス・エンジン110、コア・サービス・エンジン112及びテンプレート・カタログ・サービス・エンジン114や、他の複数のプログラム230の中のいずれかによって呼び出されても良い自動化プラットフォーム102の1つ以上の機能へのプログラマチック・インタフェース(programmatic interface)を提供しても良い。
【0041】
ある例示的な実施形態では、自動化プラットフォーム102のコンポーネント/モジュールが、標準的なプログラミング技術を用いて実装される。例えば、自動化プラットフォーム102が、1つ以上の静的(static)又は動的(dynamic)ライブラリとともに、CPU203上で実行される「ネイティブ」実行可能ファイルとして実装されても良い。別の実施形態では、自動化プラットフォーム102が、他の複数のプログラム230の中の一つとして実行される仮想マシンによって処理される命令として実装されても良い。概して、このような例示的な実施形態を実装するのに、様々なプログラミング言語パラダイムの代表的な実装など、当技術分野で知られている様々なプログラミング言語を採用しても良く、限定するものではないが、オブジェクト指向型(例えば、JSON, Java, C++, C#, Visual Basic.NET, Smalltalk、など)、関数型(例えば、ML, Lisp, Scheme、など)、手続き型(例えば、C, Pascal, Ada, Modula、など)、スクリプト言語(例えば、Perl, Ruby, Scratch, Python, JavaScript, VBScript、など)、宣言型(例えば、SQL, Prolog、など)などがある。
【0042】
ソフトウェア又はファームウェアの実装においては、メモリに記憶された命令は、実行されると、自動化プラットフォーム102の機能を実行するように、自動化プラットフォーム・コンピュータ210の1つ以上のプロセッサ(例えば、CPU)を構成する。これら命令により、CPU203又は他のプロセッサ(I/Oコントローラ/プロセッサなど)が、本願で説明するプロセスを実行する。
【0043】
上述の実施形態は、また、周知の又は他の同期若しくは非同期のクライアント・サーバ・コンピューティング技術を使用しても良い。しかし、様々なコンポーネントは、単一のCPUシステムで実行される実行可能ファイルに加えて、例えば、もっとモノリシックなプログラミング手法を使用して実現されても良いし、又は、これに代えて、限定するものではないが、マルチプログラミング、マルチスレッド、クライアント・サーバー、ピア・ツー・ピア(例えば、Bluetooth(登録商標)ワイヤレス・テクノロジなど)、夫々1つ以上のCPUその他の複数のプロセッサを有する1つ以上のコンピュータ・システム上での実行など、当技術分野で知られた様々な構造化手法を用いて分解(decompose)されても良い。いくつかの実施形態は、同時かつ非同期的に実行され、メッセージ送信(passing)技術を用いて通信する。等価な同期する実施形態も、自動化プラットフォーム102の実施形態によってサポートされる。また、他の機能を、各コンポーネント/モジュールによって、異なる順序で、そして、異なるコンポーネント/モジュールによって、実装や実行することもでき、それでもやはり、自動化プラットフォーム102の機能を実現できる。
【0044】
加えて、自動化プラットフォーム102の一部として格納されたデータへのプログラミング・インタフェースは、例えば、「C、C++、C# 及び Java API」、「ファイル、データベース、その他のデータ・リポジトリーにアクセスするためのライブラリ」、「スクリプト言語」、又は、「Webサーバ、FTPサーバ、若しくは、保管されたデータ及びマシン・ラーニング・モデルへのアクセスを提供するその他のタイプのサーバ」によるなど、標準的なメカニズムによって得られる。
【0045】
プログラム及びデータの異なる構成及び場所が、ここに記載されている技術で使用するために考えられる。図示された実施形態のコンポーネントを実装するのには、様々な分散型コンピューティング技術が適しており、限定するものではないが、TCP/IP、REST、ソケット、RPC、RMI、HTTP及びWebサービス(XML-RPC、JAX-RPC、SOAPなど)などの形式がある。その他の様々な形式も可能である。その他の機能も、各コンポーネント/モジュールによって提供することができるし、既存の機能は、コンポーネント/モジュールの中に、様々な様式で分散(分配)させることもできるが、それでもやはり、自動化プラットフォーム102の機能を実現できる。
【0046】
更に、いくつかの実施形態では、自動化プラットフォーム102の一部又は全てのコンポーネントが、少なくとも部分的にファームウェアやハードウェア形式といった別の方法で実装又は提供されても良く、限定するものではないが、1つ以上の特定用途向け集積回路(「ASIC」)、標準的な集積回路、コントローラ(例えば、適切な命令を実行することによるもので、マイクロコントローラや組み込みコントローラを含む)、フィールド・プログラマブル・ゲート・アレイ(「FPGA」)、CPLD(complex programmable logic device)などがある。システム・コンポーネントやデータ構造の一部又は全部は、コンピュータ可読媒体(例えば、「ハード・ディスク」、「メモリ」、「コンピュータ・ネットワーク、セルラー・ワイヤレス・ネットワークその他のデータ伝送メディア」、又は、「フラッシュ・メモリ・デバイスなどの適切なドライブ若しくは適切な接続によって読み取られるポータブル・メディア物品」)上に、コンテンツ(例えば、実行可能等の機械可読ソフトウェア命令や構造化データなど)として保存して、これにより、コンピュータ可読媒体や1つ以上の関連するコンピューティング・システム又はデバイスが、このコンテンツを実行するか、さもなければ利用又は提供するのを可能にするか、又は、このコンテンツを実行するか、さもなければ利用又は提供するように構成して、上述の手法の少なくとも一部を実施しても良い。
【0047】
図3は、様々な例示的な実施形態による自動化プラットフォーム102にデプロイされても良い、例示的な自動化エンジン・ワークフロー300を示す図である。
図3は、ユーザ302が、自動化プラットフォーム102を利用する方法を示すワークフローの例を示しており、IDE104を利用して第1アクション304を実行し、自動化プラットフォーム102に、測定方法(測定)及びソリューション・ワークフローを開発させ(310)、API126とユーザ・インタフェース108を利用して第2アクション306を実行し、自動化プラットフォーム102に、ワークフロー・メタデータを使用してソリューションを作成させる(312)と共に、APIの助けを借りてワークフロー・メタデータを使用して自動化エンジン128に、このソリューションをデプロイさせ(314)、次いで、API126とユーザ・インタフェース108を利用して第3アクション308を実行し、自動化プラットフォーム102に、APIの助けを借りて、メタデータに基づいて、このソリューションの要求(リクエスト)を実行させる(316)。
【0048】
図4は、様々な例示的な実施形態による、試験測定システム100において、自動試験スイートを作成及び実行するためのコンピュータ制御による方法400のフロー図である。
【0049】
402では、システム100が、DUTについて実施される複数の測定方法(measurements:複数の測定)と、自動試験スイートを構成する第1ソリューションのソリューション・ワークフローとを示す入力を受ける。
【0050】
404では、システムは、第1ソリューションをコンパイルする必要なしに、DUTについての測定方法を実施するために、このソリューションの命令をダイナミックに実行する。
【0051】
図5は、様々な例示的な実施形態による、試験測定システム100において、複数の自動試験スイートを作成及び実行するためのコンピュータ制御による方法500のフロー図であり、これら試験スイートの実行の間にシステムを再起動する必要がない。
【0052】
502では、システム100は、実施される追加の測定方法(additional measurements:追加の測定)と、新たな自動化試験スイートを構成する第2ソリューションの異なるソリューション・ワークフローとを示す入力を受ける。
【0053】
504では、システム100は、上記入力を受けるのに応答して、第2ソリューションに関連するソリューション・ワークフロー・メタデータを作成する。
【0054】
506では、システム100は、第2ソリューションに関連するメタデータに基づいて、第2ソリューションの命令をダイナミックに実行し、コンパイルする必要なしに、且つ、第1ソリューションの命令の実行と第2ソリューションの命令の実行との間で試験測定システムを再起動する必要なしに、DUTについての測定方法を実施する。
【0055】
図6は、様々な例示的な実施形態による、試験測定システム100において、自動試験スイートの作成を可能にするコンピュータ制御による方法600のフロー図である。
【0056】
602では、システム100が、ソリューション・ワークフロー・メタデータを使用して、試験測定自動化プラットフォームの自動化エンジンにデプロイされるソリューションとして、分離型ソフトウェアを用いた自動試験スイートを作成する試験測定自動化プラットフォームを提供する。
【0057】
604では、システム100が、試験測定自動化プラットフォームによって、ユーザが、ソリューションのための測定方法(measurements:測定)を開発し、これらソリューションの夫々を、試験測定システムを再起動する必要なしに、試験測定自動化プラットフォームの自動化エンジンにデプロイすることを可能にする。
【0058】
本願では、先に様々な実施形態を説明してきたが、現下の又は以下の特許請求の範囲による本発明の主旨及び範囲から逸脱することなく、形態及び細部を様々に変更しても良いことが理解できよう。
【国際調査報告】