マクロ言語を使用してサンプルの1つ又は複数の分析計測を可能にするカスタマイズ可能な方法であって、1つ又は複数の望ましいアクションステートメントをユーザーインターフェイス作業空間上に送って望ましいスクリプトを提供するステップと、前記1つ又は複数のアクションステートメントの入力及び出力を自動的に接続及び相互リンクするステップであって、1つ又は複数の追加の必要とされる入力及び出力が存在していないか、又は前記スクリプト内において明白に提供することができない場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第2状態に配置され、前記1つ又は複数の追加の入力及び出力を前記スクリプト内において接続及び相互リンクされるように判定することができる場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの前記表現は、視覚的な第1状態に配置される、ステップと、前記望ましいスクリプトを実行して前記アクションステートメントに従ってデータを提供するステップであって、前記データは、光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された少なくとも1つの科学計測器から結果的に得られる計測値を含む、ステップと、前記望ましいスクリプトの前記1つ又は複数のアクションステートメントに基づいて構成可能なユーザーインターフェイスUI要素を自動生成するステップと、を有する方法。前記1つ又は複数のアクションステートメントの入力及び出力を自動的に接続及び相互リンクする前記ステップは、前記1つ又は複数のアクションステートメントを編集するためのユーザーインターフェイスUI編集要素を前記1つ又は複数のアクションステートメントの結果的に得られるアクションを実行するコードから分離する組み込まれたソフトウェアインターフェイスを実装するステップを有する請求項1に記載のカスタマイズ可能なマクロソフトウェア方法。前記実行するステップは、コンパイルを伴うことなしに実行するステップを更に有する請求項1に記載のカスタマイズ可能なマクロソフトウェア方法。光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された前記少なくとも1つの科学計測器用に構成された1つ又は複数の多様なアプリケーションソフトウェアの間において実質的に同一である一般的なインターフェイスを提供するステップを更に有する請求項1に記載のカスタマイズ可能なマクロ言語方法。前記1つ又は複数の多様なアプリケーションソフトウェアは、望ましい前記少なくとも1つの科学計測器の特定の機能を実行するためのダイナミックリンクライブラリを生成するステップを更に有し、この後に、エンドユーザーは、マクロエディタ内に表示された命令インターフェイスを操作することができる請求項4のカスタマイズ可能なマクロ言語方法。前記望ましいスクリプトの前記1つ又は複数の望ましいアクションステートメントと関連付けられた個別のステートメントの機能のすべてを記述するために命令インターフェイスが提供される請求項1に記載のカスタマイズ可能なマクロ言語方法。構成可能なユーザーインターフェイスUI要素を自動生成する前記ステップは、ボタンコントロール、データのXY表示、情報の表、及び画像のうちの少なくとも1つを自動的に追加するステップを更に有する請求項1に記載のカスタマイズ可能なマクロ言語方法。前記データは、撮像データ、クロマトグラフデータ、質量スペクトル、UV-Vis、フーリエ変換、フーリエ変換赤外線FTIR、蛍光、燐光、ラマン、赤外線IR、及びX線データのうちの少なくとも1つを含む請求項1に記載のカスタマイズ可能なマクロ言語方法。前記データは、異なるデータのタイプの複合体である請求項8に記載のカスタマイズ可能なマクロ言語方法。コンピュータ実行可能命令を有するコンピュータ可読媒体であって、1つ又は複数の望ましいアクションステートメントをユーザーインターフェイス作業空間上に送って望ましいスクリプトを提供するステップと、前記1つ又は複数のアクションステートメントの入力及び出力を自動的に接続及び相互リンクするステップであって、1つ又は複数の追加の必要とされる入力及び出力が存在していないか、又は前記スクリプト内において明白に提供することができない場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第2状態に配置され、前記1つ又は複数の追加の入力及び出力を前記スクリプト内において接続及び相互リンクされるように判定することができる場合には、前記ドラッグされた1つ又は複数の望ましいアクションステートメントの前記表現は、視覚的な第1状態に配置される、ステップと、前記望ましいスクリプトを実行して前記アクションステートメントに従ってスペクトルデータを提供するステップであって、前記スペクトルデータは、光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された少なくとも1つの科学計測器から結果として得られる計測値を含む、ステップと、前記望ましいスクリプトの前記1つ又は複数のアクションステートメントに基づいて構成可能なユーザーインターフェイスUI要素を自動生成するステップと、を有するコンピュータ可読媒体。従って、当技術分野には、既定の科学計測器との関連においてそれらのニーズを可能な限り簡単な方式で充足するためのマクロプログラミング言語に対するニーズが存在している。本発明は、一般に、構成検証のための視覚的なフィードバックを伴う、スクリプト内のアクションステートメントの入力と出力の間における自動化された接続、即ち、動的なパラメータルーティングが可能となるようなマクロプログラミングの新しい方式を提供する。別の態様として、本発明のマクロプログラミング言語は、様々な分光分析アプリケーションの自動化を実現し、この結果、必要に応じて、マクロの意図に対して接続された構成可能なユーザーインターフェイスUIの自動生成も許容される。従って、本発明は、サンプルの1つ又は複数の分析計測を可能にするためのカスタマイズ可能なマクロプログラミング言語を対象としており、これは、1つ又は複数の望ましいアクションステートメントをユーザーインターフェイス作業空間上にドラッグしてスクリプトを提供するステップと、1つ又は複数のアクションステートメントの入力と出力を自動的に接続及び相互リンクするステップであって、1つ又は複数の追加の必要とされる入力及び出力が存在していないか、或いは、それらをスクリプト内において明白に提供することができない場合には、ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第2状態に配置され、1つ又は複数の追加の入力及び出力をスクリプト内において接続及び相互リンクされるように判定することができる場合には、ドラッグされた1つ又は複数の望ましいアクションステートメントの表現は、視覚的な第1状態に配置される、ステップと、次いで、コンパイルを伴うことなしに、望ましいスクリプトを実行し、前記アクションステートメントに従って、スペクトルデータを提供するステップであって、スペクトルデータは、光学顕微鏡、クロマトグラフ装置、光学分光計、及び質量分光計から選択された少なくとも1つの分析計測器の結果として得られる計測値を含む、ステップと、スクリプトの1つ又は複数のアクションステートメントに基づいて構成可能なユーザーインターフェイスUI要素を自動的に生成するステップと、を含む。本明細書における本発明の説明においては、黙示的又は明示的に理解されるか又は特記されていない限り、単数形で表記されている用語は、その複数形をも含んでおり、複数形で表記されている用語は、その単数形をも含んでいることを理解されたい。更には、本明細書に記述されている所与のコンポーネント又は実施形態においては、黙示的又は明示的に理解されるか又は特記されていない限り、一般には、そのコンポーネントについて列挙されている可能な候補又は代替肢のいずれもが、個別に又は相互の組合せにおいて、使用されてもよいことを理解されたい。更には、本明細書に示されている図面は、必ずしも、縮尺どおりではなく、要素のいくつかは、本発明をわかりやすくするためにのみ描かれている場合があることを理解されたい。又、参照符号は、対応した又は類似した要素を示すために、様々な図面において反復される場合がある。更には、前述の候補又は代替肢の任意のリストは、黙示的又は明示的に理解されるか又は特記されていない限り、例示を目的としたものに過ぎず、限定を意味するものではないことを理解されたい。更には、特記されていない限り、本明細書及び請求項に使用されている成分の量、構成要素、反応条件などを表現する数値は、約という用語によって修飾されているものと理解されたい。従って、特記されていない限り、本明細書及び添付の請求項に記述されている数値パラメータは、本明細書に提示されている主題によって得られることが求められている望ましい特性に応じて変化することがある近似値である。最低限でも、且つ、請求項の範囲と等価な原理の適用を制限するための試みとしてではなく、それぞれの数値パラメータは、少なくとも、報告されている有効桁の数に鑑み、且つ、通常の丸め法を適用することにより、解釈することを要する。本明細書に提示されている主題の広範な範囲を記述している数値の範囲及びパラメータが近似値であるという事実にも拘わらず、特定の例において記述されている数値は、可能な限り正確に報告されている。但し、あらゆる数値は、本質的に、それらの個々の試験計測値に見出される標準偏差の結果として不可避に生じる特定の誤差を含んでいる。概要説明本発明は、エンドユーザーが1つ又は複数の異なる分析計測器のためのカスタマイズされたスタンドアロンプログラムモジュールを迅速に生成することができるようにするカスタマイズ可能なユーザー環境CUEを有するマクロプログラミング言語を提供する。本明細書に提示されている固有の一態様は、所与のプログラムの動作可能性について結果的に得られる視覚的なフィードバックと相互リンクしている様々なステートメントアクション項目の入力及び出力の自動的な接続を可能にするマクロ言語の動的パラメータルーティング機能である。更には、本明細書に提示されているマクロプログラミング言語の設計によれば、必要に応じて、マクロの意図に対して構成可能なユーザーインターフェイスUIを自動的に生成するという利益をも有する様々な科学分析アプリケーション用の自動化機能も可能となる。具体的には、本明細書に開示されているCUEは、必要に応じて、CUEソフトウェアのリコンパイル又は変更を伴うことなしに、熟練した技術者が様々な分析計測のための新しい自動化機能を追加できるようにする多機能マクロプログラミング言語である。これは、新しい機能を有するDLLをCUEが存在するディレクトリ内に複写することによって実現される。従って、エンドユーザーは、シリアルポートインターフェイスによってシステムに接続されているキーボード及び/又は、例えば、マウスなどのポインティング装置などの1つ又は複数の入力装置に多くの場合に結合されている演算システム例えば、パーソナルコンピュータの使用によって支援されるソフトウェア命令及び情報を使用することにより、自身の望ましいマクロを作成する。その他のタイプのポインティング装置には、トラックパッド、トラックボール、ペン、ヘッドトラッカ、データグローブ、並びに、望ましいマクロの開発を容易にすることができるコンピュータモニタなどの表示装置上においてカーソルを位置決めするのに好適なその他の装置が含まれる。又、既定の計測、例えば、スペクトル間の操作を介したデータのマージ1つ又は複数の収集された様々なスペクトルの間における除算、減算、乗算、例えば、1つ又は複数の分光分析法の結果として得られるマージされた又は複数のスペクトルなどの、例えば、複合情報スペクトルなどの結果のエクスポート/表示を開始するための命令は、演算システムに接続された機械可読媒体例えば、コンピュータ可読媒体上に保存されている命令下において実行されてもよいことを理解されたい。本発明の態様によれば、コンピュータ可読媒体とは、機械/コンピュータによって読取り即ち、スキャン/検知可能であると共に機械の/コンピュータのハードウェア及び/又はソフトウェアによって解釈可能な形態において提供された符号化された情報を有する当業者には既知であると共に理解される媒体を意味している。具体的には、コンピュータ可読媒体は、多くの場合に、限定を伴うことなしに、ローカルハードディスク駆動装置、フロッピーディスク、CD-ROM又はDVD、RAM、ROM、USBメモリ装置、並びに、場合によっては、当業者には既知であると共に理解される任意のリモートメモリストレージ装置などのローカル又はリモートメモリストレージ装置を含むことができる。又、当業者であれば、本発明の関連するソフトウェアは、ハンドヘルド型装置、マクロプロセッサに基づいた又はプログラム可能な消費者用電子装置、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータなどを含むことができるその他のコンピュータシステム構成において実装してもよいことを理解しよう。又、本発明は、分散演算環境において実施してもよく、この場合には、関連するタスクは、通信ネットワーク例えば、無線を通じてリンクされたリモート処理装置によって実行される。分散演算環境においては、生成されたマクロモジュールをローカル及びリモートメモリストレージ装置の両方の内部に配置してもよい。繰り返しになるが、新しいコンテンツを既定のユーザーインターフェイスフレームワークに追加することにより、或いは、完全に異なるサンプル及び計測調査アプリケーションのための新しい方法及び機能を実装するための固有のマクロモジュールを作成することにより、ほとんどすべてのエンドユーザーが、動作可能性に関する視覚的な検証を自動的にリンク及び提供する固有のマクロアプリケーションを容易に生成することができることを理解されたい。本発明の別の有益な態様として、本明細書に記述されている言語は、複雑な科学機器の稼働に対するバッチファイル命令のリストを含むスクリプトの1つのタイプの自動化とは本質的に異なる様々なアプリケーションのための自動化機能を有する。本発明の1つ又は複数のカスタマイズされたマクロによってサポートすることができるこのような科学計測器は、いくつかの光学及び質量分光計、撮像装置、クロマトグラフ装置例えば、ガス及び液体を含み、これらは、いずれも、市販されているか、或いは、その他の方法によって当業者が入手することができる。例示用の撮像装置は、走査装置、共焦点装置、デジタル撮像装置、及び望遠鏡式装置などのうちのいずれか1つを含む。例示用のクロマトグラフ装置は、電気泳動装置、ガスクロマトグラフ装置、及び液体クロマトグラフ装置などを含むことができる。例示用の光学分光計は、UV-Vis分光計、フーリエ変換FourierTransform:FT分光計例えば、フーリエ変換赤外線FrourierTransformInfrared:FTIR分光計、蛍光分光計、ラマン分光計、赤外線分光計IR、及びX線分光計を含むことができる。本発明のソフトウェアと共に適合可能な例示用の質量分光計は、当業者には既知のように、例えば、タイムオブフライトTime-Of-Flight:TOF装置、線形イオントラップLinearIonTrap:LIT、磁気及び静電気アナライザ、四重極、イオンサイクロトロン共鳴IonCyclotronResonance:ICR装置、オービトラップ、又はフーリエ変換質量分光計FourierTransformMassSpectrometer: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’例えば、MeasureSample、CreatereportTable、及びAddTableRowからなるスクリプトを提供するために、選択され、且つ、作業空間20内にドロップされる。図1Aに示されている例においては、この後に、本発明のソフトウェアは、ユーザー入力を伴うことなしに、Measuresampleアクションボックス17’によって提供されるMeasurementとCreateReportTableアクションボックス18’によって生成されるテーブルをAddTableRowアクションボックス19’に対して自動的に接続する。追加の有益な態様として、スクリプトの全体的な方向についてエンドユーザーを支援するために、関連するアクションボックスの隣には、関連する既知のパラメータステートメント28及び32も自動的に表示される。第1の2つのアクションボックス例えば、17’及び18’は、関連するパラメータステートメント28を介して示されているように、出力を生成し、表示されているパラメータステートメント32は、それらの関連するアクションボックスの結果として得られる指定されたBloodMeasure及びAnswerTableを使用することに留意されたい。図1Bは、関連するパラメータステートメントを提供するためのアクションボックスの編集の容易性を示している。具体的には、例えば、カーソル制御を使用してダブルクリックすることによってMeasureSampleアクションボックス17’を起動した際に、パネル30が表示され、これにより、ユーザーは、望ましいパラメータステートメント34を所与の選択領域に入力することができる。このサンプルパネル30においては、Measurement名は、この出力の名称を規定している。本発明の新規性の一環として、前述のように、アクションのための必要とされるパラメータを有する、例えば、17’などの特定のアクションボックスの色相は、望ましくは、アクションパラメータが有効な設定を有していることをエンドユーザーに視覚的に通知するために、パラメータの設定が完了した後に、例えば、赤色から青色に変化する。図2Aは、Measurement2として示されている関連するパラメータステートメントに伴って図1Aのスクリプトの作成の際に追加される別のMeasurementアクションボックス21’を示している。この場合にも、アクションボックスのそれぞれは、作業空間20内にドロップされるが、この場合には、スクリプト内のMeasurementアクションボックス17’及び21’に基づいて2つの計測が可能であるため、組み込まれているソフトウェアインターフェイスは、2つの計測がAddTableRowアクション38に追加され、2つの計測がDisplayMeasurementアクション39によって表示される可能性が存在していると解釈する。ソフトウェアは、これらのアクションを曖昧であると見なすため、マクロが注意を必要としていることをエンドユーザーに対して視覚的に通知するように、TableRowアクションボックス38及びDisplayMeasurementアクションボックス39が所定の状態例えば、赤色で表示される。図2Aにおいては、AddTableRow38及びDisplayMeasurement39は、本明細書に記述されているソフトウェアによって曖昧であると見なされているこれらのアクションの適用を簡単に示すために、破線様の背景によって強調表示された状態で示されている。次いで、図2Bは、AddTableRow38及びDisplayMeasurement39をMeasurement2アクション項目21’に対して自動的に接続するソフトウェアによって削除される第1のBloodMeasureアクション17’を示している。この結果、AddTableRow38及びDisplayMeasurement39アクションボックスは、明白な状態例えば、青色に戻り、この開発されたマクロが動作可能であることをエンドユーザーに対して通知する。本発明の自動動的アクションパラメータルーティング能力との関連において、ソフトウェアによって提供されるすべてのマクロアクションは、アクションを編集するためのユーザーインターフェイスUIをアクションを実行するコードから分離する組み込まれたインターフェイスを実装していることに留意されたい。換言すれば、ソフトウェアは、ステートメントを自動的に接続し、且つ、ソフトウェアは、シーンの背後のすべての作業を実行する。このような組み込まれたインターフェイスは、限定を伴うことなしに、以下のような多数のメソッドを含む。AreControlContentsValidアクション:これは、アクションを完了させるのに必要なすべての情報が有効であるかどうかをUIに問い合わせる。UpdataUIFromActionアクション:これは、アクションから指定のパラメータを取得し、且つ、それらをUI内に配置する。更には、これは、利用可能な出力を調査し、且つ、アクションが有効ではない場合には、そのアクションの要件に対する明白な解決策が存在しているかどうかを確かめなければならない。UpdateActoinFromUIアクション:これは、UIから指定のパラメータを取得し、且つ、それらをアクション内に配置する。SupportedAction:これは、このUIが編集することができるアクションのリストを返す。更には、アクションは、出力を生成した場合に、そのアクションによって生成されるそれぞれの結果出力の名称及びタイプカテゴリを指定するDeclareResultsと呼ばれるメソッドを実装しなければならない。マクロ言語エディタは、この動作を認知し、且つ、マクロの実行が始まる前に、且つ、任意のマクロアクションが編集される前及び後において、すべての結果を宣言しなければならない。次いで、DeclareResultsメソッドが、いくつかの新しい結果が生成されていると通知した場合には、マクロ言語は、すべてのアクションを調査し、且つ、それらの自動的な完成を試みなければならず、この理由は、状態を赤色から青色に又はこの逆に変更する可能性があるためである。図3及び図4は、本発明の新しい動的パラメータルーティングプロセスを概略的に示す例示用のフローチャートである。図3は、具体的には、1つ又は複数の出力がDeclareResultsに起因して変化した際にアクションを自動的に完成させるように、開発されたマクロのすべてのアクションについて実行される本発明のフローチャートを示している。従って、特定のアプリケーションのためのソフトウェアコードの開発、変更、又は試験に従事するエンジニアや技術者などのエンドユーザーは、本明細書に記述されているカスタマイズ可能なユーザーインターフェイスCUEエディタウィンドウを開き、且つ、一連のアクションを構築することにより、望ましいマクロのスクリプトを形成することができる。所与のスクリプトの開発においては、組み込まれたインターフェイスソフトウェアは、参照符号42によって示されているように、自動完成プロセスを自動的に開始する。フローチャートのブロック44において、ソフトウェアは、指定のアクションの名称を取得し、且つ、次いで、ブロック46によって示されているように、すべてのアクションエディタを取得する。従って、ブロック48によって示されているように、それぞれのエディタごとに、本発明の新しいインターフェイスソフトウェアは、ブロック50として示されているプロセス即ち、UseSuppotedActionsを呼び出し、望ましいUIが編集することができるアクションを判定する。判定分岐52によって示されているように、エディタがアクションをサポートしている場合には、ソフトウェアは、UIから指定のパラメータを取得すると共にそれらをアクション内に配置するブロック54によって示されているプロセス即ち、UpdateUIFromActoinを呼び出す。更には、ソフトウェアは、アクションが有効ではない場合には、利用可能な出力を調査し、且つ、このアクションの要件に対して明白な解決策が存在しているかどうかを確かめなければならない。次いで、ブロック56によって示されているように、ソフトウェアは、プロセスAreControlContentsValidアクションを呼び出し、アクションを完了させるのに必要な情報のすべてが有効であるかどうかを判定する。判定分岐58によって示されているように、はいの場合には、ボックス62によって示されているように、アクションボックスは、青色でマーキングされ、そうでない場合には、ボックス60によって示されているように、アクションボックスは、赤色でマーキングされる。具体的には、プロセスUadateActionFromUIは、UIから指定のパラメータを取得し、且つ、それらをアクション内に配置する。このプロセスが終了する66前に、個々のアクションによって生成された結果を変更するために、ブロック64によって示されているように、DeclareResultsのルーチンが呼び出される。この特定のルーチンは、すべてのマクロアクションの一部分であり、且つ、指定のパラメータ名及びタイプを使用する出力結果を宣言し、且つ、その出力結果のグローバルに一意であるIDGloballyUniqueID:GUIDをも返す。更には、このルーチンは、アクションによって宣言されたそれぞれのパラメータ名結果のカウントをも維持している。従って、図4は、図3のブロック64によって示されているDeclareResultsのフローチャートを示している。繰り返しになるが、アクションがマクロに追加又はマクロから削除されるたびに、そのアクションについて、DecleareResultsが呼び出される。アクションのDeclareResultsが真trueを返した際には、これは、新しい出力結果の宣言が完了していることを常に意味している。これが発生した際には、組み込まれたソフトウェアは、すべてのアクションを調査し、且つ、自動完成手順を実行する。プロセスの一部として、ソフトウェアは、図4のブロック70によって示されているように、結果のリスト内のアクションのSpecifiedParameterNameをチェックする。この後に、ソフトウェアは、判定分岐72によって示されているように、グローバルに一意のIDGUIDが特定のアクションについてナル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などのアプリケーションソフトウェアとThermoFisherScientificInc.によって、例えば、彼らの市販の計測器との関連において提供されるND2000及びINSIGHTなどのUVアプリケーションソフトウェアの間において実質的に同一である一般的なインターフェイス内に非常に複雑なアプリケーションのためのすべての関係する情報即ち、50万を上回るステートメントを有するものを収容する例えば、IApplicationContextインターフェイスと適切に呼称されるアプリケーションインターフェイスを有する。このアプリケーションコンテキストは、それぞれのマクロステートメントに対する唯一の入力であり、且つ、本発明のマクロプログラミング言語に関する限り、これは、指定のアプリケーションコンテキストを使用してその機能を実行するようにそれぞれのステートメントに対して指示するのみである。本明細書に提示されているマクロ言語は、それぞれのステートメント内において発生する内容については、なにも解釈する必要がない。このような構成により、上述のように、本発明のマクロ言語は、上述のThermoFisherScientificInc.によって提供される多様なアプリケーションのいずれかと共に使用することができる。又、技術者や実験者などの当技術分野における熟練したプログラマは、望ましい統合された計測器の特定の機能を実行するのに必要な任意のDLLDynamicLinkLibrariesを生成した後に、一般記述セクションにおいて、上述の多様な計測器のいずれかをサポートするように、本発明のソフトウェアを構成することができる。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によって示されているように、例えば、ViewUserInterfaceなどのプルダウンメニューから、ステートメントのいずれもが対話型のユーザーインターフェイスと関連付けられていないことを知ることを示している。図7Bは、アクションボックスDisplayMeasurement124及びDisplayTable128を水平ラインとして示されている挿入地点130において追加することにより、個々のアクションボックス124及び128を介してマクロによって編集される編集可能なDisplayMeasurement部分124’及び編集可能なDisplaytable128’を含む編集可能なユーザーインターフェイスUI134が自動的に生成されることを示している。簡潔に上述したように、開発者は、自動生成されたUI要素のサイズ及び位置例えば、それぞれの要素のx、y、幅、高さ、及びz次元を変更することが可能であり、且つ、その情報は、マクロ内に保存され、且つ、マクロが実行されてUIを表示する際には、常に使用されることになる。図8Aは、編集可能なUI134内にボタン144’、148’を提供するために画面作業空間20内のサブタスクに接続された、例えば、DisplaySubmacroButton144、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に対して電子的に例えば、有線又は無線で接続されてもよいことに留意されたい。本明細書の様々な実施形態との関連において記述されている特徴は、本発明の精神及び範囲を逸脱することなしに、任意の組合せにおいて混合又は整合されてもよいことを理解されたい。様々な選択された実施形態が詳細に図示及び記述されているが、これらは、例示を目的としており、且つ、本発明の精神及び範囲を逸脱することなし、様々な置換及び変更が可能であることを理解されたい。