(57)【要約】      （修正有）【課題】ディスプレイ装置上で、部分的に生成された処理フロー構造に追加する選択可能なオプションとして提案する処理フロー構造の識別及び提示のための装置、方法及びプログラムを提供する。【解決手段】グラフィカル環境コントローラ１６０２、比較エンジン１６０８並びに任意で、ディスプレイコントローラ１６１２、構造−レコードコンバータ１６０４、レコード−構造コンバータ１６０６、リポジトリ１６１０及びディスプレイ装置１６１４のうちの１つ以上を具備する。第１の処理フロー構造内のノードを識別する第１のユーザ入力を受信する。第２の処理フロー構造が、第１の処理フロー構造と第２の処理フロー構造との間の所定の類似度の識別に基づき、以前に記憶された処理フロー構造の中から取り出される。次に、第１の処理フロー構造への追加のために第２の処理フロー構造のサブセットを具備する選択可能な処理フロー構造を表示する。【選択図】図１６
2015176603.tif 000002
【特許請求の範囲】
【請求項１】
複数の相互接続ノードを具備する処理フロー構造を生成するための、および処理フロー構造記憶リポジトリと通信するように構成されたシステムであって、前記システムは、
プロセッサと、
グラフィカル環境コントローラであって、
第１の処理フロー構造内のノードを識別する第１のユーザ入力を受信するとともに、
前記第１の処理フロー構造への追加のための選択可能な処理フロー構造を、ディスプレイ装置上に表示するように構成された、グラフィカル環境コントローラと、
比較エンジンであって、
前記第１の処理フロー構造と前記リポジトリ内の以前に記憶された処理フロー構造とを比較するとともに、
前記以前に記憶された処理フロー構造の中から第２の処理フロー構造を取り出すように構成され、前記第２の処理フロー構造の取り出しは、前記第１の処理フロー構造と前記第２の処理フロー構造との間の所定の類似度を識別することに基づく、比較エンジンとを具備し、
前記グラフィカル環境コントローラによって表示された前記選択可能な処理フロー構造は、前記取り出した第２の処理フロー構造のサブセットを具備する、システム。
【請求項２】
前記比較エンジンは、前記以前に記憶された処理フロー構造の中から複数の処理フロー構造を取り出すように構成され、前記リポジトリからの各処理フロー構造の取り出しは、前記第１の処理フロー構造と前記取り出した処理フロー構造との間の所定の類似度を識別することに基づくとともに、
前記グラフィカル環境コントローラは、前記第１の処理フロー構造への追加のための複数の選択可能な処理フロー構造を表示するように構成され、各選択可能な処理フロー構造は、前記取り出した複数の処理フロー構造の１つのうちのサブセットを具備する、請求項１に記載のシステム。
【請求項３】
前記グラフィカル環境コントローラは、前記第１の処理フロー構造への追加のための前記表示された選択可能な処理フロー構造のサブセットを選択する第２のユーザ入力を受信するように構成される、請求項１に記載のシステム。
【請求項４】
前記グラフィカル環境コントローラは、前記第２のユーザ入力によって選択された前記表示された選択可能な処理フロー構造の前記サブセットが、全体表示された選択可能な処理フロー構造を具備するように構成される、請求項３に記載のシステム。
【請求項５】
前記グラフィカル環境コントローラは、統合された処理フロー構造を表示するように構成され、前記統合された処理フロー構造は、前記第１の処理フロー構造に追加された、前記表示された選択可能な処理フロー構造の前記選択されたサブセットを具備する、請求項３に記載のシステム。
【請求項６】
前記グラフィカル環境コントローラは、前記表示された選択可能な処理フロー構造の前記選択されたサブセットを、前記第１のユーザ入力によって識別された前記ノードにおいて前記第１の処理フロー構造に追加するように構成される、請求項５に記載のシステム。
【請求項７】
前記比較エンジンは、前記第２の処理フロー構造が、前記第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むとの判定に応答して、前記第２の処理フロー構造と前記第１の処理フロー構造との間の所定の類似度を識別するように構成される、請求項１に記載のシステム。
【請求項８】
前記比較エンジンは、前記第２の処理フロー構造が、前記第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むと判定することが、前記ノードの第１のセットおよび前記ノードの第２のセット内のノードとそれぞれ関連付けられたノード属性を比較することを含むように構成される、請求項７に記載のシステム。
【請求項９】
前記比較エンジンは、対応するノードとそれぞれ関連付けられた、ノードシンボル、親ノード、関連する子ノード、外向き接続、および内向き接続のうちの１つまたは複数を含むノード属性を比較するように構成される、請求項８に記載のシステム。
【請求項１０】
前記比較エンジンは、前記第１の処理フロー構造と以前に記憶された処理フロー構造とを比較することが、前記第１の処理フロー構造を表す情報と、それぞれ以前に記憶された処理フロー構造を表す情報とを比較することを含むように構成される、請求項１に記載のシステム。
【請求項１１】
前記比較エンジンは、
前記第１の処理フロー構造に対応する第１の処理フローレコードから、前記第１の処理フロー構造を表す情報と、
以前に記憶された処理フロー構造に対応する第２の処理フローレコードから、以前に記憶された処理フロー構造を表す情報とを取り出すように構成されるとともに、
前記第１の処理フローレコードおよび前記第２の処理フローレコードは、処理フロー構造を処理フローレコードにコンバートするように構成された第１のコンバータによって生成される、請求項１０に記載のシステム。
【請求項１２】
第１のコンバータは、
関連するノード属性のコレクションとして、各データレコードが対応する処理フロー構造内のノードを表す、データレコードのセットと、
各データレコードに対応するデータフィールドのセットとを具備する処理フローレコードを生成するように構成され、データレコード内の各データフィールドは、表されたノードと関連付けられたノード属性を表す、請求項１０に記載のシステム。
【請求項１３】
前記比較エンジンは、第１の処理フロー構造を表す情報と以前に記憶された処理フロー構造を表す情報とを比較することが、
第１の処理フローレコード内のデータレコードの第１のセットと、第２の処理フローレコード内のデータレコードの第２のセットとを比較することを含むように構成される、請求項１２に記載のシステム。
【請求項１４】
前記比較エンジンは、前記第１の処理フローレコード内のデータレコードと前記第２の処理フローレコード内のデータレコードとを比較することが、
データレコードの前記第２のセットおよびデータレコードの前記第１のセットが同一のデータフィールド値を有するかどうかを判定することを含むように構成される、請求項１３に記載のシステム。
【請求項１５】
前記システムは、処理フローレコードを処理フロー構造にコンバートするように構成された第２のコンバータを具備し、
データレコードの前記第２のセットおよびデータレコードの前記第１のセットが同一のデータフィールド値を有するとの判定に応答して、
前記比較エンジンは、前記第２の処理フローレコードからデータレコードの前記第２のセットに対応する情報を取り出し、
前記第２のコンバータは、前記取り出した情報を選択可能な処理フロー構造にコンバートするとともに、
前記グラフィカル環境コントローラは、前記選択可能な処理フロー構造を前記ディスプレイ装置上に図形的に表示する、請求項１４に記載のシステム。
【請求項１６】
複数の相互接続ノードを具備する処理フロー構造を生成する方法であって、前記方法は、
第１の処理フロー構造内のノードを識別する第１のユーザ入力を受信するステップと、
以前に記憶された処理フロー構造の中から、第２の処理フロー構造を取り出すステップであって、前記第２の処理フロー構造の取り出しが、前記第１の処理フロー構造と前記第２の処理フロー構造との間の所定の類似度を識別することに基づく、ステップと、
前記第１の処理フロー構造への追加のための選択可能な処理フロー構造を表示するステップであって、前記選択可能な処理フローは、前記第２の処理フロー構造のサブセットを具備する、ステップとを含む、方法。
【請求項１７】
前記取り出すステップは、前記以前に記憶された処理フロー構造の中から複数の処理フロー構造を取り出すステップを含み、各処理フロー構造の取り出しは、前記第１の処理フロー構造と前記取り出した処理フロー構造との間の所定の類似度を識別することに基づき、
前記表示するステップは、前記第１の処理フロー構造への追加のための複数の選択可能な処理フロー構造を表示するステップを含み、各選択可能な処理フロー構造は、前記取り出した複数の処理フロー構造のうちの１つのサブセットを具備する、請求項１６に記載の方法。
【請求項１８】
前記第１の処理フロー構造は、部分的に生成された処理フロー構造である、請求項１６に記載の方法。
【請求項１９】
前記表示された選択可能な処理フロー構造のサブセットは、前記第１の処理フロー構造への追加のための第２のユーザ入力によって選択される、請求項１６に記載の方法。
【請求項２０】
前記選択されたサブセットは、全体表示された選択可能な処理フロー構造を具備する、請求項１９に記載の方法。
【請求項２１】
前記第１の処理フロー構造は、前記表示された選択可能な処理フロー構造の前記選択されたサブセットを追加することによって変更される、請求項１９に記載の方法。
【請求項２２】
前記表示された選択可能な処理フロー構造の前記選択されたサブセットは、前記第１のユーザ入力によって識別された前記ノードにおいて前記第１の処理フロー構造に追加される、請求項２１に記載の方法。
【請求項２３】
前記第２の処理フロー構造と前記第１の処理フロー構造との間の所定の類似度は、前記第２の処理フロー構造が、前記第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むとの判定に応答して識別される、請求項１６に記載の方法。
【請求項２４】
前記第２の処理フロー構造が、前記第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むと判定することは、前記ノードの第１のセットおよび前記ノードの第２のセット内のノードとそれぞれ関連付けられたノード属性を比較することを含む、請求項２３に記載の方法。
【請求項２５】
前記ノード属性は、対応するノードとそれぞれ関連付けられた、ノードシンボル、親ノード、関連する子ノード、外向き接続、および内向き接続のうちの１つまたは複数を含む、請求項２４に記載の方法。
【請求項２６】
以前に記憶された処理フロー構造の中から少なくとも第２の処理フロー構造を取り出すことは、前記第１の処理フロー構造を表す情報と、それぞれ以前に記憶された処理フロー構造を表す情報とを比較することを含む、請求項１６に記載の方法。
【請求項２７】
前記第１の処理フロー構造を表す情報は、前記第１の処理フロー構造に対応する第１の処理フローレコードから取り出されるとともに、
以前に記憶された処理フロー構造を表す情報は、以前に記憶された処理フロー構造に対応する第２の処理フローレコードから取り出される、請求項２６に記載の方法。
【請求項２８】
各処理フローレコードは、
関連するノード属性のコレクションとして、各データレコードが対応する処理フロー構造内のノードを表す、データレコードのセットと、
各データレコードに対応するデータフィールドのセットとを具備し、データレコード内の各データフィールドは、表されたノードと関連付けられたノード属性を表す、請求項２６に記載の方法。
【請求項２９】
第１の処理フロー構造を表す情報と以前に記憶された処理フロー構造を表す情報とを比較するステップは、
第１の処理フローレコード内のデータレコードの第１のセットと第２の処理フローレコード内のデータレコードの第２のセットとを比較するステップを具備する、請求項２８に記載の方法。
【請求項３０】
前記第１の処理フローレコード内のデータレコードと前記第２の処理フローレコード内のデータレコードとを比較するステップは、
データレコードの前記第２のセットおよびデータレコードの第１のセットが同一のデータフィールド値を有するかどうかを判定するステップを具備する、請求項２９に記載の方法。
【請求項３１】
前記第２の処理フローレコードからデータレコードの前記第２のセットに対応する情報を取り出すステップ、および
前記選択可能な処理フロー構造をディスプレイ装置上に図形的にレンダリングするステップであって、前記選択可能な処理フロー構造が、データレコードの前記第２のセットに対応する取り出した情報に基づいてレンダリングされる、ステップにより、
データレコードの前記第２のセットおよび前記データレコードの第１のセットが同一のデータフィールド値を有するとの判定に応答するステップを具備する、請求項３０に記載の方法。
【請求項３２】
複数の相互接続ノードを具備する処理フロー構造を生成するためのコンピュータプログラム製品であって、前記コンピュータプログラム製品は、そこに組み込まれるコンピュータ可読プログラムコードを有する持続性コンピュータ可読媒体を具備し、前記コンピュータ可読プログラムコードは、
第１の処理フロー構造内のノードを識別する第１のユーザ入力を受信するための命令と、
以前に記憶された処理フロー構造の中から第２の処理フロー構造を取り出すための命令であって、前記第２の処理フロー構造の取り出しは、前記第１の処理フロー構造と前記第２の処理フロー構造との間の所定の類似度を識別することに基づく、命令と、
前記第１の処理フロー構造への追加のための選択可能な処理フロー構造を表示するための命令であって、前記選択可能な処理フロー構造は前記第２の処理フロー構造のサブセットを具備する、命令とを具備する、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理フロー構造または処理フローダイアグラムを生成し、図形的にレンダリングする、または視覚的に表示することに関する。より具体的には、本発明は、部分的に生成された処理フロー構造または処理フローダイアグラムへの追加のための選択可能なオプションとして、ディスプレイ装置上における提案された処理フロー構造の識別および提示のための装置、方法、およびプログラムに関係する。
【背景技術】
【０００２】
処理フローダイアグラムは、アルゴリズムまたはプロセスのグラフィカルな表現を具備し、処理ステップは、多様なタイプのノードとして表されるとともに、処理ステップの実行の順序は、ノード間の相互接続（好適には、矢印等の有向の相互接続）によって特定される。
【０００３】
処理フローダイアグラムは、（１）ノードの順序付けられた配置を具備する処理フロー構造、および（２）処理フロー構造の各ノードにおける実行のための処理ステップを含むとして理解され得る。図１Ａは、ノード101a〜105aの順序付けられた配置を具備する例示的な処理フロー構造100aを説明する。図１Ｂは、図１Ａの処理フロー構造に基づく処理フローダイアグラム100bを例示し、処理ステップは、ノード101b〜105bのそれぞれに対して定義されている。図１Ｂの処理フローダイアグラムは、２つの数の加算のための例示的なプロセスを表す。
【０００４】
処理フローダイアグラムは、プロセッサで実装されるエディタ環境内で作成し得、処理フローダイアグラムはビジュアルディスプレイ装置上で、ユーザ入力に基づいて定義および図形的にレンダリングまたは表示され得る。処理フローダイアグラムを定義するユーザ入力は、
（１）処理フロー構造 ― 処理フロー構造は、処理フロー内のノードの数およびタイプ、各ノードの位置、ならびにノード間の相互接続を識別することによって特定され得るとともに、
（２）各ノードでの実行のための処理ステップ
を特定する。
【０００５】
従って、処理フローダイアグラムの作成に時間および労力は集中する。また、異なるプロセスは、処理フロー構造内のノードで実行される特定の処理ステップに見られる違いとともに、同一、類似、または部分的に類似する処理フロー構造を使用して表される場合がある。例として、図１Ｃは、ノード101c〜105cからなりかつ図１Ａの処理フロー構造と同一の処理フロー構造を有する処理フローダイアグラム100cを例示する。ノード数、ノードタイプ、ノード相互接続が図１Ａおよび１Ｂにおけるのと同一であるのにもかかわらず、ノード102c〜104cで実行される処理ステップは、図１Ｂのノード102b〜104bで実行されるものと全体的に異なっていることに気付くだろう。
【０００６】
処理フロー構造間の類似も、各プロセスにおける標準化されたサブプロセスまたサブルーチンの再利用の結果として生じる。
【０００７】
従って、処理フロー構造の作成において、オペレーティングユーザは、以前に作成された処理フロー構造の重複に関して多大な資源を費やし得る（故意または無意識に）。
【０００８】
従って、処理フロー構造の効率的な作成のため、および既に作成された処理フローの作成に向かう不注意な労力の重複を避けるための要求がある。
【発明の概要】
【課題を解決するための手段】
【０００９】
複数の相互接続ノードを含む処理フロー構造を生成するための、および処理フロー構造記憶リポジトリと通信するように構成されたシステムを具備する。本システムは、プロセッサ、グラフィカル環境コントローラ、および比較エンジンを具備し得る。グラフィカル環境コントローラは、第１の処理フロー構造内のノードを識別する第１のユーザ入力を受信するように構成され得る。グラフィカル環境コントローラはさらに、第１の処理フロー構造への追加のための選択可能な処理フロー構造を、ディスプレイ装置上に表示するように構成され得る。
【００１０】
比較エンジンは、第１の処理フロー構造とリポジトリ内の以前に記憶された処理フロー構造とを比較するように構成され得る。比較結果に基づいて、比較エンジンは、以前に記憶された処理フロー構造の中から第２の処理フロー構造を取り出し得る。第２の処理フロー構造の取り出しは、第１の処理フロー構造と第２の処理フロー構造との間の所定の類似度に基づく。一実施形態において、グラフィカル環境コントローラによって表示された選択可能な処理フロー構造は、取り出した第２の処理フロー構造のサブセットを具備し得る。
【００１１】
比較エンジンはさらに、以前に記憶された処理フロー構造の中から複数の処理フロー構造を取り出すように構成され得る。リポジトリからの各処理フロー構造の取り出しは、第１の処理フロー構造と取り出した処理フロー構造との間の所定の類似度を識別することに基づく。
【００１２】
グラフィカル環境コントローラは、第１の処理フロー構造への追加のための複数の選択可能な処理フロー構造を表示するように構成され得、各選択可能な処理フロー構造は、取り出した複数の処理フロー構造のうちの１つのサブセットを具備する。
【００１３】
一実施形態において、グラフィカル環境コントローラは、第１の処理フロー構造への追加のための表示された選択可能な処理フロー構造のサブセットを選択する第２のユーザ入力を取り出すように構成され得る。グラフィカル環境コントローラは、第２のユーザ入力によって選択された、表示された選択可能な処理フロー構造のサブセットが、全体表示された選択可能な処理フロー構造を具備するように構成され得る。
【００１４】
グラフィカル環境コントローラはさらに、統合された処理フロー構造を表示するように構成され得る。統合された処理フロー構造は、第１の処理フロー構造に追加された、表示された選択可能な処理フロー構造の選択されたサブセットを具備し得る。
【００１５】
例示的な実施形態において、グラフィカル環境コントローラは、表示された選択可能な処理フロー構造の選択されたサブセットを、第１のユーザ入力によって識別されたノードにおいて第１の処理フロー構造に追加するように構成され得る。
【００１６】
本システムの比較エンジンは、第２の処理フロー構造と第１の処理フロー構造との間の所定の類似度を識別するように構成され得る。所定の類似度の識別は、第２の処理フロー構造が、第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むとの判定に応答して生じ得る。
【００１７】
比較エンジンはさらに、第２の処理フロー構造が、第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むと判定することが、ノードの第１のセットおよびノードの第２のセット内のノードとそれぞれ関連付けられたノード属性を比較することを含むように構成され得る。
【００１８】
比較エンジンは、対応するノードとそれぞれ関連付けられた、ノードシンボル、親ノード、関連する子ノード、外向き接続、および内向き接続のうちの１つまたは複数を含むノード属性を比較するように構成され得る。
【００１９】
本システムの実施形態において、比較エンジンは、第１の処理フロー構造と以前に記憶された処理フロー構造とを比較することが、第１の処理フロー構造を表す情報と、それぞれ以前に記憶された処理フロー構造を表す情報とを比較することを含むように構成され得る。
【００２０】
さらなる特定の実施形態において、比較エンジンは、（１）第１の処理フロー構造に対応する第１の処理フローレコードから第１の処理フロー構造を表す情報と、（２）以前に記憶された処理フロー構造に対応する第２の処理フローレコードから以前に記憶された処理フロー構造を表す情報とを取り出し得る。第１の処理フローレコードおよび第２の処理フローレコードは、処理フロー構造を処理フローレコードにコンバートするように構成された第１のコンバータによって生成され得る。
【００２１】
第１のコンバータは、データレコードのセットを具備する処理フローレコードを生成するように構成され得る。各データレコードが、関連するノード属性のコレクションとして、対応する処理フロー構造内のノードを表す。生成された処理フローレコードはさらに、各データレコードに対応するデータフィールドのセットを具備し得、データレコード内の各データフィールドは、表されたノードと関連付けられたノード属性を表す。
【００２２】
比較エンジンはさらに、第１の処理フロー構造を表す情報と以前に記憶された処理フロー構造を表す情報とを比較することが、第１の処理フローレコード内のデータレコードの第１のセットと第２の処理フローレコード内のデータレコードの第２のセットとを比較するように構成され得る。
【００２３】
本システムの特定の実施形態において、比較エンジンは、第１の処理フローレコード内のデータレコードと第２の処理フローレコード内のデータレコードとを比較することが、データレコードの第２のセットおよびデータレコードの第１のセットが同一のデータフィールド値を有するかどうかを判定することを含むように構成され得る。
【００２４】
本システムはさらに、処理フローレコードを処理フロー構造にコンバートするように構成された第２のコンバータを含み得る。データレコードの第２のセットおよびデータレコードの第１のセットが、同一のデータフィールド値を有するとの判定に応答して、（１）比較エンジンは、第２の処理フローレコードからデータレコードの第２のセットに対応する情報を取り出し、（２）第２のコンバータは、取り出した情報を選択可能な処理フロー構造にコンバートするとともに、（３）グラフィカル環境コントローラは、選択可能な処理フロー構造をディスプレイ装置上に図形的に表示する。
【００２５】
本発明はさらに、複数の相互接続ノードを具備する処理フロー構造を生成するための方法を含む。本方法は、（１）第１の処理フロー構造内のノードを識別する第１のユーザ入力を受信するステップと、（２）以前に記憶された処理フロー構造の中から第２の処理フロー構造を取り出すステップであって、第２の処理フロー構造の取り出しが、第１の処理フロー構造と第２の処理フロー構造との間の所定の類似度を識別することに基づく、ステップと、（３）第１の処理フロー構造への追加のための選択可能な処理フロー構造を表示するステップであって、選択可能な処理フロー構造が第２の処理フロー構造のサブセットを含む、ステップとを含む。
【００２６】
本方法の取り出すステップは、一実施形態において、以前に記憶された処理フロー構造の中から複数の処理フロー構造を取り出すステップを含み得、各処理フロー構造の取り出しは、第１の処理フロー構造と取り出した処理フロー構造との間の所定の類似度を識別することに基づく。本方法の表示するステップは、第１の処理フロー構造への追加のための複数の選択可能な処理フロー構造を表示するステップを含み得、各選択可能な処理フロー構造は、取り出した複数の処理フロー構造のうちの１つのサブセットを具備する。
【００２７】
本方法の一実施形態において、第１の処理フロー構造は、部分的に生成された処理フロー構造である。さらなる実施形態において、表示された選択可能な処理フロー構造のサブセットは、第１の処理フロー構造への追加のための第２のユーザ入力によって選択され得る。さらなる特定の実施形態において、第２のユーザ入力によって選択されたサブセットは、全体表示された選択可能な処理フロー構造を具備し得る。
【００２８】
第１の処理フロー構造は、表示された選択可能な処理フロー構造の選択されたサブセットを追加することによって変更され得る。特定の実施形態において、表示された選択可能な処理フロー構造の選択されたサブセットは、第１のユーザ入力によって識別されたノードにおいて第１の処理フロー構造に追加され得る。
【００２９】
本方法の一実施形態において、第２の処理フロー構造と第１の処理フロー構造との間の所定の類似度は、第２の処理フロー構造が、第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むとの判定に応答して識別される。
【００３０】
本方法のさらに特定の実施形態において、第２の処理フロー構造が、第１の処理フロー構造内のノードの第１のセットおよび対応する相互接続と同一であるノードの第２のセットおよび対応する相互接続を含むと判定するステップは、ノードの第１のセットおよびノードの第２のセット内のノードと、それぞれ関連付けられたノード属性とを比較するステップを含み得る。ノード属性は、対応するノードとそれぞれ関連付けられた、ノードシンボル、親ノード、関連する子ノード、外向き接続、および内向き接続のうちの１つまたは複数を含み得る。
【００３１】
本方法の別の実施形態において、以前に記憶された処理フロー構造の中から少なくとも第２の処理フロー構造を取り出すステップは、第１の処理フロー構造を表す情報とそれぞれ以前に記憶された処理フロー構造を表す情報とを比較するステップを含む。さらなる特定の実施形態において、（１）第１の処理フロー構造を表す情報は、第１の処理フロー構造に対応する第１の処理フローレコードから取り出され得るとともに、（２）以前に記憶された処理フロー構造を表す情報は、以前に記憶された処理フロー構造に対応する第２の処理フローレコードから取り出され得る。
【００３２】
上記方法の実施形態において、各処理フローレコードは、データレコードのセットを具備し得、各データレコードが、関連するノード属性のコレクションとして、対応する処理フロー構造内のノードを表す。各処理フローレコードはさらに、各データレコードに対応するデータフィールドのセットを具備し得、データレコード内の各データフィールドは、表されたノードに関連付けられたノード属性を表す。
【００３３】
第１の処理フロー構造を表す情報と以前に記憶された処理フロー構造を表す情報とを比較するステップは、一実施形態において、第１の処理フローレコード内のデータレコードの第１のセットと第２の処理フローレコード内のデータレコードの第２のセットとを比較するステップを具備し得る。
【００３４】
第１の処理フローレコード内のデータレコードと第２の処理フローレコード内のデータレコードと比較するステップは、データレコードの第２のセットおよびデータレコードの第１のセットが同一のデータフィールド値を有するかどうかを判定するステップを含み得る。
【００３５】
本方法は、（１）第２の処理フローレコードからデータレコードの第２のセットに対応する情報を取り出すステップ、および（２）選択可能な処理フロー構造をディスプレイ装置上に図形的にレンダリングするステップであって、選択可能な処理フロー構造が、データレコードの第２のセットに対応する取り出した情報に基づいてレンダリングされるステップにより、データレコードの第２のセットおよびデータレコードの第１のセットが、同一のデータフィールド値を有するとの判定に応答するステップを含み得る。
【００３６】
本発明はさらに、複数の相互接続ノードを具備する処理フロー構造を生成するためのコンピュータプログラム製品を含み得、コンピュータプログラム製品は、そこに組み込まれるコンピュータ可読プログラムコードを有する持続性コンピュータ可読媒体を具備し得る。コンピュータ可読プログラムコードは、（１）第１の処理フロー構造内のノードを識別する第１のユーザ入力を受信するための命令と、（２）以前に記憶された処理フロー構造の中から第２の処理フロー構造を取り出すための命令であって、第２の処理フロー構造の取り出しが、第１の処理フロー構造と第２の処理フロー構造との間の所定の類似度を識別することに基づく、命令と、（３）第１の処理フロー構造への追加のための選択可能な処理フロー構造を表示するための命令であって、選択可能な処理フロー構造が第２の処理フロー構造のサブセットを具備する、命令とを具備し得る。
【図面の簡単な説明】
【００３７】
【図１Ａ】例示的な処理フロー構造を説明する図である。
【図１Ｂ】処理フローダイアグラムである。
【図１Ｃ】処理フローダイアグラムである。
【図２Ａ】標準化されたノードシンボルの例示を与える図である。
【図２Ｂ】標準化されたノードシンボルの例示を与える図である。
【図２Ｃ】標準化されたノードシンボルの例示を与える図である。
【図２Ｄ】標準化されたノードシンボルの例示を与える図である。
【図２Ｅ】標準化されたノードシンボルの例示を与える図である。
【図２Ｆ】標準化されたノードシンボルの例示を与える図である。
【図２Ｇ】標準化されたノードシンボルの例示を与える図である。
【図２Ｈ】標準化されたノードシンボルの例示を与える図である。
【図３】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図４Ａ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図４Ｂ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図４Ｃ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図４Ｄ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図５Ａ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図５Ｂ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図６】本発明の方法の実施形態を例示するフローチャートである。
【図７】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図８】処理フローレコードを作成するためのデータ構造テンプレートの実施形態を例示する図である。
【図９Ａ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図９Ｂ】図９Ａに例示される処理フロー構造を表す処理フローレコードを例示する図である。
【図１０Ａ】本発明の方法によって生成または取り出される処理フロー構造の実施形態を例示する図である。
【図１０Ｂ】図１０Ａに例示される処理フロー構造を表す処理フローレコードを例示する図である。
【図１１】本発明の方法の実施形態を例示するフローチャートである。
【図１２】本発明の方法の実施形態を例示するフローチャートである。
【図１３】本発明の方法の実施形態を例示するフローチャートである。
【図１４】本発明の方法の実施形態を例示するフローチャートである。
【図１５Ａ】例示的なエディタ環境を例示する図である。
【図１５Ｂ】例示的なエディタ環境を例示する図である。
【図１５Ｃ】例示的なエディタ環境を例示する図である。
【図１６】本発明の例示的なシステム実施形態を例示する図である。
【図１７】本発明の実施形態が実装され得る例示的なシステムを例示する図である。
【発明を実施するための形態】
【００３８】
本発明を説明する目的のため、以下に特定の用語が以下に定義される。特別に定義されるものを除いて、本明細書および特許請求の範囲における用語は、当業者にとって明確である意味を有するものとして理解されるべきである。
【００３９】
「バーストノード」は、実行下の処理フローが複数のノードに分岐する、処理フロー構造または処理フローダイアグラム内のノードを指す。別の言い方をすれば、バーストノードは、複数の子ノードを有するノードを指す。
【００４０】
「子ノード」は、処理フローが検討中のノードから子ノードに直接進むように、検討中のノードに直接接続されるノードを指す。
【００４１】
「ノード」は、処理フロー構造または処理フローダイアグラム内の個別の処理ステップを指す。ノードは、プロセスまたはノードで行われる動作のタイプを表す標準化されたシンボルを使用して表され得る。
【００４２】
「ノードシンボル」は、処理ステップカテゴリに一意的に関連付けられたシンボルを指す。処理フロー構造または処理フローダイアグラムの図形的なレンダリングまたは表示において、各ノードは、ノードシンボルによって表され得、選択されたノードシンボルは、そのノードに対して適用可能な処理ステップカテゴリに一意的に関連付けられる。図２Ａ〜２Ｈは、処理フロー構造または処理フローダイアグラムを作成するために使用される標準化されたノードシンボルの例示的なセットを提供し、処理ノード、判定ノード、データ入力ノード、開始／終了ノード、定義済み処理ノード、手動入力ノード、格納データノード、および手動操作ノードをそれぞれ説明する。
【００４３】
「親ノード」は、処理フローが親ノードから検討中のノードに直接進むように、検討中のノードに直接接続されるノードを指す。
【００４４】
「処理フローダイアグラム」は、アルゴリズムまたはプロセスのグラフィカルな表現を指し、処理ステップはノード内に例示されるとともに、処理ステップの実行の順序は、ノード間の相互接続（矢印または他の接続線等）によって特定される。上述の一般性に対する限定はせずに、処理フローダイアグラムは、フローチャート（処理フローチャートおよび機能的フローチャートを含む）、処理チャート（処理マップおよび機能的処理チャートを含む）、処理モデル（ビジネスモデルを含む）およびフローダイアグラム（処理フローダイアグラム、ワークフローダイアグラム、およびビジネスフローダイアグラムを含む）を含む。
【００４５】
「処理フローレコード」は、ディスプレイ装置上において処理フロー構造を図形的にレンダリングまたは表示するために情報が使用され得る、処理フロー構造の属性を表す情報を含むデータレコードを指す。
【００４６】
「処理フロー構造」は、ノードの順序付けられた配置および当該ノード間の相互接続を表すグラフィカルな表現を指す。処理フロー構造は、インクルージョンのために選択されたノードの数およびタイプ、ノードの位置、ならびにノード間の相互接続のうちの１つまたは複数の機能である。
【００４７】
「処理ステップカテゴリ」は、処理フロー構造または処理フローダイアグラム内の処理ステップに適用可能な所定のカテゴリ化を指す。処理ステップカテゴリの例として、処理ステップ、判定ステップ、データ入力／出力ステップ、開始／終了ステップ、定義済み処理ステップ、手動入力ステップ、および手動操作ステップを含む。
【００４８】
「リポジトリ」は、処理フロー構造を格納するように構成可能であるデータベースまたは他のコンピュータ可読記憶媒体を指す。
【００４９】
「兄弟ノード」は、検討中のノードと親ノードを共有するノードを指す。
【００５０】
「シンクノード」は、処理フローが複数のノードから収束する、処理フロー構造または処理フローダイアグラム内のノードを指す。別の言い方をすれば、シンクノードは、複数の親ノードを有するノードを指す。
【００５１】
本発明は、以前に生成された処理フロー構造に基づく処理フロー構造または処理フローダイアグラムの作成を可能にする。本発明は、部分的に生成された処理フロー構造を完成させるための提案される１つまたは複数の処理フロー構造をユーザに対して表示することによってこれを遂行する。本発明は、ユーザが、提案された１つまたは複数の処理フロー構造を閲覧、またはそうでなければレビューして部分的に生成された処理フロー構造に追加するために提案される処理フロー構造の一部分または全体を選択するのを可能にする。本発明は、ユーザに対する表示のために、以前に記憶された処理フロー構造のデータベースから、提案される処理フロー構造またはそれらの一部を選択および取り出す。選択および取り出しは、提案される１つまたは複数の処理フロー構造が部分的に生成された処理フロー構造と所定の類似度を有することを判定することを含む、複数の要因に基づき得る。
【００５２】
図３〜５Ｂは、本発明の実施を例示する。
【００５３】
図３は、プロセッサで実装されるエディタ環境においてユーザによって作成された部分生成済み処理フロー構造300を例示する。部分的に生成されたフロー構造は、それらの間に相互接続を有するノード301〜303を具備する。ノード301、302、および303は、開始ノード、処理ノード、および判定ノードを表す標準化されたノードシンボルをそれぞれ具備する。ユーザ入力に基づく処理フロー構造は、プロセッサで実装されるエディタ環境を使用する幾つかの方法のうちのいずれか１つで生成され得ることが理解されよう。例えば、エディタ環境は、オペレーティングユーザが表示および／または格納のために処理フロー構造を作成することを可能にする、描画ツール、および／または選択可能でテンプレート化されたノードシンボルおよび相互接続シンボルを提供し得る。
【００５４】
部分生成済み処理フロー構造300の作成に応答して、本発明は、以前に記憶された処理フロー構造のリポジトリを検索するとともに、部分生成済み処理フロー構造300内のノードの配置および相互接続と（１）同一である、または（２）所定の類似度を有するノードの配置および相互接続を有する１つまたは複数の部分的または完全な処理フロー構造を選択および取り出す。以前に記憶された処理フロー構造のデータベースからの類似または同一の処理フロー構造の検索、選択、及び取り出しを可能にするシステムおよび方法は、本文書において続いて論じられる。
【００５５】
図４Ａおよび４Ｂは、ノード301〜303（図３における）の配置と同一のノードのサブセットおよび相互接続をそれぞれ有し、従って処理フロー構造が以前に記憶された処理フロー構造を含むリポジトリからの選択に適している、２つの異なる処理フロー構造400aおよび400bの具体例を提供する。具体的には、処理フロー構造400a（図４Ａ）は、相互接続ノード401a〜408aの配置を具備するのと同時に、ノードのサブセット401a〜403aの特定の配置および相互接続は、部分生成済み処理フロー構造300のノード301〜303の配置および相互接続と同一である。同様に、処理フロー構造400b（図４Ｂ）は、相互接続ノード401b〜409bの配置を具備するのと同時に、ノード401b〜403bの特定の配置および相互接続は、部分生成済み処理フロー構造300のノード301〜303の配置および相互接続と同一である。
【００５６】
処理フロー構造400aおよび400b（または上記処理フロー構造の関連する同一のサブセット）は、部分生成済み処理フロー構造300を完成させるために提案されるオプションの形式でユーザに対して表示され得る。図４Ｃおよび４Ｄは、処理フロー構造400aおよび400bのサブセット400a’および400b’がそれぞれ、部分生成済み処理フロー構造300を完成させるために提案される代替オプションの形式でユーザに提示され得る、本発明の実施形態を例示する。
【００５７】
図４Ｃは、部分生成済み処理フロー構造300を完成させるために第１の提案オプションとしてユーザに表示され得る、処理フロー構造400aのサブセット400a’を例示する。サブセット400a’は、部分生成済み処理フロー構造300を完成させるために提案されるオプションとしてユーザに提示され得るノード403a〜408aを具備する。例示の実施形態では、サブセット400a’は、ノード401aおよび402a（図４Ａに例示される）を省略するとともに、例示のサブセットをノード403aで開始することに留意されたい。
【００５８】
同様に、図４Ｄは、部分生成済み処理フロー構造300を完成させるための第２の提案オプションとして、ユーザに対して表示され得る処理フロー構造400bのサブセット400b’を例示する。サブセット400b’は、部分生成済み処理フロー構造300を完成させるために提案されるオプションとして、ユーザに提示され得るノード403b〜409bを具備する。
【００５９】
ノード403aおよび403bにおいてそれぞれ、第１のおよび第２の提案オプションの表示を開始することによって（すなわち、図４Ａのノード401aおよび402a、または図４Ｂのノード401bおよび402bをそれぞれ省略することによって）、ユーザには、部分生成済み構造300内の最後のノード303に追加されるのに最も適している処理フロー構造400aおよび400bの部分が提示される。本発明はさらに、図４Ａおよび４Ｂの処理フロー構造全体をユーザに対して表示することによっても実施されることが理解されよう。しかし、短縮された図４Ｃおよび４Ｄは、ノード303に追加する必要があるノードおよび相互接続に関するユーザの決定に最も関係する情報を提示する。
【００６０】
提案される処理フロー構造に基づいてユーザは、部分的に生成された処理フロー構造への追加のために提案されるフロー構造全体、またはその一部のいずれかを選択し得る。例えば、図４Ｃおよび４Ｄに例示される第１のおよび第２のオプションが提示される場合、ユーザは、第１のオプションまたは第２のオプションのいずれかで提示されるフロー構造全体を選択または実装し得る（図３のノード303において）。代替として図５Aに例示されるように、ユーザは、図３のノード303における実装またはインクルージョンのための処理フロー構造400a’からサブ構造（ノード403a、404a、および405aならびにそれらの間の相互接続を具備するサブ構造500a等）を強調する、またはそうでなければ選択し得る。同様に、図５Ｂに示されるように、ユーザは、図３のノード303におけるインクルージョンのための処理フロー構造400b’から、サブ構造（ノード403b、405b、および409bならびにそれらの相互接続を具備するサブ構造500b等）を強調、またはそうでなければ選択し得る。本発明の実施形態において、選択されたサブ構造500aまたは500bは、図３に例示される部分生成済み処理フロー構造300のノード303を単に置換し得る。
【００６１】
大きい処理フロー構造（図５Ａおよび５Ｂに例示されているもの等）内のサブ構造を強調または選択することは、エディタ環境内で利用可能でありかつ１つまたは複数のノードおよび／または１つまたは複数の相互接続の選択を可能する多数の標準ツールによって遂行されることが理解されよう。例示的なツールは、選択ツール、スナップショットツール、またはグループ化ツールを含み得る。
【００６２】
図６は、上記方法の実施形態を例示する。ステップ602でユーザ入力が受信され、ユーザ入力は部分的な処理フロー構造を定義する。受信したユーザ入力によって定義される部分的な処理フロー構造は、少なくとも２つの相互接続ノードを含み得る。ステップ604で、上記方法は、処理フロー構造のリポジトリから、部分的に生成された処理フロー構造の少なくとも２つの相互接続ノードと比較して所定の類似度を満たす、以前に作成された１つまたは複数のフロー構造を選択する。
【００６３】
選択された１つまたは複数の処理フロー構造またはそれらの一部は、ステップ606において、部分的に生成された処理フロー構造に対して可能性のあるまたは提案される追加として、ユーザに対して表示され得る。ステップ608において、表示される１つまたは複数の処理フロー構造のうちの少なくとも一部分を選択するユーザ入力が受信される。ステップ610は、部分的に生成された処理フロー構造に、ステップ608においてユーザによって選択されたノードおよび相互接続を追加する。変更された処理フロー構造は、ステップ612で表示される。
【００６４】
本発明は、（１）以前に記憶された処理フロー構造のデータベースの検索、ならびに（２）部分的に生成された処理フロー構造内のノードの配置および相互接続と同一（または所定の度合いで類似）であるノードの配置および相互接続を有する処理フロー構造の選択および取り出しを可能するのに適した方法または装置を実装し得ることが理解されよう。
【００６５】
当該方法の実施形態を図７〜１４を参照しながら以下に説明する。当該方法は、ノードの属性に関する情報を含む処理フローレコードとして処理フロー構造を表すとともに格納することによるものである。本方法は、
・ノード属性のコレクションとして処理フロー構造内の各ノードを表すステップと、
・上記処理フロー構造に対応する処理フローレコード内の処理フロー構造の個々のノードに関するノード属性を格納するステップと
を含む。
【００６６】
処理フロー構造の個々のノードは、ノードＩＤ、ノードタイプＩＤ、内向き接続点ＩＤ、外向き接続点ＩＤ、親ＩＤ、および子ＩＤのうちの１つまたは複数を含み得る、ノード属性（すなわち、ノードの特性）のコレクションとして表され得る。これらノード属性のそれぞれは以下に説明する。
【００６７】
ノードＩＤ ― ノードＩＤは、処理フロー構造内の特定のノードと一意的に関連付けられた識別子である。ノードＩＤは、何らかの方法に従って生成および割り当てられ得、提供される各ノードは、それに関連付けられた一意のノードＩＤを有する。
【００６８】
図７は、本発明の例示的な実施形態を例示し、各ノードＩＤが、処理フロー構造内の対応するノードの階層的な位置を表すようにノードＩＤが選択される。図７に例示されるように、処理フロー構造700は、ノード701〜707を具備する。処理フロー構造700内の各ノードは、次の一般式を有する一意のノードＩＤで表される。
(x).(y+1)        ………式（１）
・Ｘは、開始ノードから開始して、検討中のノードに到達するまでに制御フローのための通過が必要なノードの最小数を表すカウンタであるとともに、
・Ｙは、検討中のノードの生成以前に親ノード（検討中のノードの）から生成された兄弟ノードの数を表すカウンタである。
【００６９】
図７に表されたノードに式（１）を適用すると、対応するノードＩＤは、以下の方法で生成され得る。
・ノード701
・ノード701は開始ノードであるため、上記ノードに到達するまでに制御フローのために通過する必要があるノードは0である。従って、Ｘの値は0である。
・ノード701は、親ノードから既に生成されている兄弟ノードを有さないので、Ｙの値は0である。
・従って、ノード701に対応するノードＩＤは、(X).(Y+1)、すなわち、0.1である。
・ノード702
・ノード702に到達するまでに制御フローのために通過する必要があるノード（ノード701）が１つある。従って、Ｘの値は1である。
・ノード702は、親ノード（ノード701）から既に生成されている兄弟ノードを有さないため、Ｙの値は0である。
・従って、ノード702に対応するノードＩＤは、(X).(Y+1)、すなわち、1.1である。
・ノード703
・ノード703に到達するまでに制御フローのために通過する必要があるノード（ノード701および702）は２つある。従って、Ｘの値は2である。
・ノード703は、親ノード（ノード702）から既に生成されている兄弟ノードを有さないので、Ｙの値は0である。
・従って、ノード703に対応するノードＩＤは、(X).(Y+1)、すなわち、2.1である。
・ノード704
・ノード704に到達するまでに制御フローのために通過する必要があるノード（ノード701、702、および703）は、３つある。従って、Ｘの値は3である。
・ノード704は、親ノード（ノード703）から既に生成されている兄弟ノードを有さないので、Ｙの値は0である。
・従って、ノード704に対応するノードＩＤは、(X).(Y+1)、すなわち、3.1である。
・ノード705
・ノード705に到達するまでに制御フローのために通過する必要があるノード（ノード701、702、および703）は３つある。従って、Ｘの値は3である。
・ノード705は、親ノード（ノード703）から既に生成された兄弟ノード（ノード704）を1個有するため、Ｙの値は1である。
・従って、ノード705に対応するノードＩＤは、(X).(Y+1)、すなわち、3.2である。
・ノード706
・ノード706に到達するまでに制御フローのために通過する必要があるノード（ノード701、702、703、および704）は４つある。従って、Ｘの値は4である。
・ノード706は、親ノード（ノード703）から既に生成された兄弟ノードを有さないため、Ｙの値は0である。
・従って、ノード706に対応するノードＩＤは、(X).(Y+1)、すなわち、4.1である。
・ノード707
・ノード707に到達するまでに制御フローのために通過する必要があるノード（ノード701、702、703、704、および705）は５つある。従って、Ｘの値は5である。
・ノード707は、親ノード（ノード706）から既に生成された兄弟ノードを有さないため、Ｙの値は0である。
・従って、ノード707に対応するノードＩＤは、(X).(Y+1)、すなわち、5.1である。
【００７０】
ノードタイプＩＤ ― ノードタイプＩＤは、特定のノードを表すために使用されるノードシンボル（および、上記ノードシンボルによって表された対応する処理ステップカテゴリ）に関連付けられた識別子である。表１は、ノードタイプＩＤと各ノードタイプを識別し得る各ノードタイプまたはノードシンボルとの間の関連の例示的なセットを提示する。
【００７１】
【表１】
2015176603.tif 000003
【００７２】
表１におけるノードタイプＩＤは、シンプルな数値の識別子であるのと同時に、ノードタイプＩＤは、処理フロー構造内の各ノードタイプまたはノードシンボルを一意的に識別することができる他の識別子のセットを含み得ることが理解されよう。
【００７３】
内向き接続点ＩＤ ― 内向き接続点ＩＤは、別のノードからの内向き相互接続が検討中のノードと結合する検討中のノードの境界における局所的位置を定義する。一実施形態において、内向き接続点ＩＤは、内向き相互接続が検討中のノードと結合するノードの境界において対応する位置に一意的に関連付けられた数値を含み得る。
【００７４】
外向き接続点ＩＤ ― 外向き接続点ＩＤは、外向き相互接続（別のノードへの）が検討中のノードと結合する検討中のノードの境界における局所的位置を定義する。一実施形態において、外向き接続点ＩＤは、外向き相互接続が検討中のノードと結合するノードの境界における対応する位置と一意的に関連付けられた数値を含み得る。
【００７５】
本発明の実施形態において、処理フロー構造内の各ノードは、他のノードとの内向きまたは外向き相互接続と結合するために構成された境界において、４つの局所的位置を有し得る。一実施形態において、これらの局所的位置は、ノード境界の上側、右側、下側、および左側に配置され得る。好適な実施形態において、これら上、右、下、および左の局所的位置のそれぞれは、ノード境界上の対応する位置と一意的に関連付けられた対応する数値によって表され得、いずれの値も検討中のノードの内向き接続点ＩＤまたは外向き接続点ＩＤとして働き得る。
【００７６】
表２は、他のノードとの内向きまたは外向き相互接続と結合するノード境界において局所的位置を定義するために使用され得る数値の例示的な実施形態を提示する。
【００７７】
【表２】
2015176603.tif 000004
【００７８】
図７のノード706を例にとると、表２で与えられたＩＤ値に基づいて、当該ノードは、0の内向き接続点ＩＤ値（ノード境界の上側における内向き接続を意味する）、および2の外向き接続点ＩＤ値（ノード境界の下側における外向き接続を意味する）を有する。一方で、ノード702は、当該ノードの上側および右側のそれぞれにおける、２つの内向き接続を有する ― 従って、２つの内向き接続点ＩＤ値はそれぞれ、0および1を有する。ノード702は、当該ノードの下側における単一の外向き接続のみを有する ― 従って、単一の外向き接続点ＩＤ値である2を有する。
【００７９】
親ＩＤ ― 親ＩＤは、検討中のノードが派生する親ノードを識別する情報を含むノード属性である。シンクノードの場合、親ＩＤのノード属性は、シンクノードにおいて収束する複数の親ノードを識別し得ることが理解されよう。本発明の実施形態において、親ＩＤは、そのような親ノードに対応する一意のノードＩＤを使用することによって、親ノードを識別し得る。
【００８０】
子ＩＤ ― 子ＩＤは、検討中のノードから派生する子ノードを識別する情報を含むノード属性である。バーストノードの場合、子ＩＤノード属性は、バーストノードから分岐する複数の子ノードを識別し得ることが理解されよう。本発明の実施形態において、子ＩＤは、そのような子ノードに対応する一意のノードＩＤを使用することによって子ノードを識別し得る。
【００８１】
図８は、処理フロー構造を記録するための処理フローレコードを作成するための原理を形成し得るデータ構造テンプレート800の実施形態を例示する。データ構造800は、表されたフロー構造内の各ノードに対応する、ノードＩＤ（801）、ノードタイプＩＤ（802）、内向き接続点ＩＤ（803）、外向き接続点ＩＤ（804）、親ＩＤ（805）、および子ＩＤ（806）を記録するデータフィールド801〜806を含む。
【００８２】
図８は、例示的なデータ構造テンプレートを説明するのと同時に、処理フローレコードは、テーブル、マトリクス、スプレッドシート、二次元配列、ｘｍｌドキュメント、または適切に構成されたデータベーススキーマを含む処理フロー構造を表す情報を記録することができるデータ構造内で作成され得ることが理解されよう。
【００８３】
図９Ａは、ノード901〜908を具備する例示的な処理フロー構造900aを与える。図９Ｂは、処理フロー構造900aを表すために生成された対応する処理フローレコード900b（図８に例示されるデータ構造に基づく）を例示する。例示的な本実施形態において、ノード属性のノードＩＤ（それと従って、ノード属性の親ＩＤおよび子ＩＤ）は、上記式（１）に従って生成された一意のノードＩＤを具備することに留意されたい。ノード属性のノードタイプＩＤは、上記表１において設定された例示的なノードタイプＩＤを具備する。ノード属性の内向き接続点ＩＤおよび外向き接続点ＩＤは、上記表２で論じられ例示的に定義された局所的ノード境界位置に対応する。
【００８４】
図１０Ａは、ノード1001〜1008を具備する例示的な処理フロー構造1000aを与える。図１０Ｂは、処理フロー構造1000aを表すように生成された対応する処理フローレコード1000b（図８に例示されるデータ構造テンプレートに基づく）を例示する。図１０Ｂのケースにおけるように、ノード属性のノードＩＤ（それと従って、ノード属性の親ＩＤおよび子ＩＤ）は、上記式（１）に従って生成された一意のノードＩＤを具備する。ノード属性のノードタイプＩＤは、上記表１において設定された例示的なノードタイプＩＤを具備する。ノード属性の内向き接続点ＩＤおよび外向き接続点ＩＤは、上記表２で論じられ例示的に定義された局所的ノード境界位置に対応する。
【００８５】
図９Ｂおよび１０Ｂから、ノードは、複数の内向き接続点、外向き接続点、親ノード、または子ノードを有する場合において、そのノードに対応する関連のあるデータフィールドは、複数のデータエントリを含み得ることを留意されたい。例示の実施形態において、複数のデータエントリは、区切り文字によって分離される。しかし、複数の内向き接続点、外向き接続点、親ノード、または子ノードを有するノードの例を表すために他の方法が使用され得ることが、当業者には分かるだろう。
【００８６】
処理フロー構造を表す処理フローレコード（図８に例示されるデータ構造テンプレートに基づく処理フローレコード等）は、（１）処理フロー構造を解析し、（２）対応する処理フローレコード内に、処理フロー構造の各ノードに一意的に対応するデータレコードを作成するとともに、（３）対応するノードのノード属性を表すデータとともに、各データレコード内へデータフィールドを投入することによって、投入され得る。
【００８７】
本発明の実施形態において、処理フロー構造に対応する処理フローレコードは、処理フロー構造の作成と同時に生成および投入され得る。処理フロー構造への各ノードに応答して、対応するデータレコードが、処理フローレコードに追加されるとともに、当該ノードのノード属性を表すデータと投入される。
【００８８】
図１１は、処理フローレコードが処理フロー構造と同時に生成および投入される、例示的な方法の実施形態を例示する。ステップ1102において、処理フロー構造生成セッションの開始を示すユーザ入力が受信される。ステップ1104は、処理フロー構造を表す情報を記録するように構成された処理フローレコードを作成する。ステップ1106において、処理フロー構造のノードを追加または変更するように向けられたユーザ入力が受信される。
【００８９】
ステップ1108は、受信されたユーザ入力が、新しいノードを処理フロー構造に追加するかどうかをチェックする。受信されたユーザ入力が新しいノードを処理フロー構造に追加する場合、ステップ1110は、受信されたユーザ入力を解析するとともに、追加されるノードに対応するデータレコードを処理フローレコード内に作成する。追加されたノードのノード属性は、追加されたノードに関して作成されたデータレコードの対応するデータフィールドに適切なデータエントリを追加することによって記録される。代替として、処理フロー構造を変更するように受信されたユーザ入力が新しいレコードを追加しない場合、代わりに既存のレコードを変更することが理解されよう ― ステップ1113が受信されたユーザ入力を解析し、変更中のノードを識別し、変更中のノードに対応するデータレコード（処理フローレコード内から）を配置する（処理フローレコード内から）とともに、当該データレコードを変更してノード属性内の影響を受ける変更を反映するケース。
【００９０】
その後、ステップ1114は、ユーザが処理フロー構造生成セッションを送信したかどうかをチェックする。送信していない場合、本方法はステップ1106に戻り、そうでなければ、ステップ1116で終了する。
【００９１】
図１１の方法は、処理フロー構造を表す処理フローレコードが処理フロー構造の生成と同時に生成されるシチュエーションを記載する。しかし、以前に作成された処理フロー構造を解析し、当該以前に作成された処理フロー構造の各ノードのノード属性を表す情報とともにデータレコードを投入することによって、既存の処理フロー構造を表す処理フローレコードが生成および投入され得ることが理解されよう。同様に、以前に作成された処理フロー構造に対する変更は、当該処理フローレコード内のデータフィールドを適切に変更することによって、当該処理フロー構造を表す処理フローレコード内で更新され得る。
【００９２】
処理フロー構造を表す処理フローレコードは、表される処理フロー構造をビジュアルディスプレイ装置上に再生成および表示するように解析され得ることも理解されよう。再生成は、処理フローレコード内の各データレコードを解析すること、ならびに解析されたデータレコード内に格納されたノード属性情報と対応するノードおよび相互接続を有する処理フロー構造を生成することを含んでもよい。
【００９３】
図１２は、図８に表されるデータフィールドを有する投入された処理フローレコードが当該処理フローレコードを対応する処理フロー構造を再生成するために使用され得る、方法を例示する。
【００９４】
ステップ1202は、処理フローレコード内の第１のデータレコードを解析する。第１のデータレコードに対応するデータフィールド内のノード属性値に基づいて、ステップ1204は、ノード相互接続とともに対応するノードをディスプレイ装置上に作成する。
【００９５】
方法の例示的な実施形態において、処理フローレコードは、図８のデータ構造テンプレートに基づく。本実施形態において、解析されたデータレコードから取り出されかつディスプレイ装置上における対応するノードおよびノード相互接続の生成に関係するノード属性は、１つまたは複数のノードＩＤ（検討中のノードを一意的に識別するために必要な）、ノードタイプＩＤ（ノードと関連して表示されるノードシンボルを識別する）、親ＩＤ（相互接続された親ノードを識別する）、子ＩＤ（相互接続された子ノードを識別する）、内向き接続点ＩＤ（親ノードからの内向き相互接続の境界位置を識別する）、および外向き接続点ＩＤ（子ノードへの外向き相互接続の境界位置を識別する）を含み得る。
【００９６】
その後、ステップ1206は、まだ解析されていない処理フローレコード内の他のデータレコードをチェックする。１つまたは複数のデータレコードがまだ解析されていない場合、本方法は、ステップ1208で次のデータレコードを解析するとともにステップ1204に戻り、そうでなければステップ1210で終了する。エディタ環境内に作成された処理フロー構造に基づく処理フローレコードは、処理フローレコードのリポジトリに格納され得る。
【００９７】
図１３は、処理フローレコードのリポジトリが、部分的に生成された処理フロー構造をユーザが完成させるために提案される構造をユーザが受けるのを可能する、本発明の実施形態を例示する。
【００９８】
ステップ1302は、部分的に生成された処理フロー構造を定義するユーザ入力を受信し、部分的に生成された構造は、少なくとも２つの相互接続ノードを具備し、ステップ1304において、各ノードの属性を定義するデータレコードのコレクションとして、部分的に生成された処理フロー構造を表す処理フローレコードが生成される。
【００９９】
その後、ステップ1306は、以前に作成された処理フロー構造を表す１つまたは複数の処理フローレコードをリポジトリから選択するおよび取り出す ― 当該選択は、選択された処理フローレコードと部分的に生成された処理フロー構造を表す処理フローレコードとの間の所定の類似度を確認することに基づく。
【０１００】
ステップ1308は、選択された処理フローレコードに基づいて再生成された処理フロー構造をレンダリングおよび表示する。ステップ1310において、本方法は、表示された処理フロー構造の少なくとも一部分を選択するユーザ入力を受信する。ステップ1312で、ユーザ選択に対応するノードおよび相互接続が、部分的に生成された処理フロー構造に追加される。ステップ1314は、変更された処理フロー構造を表示する。
【０１０１】
選択された処理フロー構造内の特定のノードまたは相互接続が、部分的に生成された処理フロー構造と矛盾するまたは不適合である事象において、そのような矛盾したまたは不適合なノードまたは相互接続は、選択された処理フロー構造（またはそれらの一部）を、部分的に生成された処理フロー構造に追加する際に破棄され得る。
【０１０２】
本発明は、部分的に生成された処理フロー構造と必要な類似度を有する構造を識別するために、リポジトリ内の以前に作成された全ての処理フロー構造を検索するように構成され得る。しかし、特定の実施形態において、本発明は、エディタ環境内で最後に生成または選択されたｎ個の処理フロー構造を検索する。さらなる特定の実施形態において、ｎは、ユーザ定義または管理者定義された変数であり得る。各ユーザは、エディタ環境内で作成されたまたはエディタ環境からアクセス可能な対応するユーザプロファイルを有し得、ｎの値は定義され得る。
【０１０３】
別の実施形態において、エディタ環境は、個々のユーザによって以前に作成されたまたは選択された処理フロー構造の識別を可能にする、個々のユーザにそれぞれ対応するユーザプロファイル情報を格納し得る。本構成において、エディタ環境は、個人ログイン情報によって個々のユーザを識別し得るとともに、当該ユーザによって作成された部分的に生成された処理フロー構造と必要な類似度を有する構造を識別するために、当該個々のユーザによって以前に作成された処理フロー構造を特異的に検索し得る。
【０１０４】
上述の通り、本発明は、ユーザの選択ために、部分的に生成された処理フロー構造との所定の類似度を示す１つまたは複数の以前に作成された処理フロー構造を提示する。
【０１０５】
本発明の実施形態において、所定の類似度をチェックすることは、以前に作成された処理フロー構造が、部分的に生成された処理フロー構造内のノードおよび相互接続の全体のセットと同一あるノードのサブセットおよび対応する相互接続を含むかどうかをチェックすることを含み得る。別の実施形態において、所定の類似度をチェックすることは、以前に作成された処理フロー構造は、部分的に生成された処理フロー構造内の第１のノードのサブセットおよび対応する相互接続と同一である第２のノードのサブセットおよび対応する相互接続を含むかどうかをチェックすることを含み得る。
【０１０６】
さらなる実施形態において、所定の類似度をチェックすることは、以前に作成されたフロー構造が、２つの相互接続ノードの第１のサブセットと同一でありかつ部分的に生成された処理フロー構造内の第２のノードのサブセットおよび対応する相互接続を含むかどうかをチェックすることを含む。さらなる別の実施形態において、所定の類似度をチェックすることは、以前に作成されたフロー構造は、部分的に生成された処理フロー構造内の２つの相互接続ノードの第１のサブセットと同一である第２のノードのサブセットおよび対応する相互接続を含むかどうかをチェックすることを含み、第１のノードのサブセットは、部分的に生成された処理フロー構造の開始（すなわち、開始ノード）を表すノードを含まない。
【０１０７】
別の実施形態において、所定の類似度をチェックすることは、以前に作成されたフロー構造が、部分的に生成された処理フロー構造内の２つの相互接続ノードおよびそれらの相互接続の第１のサブセットと同一である第２のノードのサブセットおよび対応する相互接続を含むかどうかをチェックすることを含み、第１のサブセット内の２つのノードの一方は、部分的に生成された処理フロー構造内の最後に生成されたノードである。
【０１０８】
以前に作成された処理フロー構造が、部分的に生成された処理フロー構造内の第１のノードのサブセットと同一である第２のノードのサブセットおよび対応する相互接続を含むかどうかを判定することは、２つの処理フロー構造内のノードと関連付けられた１つまたは複数のノード属性に基づく比較を含み得る。比較中のノード属性は、各ノードと関連付けられたノードシンボル、検討中のノードと関連付けられた親ノード、および検討中のノードと関連付けられた子ノードのうちの１つまたは複数を含み得る。特定の実施形態において、比較中のノード属性はさらに、ノードからの外向き接続の境界位置、およびノードへの内向き接続の境界位置の一方または両方を含み得る。
【０１０９】
一実施形態において、第１のノードのサブセットのノード属性（部分的に生成された処理フロー構造内からの）を以前に作成された処理フロー構造内のノードのノード属性と比較することは、図１３と関連してより一般的に説明される方法に基づいて遂行され得る ― すなわち、部分的に生成された処理フロー構造に対応する処理フローレコードを、リポジトリから取り出した、以前に作成済みの処理フロー構造に対応する処理フローレコードと比較することによって遂行され得る。図１４は、この比較を遂行するための例示的な方法ステップを論じる。
【０１１０】
ステップ1402において、比較の対象とされるノードのセットは、部分的に生成された処理フロー構造内で識別される。ステップ1404は、部分的に生成された処理フロー構造を表す第１の処理フローレコード内で、識別されたノードのセットを表すデータレコードのセットを識別する。
【０１１１】
その後、ステップ1406は、当該第２の処理フローレコードが、第１の処理フローレコード内の識別されたデータレコードのセットのデータフィールド値（ノード属性を表す）と同一のデータフィールド値（ノード属性を表す）を有するデータレコードを含むかどうかを判定するために、以前に生成された処理フロー構造に対応する第２の処理フローレコードを評価する。第２の処理フローレコードが同一のノード属性を有するデータレコードを含むことがわかった場合、以前に作成された処理フロー構造は、部分的に生成された処理フロー構造と比較して所定の類似度を満たすと判定される。
【０１１２】
上記説明した本発明の多様な実施形態は、ディスプレイ装置上における、部分的に生成された処理フロー構造への追加のための選択可能なオプションとして、提案される１つまたは複数の処理フロー構造の提示を可能にする、一実施形態において、部分的に生成された処理フロー構造内の検討中のノードを識別するユーザ入力を受信したことに応答して、本発明は、当該検討中のノードにおいて追加され得る、提案される処理フロー構造を表示する。ユーザは、提案された処理フロー構造のうち、検討中のノードにおいて追加すべき１つを選択し得る、または代替として、検討中のノードにおける追加のための個々のノードおよびコネクタのデフォルトパレットから個々の処理ノードおよび／またはコネクタを選択し得る。
【０１１３】
図１５Ａ〜１５Ｃは、部分的に生成された処理フロー構造への追加のために利用可能なオプションの中からユーザが選択可能にするための例示的なエディタ環境を説明する。
【０１１４】
図１５Ａは、ビジュアルディスプレイ装置上でユーザに提示される例示的なエディタ環境1500を例示する。例示のエディタ環境は、開始ノード1502、処理ノード1506、および２つのノード間の有向の相互接続1504を具備する、部分的に生成された処理フロー構造を含む。ユーザがノード1506の上（またはその付近に）マウス／カーソルを乗せたことに応答して、当該ノードは、関心のあるノードまたは検討中のノードとして認識され、エディタ環境は、当該ノードの未利用の接続点のそれぞれにおいて矢印1508、1508’、および1508”を表示する。従って、ユーザが関心のある接続点を識別したこと（例えば、そのような接続点の上またはその付近にマウス／カーソルを乗せることによって）に応答して、エディタ環境は、ユーザに対して、当該検討中のノードに追加され得る提案された１つまたは複数の処理フロー構造を表示するとともに、好適な実施形態においては特に、関心のある接続点において表示する。
【０１１５】
図１５Ｂは、同様のエディタ環境の実施形態を例示し、ユーザが関心のある接続点1508’を識別したこと（例えば、接続点1508’の上またはその付近にマウス／カーソル1510を乗せることによって）に応答して、エディタ環境は、ユーザに対して、検討中のノードにおける追加のための可能性のあるオプションとして、個々のノードおよびコネクタを具備するデフォルトパレット1512を表示する。
【０１１６】
図１５Ｃに例示されるように、エディタ環境は、検討中のノードにおける追加のための選択可能な代替として、提案される１つまたは複数の処理フロー構造だけでなくデフォルトパレットとともにユーザを同時に事前設定し得る。
【０１１７】
図１５Ｃにおいて、関心の接続点1508’を識別する（例えば、そのような接続点1508’の上またはその付近にマウス／カーソル1510を乗せることによって）ユーザに応答して、エディタ環境はユーザに対して、（１）検討中のノードにおける追加のための選択可能なオプションとしての、個々のノードおよびコネクタを具備するデフォルトパレット1512、（２）検討中のノードにおける追加のために選択可能な（または部分的に選択可能な）オプションとしての第１の処理フロー構造400a’、および（３）検討中のノードにおける追加のために選択可能な（または部分的に選択可能な）オプションとしての第２の処理フロー構造400b’を同時に表示する。図１５Ｃで説明される例示的な実施形態において、第１の処理フロー構造400a’および第２の処理フロー構造400b’はそれぞれ、格納されている処理フロー構造400aおよび400bのサブセットとして図４Ｃおよび４Ｄにそれぞれ例示される処理フロー構造に対応し、各々が、（１）部分的に生成された処理フロー構造内のノードの配置および相互接続と同一であるノードのサブセットおよび相互接続を有するものとして見つけられたものであり（図４Ａ〜４Ｄと関連して論じた方法の実施形態において）、（２）従って、検討中のノードにおける追加のための選択可能な（または部分的に選択可能な）オプションとして、ユーザに対して表示されることに留意されたい。
【０１１８】
図１６は、グラフィカル環境コントローラ1602、構造−レコードコンバータ1604、レコード−構造コンバータ1606、比較エンジン1608、およびリポジトリ1610を具備する本発明の例示的なシステム1600を例示する。
【０１１９】
グラフィカル環境コントローラ1602は、ビジュアルディスプレイ装置上で、入出力機能を制御すること、および処理フロー構造をレンダリングまたは表示することを含む、ビジュアルディスプレイ装置上でユーザに対して提示されるエディタ環境を制御するように構成される。比較エンジン1608は、（１）エディタ環境内に生成され部分的に生成された処理フロー構造を表す情報を受信するとともに、上記部分的に生成された処理フロー構造と所定の類似度を有する、以前に作成済みの処理フロー構造を識別するように構成される。リポジトリ1610は、以前に作成された処理フロー構造を表す情報のデータベースを具備するとともに、そのような情報を、部分的に生成された処理フロー構造との比較を可能するための比較エンジン1608に伝達するように構成される。
【０１２０】
図１６に例示される実施形態において、グラフィカル環境コントローラ1602は、ディスプレイコントローラ1612は含む。ディスプレイコントローラ1612は、そこに処理フロー構造を表示するために、ビジュアルディスプレイ装置1614を制御するように具体的に構成され得る図１６の実施形態において、ビジュアルディスプレイ装置1614はシステム1600の外部にある。しかし、本発明のシステムはビジュアルディスプレイ装置を含み得ることは理解されよう。
【０１２１】
図１６の実施形態において、システム1600は構造−レコードコンバータ1604をさらに具備する。コンバータ1604は、グラフィカル環境コントローラ1602から、部分的に生成された処理フロー構造を記述する情報を含むエディタ環境内のセッションアクティビティに関する情報を受信するように構成される。コンバータ1604はさらに、部分的に生成された処理フロー構造を、当該処理フロー構造を表す処理フローレコードにコンバートするように構成される。本発明の特定の実施形態において、コンバータ1604は、データ構造テンプレート800に例示されるデータフィールドの一部または全部に基づいて、処理フローレコードを生成するように構成され得る。
【０１２２】
部分的に生成された処理フロー構造に対応する処理フローレコードは、比較エンジン1608に伝送される。比較エンジン1608はリポジトリ1610から以前に作成された個々の処理フロー構造を表す処理フローレコードを取り出す。本発明の実施形態において、リポジトリ1610から取り出した処理フローレコードは、データ構造テンプレート800に例示されたデータフィールドの一部または全部を含む。リポジトリ1610から取り出した処理フローレコードは、部分的に生成された処理フロー構造に対応する処理フローレコードに対して比較される ― それにより、所定の類似度を有する処理フローレコードを識別する。本発明の実施形態において、比較エンジン1608は、上述の比較のための方法に基づいて処理フローレコードを比較し得る。
【０１２３】
必要な類似度を有するものとして比較エンジン1608によって識別される処理フローレコードは、レコード−構造コンバータ1606に伝達される。コンバータ1606は、必要な類似度を有するものとして識別される処理フローレコードを受信するとともに、フローレコードを対応する処理フロー構造を表す情報にコンバートするように構成される。その後上記処理フロー構造は、部分的に生成された処理フロー構造に追加されるユーザ選択可能なオプションとして、視覚的表示装置上に上記処理フロー構造を図形的にレンダリングまたは表示するグラフィカル環境コントローラ1602と通信され得る。図１６に例示される実施形態において、ディスプレイ装置1614上の処理フロー構造の表示は、グラフィカル環境コントローラ1602内に提供されるディスプレイコントローラ1612を通じて遂行され得る。
【０１２４】
本発明の実施形態において、リポジトリ1610は、エディタ環境においてユーザによって生成された処理フロー構造を格納するように構成される。特定の実施形態において、リポジトリ1610は有限個の処理フロー構造を記憶するように構成され得る。有限個の処理フロー構造は所定の数だけ具備し得るとともに、実施形態においてユーザまたは管理者によって定義され得ることは理解されよう。一実施形態において、リポジトリ1610は、最後に作成されたｎ個の処理フロー構造を格納するように構成され得る。
【０１２５】
本発明の実施形態において、エディタ環境内に作成された処理フロー構造は、当該処理フロー構造の完成により、リポジトリ1610に格納されるだけでもよい。処理フロー構造の比較は、（１）ターミネーションノード（すなわち、終了ノード）の選択を表すユーザ入力から受信する、または（２）処理フロー構造を持続性メモリに、またはリポジトリ1610に送るための命令を表すユーザ入力から受信する、または（３）ユーザセッションの終了を表すユーザ入力から受信することを含むあらゆる方法で判定され得る。
【０１２６】
図１７は、本発明の多様な実施形態が実施され得る例示的なシステムを説明する。
【０１２７】
システム1702は、少なくとも１つのプロセッサ1704および少なくとも１つのメモリ1706を具備する。プロセッサ1704は、プログラム命令を実行するとともに、リアルプロセッサであり得る。プロセッサ1704は、仮想プロセッサでもあり得る。コンピュータシステム1702は、記載された実施形態の使用または機能性の範囲についてのいかなる限定も示唆するように意図されていない。例えば、コンピュータシステム1702は、限定はしないが、１つまたは複数の汎用コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、集積回路、および本発明の方法を構成するステップを実施することができる他の装置または装置の配置を含み得る。本発明の実施形態において、メモリ1706は、本発明の多様な実施形態を実施するためのソフトウェアを格納し得る。コンピュータシステム1702は追加の構成要素を有し得る。例えば、コンピュータシステム1702は、１つまたは複数の通信チャネル1708、１つまたは複数の入力装置1710、１つまたは複数の出力装置1712、および記憶装置1714を含む。バス、コントローラ、またはネットワーク等の相互接続メカニズム（図示せず）は、コンピュータシステム1702の構成要素を相互接続する。本発明の多様な実施形態において、オペレーティングシステムソフトウェア（図示せず）は、コンピュータシステム1702において実行する多様なソフトウェアのための動作環境を提供し、コンピュータシステム1702の構成要素の様々な機能性を管理する。
【０１２８】
通信チャネル1708は、通信媒体による他の多様なコンピューティングエンティティへの通信を可能にする。通信媒体は、プログラム命令、または通信媒体内の他のデータ等の情報を提供する。通信媒体は、限定はしないが、電気、光学、ＲＦ、赤外線、音響、マイクロ波、ブルートゥース（登録商標）、または他の送信媒体で実装される有線または無線による方法を含む。
【０１２９】
入力装置1710は、限定はしないが、タッチスクリーン、キーボード、マウス、ペン、ジョイスティック、トラックボール、音声装置、スキャン装置、またはコンピュータシステム1702に入力を与えることができる他の何らかの装置を含み得る。本発明の実施形態において、入力装置1710は、サウンドカード、またはアナログもしくはデジタル形式でオーディオ入力を受ける同様の装置であり得る。出力装置1712は、限定はしないが、ＣＲＴまたはＬＣＤ上のユーザインターフェース、プリンタ、スピーカ、ＣＤ／ＤＶＤライタ、またはコンピュータシステム1702からの出力を提供する他の何らかの装置を含み得る。
【０１３０】
記憶装置1714は、限定はしないが、磁気ディスク、磁気テープ、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、何らかのタイプのコンピュータメモリ、磁気ストリップ、スマートカード、印刷されたバーコード、または情報を記憶するために使用することができかつコンピュータシステム1702がアクセスすることができる他の一時的もしくは持続性の何らかの媒体を含むことができる。本発明の多様な実施形態において、記憶装置1714は、記載された実施形態を実施するためのプログラム命令を含む。
【０１３１】
本発明の実施形態において、コンピュータシステム1702は、分散ネットワークの一部分であり、本発明の多様な実施形態が、エンドツーエンドのソフトウェアアプリケーションを迅速に開発するために実施される。
【０１３２】
図１７には例示されていないが、図１７のシステムは、上記図１６と関連してより詳細に記述されるタイプのシステムの構成要素の一部または全部をさらに含み得る。
【０１３３】
本発明は、システム、方法、またはコンピュータ可読記憶媒体、またはプログラミング命令は遠隔地から通信されるコンピュータネットワーク等のコンピュータプログラム製品として含む多数の方法で実装され得る。
【０１３４】
本発明は、コンピュータシステム1702との使用のためのコンピュータプログラム製品として実装されるのに適している。ここで説明した方法は、コンピュータシステム1702または他の同様の装置によって実行されるプログラム命令のセットを具備するコンピュータプログラム製品として典型的に実装される。プログラム命令のセットは、コンピュータ可読記憶媒体（記憶装置1714）等の有形の媒体、例えば、フロッピー（登録商標）ディスク、ＣＤ−ＲＯＭ、ＲＯＭ、フラッシュドライブ、またはハードディスクに記憶された一連のコンピュータ可読コードであり得る、または限定はしないが、光学的またはアナログ通信チャネル1708を含むいずれかの有形の媒体により、モデムまたは他のインターフェース装置を介してコンピュータシステム1702に送信可能であり得る。コンピュータプログラム製品としての本発明の実装は、限定はしないが、マイクロ波、赤外線、ブルートゥース（登録商標）、または他の送信技術を含む無線技術を使用する無形の形式であり得る。これらの命令は、システムに事前にロードされる、またはＣＤ−ＲＯＭ等の記憶媒体上に記憶される、またはインターネットまたは携帯電話ネットワーク等のネットワークによりダウンロードするために利用可能にされることが可能である。一連のコンピュータ可読命令は、ここで上記説明した機能性の全部または一部分を具現化し得る。
【０１３５】
ここでは本発明の例示的な実施形態を説明および例示したが、それが単に例示であることは認識されよう。形式および詳細における多様な変更が、添付の特許請求の範囲によって定義される本発明の趣旨および範囲を逸脱するまたは反することなく為され得ることは、当業者に理解されよう。
【符号の説明】
【０１３６】
1602  グラフィカル環境コントローラ
1604  構造−レコードコンバータ
1606  レコード−構造コンバータ
1608  比較エンジン
1610  リポジトリ
1612  ディスプレイコントローラ
1614  ディスプレイ装置
1702  システム
1704  プロセッサ
1706  メモリ
1708  通信チャネル
1710  入力装置
1712  出力装置
1714  記憶装置
【図１Ａ】
2015176603.tif 000005
【図１Ｂ】
2015176603.tif 000006
【図１Ｃ】
2015176603.tif 000007
【図２Ａ】
2015176603.tif 000008
【図２Ｂ】
2015176603.tif 000009
【図２Ｃ】
2015176603.tif 000010
【図２Ｄ】
2015176603.tif 000011
【図２Ｅ】
2015176603.tif 000012
【図２Ｆ】
2015176603.tif 000013
【図２Ｇ】
2015176603.tif 000014
【図２Ｈ】
2015176603.tif 000015
【図３】
2015176603.tif 000016
【図４Ａ】
2015176603.tif 000017
【図４Ｂ】
2015176603.tif 000018
【図４Ｃ】
2015176603.tif 000019
【図４Ｄ】
2015176603.tif 000020
【図５Ａ】
2015176603.tif 000021
【図５Ｂ】
2015176603.tif 000022
【図６】
2015176603.tif 000023
【図７】
2015176603.tif 000024
【図８】
2015176603.tif 000025
【図９Ａ】
2015176603.tif 000026
【図９Ｂ】
2015176603.tif 000027
【図１０Ａ】
2015176603.tif 000028
【図１０Ｂ】
2015176603.tif 000029
【図１１】
2015176603.tif 000030
【図１２】
2015176603.tif 000031
【図１３】
2015176603.tif 000032
【図１４】
2015176603.tif 000033
【図１５Ａ】
2015176603.tif 000034
【図１５Ｂ】
2015176603.tif 000035
【図１５Ｃ】
2015176603.tif 000036
【図１６】
2015176603.tif 000037
【図１７】
2015176603.tif 000038