(57)【要約】      （修正有）【課題】動的にレオロジー機器の操作を制御するためのグラフィカル・プログラミングインターフェースシステムおよび方法を提供する。【解決手段】プログラムは、ユーザが選択した多くのノードと、指向性を有する接続インディケータによる各ノードにおける他のノードとの接続関係と、を受信することによって、レオメータにおいてサンプルのテストを実行するために、プログラミングインターフェース上で作成される。ノードは、サンプルのテストを実行するステップまたはサンプルのテストを実行するためのレオメータを形成するステップを特定する。【選択図】図３
2004317497.tif 000002
【特許請求の範囲】
【請求項１】
ユーザがどの複数のノードを選択したかを示す情報と、指向性を有する接続インディケータによる各ノードにおける他のノードとの接続関係を示す情報と、を受信することによって、レオメータにおいてサンプルのテストを実行するために、プログラミング・インターフェース上でプログラムを作成する過程を有し、前記ノードは、サンプルのテストを実行するステップまたはサンプルのテストを実行するためのレオメータの設定を行うステップを特定するものであり、
前記レオメータに対する命令のシーケンスを生成する、選択された各ノードによって特定されるとともに指向性を有する接続インディケータに従ったステップを実行するための命令を含むスクリプトを作成する過程を有し、
前記レオメータ内での実行のため、低レベルの命令を前記スクリプトからダウンロードする過程を有し、
レオメータのシステムに対して、前記ダウンロードされた命令を実行するよう命令する過程を有する、
レオメータの操作を動的に制御する方法。
【請求項２】
前記プログラミング・インターフェースは、ユーザが用意されたアイコンを選択できるか、または、ノードを表示するアイコンを作成できるグラフィカル・ユーザ・インターフェースである、
請求項１記載の方法。
【請求項３】
各選択されたノードに関連するパラメータを識別すると共に、ユーザから各パラメータ値を受信する過程をさらに有し、前記スクリプトは、前記選択されたパラメータ値に従って生成される、
請求項１記載の方法。
【請求項４】
パラメータ値の入力、確認、または修正をユーザに促すフォームを生成する過程をさらに含む、
請求項３記載の方法。
【請求項５】
前記スクリプトは、ノード・クラス・ライブラリから検索された情報に従って作成され、このノード・クラス・ライブラリは、ノードおよびノード間の接続と関連するパラメータのトラッキングを行う、
請求項３記載の方法。
【請求項６】
所定のノードが動的に作成され、動的に作成された各ノードを識別するためのパラメータを決定する過程をさらに含む、
請求項３記載の方法。
【請求項７】
前記レオメータのシーケンス・エンジンは、前記プログラミング・インターフェースとは独立して前記命令を実行すべく、前記スクリプトを受信する、
請求項１記載の方法。
【請求項８】
前記スクリプトは、ＴＣＰ／ＩＰ接続によって前記レオメータにダウンロードされ、前記プログラミング・インターフェースからそれ以上介入されずに作動する、
請求項７記載の方法。
【請求項９】
所定の選択されたノードは、レオメータにおいて実行されるテストに関連する命令をグループ化するように指向性を有する接続インディケータによって接続される複数の他のノードを表す、
請求項１記載の方法。
【請求項１０】
前記プログラミング・インターフェースは、ユーザがパレットからアイコンをグラフィカルに選択すると共にドラッグすることを可能にする、チャートを含む、
請求項１記載の方法。
【請求項１１】
前記プログラミング・インターフェースは、選択されたノードによる階層的なナビゲーションのツリー表示を含む、
請求項１記載の方法。
【請求項１２】
前記プログラミング・インターフェースは、ユーザがパレットからアイコンをグラフィカルに選択すると共にドラッグすることを可能にするチャートと、選択されたノードによる階層的なナビゲーションのツリー表示の両方を含んでおり、前記チャートまたは前記ツリーのいずれかに対して何らかの変更を行うと、それぞれ自動的に、前記ツリーまたは前記チャートに対応する変更がなされる、
請求項１記載の方法。
【請求項１３】
複数のノードを選択する過程を有し、前記ノードは、サンプルのテストを実行するステップ、またはサンプル上のテストを実行するためにレオメータの設定を行うステップを特定し、
指向性を有する接続インディケータによって、他のノードに各ノードを接続する過程を有し、
特定のノードに関連するパラメータ値を選択する過程を有し、
第１ノードに対するパラメータ値が第２ノードの結果に依存する場合、データ・フロー・インディケータによって前記第１ノードと前記第２ノードを接続する過程を有する、
レオメータのテスト・シーケンスを動的に作成する方法。
【請求項１４】
選択された各ノードにより特定され、指向性を有する接続インディケータとデータ・フロー・インディケータに従って特定された、レオメータに対する命令のシーケンスを生成するように、スクリプトが作成される、
請求項１３記載の方法。
【請求項１５】
前記ダウンロードされた命令を実行するように前記レオメータのドライバに命令すべく、前記スクリプトから低レベルの命令がダウンロードされる、
請求項１４記載の方法。
【請求項１６】
所定の選択されたノードは、レオメータで実行されるテストに関連する命令をグループ化すべく、指向性を有する接続インディケータによって接続される、多くの他のノードを表す、
請求項１４記載の方法。
【請求項１７】
前記ノードは、グラフィカル・ユーザ・インターフェースのパレットからアイコンをドラッグすることによって選択される、
請求項１３記載の方法。
【請求項１８】
ユーザがどの複数のノードを選択したかを示す情報と、指向性を有するデータ・フロー接続インディケータによる、他のノードに対する各ノードの接続関係を示す情報と、を受信するためのプログラミング・インターフェースを提供する過程を有し、前記ノードは、サンプルのテストを実行するためのステップまたはサンプルのテストを実行するためのレオメータを形成するためのステップを特定し、
前記プログラミング・インターフェースで作成されたプログラムに対応する、前記レオメータに対する命令のシーケンスを生成するためのスクリプトを作成する過程を有し、
前記スクリプトから前記レオメータに低レベルの命令をダウンロードする過程を有し、
前記レオメータは、レオメータにおけるドライバを操作するためのプログラム・シーケンス・エンジンの低レベルの命令を実行するよう設定される、
カスタマイズされたテストを実行するために動的にレオメータを設定する方法。
【請求項１９】
前記プログラミング・インターフェースは、グラフィカル・ユーザ・インターフェースであり、このグラフィカル・ユーザ・インターフェースにより、ドラッグ・アンド・ドロップ・グラフィカル・ディスプレイを通じて、パレットからノードを選択できる、
請求項１８記載の方法。
【請求項２０】
ノードに関連すると共に、ノード・クラスライブラリにおいて維持される値とパラメーターに従ってスクリプトが作成される、
請求項１８記載の方法。
【請求項２１】
レオメータの前記シーケンス・エンジンは、前記プログラミング・インターフェースとは独立して前記命令を実行する、
請求項１８記載の方法。
【請求項２２】
前記スクリプトは、ＴＣＰ／ＩＰ接続によって前記レオメータにダウンロードされ、前記プログラミング・インターフェースからそれ以上介入されずに作動する、
請求項２１記載の方法。
【請求項２３】
ユーザがどの複数のノードを選択したかを示す情報と、指向性を有する接続インディケータによる各ノードにおける他のノードとの接続関係を示す情報と、を受信することによって、レオメータにおいてサンプルのテストを実行し、前記ノードは、サンプルのテストを実行するステップまたはサンプルのテストを実行するためのレオメータの設定を行うステップを特定する、プログラミング・インターフェースと、
前記レオメータに対する命令のシーケンスを生成し、前記スクリプトは、選択された各ノードによって特定されるとともに指向性を有する接続インディケータに従ったステップを実行するための命令を含む、スクリプト・ジェネレータと、
前記レオメータにおけるドライバを操作するための低レベルの命令を実行するために、レオメータのプログラム・シーケンス・エンジンにスクリプト・ファイルをダウンロードする出力インターフェースと、を含む、
レオメータの操作を動的に制御するシステム。
【請求項２４】
前記出力インターフェースは、さらに、ユーザに対して表示するレポートを生成するための分析および表示ツールに命令をダウンロードする、
請求項２３記載のシステム。
【請求項２５】
前記プログラミング・インターフェースは、ユーザのプログラム・コードの入力を必要とせずに、ノードの選択およびノードの接続を可能にするグラフィカル・ユーザ・インターフェース上で作動する、
請求項２３記載のシステム。
【請求項２６】
グラフィカル・ユーザ・インターフェースを使用して、パレットからチャートまでアイコンをグラフィカルに選択すると共に位置決めすることよって、レオメータにおいてサンプルのテストを実行すべく、プログラミング・インターフェースにおいてプログラムを作成する過程を有し、各アイコンは、サンプルのテストを実行するための、またはサンプルのテストを実行するレオメータを形成する一以上のステップを特定するものであり、
テストを実行するステップのパラメータ値を選択する過程を有し、各テストステップに関連する前記パラメータは、動的に生成された多くのフォームで示され、
前記レオメータにおける実行のために選択された前記パラメータに従って前記特定されたテストを実行するための低レベルの命令をダウンロードする過程を有する、
レオメータの動作を動的に制御する方法。
【請求項２７】
単一のアイコンとして表わされるように、レオメータにおけるテストを実行するためのステップのシーケンスをカプセル化する過程をさらに含む、
請求項２６記載の方法。
【請求項２８】
レオメータにおけるサンプルのテストを実行するために、プログラミング・インターフェース上でプログラムを作成する過程と、
前記レオメータにおいて前記プログラムされたテストを実行するための低レベルの命令をダウンロードする過程と、
前記レオメータから、表示およびレポート・インターフェースに対して入力される生データを分析するための命令をダウンロードする過程と、
を含む、レオメータ・アセンブリの操作を動的に制御する方法。
【請求項２９】
グラフィカルな機器インターフェースにおいてプログラムを作成する過程と、
前記プログラムに従ってテストを実行する命令をダウンロードする過程と、
生データをレオロジー的なパラメータに変換する過程と、
を含む、レオメータの操作を動的に制御する方法。
【発明の詳細な説明】
【先の出願日に基づく利益の主張】
【０００１】
本出願は、２００３年３月１４日に申請された、米国仮特許出願番号第６０／４５４，３４６号、および２００３年８月２０日に申請された、米国特許出願第１０／６４３，８７９号に基づく出願日の利益を主張するものであり、係る参照によって完全にここに援用されるものである。
【技術分野】
【０００２】
本発明は、レオロジー機器の操作、さらに詳しくは、動的にレオロジー機器の操作を制御するためのグラフィカル・プログラミングインターフェースシステムおよび方法に関する。
【背景技術】
【０００３】
「レオロジー（rheology:流動学）」は、物質の変形と流動に関する研究に関する用語である。
レオロジーに関する試験は、元来、アスファルト、潤滑剤、ペンキ、プラスチック、ゴムおよび流体のような物質の特性および振る舞いの検査に関連したものであった。 
このような物質は、典型的な流体力学および弾性によって説明することが容易でないレオロジー的な性質を示し得る。
一般的な消費者が使用する多くの製品等のその他の製品の開発者もまた、製品が置かれた条件（例えば振動または応力）に応じた製品の粘度（コンシステンシ）の変化がその性能に影響する場合もあるので、各製品のレオロジー的な面および性質を研究している。
このような製品としては、プラスチック（びん、フィルム）、食物調味料（例えば、チョコレート、からし、ケチャップまたはサラダドレッシング）、化粧品（例えば、マニキュア液、ヘア製品、クリームおよびローション）および洗面用品（例えば練り歯磨き、脱臭剤）が挙げられる。
【０００４】
レオロジーの機器、または「レオメータ」（粘度計（viscosimeters、viscometers）とも呼ばれる）は、例えば、物質の粘性または係数に関連する固有の機械的特性を測定するために使用することができる。
粘性は、流れに対して抵抗を示す、流体の内部性質である（すなわち、液体の濃度に関係がある）。
レオロジー的な測定は、例えば、制御された応力テスト、制御された歪みテスト、動的な機械的テスト等のような、互いに平行なプレートの間にサンプルを置いて実行される様々なテストによって実行することができる。
【０００５】
既知のレオメータは、典型的には、利用可能な相異なる個々のテスト手順のうちから選択されたテストをユーザが実行させることができるように設計されている。このテスト手順は、上述の機器のファームウェアに実装された当該機器のハードウェア専用のＣＰＵによって実行されるものである。
ユーザは、ＧＵＩ（グラフィカル・ユーザ・インターフェース）プログラムによって、機器を操作し、このＧＵＩは、シリアルポートまたはネットワーク接続を介してレオメータに接続されたパソコン上で通常は動作する。
ある種類のテストが選択されると、ユーザインターフェースでフォームまたはテンプレートを提供してもよく、この場合、ユーザに対しては、１セットのパラメータを入力してフォームを完成するよう指示がなされる。この際、上述のテストに関連するある種のオプションを入力するものとしてもよい。
レオメータによっては、ユーザは、一連のテストが実行されるように機器を設定することが可能であり、各テストでのパラメータを個別に設定可能となっている。
【０００６】
例えば、レオメータのユーザ、または他のオペレータにおいて、周波数掃引テストを使用してアスファルトの粘性をテストすることが求められる場合がある。
ユーザは、正弦波の形で変化する歪み信号（sinusoidal strain signal）を、ユーザによって選択された固定の振幅および周波数帯でをアスファルトに適用し、生じるストレス信号を測定する。この際、各周波数のデータポイントで測定がなされ、周波数が変更される際の粘性の傾向が決定される。
他の測定については、例えば、振幅掃引および温度掃引を実行することができる。
【０００７】
現在のレオメータは、所定の物質上で典型的に実行される種々のタイプのテストを実行すべく、予め設定がなされているか、または予めプログラムされている。
例えば、既知の機器では、予めプログラムされた１０種類から３０種類のテストを実行するように設定されており、各テスト手順のパラメータは、異なる周波数、振幅、温度などのプロファイルに従って調整することができる。
多くの電子デバイスのように、予めプログラムされたシステムの操作に関連する利点は、利用可能などのテストも、使用が簡単なＧＵＩで容易に設定できる点である。
この方式により、レオロジー試験を行う場合、レオロジストは、頻繁に実行されるテストおよび実験に関してコンピュータプログラマと相談しなくてもよくなっている。
【０００８】
レオロジーの分野が発展し続けるにつれ、機器メーカが予想しなかった方式で物質のテストをカスタマイズすることが科学者によって広く行われるようになってきている。
例えば、従来のレオメータでは、周波数掃引と同時に温度掃引（temperature ramp ）を実行するように予め設定がなされていることはないであろう。テストの手順が完全にその機器に統合される従来のレオメータ・システムにおいては、機器のファームウェアおよび制御ソフトウェアに対する修正をしないで、このレベルのカスタマイゼーションを達成する機器のプログラミングを変更することは可能ではないであろう。
そのインターフェースのコントローラがパソコンに基づく場合であれば、機器の所有者は、ソフトウェアを更新して専門のテストを実行することができるが、これは重要なプログラミングが実行された後に限られる。
ユーザ・インターフェースに対するそのような変更は、その機器を使用した他のテストの実行を損なうおそれがあり、また、これらの修正をするために必要な情報は、末端ユーザは一般に入手することができない。
従って、従来のレオメータ機器で予め設定がなされていることは、科学者がカスタマイズされたテストパターンの設計を望む状況では都合が悪い。
【０００９】
上述の観点から、サンプルに対してより柔軟でカスタマイズされたテストをレオメータで実行する方法およびシステムが本質的に必要であることが認識される。
従って、使いやすく、なおかつ、より一般に実行されるテストに加えてカスタマイズされたテストをユーザが設計し、実行できるようにするための補足機能性を提供する、改善されたインターフェースが望まれている。
【発明の概要】
【００１０】
動的にレオメータの操作を制御するための方法が記載される。
プログラムは、ユーザがどの複数のノードを選択したかを示す情報と、指向性を有する（directional）接続インディケータによる各ノードにおける他のノードとの接続関係を示す情報と、を受信することによって、レオメータにおいてサンプルのテストを実行するために、プログラミングインターフェース上で作成される。
このノードは、サンプルのテストを実行するステップ、サンプルのテストを実行するためのレオメータの設定を行うステップ、またはこのようなテストによって生成されたデータを分析するためのステップを示す。
スクリプトは、レオメータに対する命令のシーケンスを生成すべく作成される。
このスクリプトは、選択された各ノードによって特定されるとともに指向性を有する接続インディケータに従ったステップを実行するための命令を含む。
低レベルの命令は、レオメータ内での実行のため、スクリプトからダウンロードされる。また、レオメータ内のドライバは、ダウンロードされた命令を実行するように命令される。
【００１１】
また、動的にレオメータ用のテスト・シーケンスを作成する方法が、記載される。
複数のノードが選択され、このノードは、サンプルのテストを実行するステップ、またはサンプルのテストを実行するレオメータの設定を行うステップを特定する。
各ノードは、指向性を有する接続インディケータによって、他のノードに接続される。
特定のノードに関連するパラメータ値が選択される。
第１ノードのパラメータ値が第２ノードの結果に依存する場合、その第１ノードと第２ノードは、データフロー・インディケータによって接続される。
【００１２】
さらに、カスタマイズされたテストを実行するために動的にレオメータを形成する方法が記載される。
プログラミングインターフェースは、ユーザがどの複数のノードを選択したかを示す情報と、指向性を有するデータフロー接続インディケータによる、各ノードにおける他のノードとの接続関係を示す情報と、を受信するために提供される。
ノードは、サンプルのテストを実行するステップまたはサンプルのテストを実行するためのレオメータを形成するステップを示す。
スクリプトは、プログラミングインターフェースで作成されたプログラムに対応する、レオメータに対する命令のシーケンスを生成すべく作成される。
低レベルの命令は、スクリプトからレオメータにダウンロードされ、そのレオメータは、レオメータ中のドライバを操作するためのプログラム・シーケンス・エンジン中の低レベルの命令を実行するように形成される。
【００１３】
動的にレオメータの操作を制御するシステムが記載される。
このシステムは、ユーザがどの複数のノードを選択したかを示す情報と、指向性を有する接続インディケータによる各ノードにおける他のノードとの接続関係を示す情報と、を受信することによって、レオメータにおいてサンプルのテストを実行するためのプログラミング・インターフェースを含む。
ノードは、サンプルのテストを実行するステップ、またはサンプルのテストを実行するレオメータを形成するステップを示す。
スクリプト・ジェネレータは、レオメータに対する命令のシーケンスを生成する。スクリプトは、選択されたノードの各々によって、そして指向性を有する接続インディケータに従って、示されたステップを実行するための命令を含む。
出力インターフェースは、レオメータ中のドライバを操作するための低レベルの命令を実行すべく、レオメータ中のプログラム・シーケンス・エンジンにスクリプトファイルをダウンロードする。
【００１４】
本発明は、エラー強さがあり、プログラム可能なインターフェースを使用して、レオメータ機器上で実行されるテストを作成する方法およびシステムに関係がある。
ユーザはインターフェースによって予め形成されたテスト手順をアセンブルする、またはスクリプトプログラム言語を使用して、カスタム仕様の（custom-build）テストを作成することができる。
カスタム仕様のテストは後に使用するために格納または他のテスト内に含めることができる。
フォームは、作成されるテストの種類およびテストに関連するパラメータに従って動的に生成される。フォームはまた、特定のパラメータ値の入力のみをユーザに促すようにカスタマイズすることができる。
ＧＵＩは、テスト設計と準備の階層的性質を示すツリー表示に加えて、ドラッグ・アンド・ドロップと、簡単なプログラミングおよび構成を容易にするアイコンベースの視覚システムを含む。
【発明の詳細な説明】
【００１５】
＜概要＞
ここに記載されるシステムおよび方法は、レオメータ機器そのものから、自動化され、「パッケージされた」機能を取り除くことによって、また、従来の「予め構築された」テストをする手法を選択する代わりに（またはこれに加えて）、ユーザがカスタム仕様のテスト手順を作ることができる、エラー強さのあるＧＵＩを代わりに利用することによって、レオロジー的測定を行う機器、例えば測定器、実験器具（rheometric instrument ）でテストを作成する新しい方法を提供する。
このインターフェースは、機器シーケンス言語（Instrument Sequence Language）（ＩＳＬ）の使用に基づく。ＩＳＬは、総括的なプログラミング・ロジック構成（FOR/WHILEループ、GOTO、GOSUBなど）、多形態のメモリレジスタ、モータや環境制御のような操作およびデータ収集のための専門の機器命令、またそれらの操作の同期のための特別の命令を含む環境を提供する。
【００１６】
レオメータを操作するためのこのシステムと方法では、ユーザは、予め定義されたテストを作成するためのＧＵＩ中のドラッグ・アンド・ドロップのアイコンを利用することができる。または、コードおよびシンプルロジック・フローエレメントの予め定義されたブロック同士を線でつなげる（wire）ことにより、複雑なテスト方法を構築することができる。
グラフィカル・プログラミング環境はさらに、機器のハードウェアの低レベル機能を公開することにより、カスタマイゼーションを要求する上級ユーザがエラー強さのあるテスト・プロトコルを開発できるようにする。
更に、JavaScript（商標）やHTMLのような、標準的なスクリプト制御および言語を機器に特有の専用ツール（proprietary tool）の代わりにプログラミングに使用することができ、また、機器のソフトウェアは、標準的なオートメーション・インターフェースによって、他のWindows（商標）のアプリケーションに統合することができる。
スクリプティング・システムはまた、データ記憶、表示および分析コンポーネントを統合することができる。
【００１７】
本発明の例示的形態として、レオメータ機器および個別のデータ解析の操作と、レオメータの出力に接続される表示ツールの制御を行うものとしてユーザインターフェースを記載する。
しかしながら、本発明は、特定の３ユニットの形態に制限されていないことが理解されるべきである。
本発明は、例えば、機器、分析または表示ツール、およびユーザインターフェースが一つのユニット内に統合された、機器およびコントローラまたはシステムを含む２ユニットのレオロジー測定システム（rheometric system）、また、コンポーネントが３ユニット以上に分配されるシステムに同じように適用可能である。
【００１８】
＜システムコンポーネント＞
本発明の具体例によれば、機器等の機器をリモートコントロールするための機器インターフェースが提供される。
図１に示されるように、機器インターフェース１０は、ＴＣＰ／ＩＰ接続１５（または他のタイプのネットワーク化された接続）を介して機器１９に接続される。
機器１９は、二進数の機器シーケンス言語（Instrument Sequence Language:ＩＳＬ）の形態をしているＴＣＰ／ＩＰ通信を受信するように構成され、また、これらの命令は実行のため、シーケンス・エンジン１６に入力される。
シーケンス・エンジンは、機器ＣＰＵのコードの中で実装された一種の「仮想計算機」であり、実行可能な１セットの命令と、様々な異なるフォーマットでデータを記憶するために使用され得る一連のメモリアドレスを備える状態機械（state machine）からなる。
スクリプトの実行は、ハードウェア・ドライバ１７のための、低レベルの、ステップ毎（step-by-step）の命令を提供し、ハードウェア・ドライバ１７は機器内に提供されたモータ、環境制御等１８を操作するためにコマンドを送信する。
【００１９】
ＩＳＬは、複数のタイプの命令からなる。
第１のタイプの命令は、GOTO、IF、FOR、SWITCH等のような、プログラムフローを制御するために使用される汎用のプログラミング・オペレーションである。
ＩＳＥ仮想計算機内の機器メモリにアクセスして一般的な算術演算（加減乗除及びモジュロ演算）や、三角関数、対数等のような数学関数のための命令もまた、提供される。
また、レオロジー的なテストに特有な特別目的命令もＩＳＬ中で定義される。
これらの命令は、レオメータ中の様々なハードウェア・システムを制御するために用いられ、（テストされているサンプルに適用するためのストレスまたは歪みのプロファイルを定義するための）モータ制御命令、（サンプルをロードする操作の間、またはテストの間のサンプルの位置を制御するための）機器の位置制御命令、（様々な環境のハードウェア・オプション間のサンプルの温度プロファイルおよび切り換えを制御するための）環境制御命令、命令実行のタイミングを制御するための命令（機器によって実行された多くの操作は、実行時間に制限がある、即ちタイム・クリティカルなものであるか、又は、その前に完了した命令に依存するか、のどちらかであり、これらの命令により、ＩＳＬスクリプトは、それらがどのように、いつ実行されるかを制御することができる）を含むものである。
【００２０】
ＩＳＬステートメントは、命令ヘッダおよびコンテント領域（content field）からなる固定長の二進法の構造である。
命令ヘッダのフォーマットはすべての命令に共通であり、シーケンス番号、命令タイプを定義する操作符号（opcode：オプコード）、チェックサム、バージョン識別子（version identifier）、またデバッグのような様々なアプリケーションに使用できる特別目的ビットのフィールドからなる。
コンテント領域のフォーマットは、各命令に特有で、命令に対する様々なオペランドを含んでいる。
【００２１】
コンパイラは、ＩＳＬソース・コードを二進法のＩＳＬ命令に翻訳するために提供される。
このコンパイラは、ＶＭＢで使用される二進法のＩＳＬライブラリ・ファイルにソース・ファイルをコンパイルするコマンドライン・ツール、または作成者が新しいＩＳＬスクリプトを作成すること、シンタックスエラーにフラグを立てること、特定のＩＳＬ命令のフォーマット上のオンラインヘルプ機能を提供することを可能にするエディタ／コンパイラの組み合わせのどちらかとして使用することができる。
【００２２】
ＩＳＬスクリプトは、高レベルのノードのオブジェクトに含まれる情報からスクリプトが構築されるプログラミング・編集ツール１２によって、機器インターフェース１０で動的に生成される。
このツールは、ノードベースのスクリプトの作成および編集によって、ユーザが機器に対するテストをグラフィカルにプログラムできるようにするＧＵＩ１１に接続されてもよい。
このＧＵＩは、アイコンベースのものでもよいし、機器中の動作に対するテスト・パラメータにおけるテストおよび値をユーザが指定することができるフローチャート、ツリー構造（それぞれの要素が論理的に二つ以上の他の要素を従えるデータ構造：tree）、または他の手法を利用したものでもよい。
フォーム、フィールド定義、予め構築されたテスト・オブジェクト、およびテスト・オプションは、データベース１３に記憶され、プログラミング・ツール１２におけるテストの構築において使用される。
【００２３】
一旦テスト方法がユーザによりプログラムされると、スクリプト制御１４コンポーネントにおいてスクリプトが動的に生成される。スクリプト制御１４コンポーネントは、一般に、ユーザによってプログラムされたテストの動作と関連する命令を含む。
このスクリプトは、スクリプト制御１４において実行される命令を含んでおり、機器に送信されるとともにメソッド実行の過程で実行されるＩＳＬコードのセクションをさらに含んでいてもよい。
これらのＩＳＬスクリプトは、機器に送信するためのＴＣＰ／ＩＰインターフェースで受信される。
【００２４】
図１に記載されるような、機器をプログラムし操作するためのシステムを使用することで、テスト・シーケンスの設計および構築に関連する、プライマルで高レベルの機能は、機器自体ではなく、機器インターフェース１０に配される。
しかしながら、ハードウェア・ドライバに対してモータ、データ収集システム、環境制御、またはその機器に関連するような他の装置の操作を命令するために実行するためのスクリプトは、機器のシーケンス・エンジン１６中で実行される。
特に、ＴＣＰ／ＩＰ接続で送信されるＩＳＬスクリプトが一旦機器にダウンロードされると、機器はインターフェースからそれ以上介入されずに作動することができる。
したがって、ラップトップコンピュータまたはパソコンを、その後他の機器を操作するために使用することができる。または、他のラップトップコンピュータまたはパソコンを、後の実験のスクリプトのダウンロードのために、容易に接続（例えばネットワーク接続によって）することができる。
さらに、機器に対するＩＳＬスクリプトを構築し、ダウンロードするために使用されるパソコンは、機器に対して物理的にすぐ近くにある必要がない。
【００２５】
図２は、本発明の例示的な実施形態における主システムコンポーネント間の関係を示す概略図である。
図示のように、このシステムは「ビジュアルメソッドビルダ」（visual method builder）（「ＶＭＢ」）コンポーネント１００、「分析および表示ツール」（「ＡＰＴ」）コンポーネント１１０および「機器」コンポーネント１２０を含む。
【００２６】
既知のレオメータシステムは、ＡＰＴと機器コンポーネントを含むが、本発明の具体例によれば、コンポーネントのＶＭＢと互換性を有するようにこれらのコンポーネントの構成および能力を修正する必要がある。
既知のシステムにおいては、ユーザは、予め形成されたテストのリストから選択を行い、かつフォーム中で適切なテスト・パラメータを指定すべく、ＡＰＴコンポーネントとインタラクティブに入力を行う。
その後、ＡＰＴコンポーネントは、これらのパラメータを転送すると共に、測定値の作成、データの取得を開始し、かつＡＰＴに完了した測定情報を中継して戻すことを機器に「コマンド」する。
ＡＰＴから「開始（start）」信号を受信すると、機器は、機器メモリに格納されているように、予め形成されたテストの各ステップを実行する。
テスト命令（例えば、テスト＃９を開始する）を受信するために、そして予め形成されたテストの各ステップの動作のために、一台以上のプロセッサと機器自体のメモリが用いられる。
しかしながら、ユーザが予め設定していないテスト（例えばテスト＃９およびテスト＃３の組み合わせ）を実行したい場合には、機器内のコードを変更しなければならないが、機器は、消費者レベルで再プログラムされるように設計されてはいない。
【００２７】
図２に示すように、ビジュアルメソッドビルダコンポーネント１００は、「メソッドプログラミングおよび編集」セクション１０１、および「メソッドの実行、制御」セクション１０２を含む。
「メソッド」は、（テスト・ブロック、スクリプト・ブロックまたは分析コードのような）実行可能なノードの集まりを表わすフローチャートである。
このメソッドは、実行ステップの実行順序（order）を決定するために、何を実行するのかの定義及びロジックの定義を行う。
以下に記載されるように、階層的配置を行い、メソッドを他のメソッド間に配置する、すなわちネストすることも可能である。
【００２８】
セクション１０１は、ＧＵＩ、スクリプト・ツール、及びユーザが実行するメソッドをを選択、設計または再構成するための他のいずれの手段をも表わす。
このインターフェースは、従来のシステムで提供される予め設定された機能を含んでいることから、また、ユーザから、後のテストのための特別にプログラムされた（カスタム・プログラムされた）（custom-programmed）メソッドを保存するという要求がなされるであろうことから、このセクションは、メモリ・ファイルの記録及び検索を行うためのメモリ１０３と通信可能な状態となっている。
「メソッドの実行、制御」セクション１０２は、機器がその方法において提供されるテスト（複数可）を実行するための命令を提供し、全てのデータ解析ステップおよびデータ表示ステップを実行するＡＰＴに命令を提供する。
機器命令は、スクリプト実行の間に求められるような機器シーケンス言語に変換され、機器１２０に供給される。
また、コマンドは、ユーザに必要とされるようにデータ表示およびデータ分析を組織化すべく、ＡＰＴ１１０に送られる。
【００２９】
図２の機器コンポーネント１２０は、「プログラム実行」セクション１２１、「測定および制御」セクション１２２、「生データ」セクション１２３および「ステータス・データ」セクション１２４を含んでいる。
「プログラム実行」セクションは、ＶＭＢコンポーネントからの命令に従って、「メソッドの実行、制御」セクション１０２から機器コードを受信し、このコードと、歪みや温度等を測定する「測定および制御」セクション１２２への送信コマンドを実行する。
最後に、測定値とステータス情報は、「生データ」セクション１２３および「ステータス・データ」セクション１２４からＡＰＴコンポーネントに供給され、ＡＰＴコンポーネントはこの測定値とステータス情報から計算を実行することができ、レポートを提供することができる。
【００３０】
第３コンポーネント１１０として、ＡＰＴでは、「データ表示」セクション１１１においてユーザに対するレポートを生成するために、または、機器から受信した生データに基づいて「データ解析」セクション１１２の分析を実行するために、ＶＭＢ１００から命令を受信する。
生データは「計算されたデータ」セクション１１３におけるレオロジー的なパラメータに変換され、ユーザにグラフィック形式または表形式のいずれかで提示される。
「リアルタイムのステータス」セクション１１４は、機器システムの現在のステータス（環境条件、データ収集ステータス等）に関して、機器から情報を受け取る。
【００３１】
＜ビジュアルメソッド・ビルダ・サブシステム（Visual Method Builder Subsystems）＞
ビジュアルメソッドビルダ（ＶＭＢ）コンポーネント１００についてさらに詳細に記載すると、図３に示すように、メソッドプログラミングおよび編集セクション１０１およびメソッドの実行、制御セクション１０２は、さらに「ノード・クラス・ライブラリ」および「フォーム・システム」にサポートされる。
【００３２】
上記のように、メソッドプログラミングおよび編集セクション１０１は、ＶＭＢ「ノード」と「プロパティ」を作成し、編集し、操作するためのツールを含む。
「ノード」は、ＶＭＢメソッドにおける単一のオブジェクトであり、テスト・ブロック、スクリプト・ブロック、分析コードまたはメソッドの全てを表わすことができる。
「プロパティ」は、あるパラメータの値を示す、名前／値の組を表わす。
メソッド編集システムは、ユーザが方法を構築し、編集を実行でできるようにするためのいくつかの異なる視点を含む。
【００３３】
「ノード・クラス・ライブラリ」１０３は、「ノード」の動き、ノード間のリンク（これらは、以下で「結線（wire）」として定義される）、そしてテストを実行するためのパラメータ用の名前／値（または「プロパティ」）を定義する。
ノード・クラス・ライブラリそのものはユーザに対して透明、つまりその存在が意識されないものであり、ユーザはライブラリそのものとインタラクティブな処理を行う訳ではないが、メソッドおよびノード間の相互作用を編集し構築するための規則を定義するためにライブラリが使用されるようになっている。
ユーザインターフェースの、メソッドプログラミングおよび編集セクション１０１は、このライブラリとインタラクティブな処理を行う。
【００３４】
「フォーム・システム」１０４は、ＶＭＢノード、およびフィールド・データベースシステムに格納された情報の内容に基づいてフォームを生成するために使用される。
フォーム・システムはまた、パラメータ値をユーザに尋ねるフォームを、埋込み型のウェブ・ブラウザを介してパソコン上または機器のディスプレイ上のいずれかに表示するために使用することができる。
【００３５】
最後に、「メソッドの実行、制御」セクション１０２は、ＶＭＢノードによって生成されるコードを実行するとともに、機器プログラム実行セクション１２１でダウンロードされて実行されたコードで、そのコードの実行を調整するためのスクリプト実行システムである。
【００３６】
図３は、ＶＭＢコンポーネントの４つの各セクション内のサブシステムの概略図であり、以下、順に説明する。
【００３７】
＜メソッドプログラミングおよび編集セクション＞
メソッドエディタは、見て編集する（view and edit）ＶＭＢ方法に使用される多くのサブシステムを含む。
図３は、提供され得るいくつかの方法の異なる視覚的表現（visual representation）を示しており、フローチャートの形態でその方法を示す、ＶＭＢチャート・サブシステム２０１と、その方法のツリー表示を提供するＶＭＢツリー・サブシステム２０２と、予め定義されたリソース（格納されたテスト、ジオメトリ、分析ブロック等）を含む、ＶＭＢパレット２０３と、ノード中の個々のプロパティの操作を許可するプロパティ・エディタ２０４と、を含む。
これらのコンポーネントは、これらのシステム間のインタラクティブな処理を容易にするためのものである単一のソフトウェア・アプリケーションのフレームワーク（VMB App frame）内に含まれている。
【００３８】
図４は、ＶＭＢチャート２０１、ＶＭＢツリー２０２、およびＶＭＢパレット２０３を示しており、ＧＵＩ上のＶＭＢコンポーネントのメソッドプログラミングおよび編集セクション１０１の視覚的表現の一例である。
これらのサブシステムは、単一のウィンドウに入っており、ユーザが調節できるスプリッタ・バーによって分離される。
さらに、各コンポーネントはトグル式にオン、オフにすることができ、フレーム外でフロート状態とすることもでき、また、フレーム内に格納した状態とすることもできる。
ＶＭＢメソッドエディタの各編集コンポーネントは、根本的なその下層のＶＭＢメソッドの修正に用いることができる。
一つのエディタに変更を加えると、他のエディタ中で表示された図は、その方法の変更を反映すべく自動的に更新される。
これは、それぞれのエディタ・コンポーネントにおける選択されたノードの変更をも含む。
【００３９】
以下に、これらのサブシステムの各々に関するさらなる詳細を示す。
【００４０】
＜ＶＭＢチャート＞
ＶＭＢチャート２０１は、フローチャートのフォームで現在のメソッドを記載しており、キーボードとマウスによって、コンポーネントを選択してドラッグすることにより、ユーザがＶＭＢノードをグラフィカルに操作することを可能にする。
フローチャートはまた、メソッドが実行される場合に、ノードが実行される順序についての視覚情報を提供する。
【００４１】
フローチャート・エディタ（ＶＭＢチャート）は現在アクティブなメソッドを表示するために使用され、フローチャートにおける現在の位置のノードと結線を示す。
方法をネストする（その詳細は以下に詳述する）ことができるので、ＶＭＢチャートは、画像を徐々に展開する（子ノードを展開する）か、画像を徐々に折りたたむ（親ノードまで折りたたむ（collapse））ための手法を提供する。
ＶＭＢチャートはさらに、選択されたノードがどのノードか示すための手法を提供する。
【００４２】
ドラッグ・アンド・ドロップ・インターフェースは、ＶＭＢパレットから得られる格納されたメソッドのライブラリからのメソッドに対しての、ノードの追加を可能にするために提供されている。
また、ウィンドウのクリップボードを使用したコピーアンドペーストによってアクティブなメソッド方法にノードを追加することもできる。
【００４３】
ノード内に含まれているプロパティは、ノード上でダブルクリックを行って適切なエディタ（例えば、プロパティを含んでいるノードのためのプロパティ・エディタ、スクリプト・ノードのためのスクリプト編集フォーム）を起動するとによって編集することができる。
加えて、右クリックによって、関連する操作がリストされたノード・コンテキストメニューを表示することで編集機能にアクセスすることもできる。また、ＶＭＢメニューバーまたはツールバーから種々の機能にアクセスすることもできる。
【００４４】
最後に、ノードは、視覚的に二つのフォーマット、すなわち図４で示されるようなアイコン・フォーマット、または図５で示されるような「プロパティのサマリー・ビュー」のうちの一つで示すことができる。
プロパティのサマリー・ビューは、ノードによってインポート及びエクスポートされるプロパティの要約を提供する。
【００４５】
あるノードを他のノードに接続する直線は、「結線」として知られている。
「結線のフロー（flow wire）」は、指向性を有する接続で、操作が実行されるべき順序を示す。
各ノードは、結線を一つ以上接続することができる「フロー・プラグ」を含む。
ノードの動きが、別のノードの実行に従って決定されるプロパティに依存する場合、そのノードはまた、「データ結線」によって他のノードに接続される一つ以上の「データ・プラグ」を含んでいてもよい。
これらのデータ結線は、情報を要求するノードに情報を提供するために使用される。
【００４６】
＜ＶＭＢツリー＞
ＶＭＢツリー２０２またはメソッドナビゲータは、現在のメソッドの展開可能な階層的「ツリー表示」を提供して各フローチャートのオブジェクトを表示し、かつ、個別のノードとしてオブジェクトの「プロパティ」を提供する。
これらのノードは、所望により展開または折りたたみを行うことで、内容を表示するか、または隠すことができる。
このことは、メソッドの要素のすべてを通じてナビゲートする迅速な方法を提供し、その要素中のプロパティに関する情報を提供する。
ツリーを含むＧＵＩの展開した状態の図を図６に示す。
【００４７】
標準的なウィンドウズのツリー表示制御としてのこの制御機能は、そのノードがその内部に含まれる子ノードを有しているかどうかによって、展開又は折りたたみができるノードを示す。
各ノードは、テキスト説明、そのノードの種類を図示する小さなアイコン、およびオプションの説明テキストを含んでおり、ツールチップとして表示される。
この図では、ＶＭＢノードは表示されているが、それらのノード間の結線はツリー表示リストに表示されない。
ＶＭＢチャートと異なり、ＶＭＢツリーは、異なるレベルにあるノードの内容を、異なるメソッド間でズームインおよびズームアウトをする必要なく見るこ及び操作することができる。
【００４８】
＜ＶＭＢパレット＞
ＶＭＢパレット・サブシステムは、現在アクティブなメソッドに新しいノード（テスト、ジオメトリ、スクリプト等）を加えるために使用される。
ドラッグ・アンド・ドロップ・インターフェースは、ＶＭＢチャートまたはＶＭＢツリーのアクティブなメソッドにノードを加えるために使用される。
図４で示されるように、「START」、「STOP」のようなＶＭＢチャート２０１中のノードは、ＶＭＢパレット２０３に存在する。
別の例として、ＶＭＢチャート中で示される「パラレル・プレート」のアイコンは、ＶＭＢパレット２０３におけるサブカテゴリ「ジオメトリ」の下に存在する。
パレット中の各アイコンは「部品（widget）」として知られており、メソッドを構築する際に使用するライブラリからアクセスできるノード情報の記憶を表わす。
【００４９】
図７は、サブカテゴリ「応力テスト」がハイライトされたＶＭＢパレット２０３を示す。
図７で示される他のサブカテゴリは、「分析」、「フロー」、「オプション」、「歪みテスト」、「ジオメトリ」を含む。
「分析」サブカテゴリは、ＶＭＢ方法において起動され得る異なるデータ解析機能を表わす。
「フロー」サブカテゴリは、「START」および「STOP」ノードのような、方法の流れを制御するノードと、「IF」または「FOR」のようなロジック・ノードで構成される。
「ジオメトリ」サブカテゴリは、異なるサンプル・テストのジオメトリの種類（例えば、「平行なプレート」対「コーンとプレート」）を表わすために組織され得る。または、利用者が所有する物理的なツール（例えば、「２５ｍｍのプレート」対「５０ｍｍのプレート」）を表わすために組織され得る。
【００５０】
ＶＭＢパレットはいくつかの異なるメソッドで構成され得るが、メソッドを構築するためにノードを選択することをユーザが直覚で認識できる方式で表示されることが好ましい。
他の例として「予め定義されたテスト」カテゴリは、「制御された応力テスト」、「制御された歪みテスト」、「安定性テスト」および「動的テスト」を含むことができる。
「格納された方法」サブカテゴリは、ユーザによって構築された、またはユーザ定義ディレクトリに包含されたＶＭＢ方法を、すべて含むことができる。
インターフェースが階層的なシステムであるので、「ノード」は「メソッド」全体であってもよいし、ノードの集まりであってもよい。
【００５１】
＜ＶＭＢプロパティ・エディタ＞
図３のＶＭＢコンポーネントの「メソッドプログラミングおよび編集」セクション１０１に示されるように、別のサブシステムは、ＶＭＢプロパティ・エディタ２０４である。
ＶＭＢプロパティ・エディタは、ＶＭＢプロパティ・ノードの編集のために利用される。
既に定義されたように、「プロパティ」は値を有するともに名称が付されたパラメータである。
これらのパラメータ値は、浮動小数点値、整数値または文字列のフォームとすることができ、単一の値または多くの値のいずれかであり得る。
プロパティ・エディタは、ユーザによって、ノード内のプロパティ値の収集を見て編集するために使用され、また、追加のプロパティを加える、または削除するために使用することができる。
上級ユーザからは、新しいテストの構築、予め定義されたテストが開始する方法の変更、またはテストでのデフォルト・パラメータ値の変更を望まれており、プロパティ・エディタは、このような上級ユーザ用に設計されている。
一方、テスト・パラメータの変更に関しては、通常のやり方で行えるようには設計されていない。
これを行うための好ましい方法は、以下に記載するように、「フォーム・システム」セクション１０４の使用による。
【００５２】
言いかえれば、正常な操作手順において、図７の右上端で示される「周波数掃引」のようなアイコンがＶＭＢパレット中で選択された場合、「周波数掃引」テンプレートは、生成されて表示され、「周波数掃引」の実行に関する一連の異なるパラメータに対する値（例えば、開始周波数、終了周波数、インクリメント値、インクリメント値の間の時間等）を入力するようにユーザに促す。
ＶＭＢプロパティ・エディタ２０４は、ユーザがどのパラメータがフォームで示されることになっているかを制御すること、そのメソッド中に、そのノードの操作に対するよりも大きな制御を行っていることを許可するために使用される。
【００５３】
図９は、ＶＭＢプロパティ・エディタ・サブシステムの表示のスクリーン・ショットの一例であり、プロパティのリストを含んでいるチャートを有すると共に、各プロパティは「種類」、「値」、また「クエリー」と関連する。
チャートの「クエリー」カラムは、パラメータがデフォルト値のみを使用することになっているかどうか、または、一般ユーザがその値を変更できるようにして、システムコンポーネントによって生成されたフォームに含まれることになっているかどうか、を示す。
【００５４】
＜ＶＭＢフォーム・システム・セクション＞
図３の右側の図は、ＶＭＢフォーム・システム・セクション１０４を示す。
従来における予め形成されたレオメータ・システムに関する上述の記載にように、一旦テスト手順が選択されると、システムはパラメータを備えたテンプレートを含む一つ以上のフォームを提供する。
ユーザは、選択されたテストに関連したパラメータ値を入力することによってフォームを完成するように促される。
そのような従来のレオメータ・システムと対照的に、ＶＭＢフォーム・システム・セクション１０４は、既知の「テスト・セットアップ」インターフェースを使用して、ユーザがＶＭＢプロパティ（例えばテスト・パラメータ）の値を変更することを可能にする、ＨＴＭＬベースのフォームを動的に作成するために使用することができる。
フォーム・システムはまた、他のプロパティから計算された値に基づいて与えられたフィールドの範囲（すなわち、最大および最小の許容値）を表示し強調するための構造を含んでいる。
【００５５】
図１０は、動的な応力掃引（Dynamic Stress Sweep）のために生成されるフォームの図を提供するスクリーン・ショットである。
図示のように、生成されたフォームは、「テスト周波数」、「初期応力」値、「最終的応力」値、および「１ディケード当たりのポイント（points per decade）」を提供するようにユーザに促す。
【００５６】
フォームは、典型的に、ＶＭＢプロパティのフォームにテスト・パラメータ情報を含むテスト・ノードのようなＶＭＢノードに使用される。
テスト・ノード中の各プロパティは、フィールド・データベース・システムで定義されるフィールドのためのテキストおよびフォーマット情報と共に、フォーム中の与えられたフィールドに一致する。
選択的にフィールドを隠すことが可能であり、その結果、すべてのプロパティはフォーム中に表示されるとは限らない点に注意すべきである。
フォーム中のフィールドの指令は、ノード中のプロパティの指令により決定される。
プロパティの属性によって定義されるように、フォームが異なるＨＴＭＬ層の使用により表示される一方、フィールドのセットは動的に示されるか、または隠され得る。
【００５７】
フォーム・システムは、ＶＭＢノードの内容に基づいて新しいＨＴＭＬフォームを作成するために、これらの動的なフォーム（または任意のＨＴＭＬの内容）を表示するために、そのフォームでユーザの対話を処理するために、そして、範囲チェックおよびフィールド確認のようなもののための手法を提供するために使用される複数のコンポーネントから成る。
フォーム・システムは、図３に示すように、４つの主要な要素から成る。
【００５８】
ＶＭＢフィールド・システム２０５は、各ＶＭＢプロパティがフィールドとしてどのように表現されるか定義するために使用される。
このシステムは、フィールド定義ファイル２０９と共に使用される。フィールド定義ファイル２０９は、フィールドの実際のフォーマットを含んでいる（ＨＴＭＬおよびＸＭＬのタグの組み合わせを使用して）。
フィールド定義ファイルはそれぞれ、フィールド名またはフィールド、フィールドの種類（例えば、テキスト対チェックボックス）およびフォーマット（例えば、整数対小数）のＩＤを含む。
【００５９】
ＪＳフォーム・ライブラリ２０８は、ＶＭＢフォーム・システムによって生成されるフォームと共に使用される、JavaScript中で記載される機能のライブラリである。
このライブラリは、フィールド・フォーマット、範囲の確認、および、これらのフォームで使用される異なる層の制御のための機能を含んでいる。
【００６０】
フォーム・ビルダ２０６は、ＶＭＢノードおよびＶＭＢフィールド・システムで得た情報を取得すると共に、実際のＨＴＭＬ形式を生成するために使用される。
フォーム・ビルダ２０６はさらに、フォームが編集された後、各ノードから変更したフィールド値を抽出し、ＶＭＢノードに適切な変更を加える。
【００６１】
最後に、ウェブ・ブラウザ・コンポーネント２０７は、ＨＴＭＬ形式の実際のレンダリングおよび制御を扱う埋込み型ウェブ・ブラウザ・コンポーネントを備えた制御装置である。
【００６２】
＜ＶＭＢノード・クラス・ライブラリ・セクション＞
図３に示すように、メソッドプログラミングおよび編集セクション１０１のユーザ・インターフェースを通じて作成されたユーザ情報は、ＶＭＢノード・クラス・ライブラリ・セクション１０３に供給される。
【００６３】
ノード・クラス・ライブラリ１０３は、メソッド中のＶＭＢノード、結線およびプロパティの「動作」を定義するために使用される。
このライブラリは、ユーザによって直接は利用されない。
メソッドプログラミングおよび編集セクション１０１によって提供される情報を整理し、リクエストされたメソッドの実行を可能にするために必要な情報を検索するのはデータベースである。
【００６４】
ＶＭＢノードは、ＶＭＢチャートの中でノードがどのようにレンダリングされるか（使用されるグラフィックのビットマップ、そのノードの大きさおよび位置、そのノードのラベル等）についての情報を含んでいる。
ノードはさらにプラグを含むことができる。プラグは、「結線のフロー」または「データ結線」を介して、どのようにして他のノードにノードを接続することができるか示す。
結線のフローは、プログラム・フローの方向を示す二つのノードを接続する（「ソース・ノード」と「目的ノード」で）。
データ結線は、二つのノードを接続し、スクリプトへの情報の供給ができるように二つのノード間のパラメータ値を伝達する手法を提供する。
【００６５】
ＶＭＢノードは、以下に記載の、異なるノードの種類のチャートで示されるように、任意のレベル数の深さまで「子」ノードを「親」ノードに含めた状態で、通常、階層的方法において配列される。
【表１】
2004317497.tif 000003
【００６６】
ＶＭＢノード・クラス・ライブラリは、各ノード・クラスで使用される機能を定義する、四つの異なるインターフェースを実装する。
これらのインターフェースは以下の表にリストされる。
【表２】
2004317497.tif 000004
【００６７】
ＶＭＢノード・クラスおよびすべてのサブ・クラスは、全てのノード・オブジェクトがIParseableインターフェースを実装することを保証されるように定義される。
現在、そのクラスは、IContainerを実装しているオブジェクトは、さらにIScriptableを実装し、IScriptableのオブジェクトは、IDrawableを実装し、そしてIDrawableは、IParseableを実装するような方法で定義される。
【００６８】
＜スクリプト実行セクション＞
図３に示すように、スクリプト実行セクション１０２は、ＶＭＢノード・クラス・ライブラリ１０３によって作成されたスクリプトを実行する。
これらのスクリプトは、一般的に（IScriptableインターフェース中のメソッドを介して各ノードによって自動的に生成される）JavaScriptの形式をしているが、他のスクリプト言語であってもよい。
さらに、スクリプト実行セクションは、各スクリプトの実行を、レオメータ機器１２０中のプログラム実行セクション１２１のＩＳＥコードの実行およびデータ解析１１２およびユーザ１１１に対する結果の表示を実行するためのＡＰＴ１１０の様々な機能と調和させる。
【００６９】
＜シーケンス・エンジン＞
機器シーケンス・エンジンは、モータ、ステージ、環境制御およびデータ収集を含む、レオメータの様々なシステムの操作を制御するために使用される。
このエンジンは、典型的に、ネットワーク化された接続を介してインターフェースから機器に送信されるＩＳＬ命令を実行する。
ＩＳＬ命令は、命令テーブルにダウンロードされたスクリプトの形式または即時に実行するように送信される命令コマンドであり得る。
【００７０】
＜例＞
図１１と図１２は、機器を操作するための機器インターフェースで生成されるメソッドの例を示す。
図１１に示すように、メソッドの構築のための基準点を定義すべく、「スタート」アイコンが、ＶＭＢチャート内に自動的に配置される。
次のアイコン（表示された「コーン・プレート」）は、左側のＶＭＢパレット中の「ジオメトリ」カテゴリから選択され、テスト・ジオメトリを定義するために利用される。
特に、「コーン・プレート」はサンプルのジオメトリに関連する。
一旦「コーン・プレート」アイコンがチャートにドラッグ・アンド・ドロップされると、このノードに対する指向性を示すために、二つのアイコンの間に「フロー・結線」が作成される。
「コーン・プレート」アイコン上でダブルクリックすることによって、パラメータ値を提供するためにユーザに対してフォームが表示される。
【００７１】
次のチャートは「Go To Gap」アイコンを含んでいる。このアイコンは、サンプルがロードされた後、予定位置にジオメトリを固定するプラットホームまたはステージを移動させることに関係がある。
したがって、機器中のスクリプトの実行に際して、モータは、サンプルのロードに従って、所定の位置に移動する信号を受信することになる。
【００７２】
次のアイコンは、「歪みの評価」と表示される。
このノード用に生成されるスクリプトは、テストされている物質の種類に対する初期値を取得する単一のポイント測定を実行するように機器に命じる。
図示のように、このノードは、フロー・結線を介して「予めせん断する速度」および「歪み掃引」に接続されており、さらに、データ・結線を介して「歪み掃引」に接続される。
「予めせん断する速度」は他の条件づけステップであり、「歪みの評価」プロセスに先立って実行されることになっている。
【００７３】
「歪みの評価」ノードの結果は「歪み掃引」を実行するために利用されることになる。
この手順では、機器は、かなりの程度にその物質を変形すると共に、その反応によってその構造に関係があるパラメータを測定して、物質をインクリメンタルな変形に晒す。
【００７４】
次のアイコンは、「線形歪みの計算」と表示され、これはスクリプト・ノードである。
このスクリプトは、前のノードからのデータを見て、周波数掃引を実行するのに充分な線形の範囲があるかどうかを決定する。
【００７５】
図示のように、この方法は次に「IF BLOCK」を含んでいる。
線形の範囲が充分である場合、周波数掃引が実行され（左側の上において）、充分でなければ、「マスターカーブ（master curve）」が前に測定されたデータから構築される（右側上において）。
【００７６】
「周波数掃引」アイコンは、「線形の領域を認定する」IF BLOCKの左側に位置し、次に、ループを通じて上向きの方向に継続する。
フローチャートが所定の示された方向に進むことができるので、このことは、結線のフローの意義を示す。
「周波数掃引」に収集されたデータに基づいて、そのシステムは、他のループを通じて停止させるべきか稼働させるべきかを決定することができる。
【００７７】
他のループが要求された場合、他の温度値は「次の温度の計算」ノードにおいて計算され、そのノードはその後、掃引を繰り返す前に温度を調節するために「温度をセットする」ことを提起する。
【００７８】
線形の範囲が充分でない場合、「マスター・カーブの構築」ノードが実行される。そのノードは、図１２で示されるメソッドをカプセル化する「親ノード」である。
特に、図１２で示されるように、そのシステムは、「時間／温度の重ね合わせ」を実行する前に、ランダムな統計ノイズを削除するようにデータを条件付けるため、「データの平滑化」オペレーションを実行する。
システムはその後、分子量分布の計算の実行が可能かどうか決定する。
この計算の実行が可能でない場合、分子量分布は「分子量の評価」ノードで評価され、そうでなければ、より正確な計算がされる。
メソッドの子ノードの完成すると、システムは、図１１の親メソッドに戻る。
【００７９】
このように、「マスター・カーブの構築」のステップを完了すると、システムは、「活性化エネルギーの計算」の前に、「結果の表示」を実行する。
【００８０】
図示のように、ユーザは、分岐、ループおよびカプセル化を使用して、機器インターフェースによってグラフィカルに機器をプログラムすることができる。
【００８１】
＜インターフェースの機能＞
レオメータ器具と共に上記されているビジュアルメソッドビルダの使用は、レオメータで行うテストの設計および実行に関連する、適応性および機能性を著しく改善することができる。
特定の種類のテストを実行するように「予めプログラムされる」ことの代わりに、このレオメータはインターフェースから詳細な命令、または「基本処理（primitive operation）」を受け取る。このインターフェースは、追加のソフトウェアツールまたは更新を必要とせずに容易にプログラムすることができる。
この適応性は、科学者の特別なニーズに従って、そして評価が行われている特別の物質（material or substance ）に関係して、ユーザがほぼ無限の数の異なるテストを実行することを可能にする。
【００８２】
この適応性と関連する一つの利点として、このシステムとメソッドによって、ユーザはレオメータ器具にたちまち何百もの異なるテストをダウンロードすることができ、その結果、システムは連続するユーザ・モニタリングを必要としない。
このことは、科学者が耐久性テストの実行に関心がある場合に特に有用である。
【００８３】
他の例として、ユーザは、このシステムとメソッドにより、同時に多数のテストを実行する（例えば、温度ランプと同時に周波数掃引を実行する）こと、自動的にテストを休止し、継続すること、またはテストのプロセスの間に動的にテストまたはテスト・パラメータを変更することができる。
ループおよび他のスクリプトの手法を使用して、同じメソッド内において実行されることになっている後のテストのパラメータを修正すべく、ユーザは、一つの特定のテストの間に生データのフィードバックを使用することができる。
【００８４】
このシステムとメソッドはまた、インクリメンタルな変更および中核（コア）テスト手順に対する追加を作成したいユーザにかなりの便宜性および組織性を与える。
インターフェースは、単一のメソッド内の多くの手続きを「カプセル化すること」ができる。この単一のメソッドはその後、容易に再度使用するためのドラッグ・アンド・ドロップ・アイコンに関係づけられる。
【００８５】
先に開示されている本発明の具体例は、図解および説明の目的のために記載される。この具体例は、完全であること、または発明を開示された正確な形式に制限することを意図しない。
ここに記載された具体例の多くの変形例および修正例は、上記の開示に照らして、当業者にとって明白になる。
発明の範囲は、ここに添付された請求項、およびそれらの均等物によってのみ定義されることになっている。
【００８６】
さらに、本発明の代表的な具体例の説明において、本明細書は、本発明のメソッドおよび（または）プロセスを特定のステップ・シーケンスとして示した。
しかしながら、メソッドまたはプロセスがここに記載されたステップの特定の順序によらないという程度まで、そのメソッドまたはプロセスは、記載された特定のステップ・シーケンスに制限されるべきではない。
当業者が認識するように、他のステップ・シーケンスが可能であり得る。
したがって、本明細書中で記載された特定のステップの順序は、請求項に対する制限として解釈されるべきではない。
さらに、本発明のメソッドおよび（または）プロセスの請求項は、そのステップの記載された順の動作に制限されるべきではない。
また、当業者は、本発明の趣旨およびその範囲内で、そのシーケンスを変化させ、その状態を維持することができることを容易に認識することができる。
【図面の簡単な説明】
【００８７】
【図１】本発明の具体例による、機器インターフェースと機器の関係を示す概略図。
【図２】本発明の典型的な具体例におけるメインシステムのコンポーネント間の関係を示す概略図。
【図３】本発明の具体例による、図２のＶＭＢコンポーネントの４つの各セクションにおけるサブシステムの概略図。
【図４】本発明の具体例による、ＧＵＩ上の図３のＶＭＢコンポーネントのメソッドプログラミングおよび編集セクションの典型的な視覚的表現。
【図５】本発明の具体例による、図３のメソッドプログラミングおよび編集セクション内のプロパティのサマリー・ビューの典型的な視覚的表現。
【図６】本発明の具体例による、図４のメソッドプログラミングおよび編集セクションで構築されたメソッドのツリーの典型的なＧＵＩを示す図。
【図７】本発明の具体例による、図４のメソッドプログラミングおよび編集セクションにおいてユーザに対して提供されるＶＭＢパレットの典型的なＧＵＩを示す図。
【図８】本発明の具体例による、図４のメソッドプログラミングおよび編集セクションにおいてユーザに対して提供されるＶＭＢパレットの典型的なＧＵＩを示す図。
【図９】本発明の具体例による、図３のＶＭＢプロパティ・エディタ・サブシステムの典型的なＧＵＩを示す図。
【図１０】本発明の具体例による、動的な応力掃引テストに関係あるパラメータ値を入力するようにユーザに促すために生成されるフォームの典型的なＧＵＩを示す図。
【図１１】本発明の具体例による、メソッドプログラミングおよび編集セクションで構築されたメソッドの典型的なＧＵＩを示す図。
【図１２】図１１のメソッドのサブメソッドの典型的なＧＵＩを示す図。
【図１】
2004317497.tif 000005
【図２】
2004317497.tif 000006
【図３】
2004317497.tif 000007
【図４】
2004317497.tif 000008
【図５】
2004317497.tif 000009
【図６】
2004317497.tif 000010
【図７】
2004317497.tif 000011
【図８】
2004317497.tif 000012
【図９】
2004317497.tif 000013
【図１０】
2004317497.tif 000014
【図１１】
2004317497.tif 000015
【図１２】
2004317497.tif 000016
【外国語明細書】
2004317497000001.pdf