説明

式をグラフィカルに定義する方法

【課題】グラフィカルに式を定義する。
【解決手段】第1の演算子オブジェクトのグラフィカルな表現が表示される。データを含むための変数オブジェクトが提供される。変数オブジェクトを第1の演算子オブジェクトの入力の1つ又は結果の1つに関連付けるためのユーザからの入力が受け取られる。第1の変数オブジェクトのグラフィカルな表現及びその演算子オブジェクトに対する関係が表示される。オブジェクト間の関係の論理的な記述が記録され、これによって式を定義する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力データを処理して結果を生成するための式をグラフィカルに定義する方法に関する。特に、その方法は、コンピュータプログラムの形態により具体化される。
【背景技術】
【0002】
データの複雑な処理のためには、通常、多くの複雑な式を必要とする。その式を定義するためには、しばしば、データの処理を表現する多数のレベルのアプローチを提供するモデルが有効である。モデルの各レベルのために必要とされている式を解くことは、しばしば難しいに違いない。もし式がグラフィカルに表現でき定義できるならば、それはこの処理のためにさらに役に立つに違いない。
【0003】
コドスキー他による米国特許No.4901221は、プロセスをモデリングするためのグラフィカルなシステム及び方法を開示している。その開示されている方法は、図表を作成するユーザが、創造された図表がある結果を達成するための手続き上の方法をグラフィカルに表示するようなブロック図エディターを使用することを可能にする。ユーザがデータ流れ図を作成する時、機械語命令は自動的に生成され、それは表示手続きに対応する実行手続きを特徴つける。ユーザはグラフィカルなプログラミング環境を使用することによって、テキストベースのコンピュータプログラムを単独で創造することができる。この方法の限界は、これが、任意の与えられた時間に入力変数に当てるデータの関数の結果である各出力を生成するための繰り返し制御に依存しているということである。これはまた、データフローの多数の繰り返しを制御するための繰り返し制御手段を参照する繰り返しアイコンを含むデータ流れ図の、スクリーン上での組み立てにも依存している。
【0004】
特にデータの繰り返しを考慮することなしにモデルを設計する場合には、モデルに適合したオブジェクトを設計する場合が望ましい。
【発明の開示】
【0005】
本発明の目的は、式をグラフィカルに定義する方法を提供することにある。
【0006】
本発明の第1の観点によれば、少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供し、前記第1の演算子オブジェクトをグラフィカルな表現で表示し、データを保持するための第1の変数オブジェクトを提供し、前記変数オブジェクトを前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付ける入力をユーザから受け付け、前記第1の変数オブジェクト及びその前記第1の演算子オブジェクトとの関係をグラフィカルな表現で表示し、前記オブジェクト間の関係の論理的な記述を記録し、これにより、論理的記述により式が定義されるコンピュータにより実行されるグラフィカルに式を定義する方法が提供される。
【0007】
本発明の第2の観点によれば、データを保持するための変数オブジェクトを提供し、前記変数オブジェクトをグラフィカルな表現で表示し、少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供し、前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つを前記変数オブジェクトに関係付ける入力をユーザから受け付け、前記第1の演算子オブジェクト及びその前記変数オブジェクトとの関係をグラフィカルな表現で表示し、前記オブジェクト間の関係の論理的な記述を記録し、これにより論理的記述により式が定義されるコンピュータにより実行されるグラフィカルに式を定義する方法が提供される。
【0008】
好適には、前記方法は、1以上のさらなる変数オブジェクトを提供し、前記さらなる変数オブジェクトの各々を第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付けるさらなる入力をユーザから受け付け、前記さらなる変数オブジェクト及びそれらの前記演算子オブジェクトとの関係をグラフィカルな表現で表示する工程をさらに有する。
【0009】
好適には、前記方法は、1以上のさらなる演算子オブジェクトを提供し、各変数オブジェクトを前記さらなる演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付けるさらなる入力をユーザから受け付け、前記さらなる演算子オブジェクト及びその前記変数オブジェクトとの関係をグラフィカルな表現で表示する工程をさらに有する。
【0010】
好適には、各変数オブジェクトは、データソースからのデータを提供するための入力オブジェクト、データの行き先にデータを供給する出力オブジェクト、又は、1つの演算子オブジェクト又はもう1つの演算子オブジェクトからデータを流すための結合オブジェクトより選択される。好適には、結合オブジェクトは演算子オブジェクトの間のリンクとして表現される。好適には、各変数オブジェクトは変数ラベルを伴って提供される。好適には、各演算子オブジェクトは演算子ラベルを伴って提供される。
【0011】
好適には、前記式の前記論理的な記述は前記オブジェクト間の論理的関係により定義される。好適には、オブジェクト間の前記関係の前記グラフィカルな表示を定義する前記式のグラフィカルな定義は記録される。
【0012】
好適には、前記方法は、前記論理的な定義を記述する情報を記憶する工程を含む。好適には、前記方法は、前記グラフィカルな定義定義を記述する情報を記憶する工程を含む。
【0013】
好適には、2以上の前記演算子オブジェクトがグループ化されており、グループ化は、グルーピングの演算子オブジェクトを定義し、その中においてはグルーピングの境界を横切りグループ内の演算子オブジェクトの入力に対して結合されている変数オブジェクトがグルーピングオブジェクトコンポーネントの入力となり、グルーピングの境界をクロスしグループ内の演算子オブジェクトの結果に結合された変数オブジェクトは、グルーピングの演算子オブジェクトの結果となる。
好適には、他のオブジェクトにリンクされていないグループ内の演算子オブジェクトの入力及び結果は、各々、グループのオペレータオブジェクトの入力及び結果となる。好適には、グループ化されたオブジェクトのグラフィカルな表現は、グループの演算子オブジェクトのグラフィカルな表現によって配置され、グループのコンテンツへのグラフィカルな表現は、グループのオブジェクトの表現へのリンクのグラフィカルな表現により配置される。
【0014】
好適には、定義された式の論理的な定義は、グループの演算子オブジェクトの内容を含む。好適には、表示される全ての式のグラフィックの定義は、グループの演算子オブジェクトの内容を含まない。好適には、グループの演算子オブジェクトの内容は、式の全てのグラフィカルな表現とは分離されてグラフィカルに表現される。
【0015】
好適には、変数オブジェクトは保持可能なデータのタイプを定義する属性を付される。好適には、演算子オブジェクトの入漁k及び結果は、演算子オブジェクトが受け取ること及び生成することが各々予測されるデータのタイプを定義する属性を付される。
【0016】
好適には、変数オブジェクトは、既に定義されており調停する演算子オブジェクトによって関係付けられている他の変数オブジェクトの属性から、属性を受け継ぐ。好適には、変数オブジェクトは、既に定義されており、関係付けられている演算子オブジェクトの入力又は結果の属性から、属性を受け継ぐ。好適には、演算子オブジェクトの入力または結果は、既に定義されており関係付けられている変数オブジェクトの属性から、属性を受け継ぐ。
【0017】
好適には、既に付されており対応が関係付けられているオブジェクトの属性をチェックするステップを含む。
【0018】
好適には、ラベル付けされた変数オブジェクトのライブラリが予め定義されている。好適には、ラベル付けされた変数オブジェクトのライブラリが予め定義されており、各ラベル付けされた変数オブジェクトの処理の方法、その生成のための入力及び出力もまた、予め定義されている。
【0019】
好適には、変数オブジェクトの変数ラベルは、予め定義した変数ラベルのリストから選択される。好適には、各変数ラベルには、ラベルによりラベル付けされた変数オブジェクトが含むことができるデータのタイプが定義されている属性が付されている。好適には、変数ラベルの選択は、変数オブジェクトへのラベルに関連付けられた属性が付される。好適には、変数オブジェクトに付されている属性は、選択が有効なラベルの選択を制限する。
【0020】
好適には、演算子オブジェクトは、少なくとも、加算、減算、乗算、除算、ルックアップテーブル及び条件付動作の1つである。好適には、演算子オブジェクトは、より複雑な演算子の実行にリンクされた多数の単純な演算子を含む多数の段階の演算である。好適には、一形態においては、演算子オブジェクトはデータベースのキュエリである。好適には、第1の演算子オブジェクトはデータベースへの書き込みを行う。
【0021】
好適には、演算子オブジェクトの演算子ラベルは予め定義された演算子ラベルのリストより選択される。好適には、各演算子ラベルには、ラベルを付された演算子オブジェクトが受け取り又は提供することのできる入力又は結果の各々のデータのタイプを定義する属性が付される。好適には、演算子ラベルの選択は、演算子オブジェクトへのラベルに関連する属性が付されている。好適には、演算子オブジェクトに付された属性は、選択されることが可能なラベルの選択を制限する。
【0022】
好適には、論理的な記述はランタイムエンジンにより使用され、定義した式の処理が行われ、各変数オブジェクトに提供されたデータは、演算子オブジェクトの入力にリンクされ、これにより、データは、式のオペランドとなり、演算子オブジェクトによって表現される各演算子は、式の演算子となり、演算子オブジェクトの各結果は、次の演算子又は式の最終的な結果となり、これにより、式の処理が実行され式の結果が得られる。
【0023】
好適には、各変数に対して名前領域が定義され、これにより、変数オブジェクトにより表現される論理的な変数におけるデータは、名前空間内の変数オブジェクトの各発生と同じである。好適には、名前空間は、モデル化された式に対するデフォルトグローバルによる。好適には、論理的な結合は、名前空間内のラベルが付された変数オブジェクトの各発生の間に生成される。好適には、グラフィカルなリンクが表示され、ラベル付けされた変数オブジェクトの発生の間の論理的な結合が示される。
【0024】
好適には、名前空間は各演算子オブジェクトに定義され、これにより、演算子オブジェクトにより表現される論理的な演算子の処理は、名前空間内の演算子オブジェクトの各発生と同じである。
【0025】
好適には、グループ化された演算子オブジェクトは、1回以上グループ化された演算子オブジェクトの定義に使用され、式の論理的な定義に適用される。
【0026】
好適には、ラベルの属性は、タイプ、単位及びディメンションを有する。好適には、グラフィカルな定義は、XMLにより記述される。好適には、論理的な記述は、XMLにより記述される。
【0027】
好適には、各演算子オブジェクトは、演算子オブジェクトにより表現される演算子により実行される多数の演算の定義を含み、各定義は、演算子により処理されることができるデータの分離したタイプのためである。
【0028】
好適には、演算子オブジェクトは、1つ以上の入力及び1つ以上の出力を有するコンポーネントとしてグラフィカルに表現され、そのコンポーネントは、表現される演算子に表示されるインジケータを有する。好適には、演算子オブジェクトは、結果を生成するための処理の方法の入力が未だ定義されていない演算子の表現である空コンポーネントである。好適には、前記空コンポーネントは、適切に定義された方法を有する適切な演算子オブジェクトをサーチするための基準を形勢するために使用される。
【0029】
好適には、オブジェクトのライブラリが提供される。好適には、オブジェクトは、外部より供給される。
【0030】
本発明の第3の観点によれば、本発明に係るグラフィカルに式を定義するシステムは、ディスプレイ及びユーザ入力手段を有するコンピュータと、少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供する手段と、前記第1の演算子オブジェクトをグラフィカルな表現で表示する手段と、データを保持するための第1の変数オブジェクトを提供する手段と、前記変数オブジェクトを前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付ける入力をユーザから受け付ける手段と、前記第1の変数オブジェクト及びその前記第1の演算子オブジェクトとの関係をグラフィカルな表現で表示する手段とを有し、これによりオブジェクト間の関係により式が定義される。
【0031】
本発明の第4の観点によれば、本発明のコンピュータをコントロールすることにより式をグラフィカルに定義するコンピュータプログラムは、少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供し、前記第1の演算子オブジェクトをグラフィカルな表現で表示し、データを保持するための第1の変数オブジェクトを提供し、前記変数オブジェクトを前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付ける入力をユーザから受け付け、前記第1の変数オブジェクト及びその前記第1の演算子オブジェクトとの関係をグラフィカルな表現で表示し、前記オブジェクト間の関係の論理的な記述を記録し、これにより、オブジェクト間の関係により式が定義される。
【0032】
本発明の第5の観点によれば、本発明に関わる記録媒体は、前述したコンピュータプログラムが記録されたコンピュータにより読み取り可能な記録媒体である。
【0033】
本発明の第6の観点によれば、本発明のコンピュータにより実行されるグラフィカルに式を定義する方法は、少なくとも1つのデータを保持するための変数オブジェクトを提供し、少なくとも1つの前記入力データを処理し結果を生成する方法を定義する演算子を提供し、ユーザに結果の変数を選択するための変数のリストを表示し、入力データの処理の結果を記憶するための結果の変数の選択をユーザから受け取り、前記選択された結果の変数をグラフィカルな表現により表示し、演算子を選択するための演算子のリストをユーザに表示し、ユーザより演算子の選択を受け取り、選択された演算子のグラフィカルな表現を表示し、ユーザに前記変数か1以上の定数であるところの少なくとも1つの入力を選択させるため、入力データを記憶するための入力のリストを表示し、ユーザからの少なくとも1つの入力の選択を受け取り、前記選択された入力のグラフィカルな表現を表示し、これにより、選択された結果変数を、選択された処理による選択された入力の処理と等しくすることによって、式を定義する。
【0034】
本発明の第7の観点によれば、本発明のコンピュータにより実行されるグラフィカルに式を定義する方法は、予め設定された属性を有する少なくとも1つの変数のタイプを提供し、少なくとも1つの前記入力データを処理し結果を生成する方法を定義する少なくとも1つの演算を提供し、ユーザに変数のタイプを選択させるため変数のタイプのリストを表示し、ユーザからの変数のタイプの選択を受け取り、選択した変数のタイプに対する名前を受け取り、名前が付された変数を表示し、ユーザに演算を選択させるための演算のリストを表示し、ユーザからの演算の選択を受け取り、選択された変数を選択された演算と協働させるためのユーザからの入力を受け取り、選択された変数を入力された変数か結果の変数とし、選択された変数が結果の変数とされた場合には、ユーザから少なくとも1つの入力変数か入力定数及びその入力変数又は入力定数に対する名前を受け取り、その入力された変数又は入力された定数をグラフィカルに表示し、選択された変数が入力の変数とされた場合には、出力変数の名前を受け取り、これをグラフィカルに表示し、これにより、入力変数又は入力定数による入力データの選択された演算による処理の結果により式を定義し、結果の変数を得る。
【発明を実施するための最良の形態】
【0035】
式は、1つ以上のオペランドに演算子を適用することによる結果の計算のための方法論の記述である。典型的には、オペランドは代数学上の観念における変数である。本発明は、オペランド(変数)及び演算子に関しての記述としての式を定義する。具体的には、変数及び演算子は関係がある。簡単な式X=A+Bは、オペランドA及びBと加算演算子(+)との間の関係の記述である。本発明は、これがグラフィカルに表現されることを可能にするものであり、これは複雑なモデルや関数を表現するときに望ましい。本発明はまた、定義されたグラフィカルな関係の記述、換言すれば、式を定義する変数と演算子との間の関係を生成する。
【0036】
本発明の方法は、グラフィカルの式定義ツール(GFDT)12により実行される。図1に示すように、GFDT12は、グラフィカルユーザインターフェイス(GUI)14と相互に作用する。GUI14は、コンピュータのオペレーティングシステムの一部を構成する。その一例は、マイクロソフトのウィンドウズ(Microsoft Windows)の種々の版、マッキントゥッシュブランドのコンピュータのためのMacOS、あるいは、UNIXオペレーティングシステムの下で動作するX−Windowsである。GFDT12は、グラフィックディスプレイに提供するための命令を提供するGUI14と通信する。
【0037】
図2に示すように、FGDT12は、2つの主要部、コンポーネントマネージャ(Component Manager)16及びコネクションマネージャ(Connection Manager)18を有する。コンポーネントマネージャ16は、少なくとも1つの入力を処理し結果を生成する方法を定義するために提供される演算子オブジェクト20を取り扱う。演算子オブジェクトは、式の中の演算子を示す物である。本例においては、演算子はコンポーネントとして参照される。従ってコンポーネントマネージャは好適な具体例の目的のためにコンポーネントオブジェクト(Component Object)を管理する。
【0038】
コネクションマネージャ18は、変数オブジェクトを取り扱う。変数オブジェクトは、式の結果の計算の各実例のための式の中のオペランドを示す物である。変数オブジェクトには多数の型が生じ、その主な1つは、コンポーネントにまたはコンポーネントからデータを流す、後により詳細に説明するような、結合オブジェクト(Connector Object)22である。変数オブジェクトの他の型は、一般的にラベルにより名前が付けられる入力及び出力オブジェクトである。これらは、好適な具体例において、名前付き結合として参照される。それらにはユーザが参照できるラベルが付付されるので、コンポーネントに又はコンポーネントから流されるデータについての情報を知るための、名前付き結合として参照される。
【0039】
GFDT12は、ユーザに対して、GUI14を介して、定義される際に式をグラフィカルに表現するインターフェイスを提供する。GFDT12はまた、それが定義された時に、式の論理的な記述を記録する。グラフィックの記述の記録は論理的な記述の記録とは区別される。論理的な記述は、インターフェイスの中に表示されるオブジェクトの間の関係を論理的な用語により記述される。インターフェイス24の画面のコピーを図3に示す。
【0040】
インターフェイス24は、標準的なWindowsのウィンドウであり、ツールバーブ26、基本ウィンドウ28及び補助ウィンドウ30を有する。基本ウィンドウ28は、総括的な式の部分を示すカレントページを表示する。ウィンドウ26は、ページセレクタ32を含む。その他のページは、式のほかの部分を示すように提供される。メインウィンドウ28は、アキュムレータのための簡単なモデルを表示して示されている。
【0041】
式またはモデルを作成する方法を、図4A〜4Dを参照して記述する。この例は、採掘現場に関わる。採掘現場の計画、予算を組むこと又は監視は、予め定義された式に従った計算の結果を用いることにより行われる。式は、入力変数に含まれる情報が特定の演算子に従って処理され結果を生成したときに生成された結果を決定する。その結果から、採掘現場の運営の計画、予算を組むこと又は監視は実行される。具体的には、”Load and Haul IPD”の結果が一例として使用される。”Load and Haul”は、このケースでは、デフィアンス(Defiance)という名前の穴における、採掘穴からの鉱物に含まれる物質の積載及び運搬のコストである。
【0042】
図4Aに示すように、”Load and Haul IPD”が計算されることが望まれている。マウスの移動によりポインタの位置を決め、クリックし、ドラッグし、所望の位置に変数オブジェクトを下ろすというよく知られている処理により、変数オブジェクト34がツールバー26より選択され、メインウィンドウ中に配置される。その変数オブジェクトには、”Load and Haul IPD”という名称が付与される。使用されるシンボルに対する取り決めは、名称の付された変数(名称の付された変数オブジェクト)は円形の中、コンポーネント(演算子オブジェクト)は入力を表す内向きの矢印及び出力を表す外向きの矢印を伴う矩形、及び、データの流れの結合(変数オブジェクト)はラインにより表現する、というものである。
【0043】
”Load and Haul IPD”変数34には特定の属性が付与されてもよい。これは、補助ウィンドウ30中の”Properties”タブが選択され、これは数値でなければならないというような所望の属性、より具体的にはそれは通貨を示す数値でなければならずその通貨単位は”AU$”であるというような属性が入力されることにより行われる。一度生成されたその変数は、”Load and Haul IPD”とラベルが付された円形34として、ビデオディスプレイユニット上にグラフィカルに表現される。その変数のアイコンは、それが手入力のような任意の適切なソースからデータを受け取ってもよい、それは他のプログラムから受け取られてもよい、又は データベースから受け取られてもよい、ということを表現することになるだろう。
【0044】
”Load and Haul IPD”は、”Load and Haul(精選)”データが加えられた”Load and Haul IPD(バルク)”データから計算される。すなわち、”Load and Haul IPD”はバルク物質及び精選物質の積載及び運搬のコストを表現する。バルク状物質は、鉱物が含有する物質及び非鉱物が含有する物質を生成する採掘方法から得られる。精選された鉱物は、上質な、鉱物が含有する物質を生成する採掘方法から得られる。
【0045】
図4(B)に示すように、次のステップは、ツールバー26からコンポーネント36を選択すること及びメインウインドウ28中に配置することである。通常、各コンポーネントのボタンの数又はリストはユーザに提供され、そこから、図3に示すような加算、減算、乗算、除算等から選択される。条件付き演算、及び、微積分、三角法等のその他のより複雑な演算等のコンポーネントは、ルックアップテーブルのようにして提供される。これに加えて、データまたはテキストを取り扱う演算も含まれる。実行可能な演算の型は制限されない。実際に多数のレベル化された演算を含む膨大な演算のライブラリが利用可能にされている。これについては、後により詳細に説明する。このケースでは、”加算”演算が選択されている。加算は、ボックス36としてグラフィカルに表現される。加算は少なくとも2つの(このケースでは実際に2つの)入力及び1つの出力を有する。そして、オブジェクト間の関係が生成される。このケースにおいては、”Load and Haul IPD”変数は加算の結果である。従って、結合オブジェクト38をツールバー26より選択することによって、これらは結合され、加算コンポーネント36の出力矢印を”Load and Haul IPD”変数34に接続するライン38が引かれる。従って、”Load and Haul IPD”は連携の特徴の効力によって結果変数となる。入力及び出力は矢印として表現され、連係は、結果の矢印と変数との間の結合38として表現される。
【0046】
図4(C)に示すように、もう1つの変数オブジェクト40がツールバー26より選択され、メインウィンドウ28中に配置され、”Load and Haul IPD(バルク)”の名称が付される。変数名は、初めのうちは、ユーザが所望の変数を選択するためのリストを生成するために入力される。その他の点としては、変数の名称は、要求されるように入力されてよい。”Load and Haul IPD(バルク)”変数40は、もう1つの結合オブジェクト42がツールバー26より選択されて2つのオブジェクトの間が結合されることによって、加算演算子36の入力と連携される。このようにして、”Load and Haul IPD(バルク)”は入力変数になる。”Load and Haul IPD(バルク)”は円形40として表現され、入力関係は、変数とコンポーネントの間の結合42として表現される。
【0047】
図4(D)に示すように、”Load and Haul IPD(精選)”と名称が付されたもう1つの変数44が選択され、配置され、加算演算子36の他方の入力と連携される。この式の定義は、これにより完了する。結果の変数、コンポーネント(演算子)及び入力の変数の選択、及び、それらの間の関係は、次のように定義された式という結果をもたらす:「入力変数”Load and Haul IPD(バルク)”及び入力変数”Load and Haul IPD(精選)”は、加算演算子によって合算され、結果の変数”Load and Haul IPD”が生成される。」。式が演算の実行に付された時には、入漁データ変数に入力されたデータが、定義された式に従って、結果変数に入力される結果を生成する。
【0048】
定義した式を後の回復のために記憶するために、各オブジェクトの型、名称及び属性は、全て、ウィンドウ28内の各オブジェクトの位置に対応して記録される。この情報により、式は、記憶し後の表示の際に回復することが可能となる。
【0049】
ブロック図による式の描画と同時に、式の論理的な定義も記録される。再び図4(A)を参照すると、変数オブジェクト”Load and Haul IPD”34 の生成は登録される。図4(B)においては、加算コンポーネント36の生成もまた、その配置と同様に登録される。加算コンポーネントの出力と変数”Load and Haul IPD”との間の結合38の配置も登録される。そして、コンポーネントの結果の出力と結果の変数との間の論理的な結合が、記録される。
【0050】
図4(C)に示すように、同様に、変数オブジェクト”Load and Haul IPD(バルク)”40及びその加算コンポーネントの第1の入力への結合が登録される。再び図4(D)においては、”Load and Haul IPD(精選)”精選変数の生成及びその加算コンポーネントの第2の入力への結合も登録される。コンポーネント及びそれらの間の結合(及びこれによるそれらの関係)の登録は、これによって登録される。従って、式の論理的な定義が、オブジェクト及びそれらの関係の記述という形態で生成される。画面上の位置及びその他のグラフィカルな情報は、その論理的記述に対しては重要ではなく、単にグラフィックの記述の中に記録される。
【0051】
そのグラフィックの記述は、ユーザ、ある意味で関わることのできるユーザ、に対する式の表示のために使用され、式の論理的な記述の記録は、式の処理エンジンによって、定義された式を使用に供するために使用される。ユーザは、論理的な記述に関わる必要はなく、処理エンジンは、グラフィックの記述に関わる必要はない。このような単純な式を対象とするこの段階においては、グラフィックの記述及び論理的な記述は、概念のレベルにおいては実質的に異ならない。しかしながら、より複雑な式がモデル化されるに際しては、後述するように、これらの定義は異なってくる。しかしそれでも、ユーザはまだ、定義される式に対して、式のグラフィカルな表現によって知的なレベルで関わることができ、式の処理エンジンは、単にグラフィカルな表現に関連するのみの情報を除外しなければならないということ無しに、論理的な記述を使用することができる。
【0052】
変数と演算子との間の連携は、演算子の他の入力の属性が少なくともある程度の範囲で決定されることを可能にする。例えば、結果の変数の演算子との連携は、このケースでは通貨を示す数値であるが、演算子の入力の属性が知られることを可能にする。”Load and Haul IPD(バルク)”入力変数が入力の1つと連携されている時には、この入力変数に連携されている属性は、演算子の要求に対してチェックされる。代わりに、もし”Load and Haul IPD(バルク)”入力変数がそれに連携された属性を持っていなければ、それはこれらの属性を受け継ぐことができる。従って、”Load and Haul IPD”は通貨を示す数値であるという属性を持っているので、”Load and Haul IPD(バルク)”及び”Load and Haul IPD”の両方の変数もまた、通貨を示す数値であるに違いない。チェックが実行され、もしいずれかの入力が要求されている属性と一致しなかった場合には、警告が発せられるか、又は、この連携は許されない。また別の状態としては、もし入力が連携している属性を持っていなければ、その通貨を示す数値であるとの属性が受け継がれる。
【0053】
チェックと継承は双方向に働くことができる。すなわち、もし入力が通貨を示す数値であるとの属性を持っているならば、結果もまたチェックされ、それが矛盾のない属性を持っているか否かを確かめられる。通常は、より最近に生成された入力/結果変数が、チェックされる。
【0054】
コンポーネントの入力及び出力は、コンポーネントに関わる属性情報を保持する。コンポーネントは、入力から出力を生成するという機能とともに、その入力及び出力の属性により定義される。
【0055】
図5において、”Load and Haul IPD(バルク)”40の値を計算する式は、入力変数”Bulk Rate”48と入力変数”Bulk BCMs”50の乗算によって定義される。バルクレート(”Bulk Rate”)は、その場所における各1立方メートルのバルクの鉱物が含有する物質の採掘のためのコストを示す。バルクBCM(”Bulk BCMs”)は、バルクの物質の(その場所に)堆積された立法メートル(BCM)を示す。この式は、同様のステップを使用することにより再び組み立てることができ、先の式が定義される。”Load and Haul IPD(バルク)”入力変数40は、結果変数として使用可能である。それは、従って、選択されディsプレイ上に表現される。もし、”Bulk Rate”及び”Bulk BCMs”入力変数が、まだ使用可能でないならば、それらは入力される。乗算演算子オブジェクト46が、次に、選択され、入力変数及び出力変数と連携される。これは、乗算演算子の表現がドラッグされて配置されることにより実行されてよい。入力及び結果変数は演算子に関係付けられる。従って、入力変数(”Bulk Rate”及び”Bulk BCMs”)は演算子の入力に結合され、出力の矢印は結果変数(”Load and Haul IPD(バルク)”)に結合される。ここで、変数及び演算子の配置の順番は、先に定義した式とは異なる。この順番は、属性のチェック及び継承の順番の相違のみををもたらす。もし、乗算の時に入力変数の属性が結果変数の属性と矛盾していれば、属性の継承に問題があるとのメッセージがユーザに提供される。すなわち、もし、バルクレート入力変数が容積当たりの価格を示す数値であるとの属性を持っていなければ、及び/又は、バルクBCM入力変数が容積を示す数値であるとの属性を持っていなければ、警告メッセージが与えられるか、又は、もし2つのうちの一方が正しい属性を持っていれば他方に正しい属性が継承される。属性の解析と継承は、変数/定数の次元に限定される必要はない。数値の単位もチェック可能であり、例えば、もし一方の単位がAU$であり他方の単位がUS$である場合、これは警告という結果になる。これに代わって、後に記述するように転換を行ってもよい。
【0056】
この式は、図4(D)の式と同じページに生成されてもよいし、新しいページに生成されてもよい。もし別々のページになるのであれば、適切なページを選択するために、ページセレクタ32が使用される。これはまた、特に、それらが別々のページ上にあるならば、グラフィックの定義が論理的な定義から分離され始める場所でもある。各ページが各式に対する分離されたグラフィックの定義を含む場合には、論理的な定義は、図5の式の”Load and Haul IPD(バルク)”結果変数と図4(D)の式の”Load and Haul IPD(バルク)”入力変数との間の結合を形成する。1つの式は、ユーザに対して、2つのより小さな式として表現される。これは、式の知的な理解を助けるが、論理的には、分離はない。これは、同じ名前が付されている変数が作用する特有の空間を有しているときに分離が生じることができないと言うことではない。
変数(及びコンポーネント)に対する名称の空間は、それらのアプリケーションを限定し定義されることが可能である。これについては、後に詳細に説明する。
【0057】
ここで、コンポーネントマネージャ16及びコネクションマネージャ18により行われる処理について、図6,7及び8を参照してより詳細に説明する。図6に示すように、コンポーネントマネージャ16は、まず、52において、ユーザにコンポーネントタイプを、ツールバー26の中に表示されているパレットから選択させる。図3に示す例においては、加算、減算、乗算及び除算のボタンがコンポーネントとして選択されるように提供されている。これらのボタンの1つが押されると、オペレーティングシステムはコンポーネントマネージャ16にその特定のボタンが選択されたことを通知する。演算子コンポーネントのタイプは知られている。そこで、ユーザは、54において、描画ウィンドウ28の中でクリックする。すると、クリックされた場所にコンポーネントが配置されるという結果をもたらす。これは、56においてコンポーネントが描画ウィンドウ28の中に描画され、58においてコンポーネントが式の定義の中に登録されるということを必然的にもたらす。コンポーネントの名称、そのタイプ及びページ上の位置やコンポーネントを表現するためのアイコンの詳細のようなコンポーネントのグラフィカルな表現のための詳細な仕様が記憶される。論理的な定義におていは、コンポーネントの名称やタイプのような詳細が登録される。
【0058】
図7に示すように、名前の付された結合が式の中に含まれることになる時には、ユーザは、60において、名前の付された結合コンポーネントのタイプを、パレットから選択する。62において、ユーザが描画ウィンドウ28をクリックすると、64において、名称が空の結合変数が描画される。その後ユーザは、変数に名前を付したり、または待機した後で名前を付すことが可能である。もし、それに名前が付されたら、66においてが、ユーザsが名前を入力するための設備が提供され、その名前は、その後、68において名称が付された新しい結合において表示される。その名称が付された結合は、その後、70において登録される。名前、タイプ、ページ上の位置、名称が付された結合等の名称が付された結合のグラフィカルな表示に関わる詳細は、記録される。名称、タイプ及び名称が付された結合のような名称が付された結合の論理的な記述の詳細は登録される。
【0059】
図8に示すように、コンポーネント間又はコンポーネントと名前が付された結合の間のような演算子オブジェクト間の結合は、図8に示すような関係で記述される。ユーザは、72において、ツールバーより結合オプションを選択する。ユーザは、74において、コンポーネント上をクリックし、名前の付された結合または他のコンポーネントに結合されている結合子をドラッグする。コネクションマネージャは、76において、それから結合を許すか否かを結合されているオブジェクトの属性に基づいて決定する。もし、78に”no”で示すように、結合が許されなければ、88において、描画されているラインの色を赤に変えることによって警告を発するか、あるいはまた、名前が付された結合の色が赤に変えられる。90においてユーザがマウスを開放した時には、92において描画は達成されず、従って結合は登録されない。もし、78に”yes”で示すように結合が許された場合には、80において、その名前が付された結合の色は緑に変化される。82においてユーザがマウスを開放した時には、84において結合を表現するラインが描画され、86において結合は登録される。ラインの終了点やラインの頂点(曲がり目)のような結合(ライン)のグラフィカルな表現に関する詳細。結合されているコンポーネントの詳細のような論理的な記述に関する詳細は登録される。
【0060】
図6,7及び8に記述された処理は、図面の各ページにおいて発生する。これに加えて、グラフィックの記述においては、各図面は記録された名称(ページ名)を有し、図面の各ページに対しては、各登録コンポーネント、名称が付された結合及び結合の詳細が記録される。これに加えて、ネームスペースの詳細が、後により詳細に説明するように、記録される。
【0061】
図9を参照して、式の定義のもう1つの例を示す。この例においては、”Bulk Rate”48は、ルックアップテーブル94によりいくつかの変数及び定数96〜104から定義される。PIT96は、採掘穴の名前を表す変数である。Schedule98は、採掘される鉱物の量に依存する採掘レートを表す変数である。RL100は、鉱物が掘り出される採掘穴の深さの相対的なレベルを表す変数である。MaterialType102は、例えばそれが新しい物質または沈殿した土砂であるというような、採掘された物質のタイプを表す変数である。Bulk”B”は、文字定数である。ルックアップテーブル94は、5つの入力の値に基づいて、値を調べる演算である。そしてその結果の値は、結果変数48に提供される。図は、その入力及びその出力の間の結合を示す。入力、結果及び演算の選択及びこれらの画面上への表現の配置による関係の構築は記録される。これらのオブジェクト及びそれらの間の関係の論理的な記述はこの式を定義する。
【0062】
図10に示すように、このように大きく記述された例はトップダウンの方法論を使用し、いくつかの単純な式としてのモデルを定義している。これらの式は合わせられるか、又は、示されたの同様の1つの複雑な式として描画される。理解できるように、入力変数”PIT”96、入力変数”SCHEDULE”98、入力変数”RL”100、入力変数”MATERIAL TYPE”102、入力変数”Bulk”B””104、入力変数”Bulk BCMs”50及び入力変数”Load and Haul IPD(精選)”44が全て使用されて、最終的な出力である結果変数”Load and Haul IPD”34が計算される。輪郭をとって符号を付した領域106は、多くのステップが存在する式(モジュール)が連鎖されてより複雑な上のレベルの式を生成されることが可能であることを示す。破線のボックス106の内側のステップは、上位のコンポーネントを形成するためにグループ化され得る。上位のコンポーネントの入力は、”X”により示され、出力は小さいサークルにより示される。
【0063】
上のレベルの式もまた、変数”Bulk Rate”及び”Load and Haul IPD(バルク)”の必要無しに、定義されることが可能である。その代わりに、演算子94の出力が直接に演算子46の入力に与えられ、演算子46の出力は、演算子36の入力に直接に与えられる。換言すれば、演算子は、直接的に連鎖されることが可能である。しかしながら、もし変数”Bulk Rate”及び”Load and Haul IPD(バルク)”がどこかよその場所で使用されている時には、この式の設計は、図10に示すように行うことがより適切かもしれない。
【0064】
演算子の連鎖のコンポーネント化は、コンポーネント化される要素の周りのボックス106の描画及びコンポーネント化する機能の選択により行われる。ボックス106の中のオブジェクトは、その際、カレントページから消去されて、当たらしページに移される。新しいコンポーネントの内部の働きは、新しいページ上において観察可能である。コンポーネントのグラフィックの記述は新しいページにコピーされる。消去されたオブジェクトの場所には、図11に示すように、新しいコンポーネント108が置かれる。コンポーネントのグラフィックの記述は、新しいコンポーネント108への入力を形成する消去されたコンポーネントへの各入力を伴って、カレントページの記述に含まれる。名前が付された結合96〜104、50及び44からの結合は、新しいコンポーネント108の入力に対応して生成される。新しいコンポーネントの出力からの結合は、名前が付されたコンポーネント34に結合される。カレントページの記述は、新しいコンポーネント及びそれらに対する結合を反映してアップデートされる。新しいコンポーネントの入力の各々と、他のページにおいてグループ化されたコンポーネントの入力の各々との間には、論理的な結合が生成される。同様に、そのコンポーネントの出力と他のページのコンポーネントの出力との間には、論理的な結合が生成される。従って、このモデルの論理的な記述は、モデルのグラフィックの記述が異なるのに対して、実際には変更されずに維持される。
【0065】
図11において、図10の106内の連鎖した演算子は1つにグループ化されて、より高いレベルの演算子108を提供している。この演算子は、5つの入漁を要求し、”Load and Haul IPD”の結果変数を生成する。その後は、上位のレベルの演算子108を構成するより低いレベルの式の各々を再定義する必要無しに、新しいコンポーネント108は再利用されることが可能である。コンポーネントの働きを見せるための設備は提供されるかもしれない。これは、例えば、コンポーネントの内部の働きが見せられているページまでページがめくられることにより、内部の連鎖が表示されるまで、それがオープンされるように上位のレベルの式の上でダブルクリックをすることによってもよい。このドリルダウンと呼ばれる次に詳細なレベルを見るための処理である。
【0066】
見てきたように、トップダウンの設計方法は、それらが矛盾なく継承されていることを保証するためのチェックがなされる各レベルの属性を伴う種々の式を定義するために使用され得る。同様にボトムアップの設計方法も採用可能である。これは、多数のレベルのモデルを生成することを許容し、これはグラフィカルに表現され、定義され得る。より上位のレベルの機能のモジュール式の組み立てもまた実行される。
【0067】
図12に示すように、継承は、選択が可能な変数/定数の選択肢を制限するために使用されることができる。すなわち、もし、もう1つの変数を選択することによって、選択された変数がある属性を持たなければならない場合、その変数の選択は、要求される属性を保持する変数に制限されるかもしれない。その他の変数は”グレイアウト”され、選択が不可能にされるか、又は、単純に選択肢のリストに表示されなくされる。継承される属性の一例は、ディメンションの継承である。この場合は、各変数は、例えば距離、時間、量等の少なくとも1つのディメンションを有しなければならない。
【0068】
図12において提供される例においては、定義される式は、A×B=Cである。変数には、タイプ、ディメンション及び単位を含む属性が与えられる。この場合、結果変数Cは、実数の変数であり、質量・距離のディメンション及びキログラムメータ(kgm)の単位を有する。Aは、実数で、そのディメンションは質量で、単位はキログラム(kg)であるという属性を有する。Bは、実数または整数のいずれかであるという属性により定義される。これは、Bは実数または整数のいずれかであるという継承の効果による、A及びCの属性の定義の結果である。もし、例えば、Cが整数として定義されており、Aが整数として定義されていた場合には、これにより、Bも必然的に整数となる。これに加えて、Cは質量・距離(kgm)というディメンションであり、Aは質量(kg)というディメンションであるので、必然的に、Bは距離(m)のディメンションを有することとなる。同様に、もし、A及びBが最初にAがkgでBがmであると定義されるならば、ディメンション及び各入力の単位の効力及び演算子の効果により、単位Cは必然的にkgmとならなければならない。
【0069】
Bは、実数または整数でありディメンションはメータであるので、それらの継承した属性に適合する実際の変数のタイプは、Bである入力変数のタイプを制限する。以前に入力されたいくつかの変数のタイプをリストにしたプルダウンメニュー110が示される。属性に適合する変数のタイプは、通常のフォントによって示され、属性に適合しない変数は、”グレイアウト”されて示される。もちろん、この代わりに、選択が許されない変数のタイプは、単純に表示されないようにしてもよい。
【0070】
この場合、変数タイプ”SHAFT DIAMETER”又は”LEVER ARM LENGTH”が選択され得る。プルダウンメニュから選択されたこれらの変数のいずれかが、その後変数Bの変数タイプとなる。選択され得る変数は、データベース又は変数のライブラリ等の種々のソースから獲得され、手入力されることはない。プルダウンメニュは、図示のごとく、原文通りの変数名のリストを含む。しかしながら、プルダウンメニューの中においては、変数のアイコンの表現も使用可能である。その他の適切な選択手段を使用するようにしてもよい。
【0071】
同じ処理は、Aのようなその他の入力変数、同様にCのような結果の変数にも適用可能である。変数の選択の順番が、その後の変数(又は定数)の属性を必然的に決定する。
【0072】
式の定義の進行をチェックするために、定義される式の一部分の上のポインタが配置された場所に設備が含まれ、そのような大きく定義された式を表示するウィンドウが出現する(図13(A)及び図13(B)に示すように)。
【0073】
図13(A)においては、ポインタはルックアップテーブルの入力のいずれか1つの上に配置されているということがわかる。ポインタの下には、入力の属性は0以上の数字であるグレード(”Grade”)である必要があることを示しているボックスが出現する。グレードはメートルトンあたりのグラムの属性で与えられるということもわかる。
【0074】
図13(B)においては、ポインタはスケジュール結果変数をさしていることが示される。それは、式の定義をそのように大きく示している。このケースにおいては、式の定義は、もし(ルックアップテーブル:変数の中のデータを伴った”montyly cost period”:”period”が”monthly costs lower”値と等しい)であれば、結果は低い方の値(L)であり、さもなければ結果は高い方の値(U)である。これはまた、入力された式のシンタックスをチェックすることも可能である。
【0075】
図14に示すように、この例においては、はさみの圧力の式が定義されている。はさみの圧力(”SHARE STRESS”)=(半径”RADIUS”×曲がりの角度(”ANGLE OF TWIST”)×(はさみの弾性力”SHARE MODULUS OF ELASTICITY”))÷長さ(”LENGTH”)。この例においては、表示されるオブジェクトを表現するアイコンが異なる。はさみの弾性力120は、入力を受け取るルックアップテーブル演算子である。それは、金属合金入力変数122であり、その中においてデータは受け取られる。ルックアップテーブルは、GFDTの中に記憶されているデータを参照するコンポーネントである。あるいは、ルックアップテーブルは、外部データを参照するコンポーネントである。例えば、外部データは、スプレッドシートの形態であってよい。GFDTは、データが外部のソフトウエアアプリケーションから転送されことを可能にするプラグインにより提供されることも可能である。標準的なスプレッドシートアプリケーションは、マイクロソフト・エクセルである。GFDTは、プラグインを介して、エクセルスプレッドシート内のデータを検索するために、エクセルと通信することができる。ルックアップテーブルは、各金属合金のはさみ弾性力に関しては、物質供給者によって供給されるデータから得られる。データは、いくつかの物質供給者から提供されてよい。データは、物質供給者によって提供されたデータベース124から提供されてもよい。データベースは、インターネットのようなコンピュータネットワークを介してアクセスされるようにしてもよい。従って、演算子120はデータベース124をアクセスするデータベースキュエリを伴ってもよい。データベース124は、分散データベースであってもよい。したがって、グラフィカルに式を定義する方法は、データベースキュエリは本方法に従って定義される式の特定のであるとして、データベースキュエリを定義するためにも用いられてもよい。
【0076】
図15に示すように、この例においては、結果変数Eは、E=C(A×B)+Dとして定義され、Cは他の関数である。もし、Cが定義されていなければ、これは空コンポーネントと呼ばれる。Cの属性は、図15に示す式の他の属性により定義されてよい。すなわち、変数A,B,D及びEが、ある程度までは、Cが保持しなければならない動作の入力及び出力という属性を定義する。Cは徐々に定義されることも可能であり、その結果、もし図16に示すようにCに対してもしさらなる入力”f”、”g”及び”w”を加えることが望まれた場合、式が徐々に定義されるように、これらを式に加えられる。新しい入力をコンポーネントCに加えることが望まれている時には、入力をコンポーネントに加えるための選択が選択され、新しい入力及び出力が要望されるように生成される。このように、更なる名前が付された変数”f”、”g”及び”w”が、ここでコンポーネントCの各入力に結合されることが可能である。道央に、追加の出力を要求されたように付け加えることが可能である。
【0077】
コンポーネントCの機能を明記することが望まれた時には、図17に示すように次のレベルへのドリルダウンによって、Cがオープンされることができる。Cの機能のもう1つのレイヤーはボックス126の中に示されるように定義される。あるいはまた、Cの機能は、コンポーネントのライブラリから描画されてもよい。基本ライブラリがGFDTには提供されてもよいし、あるいはまた、ライブラリはオンラインにより提供されてもよい。一度、要求を実行するコンポーネントが発見されたら、それは、式の中に挿入される。図18に示すように、異なるマシン上に存在するコンポーネントが発見されたら、それはコンポーネントの要求される属性を果たし、要求される機能をコンポーネントに付加されている記述のように実行する。そして、これは、インターネットのようなコンピュータネットワークを介してGFDTのローカルなインスタンスに対して、生成されている式に挿入するために、転送されることができる。
【0078】
図16を参照すると、CはA及びBの生成物の機能であり、また、入力f、g及びwを受け取ることがわかる。すなわち、C=(A×B、f、g、w)である。図17を参照すると、Cがドリルダウンした時、A及びBの生成物は結合子128によって借りの変数”p”に結合されていることがわかる。変数”p”は、そこで、統合演算子”=”によって示されるように、入力変数”w”と比較される。”RESULT”演算子は、比較の結果が真かどうかをテストし、その場合には、入力”f”及び”g”を受け取るルックアップテーブルの結果が提供される。一方、もし、比較の結果が偽ならば、結果は0である。”RESULT”演算子の結果は、その後、乗算演算子(”x”)によって示されるように、定数”k”と乗算され、出力130が提供される。これは、そして、加算演算子(”+”)の丹生ロクに提供され、そこで変数Dと加算され、結果Eが提供される。
【0079】
空コンポーネントは、いっぱいに定義されているコンポーネントのプレイスホルダとして提供されることができる。空コンポーネントは、まだ、定義されたその入力と出力との間の機能を持っていない。ユーザは、空コンポーネントを設計環境の中に配置し、その入力及び出力を定義する。コンポーネントの機能は、その後に要求されたように定義されることが可能であるか、又は、入力及び出力の定義は、機能を実行可能なコンポーネントをライブラリから探すときのその探索基準を形成することができる。探索基準は、さらに、キーワード、より上位のクラスの構造情報当のように提供されることができる。空コンポーネントは、さらに、トップダウン設計方法の助けとなる。
【0080】
グラフィカルな表現を支援するために、カラーコーディングを使用することは望ましい。例えば、1つのカラーは、ブルーとし、変数を表現するできる。もう1つのカラーは、グリーンとし、演算子を表現するのに使用する。入力は薄い影付きのライトブルーであり、出力は深い影付きのダークブルーである。これは、式の表現の視覚的な認識の支援となり、特に、複雑で多数レベルの式が表現される時の支援となる。その他の視覚的な表現としては、図中で使用されていたように、アイコンが変数、定数及び演算子を表現するために使用される。
【0081】
GFDTモデルのオブジェクトの多くは、ユーザが観察できて、さらに/又は、変更できるような属性を伴って提供される。図19に示すように、アキュムレータコンポーネントはエクセルスプレッドシート132から受け取った入力を蓄積するように定義される。スプレッドシート132から分離した出力は、演算子134において、最新のサブトータル(ランニングトータル)に加えられ、メモリ演算子136により記憶される。そして、スプレッドシートからの最後の列のデータの時に、ランニングトータル変数138からの結果は、ゲート140によって、合計変数142にゲートされる。そしてこれは別のスプレッドシート144に渡る。146結合子は、高輝度で示される。補助ウィンドウ30に、高輝度オブジェクトの属性が示されている。その高輝度結合子146の属性は、その名前が”コネクタ1”であり、それが数字タイプであり、それは長さのディメンションのためにメータを単位として提供されるということである。ウィザードが、属性の選択を支援するために、Delphi又はVisual Basicのような製品で提供されるものと同様の方法により提供される。いくつかの予め定義されたデータのタイプが、彼らの必要性に応じてユーザによってさらに拡張可能なように提供される。あるいは、ユーザは、拡張したデータタイプのライブラリを購入する又は獲得するようにしてもよい。例えば、複素数のデータタイプは、複素数の実数及び虚数である2つの独立した数字として表現され、また、他の例においては、エンジンの出力の一般的なデータタイプのサブコンポーネントとして、エンジンの出力はパワー、トルク及び角速度によって表現されるかもしれない。
【0082】
図19において、ユーザはフィールドの値を編集することによって、または、ドロップダウンリストから選択を作成することにより、属性の値を簡単に変更することができる。
【0083】
複素数データのタイプは、また、それらに対して実行される動作を定義する必要がある。演算子は、モデルによる表現として、存在するコンポーネントを使用する。例えば、複素数の加算は、実数の加算とは異なるセットの演算子を要求する。それらはともに”プラス(plus)”コンポーネントによって表現されるが、コンポーネントがそのデータタイプを取り扱う方法は、そのデータタイプの本質に依存する。コンポーネントへの結合がなされる時には、これまでに結合子のデータタイプ、又は、演算子又は名前が付された結合の入力又は出力の属性が存在している場所においてはネゴシエーション処理が行われ、データタイプの結合は矛盾ないものでなければならない。このように、各オブジェクト間のネゴシエーション処理を通して、正しいデータタイプが選択される。
【0084】
図20に示すように、加算コンポーネント148は、データタイプに依存して加算のいくつかの方法を実行することができる。これは、データのオーバーローディングとして知られている。データタイプは、テーブルに示すような異なるデータのタイプを処理するための固有の方法により提供されるが、異なるデータタイプを処理するための加算の方法が提供される。追加の定義を加えるためのフォーマットを定義する予め定義された図表が提供されているので、さらなるデータタイプを追加しコンポーネントにより処理されることが可能である。
【0085】
特有のタイプの単位でデータが提供される場合においては、多くのケースにおいてしばしば、変換のファクタが要求される。例えば、時間という同じディメンションにおいて、1つの単位が秒でありもう1つの単位が分で有る場合等である。そのときに変換が要求される。変換のファクタは、例えば時間当たりのキロメータのスピードを、分当たりのメータに変換する時にも要求される。また、ディメンションの定義は、単位の基本的なディメンションの組み合わせを要求する。基本的な定義は、長さ、時間、質量、金額等である。例えば、加速度は、長さ×時間の二乗である。その他の属性もまた、オブジェクトに対して提供される。その他の属性の例は、セキュリティ情報(その情報を使用することのできるユーザのタイプや暗号化情報)、バージョン情報(バージョン番号及びそのバージョンが有効な期間)、証明書情報(保証されたソースから来たものであることを特定するデータタイプ機能)、課金情報(使用に対する支払いのため及びデータ又はオブジェクトに対する署名のためのアクセス)、位置情報(データやオブジェクトの場所のためのIPアドレスやファイル名等)及びブローカ情報(コンポーネントの管理者の情報)を含む。
【0086】
モデル、名前が付された結合及びコンポーネントの定義の各々は、それ自身の名称のスペースを有する。これは、各モデル又はコンポーネントの定義において使用されている各オブジェクトの名前は、それらのモデルまたはコンポーネントに対してユニークであることを意味する。共通の名前を使用している異なるモデル又は異なるコンポーネントの定義、そして特に名前が付された結合のオブジェクトは、同じオブジェクトではない。しかしながら、名称のスペースは変更可能である。これは、変数の名前は特定の範囲内においてのみ適用されるという、多くのプログラム言語におけるローカル変数と同種である。これは、同じ名前を有するものの関係のない2つのオブジェクトが相互に混同されることを防ぐことになる。
【0087】
いくつかの動作は非本質的な外部のものである。これは、それらは、式に関わるエンジンの外部で実行されるということを意味する。それらは、通常アプリケーションに固有のプラグインを通して、外部のコンポーネントを、任意の入力の要求とともにコールすることにより実行される。結果は、さらなる式の処理のために、(そのプラグインを介して)そのエンジンにフィードバックされる。非本質的な外部のコンポーネントは、コンポーネントタイプの定義ファイルを読み込むことによって、GFDT内において有効にされる。そしてこれは、GFDTによる使用のための定義をコンポーネントに対して提供する。コンポーネントタイプは、標準的には、入力及び出力の結合子のセットを有し、コンポーネントがコンポーネントタイプに応じて生成される。
【0088】
もし名前が付された結合がコンポーネントの外部の任意の場所で使用されるならば、1つのグループのコンポーネントのコンポーネント化の時には、コンポーネントの外部に導かれるすべての結合は、名前が付されたコンポーネントに対する入力及び出力オブジェクトを生成し入力する。もし、名前が付された結合がコンポーネントの内部のみで使用されるならば、その名前が付された結合の名前のスペースはコンポーネントとなる。これは、もはやコンポーネントの外部においては有効ではない。この方法は、詳細を隠しユーザにモデルを組み立てる時により構造的なアプローチを行うように仕向ける手段を提供する。複雑なコンポーネントは、十分に定義されたインターフェイスを有する機能ブロックが効果的である。ユーザは、定義されたインターフェイス及び機能ブロックが提供された時に、”スパゲッティ・コード”なモデルを組み立てるのが難しいことに気づく。
【0089】
いくつかのコンポーネントは、マイクロソフト・エクセル、ワードスプレッドシートのように、非本質的な外部のコンポーネントである。これは、GFDTコンポーネントの中に含まれることとなり、モデルの定義の時に使用される。定義が実行され式が計算される時に、実際にエクセルスプレッドシートが使用される。エンジンは、データをコンポーネントに対して及びコンポーネントから流すために、スプレッドシートとエクセルを介して通信を行う。リモートコンポーネントは、メインのモデルとは異なるエンジンで実行する。ローカルな機能エンジンの支店からは、これらは、内部の働きがわからないブラックボックスである。
【0090】
コンポーネント等の2つの要素の間で結合が要求された場合、名前が付された結合がページ上に配置され、ラベルが割り当てられる。そして、その名前が付された結合に属性が割り当てられる。名前が付された結合は、この段階で他のオブジェクトに結合される必要はないが、ほかの名前が付された結合オブジェクトが設計中のページに配置されて、同じラベルがドロップダウンリストから選択されることによって、その他の場所で使用可能となる。これは、新しいオブジェクトを生成しているのではなく、存在している同じオブジェクトに2番目のインスタンスを許したことになる。提供された2番目のインスタンスは、最初のものと同じ名前スペースの中となる。図21に示すように、2つの名前が付された結合の論理的な結合が形成されると、その結果、コンポーネントのような他のオブジェクトへの結合子が名前が付された結合に結合された時に、名前が付された結合の全てのインスタンスは、コンポーネントの属性を隠すことが可能となる。同様に、ある場所の名前が付された結合にデータが提供された時に、論理的な結合のために、それは他の場所の名前が付された結合にも提供される。さらに、その他の論理的な結合のインスタンスは、属性を他のコンポーネントまたは名前が付された結合に関係のある他の結合に転送する。標準的には、名前が付された結合は、モデルの中間値と同様に入力されるデータ及び出力されるデータの確認のために使用される。名前が付された結合は、モデル内の多くの場所に現れる伝統的なソフトウエアプログラム言語における変数と同種であり、コードの実行の間、変化する値を伝達する。名前が付された結合、又は、演算子の入力への数値の割り当ては、ただ1箇所において行われる。なぜならば、その値は、名前が付された結合の他のインスタンスに流されるからである。従って、ただ1つの出力の結合が、演算子又は名前が付された結合の入力に結合することが許される。
【0091】
図22を参照して、コンポーネントAがあるページの名前が付された結合に出力を提供し、これにより、ほかのページの名前が付された結合がコンポーネントBに入漁kを提供するときには、効果は、コンポーネントAの出力とコンポーネントBの入力の論理的な結合が生成されるということである。論理的な結合は、モデルの種々のコンポーネントを介したデータの通信の本質である。論理的な定義に関しては、名前が付された結合は、これは純粋にコンポーネント及び結合の間の網の目状のネットワークであるため、無意味である。
【0092】
2つのオブジェクトの結合の間においては、チェック、照合及び採択が行われる。例えば、もしディメンションが両方の結合に対して定義されていた場合、結合が許可されるためには、それらは同じでなければならない。単位は、変換ファクタが決定されることができる限りにおいては、位置する必要はない。もし一方の端部で属性のいずれかが定義されていない場合は、属性が矛盾ないものであることを維持するために、それらが採択されるか、又は、異なる属性が破棄される。一度、結合の間で矛盾のないデータタイプが調整されたら、コンポーネントは、データタイプに対して有効に動作する機能を保持していることを確認するためのチェックが実行される。もし、保持してない場合には、次に、任意の変換手段が、矛盾なく互換性のあるものに変換するか否かを確認するチェックを行う。例えば、数値は、テキスト文字列に変換する必要がある等である。
【0093】
出力は、多くの入力に結合されてよく、したがって2つの結合の間のネゴシエーションは単純ではないということに注意すべきである。さらなる入力が結合のセットに付加される各瞬間に、データタイプに矛盾がないことの確認を行うための、さらなる調停が実施され、もし必要であれば、データタイプが新しい結合に適合するものに変更される。コンポーネントマネージャは、有効で過負荷な機能で、適切なデータタイプとともに動作するセットをサーチする。これに加えて、有効なデータ変換手段がチェックされ、データが受け入れ可能なデータタイプに変換可能であるか否かの確認がなされる。もし、これが不可能であれば、コネクションマネージャは、結合が結合するコンポーネントと再度調停をするよう試みる。これは、全ての結合の属性を、モデル全体において再度調停する状態に導くかもしれない。しかしながら、ユーザは、調停の続行が許される新結合からの距離を定義することにより、この処理の拡大を制限することができる。
【図面の簡単な説明】
【0094】
【図1】図1は、本発明の方法を実行する、グラフィカルな式定義ツールを含むシステムの概略図である。
【図2】図2は、図1のグラフィカルな式定義ツールの概略図である。
【図3】図3は、図1及び2におけるグラフィカルな式定義ツールにより生成されたウィンドウの画面のコピーである。
【図4】図4(A)は、好適な実施例におけるグラフィカルな式の表現の第1のステップの概略図であり、図4(B)は、グラフィカルな式の表現の第2のステップの概略図であり、図4(C)は、グラフィカルな式の表現の第3のステップの概略図であり、図4(D)は、グラフィカルな式の表現の第4のステップの概略図である。
【図5】図5は、グラフィカルに表現された式の概略図である。
【図6】図6は、コンポーネント(演算子)オブジェクトの生成のステップを示すフローチャートである。
【図7】図7は、名前が付された結合(変数)オブジェクトの生成のステップを示すフローチャートである。
【図8】図8は、結合オブジェクトの生成のステップを示すフローチャートである。
【図9】図9は、グラフィカルに表現された式の概略図である。
【図10】図10は、図4(D)、5及び9において定義され、統合されて上位のレベルの式が形成されたしいのグラフィカルな表示を示す図である。
【図11】図11は、個々の段階は示さないように短縮した図10に示した上位のレベルの式のグラフィカルな表示を示す図である。
【図12】図12は、変数属性の継承による変数タイプの制限のさらなる例を示す図である。
【図13】図13(A)は、ルックアップテーブルコンポーネントへの入力の属性を示すポインタを伴う式の概略図であり、図13(B)は、名前が付された結合への入力の属性を示すポインタを伴う式の概略図である。
【図14】図14は、式への入力変数を伴うグラフィカルに定義された式の概略図である。
【図15】図15は、演算子を含むほかのグラフィカルに定義された式の概略図である。
【図16】図16は、図15の機能Cがどのように変更されたかを示す図である。
【図17】図17は、図12の機能Cが追加の詳細を追加されるかを示す図である。
【図18】図18は、第1のコンピュータからコンピュータネットワークを介して第2のコンピュータに、コンピュータを通ってコンポーネントが通過する状態を示す概略図である。
【図19】図19は、図2に示したグラフィカルな式定義ツールのほかの画面を示す図である。
【図20】図20は、演算子により実行されるオーバーフローの方法を示す概略図である。
【図21】図21は、異なるページ上の名前が付された結合オブジェクトの間の論理的な結合を示す概略図である。
【図22】図22は、異なるページ上の名前が付された結合オブジェクトの間の論理的な結合及び異なったページ上の機能Bの入漁への機能Aの出力の概略図である。
【図23】図23は、本発明を説明するための図である。
【図24】図24は、本発明を説明するための図である。
【図25】図25は、第1の付録の前半部分である。
【図26】図26は、第1の付録の後半部分である。
【図27】図27は、第2の付録である。
【符号の説明】
【0095】
12…GFDT
14…マイクロソフトウィンドウズGUI
16…コンポーネントマネージャ
18…コネクションマネージャ
20…コンポーネントオブジェクト
22…コネクションオブジェクト

【特許請求の範囲】
【請求項1】
少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供し、
前記第1の演算子オブジェクトをグラフィカルな表現で表示し、
データを保持するための第1の変数オブジェクトを提供し、
前記変数オブジェクトを前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付ける入力をユーザから受け付け、
前記第1の変数オブジェクト及びその前記第1の演算子オブジェクトとの関係をグラフィカルな表現で表示し、
前記オブジェクト間の関係の論理的な記述を記録し、
これにより、論理的記述により式が定義される
コンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項2】
データを保持するための変数オブジェクトを提供し、
前記変数オブジェクトをグラフィカルな表現で表示し、
少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供し、
前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つを前記変数オブジェクトに関係付ける入力をユーザから受け付け、
前記第1の演算子オブジェクト及びその前記変数オブジェクトとの関係をグラフィカルな表現で表示し、
前記オブジェクト間の関係の論理的な記述を記録し、
これにより論理的記述により式が定義される
コンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項3】
1以上のさらなる変数オブジェクトを提供し、
前記さらなる変数オブジェクトの各々を第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付けるさらなる入力をユーザから受け付け、
前記さらなる変数オブジェクト及びそれらの前記演算子オブジェクトとの関係をグラフィカルな表現で表示する
工程をさらに有する請求項1又は2に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項4】
1以上のさらなる演算子オブジェクトを提供し、
各変数オブジェクトを前記さらなる演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付けるさらなる入力をユーザから受け付け、
前記さらなる演算子オブジェクト及びその前記変数オブジェクトとの関係をグラフィカルな表現で表示する
工程をさらに有する請求項1〜3のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項5】
各変数オブジェクトは、データソースからのデータを提供するための入力オブジェクト、データの行き先にデータを供給する出力オブジェクト、又は、1つの演算子オブジェクト又はもう1つの演算子オブジェクトからデータを流すための結合オブジェクトより選択される
請求項1〜4のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項6】
結合オブジェクトは演算子オブジェクトの間のリンクとして表現される
請求項1〜5のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項7】
各変数オブジェクトは変数ラベルを伴って提供される
請求項1〜6のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項8】
各演算子オブジェクトは演算子ラベルを伴って提供される
請求項1〜7のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項9】
前記式の前記論理的な記述は前記オブジェクト間の論理的関係により定義される
請求項1〜8のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項10】
オブジェクト間の前記関係の前記グラフィカルな表示を定義する前記式のグラフィカルな定義は記録される
請求項1〜9のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項11】
前記論理的な定義を記述する情報を記憶するステップを含む
請求項1〜10のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項12】
前記グラフィカルな定義定義を記述する情報を記憶するステップを含む
請求項1〜10のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項13】
2以上の前記演算子オブジェクトがグループ化されており、グループ化は、グルーピングの演算子オブジェクトを定義し、その中においてはグルーピングの境界を横切りグループ内の演算子オブジェクトの入力に対して結合されている変数オブジェクトがグルーピングオブジェクトコンポーネントの入力となり、グルーピングの境界をクロスしグループ内の演算子オブジェクトの結果に結合された変数オブジェクトは、グルーピングの演算子オブジェクトの結果となる
請求項1〜12のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項14】
他のオブジェクトにリンクされていないグループ内の演算子オブジェクトの入力及び結果は、各々、グループのオペレータオブジェクトの入力及び結果となる
請求項13に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項15】
グループ化されたオブジェクトのグラフィカルな表現は、グループの演算子オブジェクトのグラフィカルな表現によって配置され、グループのコンテンツへのグラフィカルな表現は、グループのオブジェクトの表現へのリンクのグラフィカルな表現により配置される
請求項13又は14に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項16】
定義された式の論理的な定義は、グループの演算子オブジェクトの内容を含む 請求項13又は15に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項17】
表示される全ての式のグラフィックの定義は、グループの演算子オブジェクトの内容を含まない
請求項13又は16に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項18】
グループの演算子オブジェクトの内容は、式の全てのグラフィカルな表現とは分離されてグラフィカルに表現される
請求項13又は17に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項19】
変数オブジェクトは保持可能なデータのタイプを定義する属性を付される
請求項1〜18のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項20】
演算子オブジェクトの入漁k及び結果は、演算子オブジェクトが受け取ること及び生成することが各々予測されるデータのタイプを定義する属性を付される
請求項19に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項21】
変数オブジェクトは、既に定義されており調停する演算子オブジェクトによって関係付けられている他の変数オブジェクトの属性から、属性を受け継ぐ
請求項20に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項22】
変数オブジェクトは、既に定義されており、関係付けられている演算子オブジェクトの入力又は結果の属性から、属性を受け継ぐ
請求項20に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項23】
演算子オブジェクトの入力または結果は、既に定義されており関係付けられている変数オブジェクトの属性から、属性を受け継ぐ
請求項19〜22のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項24】
既に付されており対応が関係付けられているオブジェクトの属性をチェックするステップを含む
請求項19から23のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項25】
ラベル付けされた変数オブジェクトのライブラリが予め定義されている
請求項7に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項26】
ラベル付けされた変数オブジェクトのライブラリが予め定義されており、各ラベル付けされた変数オブジェクトの処理の方法、その生成のための入力及び出力もまた、予め定義されている
請求項8に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項27】
変数オブジェクトの変数ラベルは、予め定義した変数ラベルのリストから選択される
請求項7又は25に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項28】
各変数ラベルには、ラベルによりラベル付けされた変数オブジェクトが含むことができるデータのタイプが定義されている属性が付されている
請求項19に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項29】
変数ラベルの選択は、変数オブジェクトへのラベルに関連付けられた属性が付される
請求項19に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項30】
変数オブジェクトに付されている属性は、選択が有効なラベルの選択を制限する
請求項29に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項31】
演算子オブジェクトは、少なくとも、加算、減算、乗算、除算、ルックアップテーブル及び条件付動作の1つである
請求項1〜30のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項32】
演算子オブジェクトは、より複雑な演算子の実行にリンクされた多数の単純な演算子を含む多数の段階の演算である
請求項1〜30のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項33】
一形態においては、演算子オブジェクトはデータベースのキュエリである
請求項1〜30のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項34】
第1の演算子オブジェクトはデータベースへの書き込みを行う
請求項1〜30のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項35】
演算子オブジェクトの演算子ラベルは予め定義された演算子ラベルのリストより選択される
請求項8に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項36】
各演算子ラベルには、ラベルを付された演算子オブジェクトが受け取り又は提供することのできる入力又は結果の各々のデータのタイプを定義する属性が付される
請求項35に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項37】
演算子ラベルの選択は、演算子オブジェクトへのラベルに関連する属性が付されている
請求項36に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項38】
演算子オブジェクトに付された属性は、選択されることが可能なラベルの選択を制限する
請求項37に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項39】
論理的な記述はランタイムエンジンにより使用され、定義した式の処理が行われ、各変数オブジェクトに提供されたデータは、演算子オブジェクトの入力にリンクされ、これにより、データは、式のオペランドとなり、演算子オブジェクトによって表現される各演算子は、式の演算子となり、演算子オブジェクトの各結果は、次の演算子又は式の最終的な結果となり、これにより、式の処理が実行され式の結果が得られる
請求項1〜38のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項40】
各変数に対して名前領域が定義され、これにより、変数オブジェクトにより表現される論理的な変数におけるデータは、名前空間内の変数オブジェクトの各発生と同じである。
請求項1〜39のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項41】
名前空間は、モデル化された式に対するデフォルトグローバルによる
請求項40に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項42】
論理的な結合は、名前空間内のラベルが付された変数オブジェクトの各発生の間に生成される
請求項40に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項43】
グラフィカルなリンクが表示され、ラベル付けされた変数オブジェクトの発生の間の論理的な結合が示される
請求項40に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項44】
名前空間は各演算子オブジェクトに定義され、これにより、演算子オブジェクトにより表現される論理的な演算子の処理は、名前空間内の演算子オブジェクトの各発生と同じである
請求項1〜43のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項45】
名前空間は、モデル化された式に対するデフォルトグローバルによる
請求項44に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項46】
グループ化された演算子オブジェクトは、1回以上グループ化された演算子オブジェクトの定義に使用され、式の論理的な定義に適用される
請求項13に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項47】
ラベルの属性は、タイプ、単位及びディメンションを有する
請求項19に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項48】
グラフィカルな定義は、XMLにより記述される
請求項10に記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項49】
論理的な記述は、XMLにより記述される
請求項1〜48のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項50】
各演算子オブジェクトは、演算子オブジェクトにより表現される演算子により実行される多数の演算の定義を含み、各定義は、演算子により処理されることができるデータの分離したタイプのためである
請求項1〜49のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項51】
演算子オブジェクトは、1つ以上の入力及び1つ以上の出力を有するコンポーネントとしてグラフィカルに表現され、そのコンポーネントは、表現される演算子に表示されるインジケータを有する
請求項1〜50のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項52】
演算子オブジェクトは、結果を生成するための処理の方法の入力が未だ定義されていない演算子の表現である空コンポーネントである
請求項1〜51のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項53】
前記空コンポーネントは、適切に定義された方法を有する適切な演算子オブジェクトをサーチするための基準を形勢するために使用される
請求項1〜51のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項54】
オブジェクトのライブラリが提供される
請求項1〜53のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項55】
オブジェクトは、外部より供給される
請求項1〜53のいずれかに記載のコンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項56】
ディスプレイ及びユーザ入力手段を有するコンピュータと、
少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供する手段と、
前記第1の演算子オブジェクトをグラフィカルな表現で表示する手段と、
データを保持するための第1の変数オブジェクトを提供する手段と、
前記変数オブジェクトを前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付ける入力をユーザから受け付ける手段と、
前記第1の変数オブジェクト及びその前記第1の演算子オブジェクトとの関係をグラフィカルな表現で表示する手段と
を有し、これによりオブジェクト間の関係により式が定義される
グラフィカルに式を定義するシステム。
【請求項57】
コンピュータをコントロールすることにより式をグラフィカルに定義するコンピュータプログラムであって、
少なくとも1つの入力を処理し少なくとも1つの結果を生成する方法を定義するための第1の演算子オブジェクトを提供し、
前記第1の演算子オブジェクトをグラフィカルな表現で表示し、
データを保持するための第1の変数オブジェクトを提供し、
前記変数オブジェクトを前記第1の演算子オブジェクトの前記入力の1つまたは前記出力の1つに関係付ける入力をユーザから受け付け、
前記第1の変数オブジェクト及びその前記第1の演算子オブジェクトとの関係をグラフィカルな表現で表示し、
前記オブジェクト間の関係の論理的な記述を記録し、
これにより、オブジェクト間の関係により式が定義される
コンピュータプログラム
【請求項58】
請求項57に記載のコンピュータプログラムが記録されたコンピュータにより読み取り可能な記録媒体。
【請求項59】
少なくとも1つのデータを保持するための変数オブジェクトを提供し、
少なくとも1つの前記入力データを処理し結果を生成する方法を定義する演算子を提供し、
ユーザに結果の変数を選択するための変数のリストを表示し、
入力データの処理の結果を記憶するための結果の変数の選択をユーザから受け取り、
前記選択された結果の変数をグラフィカルな表現により表示し、
演算子を選択するための演算子のリストをユーザに表示し、
ユーザより演算子の選択を受け取り、
選択された演算子のグラフィカルな表現を表示し、
ユーザに前記変数か1以上の定数であるところの少なくとも1つの入力を選択させるため、入力データを記憶するための入力のリストを表示し、
ユーザからの少なくとも1つの入力の選択を受け取り、
前記選択された入力のグラフィカルな表現を表示し、
これにより、選択された結果変数を、選択された処理による選択された入力の処理と等しくすることによって、式を定義する
コンピュータにより実行されるグラフィカルに式を定義する方法。
【請求項60】
予め設定された属性を有する少なくとも1つの変数のタイプを提供し、
少なくとも1つの前記入力データを処理し結果を生成する方法を定義する少なくとも1つの演算を提供し、
ユーザに変数のタイプを選択させるため変数のタイプのリストを表示し、
ユーザからの変数のタイプの選択を受け取り、
選択した変数のタイプに対する名前を受け取り、
名前が付された変数を表示し、
ユーザに演算を選択させるための演算のリストを表示し、
ユーザからの演算の選択を受け取り、
選択された変数を選択された演算と協働させるためのユーザからの入力を受け取り、選択された変数を入力された変数か結果の変数とし、
選択された変数が結果の変数とされた場合には、ユーザから少なくとも1つの入力変数か入力定数及びその入力変数又は入力定数に対する名前を受け取り、その入力された変数又は入力された定数をグラフィカルに表示し、
選択された変数が入力の変数とされた場合には、出力変数の名前を受け取り、これをグラフィカルに表示し、
これにより、入力変数又は入力定数による入力データの選択された演算による処理の結果により式を定義し、結果の変数を得る
コンピュータにより実行されるグラフィカルに式を定義する方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2008−165739(P2008−165739A)
【公開日】平成20年7月17日(2008.7.17)
【国際特許分類】
【出願番号】特願2007−284314(P2007−284314)
【出願日】平成19年10月31日(2007.10.31)
【分割の表示】特願2002−521699(P2002−521699)の分割
【原出願日】平成13年8月24日(2001.8.24)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.UNIX
【出願人】(502147834)ゼンプレックス プロプライエタリー リミテッド (1)
【氏名又は名称原語表記】XEMPLEX PTY LTD
【Fターム(参考)】