JP2013534331A - 分析計測のためのインテリジェントな多機能マクロ言語 - Google Patents

分析計測のためのインテリジェントな多機能マクロ言語 Download PDF

Info

Publication number
JP2013534331A
JP2013534331A JP2013518509A JP2013518509A JP2013534331A JP 2013534331 A JP2013534331 A JP 2013534331A JP 2013518509 A JP2013518509 A JP 2013518509A JP 2013518509 A JP2013518509 A JP 2013518509A JP 2013534331 A JP2013534331 A JP 2013534331A
Authority
JP
Japan
Prior art keywords
action
macro
script
statements
software
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.)
Pending
Application number
JP2013518509A
Other languages
English (en)
Inventor
リッキー ティー ワーチ
ゲイリー エヌ ギス
Original Assignee
サーモ エレクトロン サイエンティフィック インストルメンツ リミテッド ライアビリティ カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by サーモ エレクトロン サイエンティフィック インストルメンツ リミテッド ライアビリティ カンパニー filed Critical サーモ エレクトロン サイエンティフィック インストルメンツ リミテッド ライアビリティ カンパニー
Publication of JP2013534331A publication Critical patent/JP2013534331A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

本明細書には、必要に応じてアプリケーションのリコンパイルを要することなしに、新しい機能を実行時に言語に対して追加できるようにする様々な科学計測器と統合される新しいソフトウェアアプリケーション方法が紹介されている。ソフトウェア機能の一部として、本明細書に提示されているマクロプログラミング言語によれば、構成検証のための視覚的なフィードバックを伴う、スクリプト内のアクションステートメントの入力と出力との間の自動化された接続が可能である。別の態様として、本発明のマクロプログラミング言語は、様々な分光分析アプリケーションの自動化を実現し、且つ、必要に応じて、マクロの意図に対して接続された構成可能なユーザーインターフェイスの自動生成をも許容する。

Description

本発明は、分析計測ソフトウェアの分野に関する。更に詳しくは、本発明は、エンドユーザーが複雑な科学計測を容易に実行できるようにするカスタマイズ可能なユーザー環境(Customizable User Environment:CUE)ソフトウェアに関する。
光学分光法から質量分光法まで多岐にわたる多数の分析法によるスペクトル分析は、膨大な数のサンプルの効率的であって、正確であり、定性的且つ定量的な分析をエンドユーザーに提供する。例えば、未知の組成のサンプルが付与された場合に、特製の、但し、多くの場合に市販されている科学計測器を使用したUV−Visスペクトル分析を使用し、サンプル中に存在している特定の物質の量を判定することができる。サンプルに対して試験プロセスを実行することが可能であり、これにより、UV−Visスペクトルが生成される。適切な方式によってサンプル材料中の様々な物質を示す出力値を生成するように、誘発される波長放射の操作、背景の除去、及びスペクトル間における操作(例えば、迅速な比較のための比率及び吸収度の差の計測)を含むソフトウェアによって制御された技法により、分析自体を支援することが好ましい。
従って、特定の計測器及びその分析機能は、その計測器の動作の際に望ましい調査及び分析パラメータを操作するための異なる固有の命令の組を必要としていることが理解されよう。スタンドアロンの特殊な及び通常の操作のために計測器をユーザーが容易に使用することができるように、ほとんどすべての市販の科学計測器の一部として、組込み型のソフトウェアが提供されている。提供されるソフトウェアは、望ましい計測及びエンドユーザーの理解のレベルに応じて、通常の操作のための環境に依存したキー入力から、カスタマイズされた生成メソッドのための手段の提供まで、即ち、通常の分析も提供できるが、多くの場合に、高度な分析をも提供できるカスタマイズされたマクロプログラムの提供まで、多岐にわたっている。
特に、マクロプログラムは、プログラミングの知識を有していないユーザーでも容易に生成することができる。但し、購入した科学計測器と関連するプログラムの生成を所望するエンドユーザーは、多くの場合に、その計測器のプログラミング文法を学習しなければならず、従って、最も平易なタスクの場合にも、気が重くなることがあろう。関連するマクロプログラミング製品の開発及び使用を促進するために、企業は、特定アプリケーション用のプログラムが容易に開発されるように、使い易い操作を含むグラフィックユーザーインターフェイス(Graphic User Interface:GUI)ソフトウェアを提供することができる。
有益な一例として、GUIマクロプログラミングアプリケーションに対するインターフェイスには、ユーザーが所望するマクロの要素のスクリプトが作成されるように、ドロップダウンメニューから選択肢を提供することができる。エンドユーザーは、特定のドロップダウンメニューから選択することによって作業空間に対する特定のアクションの操作を可能にしているが、この場合に、エンドユーザーは、それらのアクションを接続し、操作をコンパイルし、且つ、望ましいプログラムされたアクションのためのプログラムを実行しなければならない。このような手続き的な方法によれば、エンドユーザーは、アクションの実際の動作方法を規定するためのプログラムを記述する必要なしに、アクション項目をワークシート空間内に導入することができる。このような方法は容易であるため、最もレベルの低いプログラマでも、自信を持つことになり、これが複雑なマクロプログラミングの開発に結び付いているが、これには、多くの場合に、但し、必然ではないが、多少のプログラミングスキルが必要とされる。更には、マクロプラグラムを構築するために提供されるコントロールの操作の容易性により、人々は、更なる柔軟性を実現すると共に更に複雑なアプリケーションを生成するために必要とされるプログラミングスキルを学習するように仕向けられている。
対話型のグラフィックユーザーインターフェイス(GUI)を利用してデータベースを自動生成するシステム及び方法に関する背景情報については、Costin他に対して2006年4月18日付けで発行された「DATABASE PROGRAM WITH AUTOMATIC CREATION OF USER FEATURES」という名称の米国特許第7,032,960B1号明細書に記述及び特許請求されており、この文献は、「本システムは、入力されたデータに基づいた適切な情報の自動生成を実現する技法を規定している。本明細書に記述されているこの自動生成の結果が、プログラミング又は特殊な学習を伴わない情報のカスタムデータベースの形成である。これらのデータベースは、情報の初期仕様書から自動的に生成される」という記述を含む。
アニメーション化されたアイコンを内蔵してプログラミングのフロー及び操作を視覚化するシステム及び方法に関する背景情報については、Kahnに対して1996年5月14日付けで発行された「ANIMATED USER INTERFACE FOR COMPUTER PROGRAM CREATION, control and execution」という名称の米国特許第5,517,663号明細書に記述及び特許請求されており、この文献は、「コンピュータプログラミングシステムは、対話型の視覚的な方式によって生成されるアニメーション化されたプログラムソースを提供する。アニメーションは、ユーザー又はプログラマがプログラミングのフロー及び操作を視覚化することができるように、コンピュータプログラミングと統合されている。従って、同時演算などの動的現象ために、アニメーション化された画像が生成される。プログラムシステムは、同時通信エージェントの演算モデルをサポートしている。演算モデルのための具体的なメタファが提供されており、例えば、エージェントは、建物として実装されており、規則又は方法は、建物内部の実装されたロボット又は作業者であり、局所的状態は、建物内部の掲示板に掲示され、運搬人が建物の間においてメッセージを搬送している、などである」という記述を含む。
対話型の媒体を使用して子供がプログラミングスキルを学習することができるようにするシステムの背景情報については、Resnickらが「Scratch:Programming for all」(Communications of the ACM、第52巻、第11号(2009年11月)60〜67頁)において記述しており、この文献は、「スクラッチは、高度な対話性を有するように設計されている。ブロックのスタックをクリックするだけで、スタックは、そのコードの実行を即座に開始する。ユーザーは、スタックが稼働している最中にも、スタックに対して変更を加えることが可能であり、従って、新しいアイデアによって実験を増分的且つ反復的に実行することが容易である」という記述を含む。
但し、上述の、並びに、当技術分野に存在している従来のマクロプログラミング言語は、スクリプト内の特定要素の直接的なリンク結合(即ち、自動的なパラメータルーティング)を許容してはおらず、多くの場合に、プログラムの実行を可能とするために開発されたソフトウェアのコンパイルをエンドユーザーに要求し、且つ、複雑なソフトウェアプログラムから最も平易なソフトウェアプログラムまで多岐にわたる対話型の視覚的な方式によってカスタマイズ可能な新しいコード(マクロ)を生成するための能力を提供してもいない。
従って、当技術分野には、既定の科学計測器との関連においてそれらのニーズを可能な限り簡単な方式で充足するためのマクロプログラミング言語に対するニーズが存在している。
本発明は、一般に、構成検証のための視覚的なフィードバックを伴う、スクリプト内のアクションステートメントの入力と出力の間における自動化された接続、即ち、動的なパラメータルーティングが可能となるようなマクロプログラミングの新しい方式を提供する。別の態様として、本発明のマクロプログラミング言語は、様々な分光分析アプリケーションの自動化を実現し、この結果、必要に応じて、マクロの意図に対して接続された構成可能なユーザーインターフェイス(UI)の自動生成も許容される。
従って、本発明は、サンプルの1つ又は複数の分析計測を可能にするためのカスタマイズ可能なマクロプログラミング言語を対象としており、これは、1つ又は複数の望ましいアクションステートメントをユーザーインターフェイス作業空間上にドラッグしてスクリプトを提供するステップと、1つ又は複数のアクションステートメントの入力と出力を自動的に接続及び相互リンクするステップであって、1つ又は複数の追加の必要とされる入力及び出力が存在していないか、或いは、それらをスクリプト内において明白に提供することができない場合には、ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第2状態に配置され、1つ又は複数の追加の入力及び出力をスクリプト内において接続及び相互リンクされるように判定することができる場合には、ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第1状態に配置される、ステップと、次いで、コンパイルを伴うことなしに、望ましいスクリプトを実行し、前記アクションステートメントに従って、スペクトルデータを提供するステップであって、スペクトルデータは、光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された少なくとも1つの分析計測器の結果として得られる計測値を含む、ステップと、スクリプトの1つ又は複数のアクションステートメントに基づいて構成可能なユーザーインターフェイス(UI)要素を自動的に生成するステップと、を含む。
本発明のカスタマイズ可能なユーザー環境(CUE)の動的なパラメータルーティングの能力を示すための画像を示す。 本発明のカスタマイズ可能なユーザー環境(CUE)の動的なパラメータルーティングの能力を示すための画像を示す。 本発明のカスタマイズ可能なユーザー環境(CUE)の動的なパラメータルーティングの能力を示すための画像を示す。 本発明のカスタマイズ可能なユーザー環境(CUE)の動的なパラメータルーティングの能力を示すための画像を示す。 自動的なアクションパラメータのルーティングのフローチャートを示す。 アクションに対するDeclareResults()のフローチャート手順を示す。 本発明の多機能プログラミング(マクロ)態様を示すための画像を示す。 本発明の多機能プログラミング(マクロ)態様を示すための画像を示す。 本発明の多機能プログラミング(マクロ)態様を示すための画像を示す。 本発明の自動ユーザーインターフェイス(UI)生成能力を示すための画像を示す。 本発明の自動ユーザーインターフェイス(UI)生成能力を示すための画像を示す。 本発明の自動ユーザーインターフェイス(UI)生成能力を示すための画像を示す。 本発明の自動ユーザーインターフェイス(UI)生成能力を示すための画像を示す。 本発明のマクロプログラミング言語を使用する能力を有する例示用のシステムを示す。
本明細書における本発明の説明においては、黙示的又は明示的に理解されるか又は特記されていない限り、単数形で表記されている用語は、その複数形をも含んでおり、複数形で表記されている用語は、その単数形をも含んでいることを理解されたい。更には、本明細書に記述されている所与のコンポーネント又は実施形態においては、黙示的又は明示的に理解されるか又は特記されていない限り、一般には、そのコンポーネントについて列挙されている可能な候補又は代替肢のいずれもが、個別に又は相互の組合せにおいて、使用されてもよいことを理解されたい。更には、本明細書に示されている図面は、必ずしも、縮尺どおりではなく、要素のいくつかは、本発明をわかりやすくするためにのみ描かれている場合があることを理解されたい。又、参照符号は、対応した又は類似した要素を示すために、様々な図面において反復される場合がある。更には、前述の候補又は代替肢の任意のリストは、黙示的又は明示的に理解されるか又は特記されていない限り、例示を目的としたものに過ぎず、限定を意味するものではないことを理解されたい。更には、特記されていない限り、本明細書及び請求項に使用されている成分の量、構成要素、反応条件などを表現する数値は、「約」という用語によって修飾されているものと理解されたい。
従って、特記されていない限り、本明細書及び添付の請求項に記述されている数値パラメータは、本明細書に提示されている主題によって得られることが求められている望ましい特性に応じて変化することがある近似値である。最低限でも、且つ、請求項の範囲と等価な原理の適用を制限するための試みとしてではなく、それぞれの数値パラメータは、少なくとも、報告されている有効桁の数に鑑み、且つ、通常の丸め法を適用することにより、解釈することを要する。本明細書に提示されている主題の広範な範囲を記述している数値の範囲及びパラメータが近似値であるという事実にも拘わらず、特定の例において記述されている数値は、可能な限り正確に報告されている。但し、あらゆる数値は、本質的に、それらの個々の試験計測値に見出される標準偏差の結果として不可避に生じる特定の誤差を含んでいる。
概要説明
本発明は、エンドユーザーが1つ又は複数の異なる分析計測器のためのカスタマイズされたスタンドアロンプログラムモジュールを迅速に生成することができるようにするカスタマイズ可能なユーザー環境(CUE)を有するマクロプログラミング言語を提供する。本明細書に提示されている固有の一態様は、所与のプログラムの動作可能性について結果的に得られる視覚的なフィードバックと相互リンクしている様々なステートメント(アクション項目)の入力及び出力の自動的な接続を可能にするマクロ言語の動的パラメータルーティング機能である。更には、本明細書に提示されているマクロプログラミング言語の設計によれば、必要に応じて、マクロの意図に対して構成可能なユーザーインターフェイス(UI)を自動的に生成するという利益をも有する様々な科学分析アプリケーション用の自動化機能も可能となる。具体的には、本明細書に開示されているCUEは、必要に応じて、CUEソフトウェアのリコンパイル又は変更を伴うことなしに、熟練した技術者が様々な分析計測のための新しい自動化機能を追加できるようにする多機能マクロプログラミング言語である。これは、新しい機能を有するDLLをCUEが存在するディレクトリ内に複写することによって実現される。
従って、エンドユーザーは、シリアルポートインターフェイスによってシステムに接続されているキーボード及び/又は、例えば、マウスなどのポインティング装置などの1つ又は複数の入力装置に多くの場合に結合されている演算システム(例えば、パーソナルコンピュータ)の使用によって支援されるソフトウェア命令及び情報を使用することにより、自身の望ましいマクロを作成する。その他のタイプのポインティング装置には、トラックパッド、トラックボール、ペン、ヘッドトラッカ、データグローブ、並びに、望ましいマクロの開発を容易にすることができるコンピュータモニタなどの表示装置上においてカーソルを位置決めするのに好適なその他の装置が含まれる。
又、既定の計測、例えば、スペクトル間の操作を介したデータのマージ(1つ又は複数の収集された様々なスペクトルの間における除算、減算、乗算)、例えば、1つ又は複数の分光分析法の結果として得られるマージされた又は複数のスペクトルなどの、例えば、複合情報スペクトルなどの結果のエクスポート/表示を開始するための命令は、演算システムに接続された機械可読媒体(例えば、コンピュータ可読媒体)上に保存されている命令下において実行されてもよいことを理解されたい。本発明の態様によれば、コンピュータ可読媒体とは、機械/コンピュータによって読取り(即ち、スキャン/検知)可能であると共に機械の/コンピュータのハードウェア及び/又はソフトウェアによって解釈可能な形態において提供された符号化された情報を有する当業者には既知であると共に理解される媒体を意味している。具体的には、コンピュータ可読媒体は、多くの場合に、限定を伴うことなしに、ローカルハードディスク駆動装置、フロッピーディスク、CD−ROM又はDVD、RAM、ROM、USBメモリ装置、並びに、場合によっては、当業者には既知であると共に理解される任意のリモートメモリストレージ装置などのローカル又はリモートメモリストレージ装置を含むことができる。
又、当業者であれば、本発明の関連するソフトウェアは、ハンドヘルド型装置、マクロプロセッサに基づいた又はプログラム可能な消費者用電子装置、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータなどを含むことができるその他のコンピュータシステム構成において実装してもよいことを理解しよう。又、本発明は、分散演算環境において実施してもよく、この場合には、関連するタスクは、通信ネットワーク(例えば、無線)を通じてリンクされたリモート処理装置によって実行される。分散演算環境においては、生成されたマクロモジュールをローカル及びリモートメモリストレージ装置の両方の内部に配置してもよい。
繰り返しになるが、新しいコンテンツを既定のユーザーインターフェイスフレームワークに追加することにより、或いは、完全に異なるサンプル及び計測調査アプリケーションのための新しい方法及び機能を実装するための固有のマクロモジュールを作成することにより、ほとんどすべてのエンドユーザーが、動作可能性に関する視覚的な検証を自動的にリンク及び提供する固有のマクロアプリケーションを容易に生成することができることを理解されたい。本発明の別の有益な態様として、本明細書に記述されている言語は、複雑な科学機器の稼働に対するバッチファイル(命令のリストを含むスクリプトの1つのタイプ)の自動化とは本質的に異なる様々なアプリケーションのための自動化機能を有する。
本発明の1つ又は複数のカスタマイズされたマクロによってサポートすることができるこのような科学計測器は、いくつかの光学及び質量分光計、撮像装置、クロマトグラフ装置(例えば、ガス及び液体)を含み、これらは、いずれも、市販されているか、或いは、その他の方法によって当業者が入手することができる。
例示用の撮像装置は、走査装置、共焦点装置、デジタル撮像装置、及び望遠鏡式装置などのうちのいずれか1つを含む。例示用のクロマトグラフ装置は、電気泳動装置、ガスクロマトグラフ装置、及び液体クロマトグラフ装置などを含むことができる。
例示用の光学分光計は、UV−Vis分光計、フーリエ変換(Fourier Transform:FT)分光計(例えば、フーリエ変換赤外線(Frourier Transform Infrared:FTIR)分光計)、蛍光分光計、ラマン分光計、赤外線分光計(IR)、及びX線分光計を含むことができる。本発明のソフトウェアと共に適合可能な例示用の質量分光計は、当業者には既知のように、例えば、タイムオブフライト(Time−Of−Flight:TOF)装置、線形イオントラップ(Linear Ion Trap:LIT)、磁気及び静電気アナライザ、四重極、イオンサイクロトロン共鳴(Ion Cyclotron Resonance:ICR)装置、オービトラップ、又はフーリエ変換質量分光計(Fourier Transform Mass Spectrometer:FTMS)などの質量分析の能力を有する様々な単一段アナライザシステム(従来は、時間的タンデムと呼ばれている)、並びに、多段アナライザ(空間的タンデム)を含むことができる。留意すべき重要な点は、以上に概説した装置のそれぞれは、当然のことながら、固有の計測及び分析機能の異なる組を有し、且つ、従って、多くの場合に、このような計測器の表示及び操作のために異なる固有の命令の組を必要としているという点であり、これは、本明細書に提示されている本発明のカスタマイズ可能な対話型ソフトウェアの有益な態様の1つである。
光学分散分光計などの分光計によって提供される計測能力の違いを理解するために、所定範囲の入力光波長を試料に供給し、且つ、試料からの出力光を単色光分光器―出力光をその成分波長に分解する装置―によって受光し、次いで、これらの出力波長において、1つ又は複数の検出器によって光強度を計測して出力スペクトルを生成する。紫外−可視分光分析(UV−Vis)装置として構成された際には、所定範囲の入力光波長(又は周波数)は、調査対象のサンプルによって吸収される電磁スペクトルの紫外及び可視領域内に位置しており、これは、その分子成分の電子的エネルギーレベルの特徴を示している。特定のUV−Vis吸収帯域により、ユーザーは、芳香族基又はカルボキシル(CO)基などの特定の分子成分の特徴を判定することができる。
FT分光計においては、干渉計を使用してインターフェログラム―いくつかの入力光波長の時変混合物−を試料に供給し、且つ、1つ又は複数の検出器によって試料からの(時変)出力光を計測する。次いで、フーリエ変換などの数学的な技法を使用して出力光の様々な波長を「解読」することにより、その成分波長において出力光の強度を取得し、且つ、これにより、出力スペクトルを生成することができる。
蛍光/燐光分光計においては、検出器は、分子が光の1つ又は複数の光子を吸収した後に所与の期間において高エネルギー状態から低エネルギー状態に遷移する分子からの光を収集するように構成されている。この結果、蛍光放射及び関連する強度により、光吸収の後の分子内のエネルギーの再分配状態を判定することができる。1ミリ秒未満の時間尺度の光放射は、通常、蛍光と見なされ、1ミリ秒を上回る時間尺度は、一般に、燐光と呼ばれる。
ラマン分光計においては、可視、近赤外、又は近紫外範囲の放射波長を有するレーザーなどの強力な光源からの照明に基づいて、システム内の振動、回転、及びその他の低周波数モードを調査することができる
赤外(IR)分光計においては、調査対象のサンプルに、その分子構造が調査されるように、電磁スペクトルの赤外領域又は近赤外領域内の所定範囲の波長及び関連する周波数を吸収させる。赤外吸収帯域により、芳香族、オレフィン、脂肪族化合物、アルデヒド、ケトン、カルボン酸、アルコール、アミン、及びアミド基などの分子構造成分が識別される。吸収が生じる周波数は、これらの成分内の結合が延伸及び/又は屈曲する周波数をも反映している。
X線分光計は、サンプルからのX線(X線光子)放射の形態のエネルギーを放出する電子遷移を利用しており、この場合に、X線は、それらのX線が放射されたサンプルの原子の特徴を示すエネルギー及び波長を有しており、即ち、これらのX線は、サンプルの原子組成の特徴を示している。従って、このような計測器は、X線エネルギー及び/又は波長を計測及び分析して原子組成を識別及び定量化することができる。
質量分光計においては、当業者は、多くの場合に、質量に基づいて分子を分離及び識別するために、特に、質量対電荷比(m/z)に基づいた識別のために、前述の計測及び技法のいずれかを利用している。
詳細説明
以上において簡単に説明したように、本発明は、A)動的パラメータルーティングを提供可能なもの、即ち、可能な場合に、エンドユーザーに対する視覚的な検証を伴う、自動的結合を必要とする入力及び出力を様々なステートメントが必要としていることを理解することができるもの、B)様々な科学分光分析アプリケーションのための自動化機能を提供することができる多機能マクロプログラミング言語、及びC)マクロの意図に対して構成可能なユーザーインターフェイス(UI)を自動生成するマクロプログラミング言語という3つの新しい有益な態様を有するマクロプログラミング言語を提供することを理解されたい。次節以降において、これらのそれぞれについて順番に説明するが、説明の順序は、限定を意図したものではない。
動的なパラメータルーティング
本発明の有益な動的パラメータルーティングの態様は、様々なステートメント(アクション項目)が適切に構成されているかどうか又は注意を必要としているかどうかについてエンドユーザーに確認しつつ、必要な際に、これらのステートメントの入力及び出力を新しい方式によって自動的に1つに接続すると共にこれらを相互リンクすることができるカスタマイズ可能なユーザー環境(CUE)を有するマクロプログラミングを対象としている。使い易さの一環として、マクロプログラミングステートメントを自動的に完成させるように指定された情報を明白な方式によって実行することができる際には、アクションステートメントは、正しい選択肢によって自動的に完成され、且つ、その他の表示されているステートメントの色相との関係においてを意味を有する色相(例えば、青色などの第1色状態)において表示される。本発明のこの有益な態様は、これらの1つ又は複数のアクションステートメントが適切に構成されていることを視覚的にエンドユーザーに対して通知する。マクロプログラミングステートメントを自動的に完成させるために必要とされる情報を明白な方式によって自動的に実行することができない際には、ステートメントは、意味を有する色相(例えば、赤色などの第2色状態)において表示され、提供されたプログラミング言語から自動的に推定することができない入力又は出力情報をエンドユーザーが提供する必要があることをエンドユーザーに対して通知する。更には、ステートメントが追加又は除去或いは変更されるのに伴って、マクロは、ステートメントを自動完成させると共に動作可能性についてエンドユーザーに通知する構成された状態のうちの1つにそれらを配置するために(例えば、赤色から青色にする又はこの逆を実行するために)情報が存在しているかどうかを自動的に再計算することをも理解されたい。
従って、この新しい動的パラメータルーティング態様によれば、本明細書に記述されているように、ルーチンが作業マクロプログラムを生成するために多数の情報を提供する必要がないため、エンドユーザーが複雑なルーチンを記述することが実質的に非常に簡単になり、この有益な結果は、相対的に高速且つ直観的な編集プロセスである。更には、動的パラメータルーティングの態様によれば、顧客がスクリプトに関係する情報片の名称を変更した場合に、この変更が、構成されたマクロの全体を通じて伝達され、且つ、すべての関係するステートメントにおいて名称の変更が行われるように、相互に関係しているすべてのステートメントを1つにリンクすることも可能となる。
本発明を更に理解することができるように、本明細書に記述されているマクロの作成の容易性を示すために、且つ、本発明の動的パラメータルーティング機能についての洞察力を読者に対して概略的に提供するために、図1A及び図1Bが提供されている。具体的には、図1Aは、参照符号10によって全体的に示されているように、スクリプトを生成、編集、及び試験するためのカスタマイズ可能なユーザーインターフェイス(CUE)エディタウィンドウを示している。アプリケーションが起動した際に最初に表示されるCUEエディタウィンドウ10は、スクリプトに追加することができる、例えば、17、18、及び19などのアクションを有するアクションペイン12(ユーザーとのやり取りを伴うことなしに実行することができる命令のリスト)を含む。例えば、17、18、及び19などのアクションは、多くの場合に、機能によってグループ化されるが、特定の科学計測器又はアプリケーションに関係する関連ソフトウェアによってグループ化することもできる。右側ペインは、望ましいスクリプトを作成するためにエンドユーザーに対して最初に提供される、例えば、Start16及びENDアクション(図示されてはいない)などの既定のアクションボックスを有する作業空間20と見なされたい。メニューバー24は、スクリプトに伴う作業を実行するための機能を提供しており、これにより、実行時の表示をカスタマイズし、スクリプトを試験し、且つ、ヘルプを取得する。
それぞれのアクション(例えば、17、18、19)を、例えば、カーソル制御を介したクリック及び追加又はドラッグなどのエンドユーザーの操作を介して望ましい挿入地点において作業空間20に送るだけである。このような操作により、作業空間20内に表示される関連するアクションボックス17’、18’、19’が、即ち、所与のスクリプトの望ましいアクション17、18、19を表す関連シンボルが、提供される。本発明の新しい態様の一部として、例えば、17’などのアクションボックスの所与の色相(例えば、色)は、所与のアクションの状態の追加情報(即ち、エンドユーザーに対する視覚的な検証)を提供するように設計されている。例えば、図1Aからは容易に明らかではないが、赤色は、アクションパラメータを設定しなければならないことを示しており、パラメータが設定された際に、青色に変化する。従って、青色は、アクションパラメータが有効な設定を有していることを示している。灰色は、アクションがパラメータを有していないことを示しており、且つ、緑色は、多くの場合に、ループやif−thenアクションなどのように、アクションが実行される順序に対して、そのアクションが影響を及ぼすことを示している。
従って、例えば、17、18、及び19などの所与のアクションは、アクションボックス17’、18’、19’(例えば、Measure Sample、Create report Table、及びAdd Table Row)からなるスクリプトを提供するために、選択され、且つ、作業空間20内にドロップされる。図1Aに示されている例においては、この後に、本発明のソフトウェアは、ユーザー入力を伴うことなしに、Measure sampleアクションボックス17’によって提供されるMeasurementとCreate Report Tableアクションボックス18’によって生成されるテーブルをAdd Table Rowアクションボックス19’に対して自動的に接続する。追加の有益な態様として、スクリプトの全体的な方向についてエンドユーザーを支援するために、関連するアクションボックスの隣には、関連する既知のパラメータステートメント28及び32も自動的に表示される。第1の2つのアクションボックス(例えば、17’及び18’)は、関連するパラメータステートメント28を介して示されているように、出力を生成し、表示されているパラメータステートメント32は、それらの関連するアクションボックスの結果として得られる指定された「Blood Measure」及び「AnswerTable」を使用することに留意されたい。
図1Bは、関連するパラメータステートメントを提供するためのアクションボックスの編集の容易性を示している。具体的には、(例えば、カーソル制御を使用してダブルクリックすることによって)「Measure Sample」アクションボックス17’を起動した際に、パネル30が表示され、これにより、ユーザーは、望ましいパラメータステートメント34を所与の選択領域に入力することができる。このサンプルパネル30においては、Measurement名は、この出力の名称を規定している。本発明の新規性の一環として、前述のように、アクションのための必要とされるパラメータを有する、例えば、17’などの特定のアクションボックスの色相は、望ましくは、アクションパラメータが有効な設定を有していることをエンドユーザーに視覚的に通知するために、パラメータの設定が完了した後に、例えば、赤色から青色に変化する。
図2Aは、Measurement2として示されている関連するパラメータステートメントに伴って図1Aのスクリプトの作成の際に追加される別のMeasurementアクションボックス21’を示している。この場合にも、アクションボックスのそれぞれは、作業空間20内にドロップされるが、この場合には、(スクリプト内のMeasurementアクションボックス17’及び21’に基づいて)2つの計測が可能であるため、組み込まれているソフトウェアインターフェイスは、2つの計測が「Add Table Row」アクション38に追加され、2つの計測が「Display Measurement」アクション39によって表示される可能性が存在していると解釈する。ソフトウェアは、これらのアクションを曖昧であると見なすため、マクロが注意を必要としていることをエンドユーザーに対して視覚的に通知するように、Table Rowアクションボックス38及びDisplay Measurementアクションボックス39が所定の状態(例えば、赤色)で表示される。図2Aにおいては、「Add Table Row」38及び「Display Measurement」39は、本明細書に記述されているソフトウェアによって曖昧であると見なされているこれらのアクションの適用を簡単に示すために、破線様の背景によって強調表示された状態で示されている。次いで、図2Bは、「Add Table Row」38及び「Display Measurement」39を「Measurement2」アクション項目21’に対して自動的に接続するソフトウェアによって削除される第1のBlood Measureアクション17’を示している。この結果、「Add Table Row」38及び「Display Measurement」39アクションボックスは、明白な状態(例えば、青色)に戻り、この開発されたマクロが動作可能であることをエンドユーザーに対して通知する。
本発明の自動(動的)アクションパラメータルーティング能力との関連において、ソフトウェアによって提供されるすべてのマクロアクションは、アクションを編集するためのユーザーインターフェイス(UI)をアクションを実行するコードから分離する組み込まれたインターフェイスを実装していることに留意されたい。換言すれば、ソフトウェアは、ステートメントを自動的に接続し、且つ、ソフトウェアは、シーンの背後のすべての作業を実行する。このような組み込まれたインターフェイスは、限定を伴うことなしに、以下のような多数のメソッドを含む。
・AreControlContentsValid(アクション):これは、アクションを完了させるのに必要なすべての情報が有効であるかどうかをUIに問い合わせる。
・UpdataUIFromAction(アクション):これは、アクションから指定のパラメータを取得し、且つ、それらをUI内に配置する。更には、これは、利用可能な出力を調査し、且つ、アクションが有効ではない場合には、そのアクションの要件に対する明白な解決策が存在しているかどうかを確かめなければならない。
・UpdateActoinFromUI(アクション):これは、UIから指定のパラメータを取得し、且つ、それらをアクション内に配置する。
・SupportedAction():これは、このUIが編集することができるアクションのリストを返す。
更には、アクションは、出力を生成した場合に、そのアクションによって生成されるそれぞれの結果(出力)の名称及びタイプ(カテゴリ)を指定するDeclareResults()と呼ばれるメソッドを実装しなければならない。マクロ言語エディタは、この動作を認知し、且つ、マクロの実行が始まる前に、且つ、任意のマクロアクションが編集される前及び後において、すべての結果を宣言しなければならない。次いで、DeclareResults()メソッドが、いくつかの新しい結果が生成されていると通知した場合には、マクロ言語は、すべてのアクションを調査し、且つ、それらの自動的な完成を試みなければならず、この理由は、状態を赤色から青色に又はこの逆に変更する可能性があるためである。
図3及び図4は、本発明の新しい動的パラメータルーティングプロセスを概略的に示す例示用のフローチャートである。図3は、具体的には、1つ又は複数の出力がDeclareResults()に起因して変化した際にアクションを自動的に完成させるように、開発されたマクロのすべてのアクションについて実行される本発明のフローチャートを示している。従って、特定のアプリケーションのためのソフトウェアコードの開発、変更、又は試験に従事するエンジニアや技術者などのエンドユーザーは、本明細書に記述されているカスタマイズ可能なユーザーインターフェイス(CUE)エディタウィンドウを開き、且つ、一連のアクションを構築することにより、望ましいマクロのスクリプトを形成することができる。所与のスクリプトの開発においては、組み込まれたインターフェイスソフトウェアは、参照符号42によって示されているように、自動完成プロセスを自動的に開始する。フローチャートのブロック44において、ソフトウェアは、指定のアクションの名称を取得し、且つ、次いで、ブロック46によって示されているように、すべてのアクションエディタを取得する。従って、ブロック48によって示されているように、それぞれのエディタごとに、本発明の新しいインターフェイスソフトウェアは、ブロック50として示されているプロセス(即ち、Use SuppotedActions())を呼び出し、望ましいUIが編集することができるアクションを判定する。判定分岐52によって示されているように、エディタがアクションをサポートしている場合には、ソフトウェアは、UIから指定のパラメータを取得すると共にそれらをアクション内に配置するブロック54によって示されているプロセス(即ち、UpdateUIFromActoin())を呼び出す。更には、ソフトウェアは、アクションが有効ではない場合には、利用可能な出力を調査し、且つ、このアクションの要件に対して明白な解決策が存在しているかどうかを確かめなければならない。次いで、ブロック56によって示されているように、ソフトウェアは、プロセスAreControlContentsValid(アクション)を呼び出し、アクションを完了させるのに必要な情報のすべてが有効であるかどうかを判定する。判定分岐58によって示されているように、「はい」の場合には、ボックス62によって示されているように、アクションボックスは、青色でマーキングされ、そうでない場合には、ボックス60によって示されているように、アクションボックスは、赤色でマーキングされる。具体的には、プロセスUadateActionFromUI()は、UIから指定のパラメータを取得し、且つ、それらをアクション内に配置する。このプロセスが終了する66前に、個々のアクションによって生成された結果を変更するために、ブロック64によって示されているように、DeclareResults()のルーチンが呼び出される。この特定のルーチンは、すべてのマクロアクションの一部分であり、且つ、指定のパラメータ名及びタイプを使用する出力(結果)を宣言し、且つ、その出力(結果)のグローバルに一意であるID(Globally Unique ID:GUID)をも返す。更には、このルーチンは、アクションによって宣言されたそれぞれのパラメータ名(結果)のカウントをも維持している。
従って、図4は、図3のブロック64によって示されているDeclareResults()のフローチャートを示している。繰り返しになるが、アクションがマクロに追加又はマクロから削除されるたびに、そのアクションについて、DecleareResults()が呼び出される。アクションのDeclareResults()が真(true)を返した際には、これは、新しい出力(結果)の宣言が完了していることを常に意味している。これが発生した際には、組み込まれたソフトウェアは、すべてのアクションを調査し、且つ、自動完成手順を実行する。プロセスの一部として、ソフトウェアは、図4のブロック70によって示されているように、結果のリスト内のアクションのSpecified Parameter Nameをチェックする。この後に、ソフトウェアは、判定分岐72によって示されているように、グローバルに一意のID(GUID)が特定のアクションについてナル(null)であるかどうかを確かめる。個々のブロック74及び判定分岐76(はい)によって示されているように、このアクションのGUIDがナルであり(はい)、且つ、ソフトウェアがそのタイプの結果のリスト内において指定のパラメータ名を見出した場合には、ソフトウェアは、ブロック78によって示されているように、結果のリスト内において見出されたGUIDを使用する。但し、このアクションのGUIDがナルであるが、判定分岐76によって示されているように、ソフトウェアがそのタイプの結果のリスト内において指定のパラメータ名を見出さない場合には、ソフトウェアは、ブロック80において示されているように、新しいGUIDを取得し、ブロック82において示されているように、指定の名称を有する結果リストに新しい項目を追加し、且つ、次いで、最後に、ブロック84において示されているように、この宣言された結果用のこの新しいGUIDを使用するようにこのアクションを変更する。一方、図4の判定分岐72によって示されているように(即ち、いいえ)、GUIDがナルではなく、且つ、ソフトウェアが、個別のブロック86及び判定分岐88によって示されているように(はい)、そのタイプの結果のリスト内において指定のプログラム名を見出し、且つ、判定分岐90によって示されているように(はい)、結果のリスト内の指定の名称とリスト内のその項目が同一のGUIDを有している場合には、ソフトウェアは、ブロック92によって示されているように、なにもしない。判定分岐88(はい)及び判定分岐90(いいえ)によって示されているように、指定の名称が結果のリスト内において見出されたが、このアクションのGUIDがマッチングしていない場合には、ソフトウェアは、ブロック94によって示されているように、このアクションのGUIDを結果のリスト内において見出された項目のGUIDに自動的に変更する。
それぞれ、判定分岐72、ブロック86、及び判定分岐88によって示されているように、GUIDがナルではなく、且つ、指定のパラメータ名が結果リスト内に存在しておらず、且つ、このアクションの結果リスト内の名称GUIDが異なっており、判定分岐96によって示されているように、このパラメータ結果を宣言したアクションの数が1に等しい場合には、ソフトウェアは、ブロック104によって示されているように、結果リスト内の宣言された結果の名称を新しい指定のパラメータ名に変更する。
こちらも判定分岐96による判定において、このパラメータ結果を宣言するアクションの数が1を上回っている場合には、ソフトウェアは、ブロック98、100、及び102によってそれぞれ示されているように、新しいGUIDを取得し、新しい項目を指定の名称を有する結果リストに追加し、且つ、この宣言された結果のこの新しいGUIDを使用するように、このアクションを変更する。
上述のように、自動的な動的パラメータルーティング(即ち、ステートメントの自動的な完成)のための以上に示されている処理は、いずれも、シーンの背後のすべての作業を実行するが、図1Bのパネル30によって示されているように、ユーザーに対してUIを表示することはせず、且つ、アクションボックスの状態を赤色から青色に且つこの逆に変更することにより、所与の開発されたマクロの動作可能性についてエンドユーザーに通知するのみである。
多機能プログラミング(マクロ)言語
様々な科学的分光分析アプリケーションの自動化を提供することができる多機能マクロプログラミング言語は、本発明の別の有益な態様である。具体的には、本発明のこの態様は、アプリケーションのリコンパイルを伴うことなしに(コンパイルは依然として選択肢であることに留意されたい)、新しい機能(又は、マクロステートメント)を実行時に言語に追加することが可能であり、且つ、この結果、マクロプログラミング言語は、完全に異なるアプリケーションのためのステートメントを受け入れることができる。
有益な非限定的な例として、この言語は、限定を伴うことなしに、UV−Vis、FTIR、IR(近赤外(NIR)、ラマン、質量分析などの上述の科学的アプリケーションのうちのいずれかのためのマクロをサポートするように構成することが可能であり、これらのマクロのそれぞれは、その独自の固有の能力の個別の組を有する。従って、本明細書に提示されている新しい利益の一環として、本発明のマクロ言語は、これらの多様なアプリケーションを単独でサポートすることができるのみならず、同時に、予め開発された読み込まれたマクロのコンテンツに基づいて特定のアプリケーションのUI及びステートメントを表示するべきであるかどうかをも知ることができる。
図5A、図5B、及び最後に図6は、本発明の多機能マクロプログラミング言語を示している。具体的には、図5A、図5B、及び図6は、様々な異なるアプリケーションのための自動化機能の容易性を示すための一連のCUEエディタウィンドウを示している。
図5Aは、図1Aの説明との関係において少し上述したように、この場合にも、参照符号10によって全体的に示されている、スクリプトを生成、編集、及び試験するためのカスタマイズ可能なユーザーインターフェイス(CUE)エディタウィンドウを示している。以前と同様に、CUEエディタウィンドウ10は、アプリケーションが起動された際に最初に表示され、且つ、スクリプトに追加することができる、例えば、17及び18などのアクションを有するアクションペイン12を含む。例えば、17及び18などのアクションは、多くの場合に、機能によってグループ化されるが、特定の科学計測器又はアプリケーションに関係する関連ソフトウェアによってグループ化することもできる。右側ペインは、望ましいスクリプトを構築するためにエンドユーザーに最初に提供される、例えば、Start16及びENDアクション16’’などの既定のアクションボックスを有する作業空間20と見なされたい。メニューバー24は、スクリプトに伴う作業を実行するための機能を提供しており、これにより、実行時の表示をカスタマイズし、スクリプトを試験し、且つ、ヘルプを取得する。図5Aにおいて指摘するべきポイントは、前述のように、いくつかのアプリケーションのマクロを作成する際に作業空間に追加することができる、例えば、17及び18などのいくつかの選択されたタスクが存在しているという点である。
具体的には、図5Bは、バッチファイルの自動化の際に、ディレクトリを生成すると共にファイルを演算システム上に複写するためのアプリケーション110を示しており、図6は、この場合には、FTIRアプリケーションである望ましいアプリケーションと関連付けられた多数の(例えば、最大で、約118個の)編集可能なマクロタスク(例えば、112)によって構成される本発明の有益な機能を示している。これから理解するべき重要な側面は、本発明のマクロプログラミング言語は、特定のアプリケーション又は言語のその他の部分を直接的に参照することなしに、その作業のすべてを実行するのに十分なインターフェイスを規定するように設計されているという点である。具体的には、動作のすべてが、生成、操作、編集、及び実行などの間接化又は抽象化のレベルを通じて実行されている。
このような動作を可能にするために、本発明は、プログラミング環境において可能な多様性のすべてを結果的にサポートすることができるように実質的に一般的なものとなるように(上述の計測器及び/又はアプリケーションのいずれかと共に提供される)1つ又は複数のアプリケーションと関連するすべての情報がインターフェイスに対して抽象化される機能を提供する。この抽象化は、それぞれのマクロプログラミングステートメントにとって利用可能な唯一の情報である。この機能を可能にするために、本発明は、SpectaなどのアプリケーションソフトウェアとThermo Fisher Scientific Inc.によって、例えば、彼らの市販の計測器との関連において提供されるND2000及びINSIGHTなどのUVアプリケーションソフトウェアの間において実質的に同一である一般的なインターフェイス内に非常に複雑なアプリケーションのためのすべての関係する情報(即ち、50万を上回るステートメントを有するもの)を収容する(例えば、IApplicationContextインターフェイスと適切に呼称される)アプリケーションインターフェイスを有する。
このアプリケーションコンテキストは、それぞれのマクロステートメントに対する唯一の入力であり、且つ、本発明のマクロプログラミング言語に関する限り、これは、指定のアプリケーションコンテキストを使用してその機能を実行するようにそれぞれのステートメントに対して指示するのみである。本明細書に提示されているマクロ言語は、それぞれのステートメント内において発生する内容については、なにも解釈する必要がない。このような構成により、上述のように、本発明のマクロ言語は、上述のThermo Fisher Scientific Inc.によって提供される多様なアプリケーションのいずれかと共に使用することができる。
又、技術者や実験者などの当技術分野における熟練したプログラマは、望ましい統合された計測器の特定の機能を実行するのに必要な任意のDLL(Dynamic Link Libraries)を生成した後に、一般記述セクションにおいて、上述の多様な計測器のいずれかをサポートするように、本発明のソフトウェアを構成することができる。1つ又は複数の命令インターフェイスを含むDLLが生成され、且つ、熟練した技術者がマクロエディタ内に表示されるインターフェイスを実装した場合に、このようなDLLの命令は、相応して、マクロエディタ内において熟練した技術者に対して提示される。例えば、DLLは、関連するアプリケーションを制御するための命令を含むように生成してもよく、或いは、DLLは、例えば、ループ処理、Ifステートメント、変数に対する値の割り当てなどのマクロ言語自体に固有の基本的な命令を含んでもよい。従って、コンパイル時にではなく、実行時にDLLを付加するか又は取り除くことにより、マクロを編集及び実行している最中に、熟練した技術者に表示される機能及びユーザーインターフェイスが変化する。
従って、このような機能により、エンドユーザーは、提供されたプログラムモジュールのプロセス内においてカスタムステップを提供することにより、それらの独自の固有プロセスの概要を規定し、表示される情報コンテンツを追加すると共に/又は、エンドユーザーの特定のビジネスアプリケーションのフォーマットで情報を提示することができる。
又、本発明は、マクロ言語内の個々のステートメントの機能のすべてを記述する命令インターフェイスを実現することも理解されたい。エンドユーザーが、規定されたインターフェイスのうちの1つ又は複数のものを実装及び使用する命令を生成した場合には、その命令も、規定されたマクロ言語との互換性を有する。
構成可能なユーザーインターフェイスの自動生成
別の例示用の実施形態として、本発明は、所与のマクロの意図に対して構成された構成可能なユーザーインターフェイスの自動生成を提供している。このような実施形態によれば、限定を伴うことなしに、データのXY表示、情報の表、アクションを実行するボタン、画像などの必要なUI要素の自動生成が可能である。具体的には、このようなUI要素は、UI要素を表示対象のデータの変更の責任を担うプログラミングコードに対して結び付ける間接化のレベルを必要とすることなしに、表示される情報を規定する開発されたマクロステートメントに対して自動的に接続することができる。
図1Aとの関連においてカスタマイズ可能なユーザーインターフェイスについて説明した際に概略的に上述したように、開発された1つ又は複数のマクロアクションステートメントは、UIの生成と任意の所与のステートメントへのリンクをトリガするように、表示するデータの種類及びその具体的なタイプを指定するべく構成することができる。本発明のマクロ言語は、この動作を認知しており、且つ、従って、最初に実行を開始する際に、UIを生成するように設計されている。この生成は、自動的に実行されるか、或いは、別の方式としては、エンドユーザーが最後にマクロを編集した際にエンドユーザーによって指定されたそれぞれの要素のx、y、幅、高さ、及びz次元に基づいて生成される。別の有益な態様として、本発明のマクロ言語は、任意の関連するUI要素について監視すると共に、出力に対する変更を反映するようにそれらのコンテンツを変更するべく、設計されている。
従って、図7A、図7B、図8A、及び図8Bは、画面作業空間20上にドラッグされたステートメントに基づいてユーザーインターフェイスを自動生成するマクロ言語を示す一連の画像を示している。具体的には、図7Aは、ソフトウェアが、ポップアップ情報ウィンドウ120によって示されているように、例えば、「View User Interface」などのプルダウンメニューから、ステートメントのいずれもが対話型のユーザーインターフェイスと関連付けられていないことを知ることを示している。図7Bは、アクションボックス「Display Measurement」124及び「Display Table」128を(水平ラインとして示されている)挿入地点130において追加することにより、個々のアクションボックス124及び128を介してマクロによって編集される編集可能な「Display Measurement」部分124’及び編集可能な「Display table」128’を含む編集可能なユーザーインターフェイス(UI)134が自動的に生成されることを示している。簡潔に上述したように、開発者は、自動生成されたUI要素のサイズ及び位置(例えば、それぞれの要素のx、y、幅、高さ、及びz次元)を変更することが可能であり、且つ、その情報は、マクロ内に保存され、且つ、マクロが実行されてUIを表示する際には、常に使用されることになる。
図8Aは、編集可能なUI134内にボタン144’、148’を提供するために画面作業空間20内のサブタスクに接続された、例えば、「Display Submacro Button」144、148などの2つのアクションボックスを追加することによる編集可能なUIアプリケーションの生成の継続部分を示している。ボタン144’、148’を押下することにより、サブタスクが実行される。図8Bは、Wine分析マクロ用のカスタマイズされた対話型UIの例を示すためにのみ示されており、顧客は、実行する試験152と、サンプル156及びブランク160を計測するタイミングと、を選択する。
図9は、本発明のマクロプログラミング言語を利用する能力を有する本教示内容による例示用のシステムの図である。図9に示されているシステム190は、薬剤、化学薬品、ワイン、固体、液体などの多岐にわたる既定のサンプルをその内部における分析のために調査する能力を有する1つ又は複数の科学計測器193(例えば、分光計)を含む。例示用のシステム190は、任意のその他の必要な電子的操作に加えて、本発明のマクロ言語を介してプログラム制御命令を提供すると共に動作データ(フィートバック)を受け取るように、193に電子的に結合されたコンピュータ/組込み型コンピュータ195又はその他の電子的なプロセッサ又はコントローラを含む。又、システム190は、必要に応じて、入力データベース196を有する実体的に組み込まれたコンピュータ読取り可能媒体及び出力データベース197を有する実体的に組み込まれたコンピュータ書込み可能媒体を含むこともできる。任意選択により、コンピュータ/組込み型コンピュータ195は、更に、表示画面やプリンタなどの1つ又は複数のその他の出力装置199に且つ/又はキーボードやインターネット接続などの1つ又は複数のその他の入力装置198に対して電子的に結合されてもよい。コンピュータ/組込み型コンピュータ195は、図9に示されているように、分光計に結合された「既製」のコンピュータとして有益に構成することも可能であり、或いは、タッチスクリーンLCDディスプレイが分光計に統合された状態において科学計測器(例えば、図9に示されている分光計193)の一部として組み込むこともできることを理解されたい。従って、このような組み込まれたコンピュータは、限定を伴うことなしに、Insightソフトウェア又はCUEマクロなどの望ましいアプリケーション用のGUIを表示することができる。
図9の破線の接続線は、電子信号及び電子信号情報の流れを搬送する接続経路を表している。様々な接続線上の矢印は、情報の流れの可能な方向を表している。尚、機械的コンポーネントは、それ自体が、任意の必要な電源、ハウジング、負圧ラインなどを含んでいるが、このような補助的コンポーネントは、添付図面には、わかりやすくするために明示的に示されていない場合がある。
更に図9を参照すれば、コンピュータ/プロセッサ195は、必要に応じて、任意選択により、1つ又は複数のデータリンク装置188を使用して―インターネットを通じて、或いは、相互接続されたイントラネットやローカルエリアネットワークなどのその他のプライベートなコンピュータネットワークの一部として―計算負荷の一部又はすべてを共有してもよい1つ又は複数のその他のプロセッサ189に対して電子的に(例えば、有線又は無線で)接続されてもよいことに留意されたい。
本明細書の様々な実施形態との関連において記述されている特徴は、本発明の精神及び範囲を逸脱することなしに、任意の組合せにおいて混合又は整合されてもよいことを理解されたい。様々な選択された実施形態が詳細に図示及び記述されているが、これらは、例示を目的としており、且つ、本発明の精神及び範囲を逸脱することなし、様々な置換及び変更が可能であることを理解されたい。

Claims (10)

  1. マクロ言語を使用してサンプルの1つ又は複数の分析計測を可能にするカスタマイズ可能な方法であって、
    1つ又は複数の望ましいアクションステートメントをユーザーインターフェイス作業空間上に送って望ましいスクリプトを提供するステップと、
    前記1つ又は複数のアクションステートメントの入力及び出力を自動的に接続及び相互リンクするステップであって、1つ又は複数の追加の必要とされる入力及び出力が存在していないか、又は前記スクリプト内において明白に提供することができない場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第2状態に配置され、前記1つ又は複数の追加の入力及び出力を前記スクリプト内において接続及び相互リンクされるように判定することができる場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの前記表現は、視覚的な第1状態に配置される、ステップと、
    前記望ましいスクリプトを実行して前記アクションステートメントに従ってデータを提供するステップであって、前記データは、光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された少なくとも1つの科学計測器から結果的に得られる計測値を含む、ステップと、
    前記望ましいスクリプトの前記1つ又は複数のアクションステートメントに基づいて構成可能なユーザーインターフェイス(UI)要素を自動生成するステップと、
    を有する方法。
  2. 前記1つ又は複数のアクションステートメントの入力及び出力を自動的に接続及び相互リンクする前記ステップは、前記1つ又は複数のアクションステートメントを編集するためのユーザーインターフェイス(UI)編集要素を前記1つ又は複数のアクションステートメントの結果的に得られるアクションを実行するコードから分離する組み込まれたソフトウェアインターフェイスを実装するステップを有する請求項1に記載のカスタマイズ可能なマクロソフトウェア方法。
  3. 前記実行するステップは、コンパイルを伴うことなしに実行するステップを更に有する請求項1に記載のカスタマイズ可能なマクロソフトウェア方法。
  4. 光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された前記少なくとも1つの科学計測器用に構成された1つ又は複数の多様なアプリケーションソフトウェアの間において実質的に同一である一般的なインターフェイスを提供するステップを更に有する請求項1に記載のカスタマイズ可能なマクロ言語方法。
  5. 前記1つ又は複数の多様なアプリケーションソフトウェアは、望ましい前記少なくとも1つの科学計測器の特定の機能を実行するためのダイナミックリンクライブラリを生成するステップを更に有し、この後に、エンドユーザーは、マクロエディタ内に表示された命令インターフェイスを操作することができる請求項4のカスタマイズ可能なマクロ言語方法。
  6. 前記望ましいスクリプトの前記1つ又は複数の望ましいアクションステートメントと関連付けられた個別のステートメントの機能のすべてを記述するために命令インターフェイスが提供される請求項1に記載のカスタマイズ可能なマクロ言語方法。
  7. 構成可能なユーザーインターフェイス(UI)要素を自動生成する前記ステップは、ボタンコントロール、データのXY表示、情報の表、及び画像のうちの少なくとも1つを自動的に追加するステップを更に有する請求項1に記載のカスタマイズ可能なマクロ言語方法。
  8. 前記データは、撮像データ、クロマトグラフデータ、質量スペクトル、UV−Vis、フーリエ変換、フーリエ変換赤外線(FTIR)、蛍光、燐光、ラマン、赤外線(IR)、及びX線データのうちの少なくとも1つを含む請求項1に記載のカスタマイズ可能なマクロ言語方法。
  9. 前記データは、異なるデータのタイプの複合体である請求項8に記載のカスタマイズ可能なマクロ言語方法。
  10. コンピュータ実行可能命令を有するコンピュータ可読媒体であって、
    1つ又は複数の望ましいアクションステートメントをユーザーインターフェイス作業空間上に送って望ましいスクリプトを提供するステップと、
    前記1つ又は複数のアクションステートメントの入力及び出力を自動的に接続及び相互リンクするステップであって、1つ又は複数の追加の必要とされる入力及び出力が存在していないか、又は前記スクリプト内において明白に提供することができない場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第2状態に配置され、前記1つ又は複数の追加の入力及び出力を前記スクリプト内において接続及び相互リンクされるように判定することができる場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの前記表現は、視覚的な第1状態に配置される、ステップと、
    前記望ましいスクリプトを実行して前記アクションステートメントに従ってスペクトルデータを提供するステップであって、前記スペクトルデータは、光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された少なくとも1つの科学計測器から結果として得られる計測値を含む、ステップと、
    前記望ましいスクリプトの前記1つ又は複数のアクションステートメントに基づいて構成可能なユーザーインターフェイス(UI)要素を自動生成するステップと、
    を有するコンピュータ可読媒体。
JP2013518509A 2010-06-30 2011-08-24 分析計測のためのインテリジェントな多機能マクロ言語 Pending JP2013534331A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/827,411 US8316314B2 (en) 2010-06-30 2010-06-30 Intelligent multi-functional macros language for analytical measurements
PCT/US2011/041856 WO2012012100A1 (en) 2010-06-30 2011-06-24 Intelligent multi-functional macros language for analytical measurements

Publications (1)

Publication Number Publication Date
JP2013534331A true JP2013534331A (ja) 2013-09-02

Family

ID=44628238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013518509A Pending JP2013534331A (ja) 2010-06-30 2011-08-24 分析計測のためのインテリジェントな多機能マクロ言語

Country Status (5)

Country Link
US (1) US8316314B2 (ja)
EP (1) EP2588951A1 (ja)
JP (1) JP2013534331A (ja)
CN (1) CN103210369B (ja)
WO (1) WO2012012100A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024023936A1 (ja) * 2022-07-26 2024-02-01 ファナック株式会社 仮想機械生成装置及び仮想機械生成プログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066625A1 (en) * 2010-05-12 2012-03-15 Nicolas Encina Scientific research and collaboration system and method
US20120179707A1 (en) * 2011-01-06 2012-07-12 Mitel Networks Corporation Range programming using a search query
US9244707B2 (en) * 2011-01-25 2016-01-26 Microsoft Technology Licensing, Llc Transforming user interface actions to script commands
US9304518B2 (en) 2011-08-24 2016-04-05 Bio-Rad Laboratories, Inc. Modular automated chromatography system
US9182886B2 (en) 2011-11-14 2015-11-10 Bio-Rad Laboratories Inc. Chromatography configuration interface
CN103186377A (zh) * 2011-12-30 2013-07-03 鸿富锦精密工业(深圳)有限公司 代码智能生成系统及方法
JP5983397B2 (ja) * 2012-12-28 2016-08-31 株式会社島津製作所 分析機器制御装置及び分析機器制御装置用プログラム
US11188308B2 (en) * 2014-07-23 2021-11-30 Apple Inc. Interactive code editing
EP3106897A1 (en) * 2015-06-19 2016-12-21 Centre National d'Etudes Spatiales Gnss receiver with an on-board capability to implement an optimal error correction mode
US11079909B2 (en) * 2016-12-23 2021-08-03 Salesforce.Com, Inc. Macro building tool with an information pane and a macro building pane for compiling an ordered macro and determining data dependency

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62100644A (ja) * 1985-10-28 1987-05-11 Shimadzu Corp 自動化された分光光度計
JPH04253270A (ja) * 1991-01-29 1992-09-09 Casio Comput Co Ltd データ処理装置
JPH05233239A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd プログラム自動生成装置
JPH10149280A (ja) * 1996-09-17 1998-06-02 Toshiba Corp プログラム合成装置及びプログラム合成方法
JP2006185324A (ja) * 2004-12-28 2006-07-13 Internatl Business Mach Corp <Ibm> アプリケーション・プログラムの開発支援方法、プログラム、情報処理装置
JP2008512794A (ja) * 2004-09-10 2008-04-24 グラフロジック インコーポレイテッド オブジェクト処理グラフアプリケーション開発システム
JP2008158865A (ja) * 2006-12-25 2008-07-10 Shimadzu Corp プログラム作成支援システム
US20090089739A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Intelligent editing of relational models

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497500A (en) 1986-04-14 1996-03-05 National Instruments Corporation Method and apparatus for more efficient function synchronization in a data flow program
US5326568A (en) 1991-05-03 1994-07-05 Giampapa Vincent C Method of tissue-specific delivery
US5517663A (en) 1993-03-22 1996-05-14 Kahn; Kenneth M. Animated user interface for computer program creation, control and execution
IL142564A0 (en) * 1998-10-16 2002-03-10 Computer Ass Think Inc Method and system for an extensible macro language
DE10110056B4 (de) 2001-03-02 2005-02-03 Daimlerchrysler Ag Eckbereich zwischen seitlichem und hinterem Dachrahmen eines Kraftfahrzeuges mit Rückwandtür und ein Verfahren zu dessen Herstellung
US7653896B2 (en) * 2004-06-30 2010-01-26 Microsoft Corporation Smart UI recording and playback framework
RU2417391C2 (ru) * 2006-08-24 2011-04-27 Сименс Энерджи Энд Отомейшн, Инк. Устройства, системы и способы конфигурирования программируемого логического контроллера
TW201009688A (en) * 2008-08-20 2010-03-01 Clevest Solutions Inc Method and system of editing workflow logic and screens with a GUI tool

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62100644A (ja) * 1985-10-28 1987-05-11 Shimadzu Corp 自動化された分光光度計
JPH04253270A (ja) * 1991-01-29 1992-09-09 Casio Comput Co Ltd データ処理装置
JPH05233239A (ja) * 1992-02-20 1993-09-10 Fujitsu Ltd プログラム自動生成装置
JPH10149280A (ja) * 1996-09-17 1998-06-02 Toshiba Corp プログラム合成装置及びプログラム合成方法
JP2008512794A (ja) * 2004-09-10 2008-04-24 グラフロジック インコーポレイテッド オブジェクト処理グラフアプリケーション開発システム
JP2006185324A (ja) * 2004-12-28 2006-07-13 Internatl Business Mach Corp <Ibm> アプリケーション・プログラムの開発支援方法、プログラム、情報処理装置
JP2008158865A (ja) * 2006-12-25 2008-07-10 Shimadzu Corp プログラム作成支援システム
US20090089739A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Intelligent editing of relational models

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024023936A1 (ja) * 2022-07-26 2024-02-01 ファナック株式会社 仮想機械生成装置及び仮想機械生成プログラム

Also Published As

Publication number Publication date
CN103210369A (zh) 2013-07-17
CN103210369B (zh) 2016-08-03
WO2012012100A1 (en) 2012-01-26
EP2588951A1 (en) 2013-05-08
US8316314B2 (en) 2012-11-20
US20120005604A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
JP2013534331A (ja) 分析計測のためのインテリジェントな多機能マクロ言語
Doncheva et al. Topological analysis and interactive visualization of biological networks and protein structures
Leefmann et al. UltraMassExplorer: a browser‐based application for the evaluation of high‐resolution mass spectrometric data
US8271943B2 (en) Automatically generating a graphical program with a plurality of models of computation
Grammel et al. An end user perspective on mashup makers
US7120877B2 (en) System and method for creating a graphical program including a plurality of portions to be executed sequentially
US20120158641A1 (en) Construction of rules for use in a complex event processing system
US20140223413A1 (en) Method for visual manipulations of all kinds of programming objects
Grammel et al. A survey of mashup development environments
Verhoeven et al. Scientific workflow managers in metabolomics: an overview
Azarov et al. IDEN2—A program for visual identification of spectral lines and energy levels in optical spectra of atoms and simple molecules
Greer et al. ProSight Annotator: Complete control and customization of protein entries in UniProt XML files
JP2013152730A (ja) プラズマ処理システムコンポーネント解析ソフトウェアおよびそのプラズマ処理システムコンポーネント解析ソフトウェアを製作するための方法およびシステム
Blouin et al. Assessing the use of slicing-based visualizing techniques on the understanding of large metamodels
EP4260175A1 (en) System and method for developing user interface applications
Liu et al. An Empirical Study on Low Code Programming using Traditional vs Large Language Model Support
Silva et al. Android App Development Applied to Remote Tasks Simplification
Legland et al. ImageM: a user-friendly interface for the processing of multi-dimensional images with Matlab
Kostomarov et al. The ScopeShell graphic interface: Support for computational experiments and data visualization
Walsh Audio plugin development with cabbage
Cosma et al. ViMC--Interactive Tool for Measuring Software Applications
Asenov Design and implementation of Envision-a visual programming system
Burns PROTO-A software Requirements Specification, Analysis and validation tool
Seifrid et al. Chemspyd: an open-source python interface for Chemspeed robotic chemistry and materials platforms
Mujawar Development of a Cloud-Based Application for XY Data Plotting and Analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150902

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160711