JP6449173B2 - プロセスを構成するためのアプリケーションの構築 - Google Patents

プロセスを構成するためのアプリケーションの構築 Download PDF

Info

Publication number
JP6449173B2
JP6449173B2 JP2015557165A JP2015557165A JP6449173B2 JP 6449173 B2 JP6449173 B2 JP 6449173B2 JP 2015557165 A JP2015557165 A JP 2015557165A JP 2015557165 A JP2015557165 A JP 2015557165A JP 6449173 B2 JP6449173 B2 JP 6449173B2
Authority
JP
Japan
Prior art keywords
user interface
graphical user
display element
parameters
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015557165A
Other languages
English (en)
Other versions
JP2016511894A (ja
Inventor
アバヤ,ヴィクター
エル. ヴィグノー,ジョイス
エル. ヴィグノー,ジョイス
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2016511894A publication Critical patent/JP2016511894A/ja
Application granted granted Critical
Publication of JP6449173B2 publication Critical patent/JP6449173B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Description

本記載は、プロセスを構成するためのアプリケーション構築に関する。
多くの場合、複雑な計算(computation)は、有向グラフ(「データフローグラフ」と呼ばれる)を介したデータフローとして表現することができる。計算のコンポーネントはグラフの頂点に関連付けられ、コンポーネント間のデータフローはグラフのリンク(アーク、エッジ)に対応する。コンポーネントには、1つ以上の入力ポートでデータを受信し、データを処理し、1つ以上の出力ポートからデータを供給するデータ処理コンポーネントと、データフローのソース又はシンクとして機能するデータセットコンポーネントと、が含まれ得る。データフローグラフは、パラメータを用いて構成することができる。このようなグラフベースの計算を実施するシステムが、「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」と題する米国特許第5,966,072号に記載されている。
1つの態様において、概して、方法は、少なくとも1つの構成可能アプリケーションの識別を受信することを含み、各構成可能アプリケーションが1つ以上のパラメータによって構成可能である。方法は、少なくとも1つの構成可能アプリケーションに関連付けられたパラメータセットを識別することを含む。方法は、第2のユーザインタフェースにグラフィック表示要素を表示することを含み、グラフィック表示要素は複数のプロパティを有すると共に、第1のユーザインタフェースに対する位置に関連付けられている。方法は、第2のユーザインタフェースにパラメータセットの1つ以上のグラフィック表現を表示することを含む。方法は、グラフィック表示要素の1つのプロパティとパラメータセットの1つのパラメータとのマッピングを受信することを含む。また、方法は、マッピング及び位置の表現を記憶することを含む。
この態様の他の実施形態は、この方法のアクションを実行するように構成された、対応するコンピュータシステム、装置、及び1つ以上のコンピュータ記憶デバイス上に記録されたコンピュータプログラムを含む。1つ以上のコンピュータのシステムは、動作時にこのシステムに特定のアクションを実行させるソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせをシステムにインストールすることによって、それらのアクションを実行するように構成することができる。1つ以上のコンピュータプログラムは、データ処理装置によって実行された場合にこの装置に特定のアクションを実行させる命令を含むことによって、それらのアクションを実行するように構成することができる。
前述の実施形態及びその他の実施形態は、各々、以下の特徴の1つ以上を任意に単独で又は組み合わせて含むことができる。マッピングは、プロパティの値に適用される少なくとも1つの計算を含むことができる。この方法は、プロパティに関連付けられた第1のデータタイプがパラメータに関連付けられた第2のデータタイプと適合しているか否かを試験することを含むことができる。方法は、グラフィック表示要素を第1のユーザインタフェースのユーザに表示するために満足しなければならない少なくとも1つの条件を受信することを含むことができる。方法は、変数とグラフィック表示要素のプロパティとのマッピングを受信することを含むことができる。方法は、グラフィック表示要素及びパラメータの選択を受信したことに応答して、グラフィック表示要素の所定のプロパティとパラメータとのマッピングを発生することを含むことができる。構成可能アプリケーションは、複数のコンポーネントとこれらのコンポーネントを接続する複数のリンクとを用いてデータフローを処理することができ、方法は、複数のリンクのうち1つのリンクを識別することと、第2のグラフィック表示要素のプロパティとリンクとのマッピングを受信することと、グラフィック表示要素がリンクにおけるデータフローを第1のユーザインタフェースのユーザに表示するようにマッピングを記憶することと、を含むことができる。
態様は、以下の利点の1つ以上を含むことができる。見たままが得られる(WYSIWYG:what you see is what you get)ビューを提示することで、構成プロセスの理解を向上させることができる。多数のデータフローグラフを中央位置で構成することも可能である。開発者は多数のメタデータソースを用いて作業することができる(例えばグラフ/プラン上のパラメータ、内部/一時記憶装置に用いる変数、外部ファイル、データベース等)。ユーザがデータフローアプリケーションの頂点又はエッジを選択する必要がある等のいくつかの場合(グラフを用いて作業している場合等)、開発者はそのような頂点/エッジを識別するための明示的なグラフィックによるサポートを与える。グラフィカルユーザインタフェースを用いてテンプレートを検索することができる。エラーを識別して強調表示することができる。構成インタフェースの内部記憶の詳細は隠すことができる。ビルダインタフェース(builder interface)の開発者は、構成インタフェースのユーザが構成の選択を行う際に役立つ追加情報を示すために1つ以上のデータフローグラフの部分的な実行を命令することを可能とする。
本発明のその他の特徴及び利点は、以下の記載から及び特許請求の範囲から明らかとなろう。
データフローグラフを構成するアプリケーションを構築するための例示的なデータ処理システムを示す。 一般データフローグラフ(generic dataflow graph)及び関連するパラメータを示す。 例示的な構成インタフェースを示す。 グラフィカルユーザインタフェース制御に焦点を当てて、構成インタフェースを生成するためのビルダインタフェースの一例を示す。 パラメータデータに焦点を当てて、構成インタフェースを生成するためのビルダインタフェースの一例を示す。 変数データに焦点を当てて、構成インタフェースを生成するためのビルダインタフェースの一例を示す。 変数の自動割り当ての一例を示す。 ビルダインタフェースにおける検索機能を示す。 ビルダインタフェースにおけるエラー処理を示す。 プロセスを構成するためのアプリケーションを構築するプロセスのフローチャートである。
データフローグラフ及びその他の構成可能アプリケーションは、パラメータのセットに基づいて異なるシナリオのためにカスタム化することができる。構成インタフェースと称されるユーザインタフェースは、データフローグラフのためのパラメータを設定することができる。構成インタフェースによって、非専門家がデータフローグラフを構成することが可能となる。構成インタフェースの生成を容易にするため、ビルダインタフェースと称されるユーザインタフェースが、一般データフローグラフに関連付けられたパラメータを識別し、それらのパラメータにグラフィカルユーザインタフェース(GUI)制御をマッピングすることで、開発者による構成インタフェースの生成を可能とする。
図1は、データフローグラフを構成するアプリケーションを構築するための例示的なデータ処理システム100を示す。システム100に含まれるデータソース102は、記憶デバイス又はオンラインデータストリームに対する接続のような1つ以上のデータソースを含むことができ、それらの各々が多種多様な記憶フォーマットのいずれかで(例えばデータベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームにより用いられるネイティブフォーマット)データを記憶することができる。実行環境104は、グラフ構成モジュール106及びユーザインタフェースモジュール112を含む。実行環境104は、UNIXオペレーティングシステム等の適切なオペレーティングシステムの制御のもとで、1つ以上の汎用コンピュータをホストとして動作することができる。例えば実行環境104は、多数の中央処理ユニット(CPU)を用いた複数のコンピュータシステムの構成を含む多ノード並列コンピューティング環境を含むことができ、これらは、ローカルである(例えばSMPコンピュータ等のマルチプロセッサシステム)か、又はローカルに分散されている(例えばクラスタ又はMPPとして結合された多数のプロセッサ)か、又はリモートであるか、又はリモートに分散されている(例えばローカルエリアネットワーク(LAN)及び/又はワイドエリアネットワーク(WAN)を介して結合された多数のプロセッサ)か、又はそれらのいずれかの組み合わせであり得る。
グラフ構成モジュール106は、データフローグラフの構成を変更する。これについては以下で詳述する。ユーザインタフェースモジュール112は、構成情報をユーザ120に表示し、構成アクションをユーザ120から受信する。また、ユーザインタフェースモジュール112はグラフ構成モジュール106と通信を行い、モジュール106はユーザ120のアクションに基づいてデータフローグラフを構成する。例えばデータフローグラフはデータソース102に記憶することができる。データソース102を提供する記憶デバイスは、例えば実行環境104を動作させるコンピュータに接続された記憶媒体(例えばハードドライブ108)上に記憶することで、実行環境104に対してローカルとすることができ、又は、例えば実行環境104を動作させるコンピュータとローカルエリア又はワイドエリアデータネットワークを介して通信するリモートシステム(例えばメインフレーム110)をホストとして動作することで、実行環境104に対してリモートとすることができる。
実行環境104はデータ記憶システム116と通信状態にある。データ記憶システム116は、ユーザインタフェースモジュール112がユーザインタフェースを表示するために用いる情報を含んでいる。また、データ記憶システム116は、開発者120がユーザインタフェースを開発することができる開発環境118にアクセス可能である。それらのユーザインタフェースはデータ記憶システム116に記憶され、ユーザインタフェースモジュール112によってユーザインタフェースを表示するために用いられる。
データソース102は、いくつかの実施において、データフローグラフとしてアプリケーションを開発するためのシステムである。データフローグラフは、頂点(コンポーネント又はデータセット)を含み、頂点は、それらの間の有向リンク(ワーク要素のフローを表す)によって接続されている。例えばそのような環境は、「MANAGING PARAMETERS FOR GRAPH−BASED APPLICATIONS」と題する米国公報第2007/0011668号に、より詳細に記載されている。この出願は引用により本願にも含まれるものとする。
データフローグラフは、1つ以上のデータソースからのデータを処理するデータフローグラフ実行環境内で実行されるコンピュータプログラムと見なすことができる。データソースからのデータは、データフローグラフに従って操作及び処理され、1つ以上のデータシンクにエクスポートされる。データソース及びデータシンクは、例えばファイル、データベース、データストリーム、又はキューを含むことができる。データフローグラフは、データ処理コンポーネントを表すノードを含んだ有向グラフとして表される。それらのコンポーネントの各々は、少なくとも1つのデータ入力からのデータを処理してデータを少なくとも1つのデータ出力に提供するためのコードを含み、ノードは、データソース及び/又はデータシンクにアクセスするためのデータセットオブジェクトを表す。ノードは、コンポーネント間のデータフローを表す有向リンクによって接続され、これらはデータソースから発してデータシンクで終端する。上流コンポーネントのデータ出力ポートは、下流コンポーネントのデータ入力ポートに接続されている。データフローグラフは、データセットオブジェクトによって表される異なるデータソース及び異なるデータシンクのために再使用され得る。データフローグラフを実施するために用いられるデータ構造及びプログラムコードは、例えば異なるソース及びシンクを容易に置換できるようにパラメータ化することで、多数の異なる構成をサポートすることができる。更に、いくつかの機構では、パラメータの使用によりデータフローグラフのフローを変更して、1つのコンポーネント又は一連のコンポーネントをバイパスすることも可能である。一般に、1つのパラメータは、構成又は変更することができるデータフローグラフのプロパティを表す。プロパティの一例として「入力ファイル」が挙げられる。入力ファイルの値は、データフローグラフのデータソースとして機能するデータファイルを識別する。プロパティは、データフローグラフの使用と使用との間に変更することができ、データフローグラフは、この変更の結果として異なる方法で動作を実行し得る。
例えば図2を参照すると、データフローグラフ202は、データソース206a、206b、コンポーネント208a〜208c、210、及びデータシンク212を含むことができる。ソース、コンポーネント、及びシンクの各々に、パラメータセット204a〜204gを関連付けることができる。1つのソース、コンポーネント、又はシンクのパラメータを用いて、異なるソース、コンポーネント、又はシンクのパラメータを評価することができる。この例では、ソース206a、206bはコンポーネント208a、208cの入力ポートに接続されている。コンポーネント208aの出力ポートはコンポーネント208bの入力ポートに接続され、コンポーネント210の出力ポートはデータシンク212の入力ポートに接続されている。ソース、コンポーネント、及びシンク間の接続が、データフローを定義する。
データソース、コンポーネント、又はシンクのいくつかは、グラフの挙動の一部を定義し得る入力パラメータ204a〜204gを有することがある。例えば、1つのパラメータが物理ディスク上のデータソース又はデータシンクの位置を定義する場合がある。また、1つのパラメータがコンポーネントの挙動を定義することがある。例えば1つのパラメータが、どのようにソーティング(sorting)コンポーネントが入力をソートするかを定義し得る。いくつかの機構において、1つのパラメータの値は別のパラメータの値に依存することがある。例えば、ソース206aは特定のディレクトリ内のファイルに記憶されている場合がある。パラメータセット204aは、「ディレクトリ」と称するパラメータ及び「ファイル名」と称する別のパラメータを含むことができる。この場合、ファイル名パラメータはディレクトリパラメータに依存する(例えばディレクトリは「/usr/local/」であり、ファイル名は「/usr/local/input.dat」であり得る)。また、パラメータは、他のコンポーネントのためのパラメータに依存する場合がある。例えば、シンク212の物理的な位置はソース206aの物理的な位置に依存し得る。この例では、シンク212が含むパラメータセット204gは、ソース206aのディレクトリパラメータに依存するファイル名パラメータを含む。(例えば、セット204gのファイル名パラメータは「/usr/local/output.dat」であり得る。「/usr/local/」の値はセット204aのディレクトリパラメータから取得される。)
いくつかの実施では、パラメータセット204a〜204gを結合して、例えばパラメータセット214のようにデータフローグラフ全体のためのパラメータを含む単一のパラメータセットとすることも可能である。このパラメータセットは、例えば図1の開発環境118のような開発環境で使用するため、公表するか又は他の方法で使用可能とすることができる。公表されたパラメータセットは、データフローグラフのアプリケーションプログラミングインタフェース(API)の一部と見なすことができる。
クライアントデバイス上の構成インタフェース内で、パラメータセット204a〜204g又はパラメータセット214のパラメータを再編成して、ユーザとの相互作用のために異なるグループに組み換え、技術的な検討要素でなくビジネス上の検討要素を反映させることができる。ユーザ入力に基づくパラメータの値を受信するための構成インタフェースは、サーバ上の開発環境の態様により必ずしも制約されない柔軟な方法で、パラメータ間の関係に従って異なるパラメータを表示することができる。
場合によっては、データフローグラフの構築は事実上、高度に専門的であり得る。グラフは特定のビジネス上の目標を達成するために書かれるが、その基礎にある構造及び構築は技術的な検討要素に基づいて決定される。例えばグラフコンポーネントの選択は、再利用性を最大限にするように、又は並列処理をサポートするように行うことができる。その一方で、グラフをいつ、どのように用いるかは、主としてビジネス上の決定事項であり得る。パラメータ化データフローグラフに関連付けたパラメータのいくつかを用いることで、ビジネスユーザが、実施の背後にある技術的な複雑さを理解する必要なく、データフローグラフをカスタム化することができる。パラメータ化データフローグラフによって、カスタム化が簡単になり、再利用が容易となる。データフローグラフを構築するためのパラメータ値を識別する構成インタフェースを、クライアントマシンに提示することができる。例えばそのような環境は、「SPECIFYING USER INTERFACE ELEMENTS」と題する米国公報第2011/0145748号に、より詳細に記載されている。この出願は引用により本願にも含まれるものとする。


構成インタフェースは、実行フローグラフを構成するためにも使用可能である。実行フローグラフは、外部プロセスを実行する順序を記述した有向グラフである。例えば実行フローグラフは、データフローグラフのシーケンスを実行する順序を指定することができる。
場合によっては、データフローグラフを構築するためのパラメータ値を識別する構成インタフェースの開発も事実上、高度に専門的であり得る。上述のように、基礎にあるグラフは技術的な検討要素に基づいて構築されることが多いが、構成インタフェースはたいていビジネス上の検討要素に基づいて開発される。このため、構成インタフェースは1つ以上のデータフローグラフにパラメータを提供する場合がある。各データフローグラフは、APIによって提供される別個のパラメータセットを有する。更に、構成インタフェースの開発には、基礎にあるデータフローグラフの開発からの異なるスキルが含まれる。従って、構成インタフェースの開発には、技術、ビジネス、及び有用性についての検討要素を組み合わせることが必要とされる。
構成インタフェースの生成を容易にするため、ビルダインタフェースをクライアントマシンのユーザに提示することができる。ビルダインタフェースは開発環境118の一部であり得る。
図3は例示的な構成インタフェースを示す。この例において、インタフェース300に示す2つのデータフローグラフ302、306は構成インタフェース320に関連付けられている。データフローグラフ302はパラメータ304を用いて構成することができる。同様に、データフローグラフ306はパラメータ308、310、312を用いて構成することができる。
例えばデータフローグラフにより処理されるデータのビジネス知識を有するユーザ等のユーザは、構成インタフェース320によってパラメータに値を割り当てることができ、これにより単一の構成インタフェースを用いて双方のデータフローグラフを構成することが可能となる。この例では、構成インタフェース320はパラメータ1フィールド322を含む。パラメータ1フィールドは、インタフェース300に表示されたパラメータ312に値を割り当てるために用いられる。同様に、パラメータ2フィールド324は、パラメータ310に値を割り当てるために用いられる。パラメータ3フィールドは、パラメータ304に値を割り当てるために用いられる。パラメータ4フィールド328は、パラメータ308に値を割り当てるために用いられる。
パラメータフィールドは、入力するデータのタイプに基づいて選択することができる。例えばパラメータ1フィールド322は、ユーザがいかなる値でも(例えば整数、浮動小数点値等)入力することができるテキストボックスである。パラメータ2フィールド324は、ユーザがリストから値を選択することを可能とするリストボックスである。パラメータ3フィールド326は、ユーザが少数のオプション(この例では2つのオプション値)から値を選択することを可能とするラジオボタンボックスである。パラメータ4フィールド328は、ユーザが大量のテキストを入力することを可能とする大きいテキストボックスである。
他のGUI制御も選択可能である。例えばユーザは、ファイルセレクタを開いて特定の入力ファイルを選択したり、又はネットワークを介してファイルをダウンロードする位置を選択したりすることができる。
図4は、GUI制御に焦点を当てて、構成インタフェースを生成するためのビルダインタフェース400の一例を示す。ビルダインタフェース400はテンプレート名402を含む。テンプレート名402は、生成されている構成インタフェースを識別する。ビルダインタフェース400のユーザインタフェースタブ404は表示領域430を含む。表示領域は、構成インタフェースを構築するための「見たままが得られる」(WYSIWYG)インタフェースを提示する。表示領域430は、開発者がGUI制御を配置するキャンバスと考えればよい。開発者は、コンポーネントセクション422からGUI制御を選択し、それを表示領域430に追加して構成インタフェースを生成することができる。この例では、表示領域430はボックス制御406を含み、これは、ソースファイルに対応するテキスト入力制御410と、ターゲットファイルに対応するテキスト入力制御412とを含む。表示領域430は、ファイルセレクタ制御418を含むボックス制御414も含む。表示領域は、仕切り416等の仕切りを用いて、GUIを複数のセクションに分割することができる。
コンポーネントセクション422は、表示領域420に追加することができる様々な制御を含む。利用可能なGUI制御には、ユーザ入力を受け入れてパラメータに値を割り当てる入力制御が含まれる。利用可能なGUI制御には、1つ以上の制御をグループ化する視覚輪郭線を生成するボックス等のグループ化制御も含まれる。また、開発者は、フィールド間の依存性を開発者が生成することを可能とするルールに基づいた制御も選択することができる。例えばビジネスルール制御によって、開発者は、ビジネスルール制御の出力と一般アプリケーションの構成に用いられるパラメータとのマッピングを提供するパラメータを構成することができる。また、開発者は、構成インタフェースのユーザがグラフにより生成されたデータを見ることを可能とするデータに基づいた制御も選択することができる。例えば図2を参照すると、リンク216は、コンポーネント208bからコンポーネント210へのデータフローに関連付けられている。再び図4を参照すると、リンク216を、ビルダインタフェース400に提示し、データ閲覧制御(図示せず)に結合することができる。データ閲覧制御によって、構成インタフェースのユーザはリンク216のデータを見ることができる。このため構成インタフェースのユーザは、パラメータ変更の影響を迅速に確認することができる。
各制御は1つ以上の属性を有することができる。これらの属性は制御属性領域426に表示すればよい。この例では、制御属性領域426はテキスト入力制御410の属性を表示している。制御属性領域426によってユーザは、制御のプロパティ値のいずれかにパラメータ値を割り当てることができる。例えば、選択値のプロパティ428は、SOURCE_URLパラメータ430の値を与える。
また、開発者は、構成インタフェースの他のグラフィック特性を決定するルールを確立することができる。例えば開発者は、既定の基準セットが満足されない限り特定のGUI制御を非表示に指定することができる。例えば、ソースファイル制御410がポピュレートされない限り、ターゲットファイル制御412は非表示とすることができる。
図5Aは、メタデータに焦点を当てて、構成インタフェースを生成するためのビルダインタフェース400の一例を示す。メタデータセクション502は例えば、構成インタフェースが用いる変数、グラフ又はプランのパラメータ、及びデータフローグラフのコンポーネント間のデータフローを記述するリンクのリストを含むことができる。メタデータ表示領域504は、例えばルールに基づいた制御によって中間値を計算するために使用可能な変数リスト508を含む。メタデータ表示領域504は、基礎にある一般グラフに関連付けられたパラメータリスト506も含む。この例では、開発者が構成インタフェースに含ませる一般グラフを選択すると、パラメータリスト506にその一般グラフのパラメータがポピュレートされる。この例では、パラメータリスト506は、MAPPING_XFR、SOURCE_DML、SOURCE_FILTER、SOURCE_URL、TARGET_DBC_FILE、TARGET_DML、TARGET_FILTER、TARGET_RPATH、及びTARGET_TABLEパラメータを含む。
開発者は、例えばパラメータを選択し、制御属性領域426に表示されたGUI制御内にパラメータをドラッグすることによって、GUI制御のプロパティをパラメータに関連付けることができる。いくつかの実施では、パラメータを選択し、表示領域430に表示されたGUI制御上にパラメータをドラッグすることによって、GUI制御のデフォルトプロパティをパラメータに関連付けることができる。
いくつかの実施では、GUI制御のプロパティをパラメータと比較して、プロパティ及びパラメータが適合していることを検証することができる。例えばビルダインタフェースは、GUI制御のプロパティがパラメータと同一のデータタイプのものであるかチェックすることができる。ビルダインタフェースは、適合しないデータタイプの割り当てを警告するか又は防止することができる。例えばビルダインタフェースは、開発者が日付フィールドをファイルダウンロード制御に関連付けるのを防止することができる。
パラメータを計算値に関連付けることも可能である。計算値は、GUI制御のプロパティ又は他の値に基づいて決定すればよい。
上述のようにメタデータ表示領域204は、データフローグラフのコンポーネント間のデータフローを表すリンクも含むことができる。また、ビルダインタフェース400は、異なるソースからのメタデータをサポートすることも可能である。例えばメタデータは、データベース、外部ファイル等に対する論理参照を含み得る。また、メタデータは一時変数を含むこともある。一時変数は、パラメータが用いられるのと同じ方法で、UIオブジェクトプロパティに対する同じ種類のマッピングによって使用可能である。
図5Bは、変数データに焦点を当てて、構成インタフェースを生成するためのビルダインタフェース400の一例を示す。上述のように、メタデータセクション502は変数リスト508を含むことができる。この例では変数リストは、SOURCE_VALID変数502、SOURCE_AND_TARGET_VALID変数、MAPPING_RULESET変数、及びTARGET変数を含む。
開発者は、GUI制御の属性を変数に関連付けることができる。この例では、テキスト入力制御412のイネーブル属性522は、イネーブル属性がSOURCE_VALID変数520に関連付けられていることを示している(524)。この例では、SOURCE_VALID変数が「真」にセットされるまで、テキスト入力制御412は非表示である。
変数の値は自動割り当てを用いて確立することができる。図5Cは変数の自動割り当ての一例を示す。ビルダインタフェース400は、開発者が変数に動的な値を割り当てることを可能とする宣言セクション550を含む。ユーザインタフェースは、新しい動的割り当てを追加する追加554、既存の動的割り当てを変更する編集556、及び既存の動的割り当てを削除する削除558等の動作552に対するアクセスを与える。
動的割り当ては、動的割り当て表示領域560に表示することができる。例えば、コマンド値「not is_blank(proj.simple_load.SOURCE_URL」を、source_valid変数のプロパティ値564に割り当てる。
図6は、ビルダインタフェース400における検索機能を示す。構成インタフェースは、パラメータ及びメタデータプロパティにユーザインタフェース制御を結合するためのルールを定義する複雑なスキームである。パラメータ及び変数に対する参照の位置を探し出すことが難しい場合がある。例えば開発者は、SOURCE_URLパラメータが参照される全ての場所を見つけたい場合がある。参照点は、様々な位置に存在する可能性がある(例えば自動割り当ての一部、GUI制御ビジブル(Visible)プロパティ上の表現内、ファイルブラウザ制御のソースターゲット値プロパティ等)。
開発者は、ビルダインタフェース400の検索タブ600で検索フィールド602に検索語を入力すればよい。検索結果が識別され、検索結果領域606に提示される。この例では、開発者は「SOURCE_URL」を検索し、2つの検索結果608、612が開発者に提示されている。いくつかの実施では、グリッド内の1つの検索結果をダブルクリックすると、ユーザは自動的にその検索結果に関連付けられた構成テンプレートの特定位置に移動する。
いくつかの実施においては、他の視覚インジケータを用いて、検索結果に関連付けられたコンポーネントを識別することができる。例えば、検索結果に関連付けられていないビルダインタフェースのセクションを暗くするか又はぼかすことができる。アイコンを用いて、検索結果をどこに位置付けるかについての指示を与えてもよい。
図7は、ビルダインタフェースにおけるエラー処理を示す。エラーを識別して開発者に表示することができる。この例において、GUIウィンドウ700は、パラメータに値を割り当てる式を含む。ここでは、フィールド708に関連付けられたTARGET_TABLEパラメータを、TARGET_URLストリングのサブストリングに割り当てる。
エラータブ702は、いかなるエラー704も開発者に提示することができる。例えばエラータブ702は、計算された式におけるシンタックスエラー及びタイプミスマッチエラーを識別することができる。
いくつかの実施では、エラータブ702上で例えばエラー704等のエラーを選択すると、エラーが発生したアプリケーションのセクションを強調表示することができる。この例では、エラー704を選択するとGUIウィンドウ700が開く。他の実施では、エラー704を選択するとビルダインタフェースはフィールド708及び/又はボックス制御406を強調表示することができる。
エラーの位置は、検索結果について述べた方法で識別することができる。例えば、エラーに関連付けられたコンポーネントを強調表示することができ、又はエラーに関連付けられていないコンポーネントを暗くすることができる。例えばダブルクリックを用いてエラーを選択すると、ビルドインタフェースはエラーのソースを表示することができる。
いったんビルダインタフェースにおいて構成インタフェースを定義したら、構成インタフェースを記憶し、一般グラフを構成するために用いることができる。構成インタフェースは例えば、別のアプリケーションにおいて読み取ってレンダリングすることができる拡張マークアップ言語(XML)ファイルに記憶すればよい。
図8は、プロセスを構成するためのアプリケーションを構築するプロセス800のフローチャートである。プロセスは、図1の開発環境118の一部とすることができるコンピュータシステムによって実行可能である。便宜上、プロセスを実行するシステムに関連付けてプロセスを説明する。
少なくとも1つの構成可能アプリケーションの選択を受信する(802)。各構成可能アプリケーションは、1つ以上のパラメータによって構成することができる。構成可能アプリケーションは、例えばデータフローグラフとすればよい。例えば開発者は、ビルダインタフェース内から構成可能アプリケーションを選択することができる。
少なくとも1つの構成可能アプリケーションに関連付けられたパラメータセットを識別する(804)。パラメータは、構成可能アプリケーションに関連付けられた公開アプリケーションプログラミングインタフェースの一部として提供することができる。また、パラメータはデータファイルにおいて提供することも可能である。
グラフィック表示要素及びパラメータセットの1つ以上のグラフィック表現をユーザインタフェースに提示する(806)。グラフィック表示要素は、例えばテキストボックス、ラジオボックス、又はリストボックス等のGUI制御を含むことができる。グラフィック表示要素は、ファイルダウンロード制御等のカスタム化制御も含むことができる。グラフィック表示要素は、構成インタフェース上の位置に関連付けられている。
パラメータセットの1つのパラメータに対する1つのグラフィック表示要素のプロパティのマッピングを受信する(808)。マッピングは、ビルダインタフェースを用いた開発者のアクションに基づいて決定することができる。1つの実施において、パラメータはビルダインタフェースのある領域に表示され、GUI制御はビルダインタフェースの別の領域に表示され得る。開発者は、GUI制御を選択し、この制御をビルダインタフェースの表示領域又はキャンバス内に配置することができる。次いで開発者は、このGUI制御のプロパティに関連付けられるパラメータを識別することができる。例えば開発者は、パラメータを選択し、GUI制御上に又はGUI制御のプロパティ上にパラメータを配置することができる。
マッピング及び位置の表現を記憶する(810)。この表現は、例えばXMLファイルで記憶すればよい。
上述のアプリケーション構築手法は、コンピュータ上で実行するソフトウェアを用いて実施可能である。例えばこのソフトウェアは、1つ以上のプログラムされたか又はプログラム可能なコンピュータシステム(これは、分散型、クライアント/サーバ、又はグリッド等の様々なアーキテクチャのものであり得る)上で実行する1つ以上のコンピュータプログラムにおける手順を含むことができる。これらのコンピュータシステムの各々は、少なくとも1つのプロセッサ、少なくとも1つのデータ記憶システム(揮発性及び/又は不揮発性のメモリ及び/又は記憶要素を含む)、少なくとも1つのユーザインタフェース(少なくとも1つの入力デバイス又はポートを用いて入力を受信するため、及び少なくとも1つの出力デバイス又はポートを用いて出力を与えるため)を含む。ソフトウェアは、例えばデータフローグラフの設計、構成、及び実行に関連した他のサービスを提供するもっと大きいプログラムの1つ以上のモジュールを含むことも可能である。プログラムのモジュール(例えばデータフローグラフの要素)は、データリポジトリに記憶されたデータモデルに従ったデータ構造又は他の組織化されたデータとして、実施することができる。
ソフトウェアは、(例えば汎用もしくは特殊用途のコンピューティングシステム又はデバイスにより読み取り可能な)CD−ROM又は他のコンピュータ読み取り可能媒体等の有形の非一時的な媒体上に提供するか、又は実行時にネットワークの通信媒体を介してコンピューティングシステムの有形の非一時的な媒体に(例えば伝搬信号で符号化して)送出することができる。処理の一部又は全ては、特殊用途コンピュータ上で、又はコプロセッサもしくはフィールドプログラマブルゲートアレイ(FPGA)もしくは専用の特定用途向け集積回路(ASIC)等の特殊用途ハードウェアを用いて、実行可能である。処理は、このソフトウェアにより規定される計算の異なる部分が異なるコンピューティング要素によって実行される分散型で実施することができる。そのようなコンピュータプログラムは各々、汎用又は特殊用途プログラム可能コンピュータによってアクセス可能な記憶デバイスのコンピュータ読み取り可能記憶媒体(例えば固体メモリもしくは媒体、又は磁気もしくは光媒体)上に記憶するか、又はそれにダウンロードすることが好ましい。これにより、本明細書に記載した処理を実行するためにこの記憶デバイス媒体がコンピュータによって読み取られた場合、コンピュータを構成し動作させる。また、本発明のシステムは、コンピュータプログラムによって構成された有形の非一時的な媒体として実施されると見なすことができ、そのように構成された媒体によって、コンピュータは、本明細書に記載した処理ステップの1つ以上を実行するために特定かつ既定の方法で動作する。
本発明の多数の実施形態について記載した。しかしながら、前述の記載は例示を意図し、添付の特許請求の範囲の範囲により規定される本発明の範囲を限定することは意図していないことは理解されよう。従って、他の実施形態も以下の特許請求項の範囲内である。例えば、本発明の精神及び範囲から逸脱することなく様々な変形を行い得る。加えて、上述のステップのいくつかは順序に依存しない場合があり、従って記載したものとは異なる順序で実行可能である。
他の実施形態も以下の特許請求の範囲の範囲内である。

Claims (24)

  1. コンピュータ実行可能アプリケーションを構成するための第1のグラフィカルユーザインタフェースを規定するためのコンピュータ実施方法であって、
    少なくとも1つの構成可能アプリケーションの識別を受信することと、
    前記少なくとも1つの構成可能アプリケーションに関連付けられた一つ以上のパラメータのセットを識別することと、
    前記第1のグラフィカルユーザインタフェースを表現する第1の部分及び複数のグラフィック表示要素を表現する第2の部分の両方を表示する第2のグラフィカルユーザインタフェースを通じて、前記第2のグラフィカルユーザインタフェースに関するユーザのドラッグ・アンド・ドロップ入力を受信することであって、前記ユーザのドラッグ・アンド・ドロップ入力は、前記複数のグラフィック表示要素のグラフィック表示要素の選択、及び前記グラフィック表示要素を、前記第1のグラフィカルユーザインタフェースを表現する前記第1の部分内に置く位置を示す、ことと、
    前記第1のグラフィカルユーザインタフェースを表現する前記第2のグラフィカルユーザインタフェースの前記第1の部分に前記グラフィック表示要素を前記位置に表示することであって、前記位置は、前記グラフィック表示要素を、前記第1のグラフィカルユーザインタフェースを表現する前記第1の部分内に置く位置である、ことと、
    前記第2のグラフィカルユーザインタフェースに、前記パラメータのセットの1つ以上の表現を表示することと、
    前記グラフィック表示要素の1つのプロパティと前記パラメータセットの1つのパラメータとのマッピングを、前記第2のグラフィカルユーザインタフェースを通じて受信することと、
    前記マッピングの表現と、前記第1のグラフィカルユーザインタフェース内に前記グラフィック表示要素を置く位置とを記憶することと、
    を含む、方法。
  2. 前記プロパティに関連付けられた第1のデータタイプが前記パラメータに関連付けられた第2のデータタイプと適合しているか否かを試験することを更に含む、請求項1に記載の方法。
  3. 前記グラフィック表示要素を前記第1のグラフィカルユーザインタフェースのユーザに表示するために満足しなければならない少なくとも1つの条件を受信することを更に含む、請求項1に記載の方法。
  4. 変数と前記グラフィック表示要素の属性とのマッピングを受信することを更に含む、請求項1に記載の方法。
  5. 前記少なくとも1つの構成可能アプリケーションは、実行フローグラフを備える、請求項1に記載の方法。
  6. 前記第2のグラフィカルユーザインタフェースの第3の部分に、ユーザに、パラメータリファレンス又はバリアブルリファレンスの検索を可能とする検索インタフェースを表示することと、
    前記検索インタフェースを通じて、インプット検索ストリングを受信することと、
    前記インプット検索ストリングに基づいて、前記少なくとも1つの構成可能アプリケーション及び/又は1つ以上の変数に関連する1つ以上のパラメータの参照を含む検索結果を生成することと、
    前記検索インタフェースに前記検索結果を表示することと、
    を含む、請求項1に記載の方法。
  7. 前記検索結果に関連しない前記第2のグラフィカルユーザインタフェースの少なくとも一つの要素を暗くするか又はぼかすことを更に含む、請求項6に記載の方法。
  8. 前記検索結果に関連する前記第2のグラフィカルユーザインタフェースの少なくとも一つの要素を強調することを更に含む、請求項6に記載の方法。
  9. 前記第2のグラフィカルユーザインタフェースの第3の部分に、エラーを表示するためのエラーインタフェースを表示することと、
    前記グラフィック表示要素のプロパティに関連する第1のデータタイプが第2のデータタイプ及び前記パラメータのセットのパラメータに適合しないという決定に応答して、前記エラーインタフェースにタイプミスマッチエラーのインディケーションを表示することと、
    を更に含む請求項1に記載の方法。
  10. 前記少なくとも1つの構成可能アプリケーションは、データフローグラフを備え、
    前記方法は、前記データフローグラフに関連するそれぞれのパラメータの最終パラメータ値を決定することと、
    前記最終パラメータ値を用いて前記データフローグラフを実行することと、
    を更に含む請求項1に記載の方法。
  11. 前記少なくとも1つの構成可能アプリケーションに関連する1つ以上のパラメータのセットは、ソーティングコンポーネントがデータをどのようにソートするのかを特定するパラメータ、ディスク上のデータソース又はデータシンクの位置を特定するパラメータ、記憶フォーマットを特定するパラメータ、ロールアップコンポーネントがどのように動作するのかを特定するパラメータ、及びファイルネームを特定するパラメータのグループから選択される少なくとも1つのパラメータを備える、請求項1に記載の方法。
  12. 前記ユーザのドラッグ・アンド・ドロップ入力は、前記第1のグラフィカルユーザインタフェースを表現する前記第1の部分内に前記グラフィック表示要素を置く位置を特定することにより、前記グラフィック表示要素をどこに置くのかを示す、請求項1に記載の方法。
  13. 少なくとも一つのプロセッサによって実行されたときに、前記少なくとも一つのプロセッサに、コンピュータ実行可能アプリケーションを構成するための第1のグラフィカルユーザインタフェースを規定するための方法を実行させる命令を記憶する少なくとも一つの非一過性のコンピュータ読み取り可能な記録媒体であって、
    前記方法は、
    少なくとも1つの構成可能アプリケーションの識別を受信することと、
    前記少なくとも1つの構成可能アプリケーションに関連付けられた一つ以上のパラメータのセットを識別することと、
    前記第1のグラフィカルユーザインタフェースを表現する第1の部分及び複数のグラフィック表示要素を表現する第2の部分の両方を表示する第2のグラフィカルユーザインタフェースを通じて、前記第2のグラフィカルユーザインタフェースに関するユーザのドラッグ・アンド・ドロップ入力を受信することであって、前記ユーザのドラッグ・アンド・ドロップ入力は、前記複数のグラフィック表示要素のグラフィック表示要素の選択、及び前記グラフィック表示要素を、前記第1のグラフィカルユーザインタフェースを表現する前記第1の部分内に置く位置を示す、ことと、
    前記第1のグラフィカルユーザインタフェースを表現する前記第2のグラフィカルユーザインタフェースの前記第1の部分に前記グラフィック表示要素を前記位置に表示することであって、前記位置は、前記グラフィック表示要素を、前記第1のグラフィカルユーザインタフェースを表現する前記第1の部分内に置く位置である、ことと、
    前記第2のグラフィカルユーザインタフェースに、前記パラメータのセットの1つ以上の表現を表示することと、
    前記グラフィック表示要素の1つのプロパティと前記パラメータセットの1つのパラメータとのマッピングを、前記第2のグラフィカルユーザインタフェースを通じて受信することと、
    前記マッピングの表現と、前記第1のグラフィカルユーザインタフェース内に前記グラフィック表示要素を置く位置とを記憶することと、
    を含む、少なくとも一つの非一過性のコンピュータ読み取り可能な記録媒体。
  14. 前記少なくとも一つのプロセッサは、前記プロパティに関連付けられた第1のデータタイプが前記パラメータに関連付けられた第2のデータタイプと適合しているか否かを試験することを実行するように構成されている、請求項13に記載の少なくとも一つの非一過性のコンピュータ読み取り可能な記録媒体。
  15. 前記方法が、前記グラフィック表示要素を前記第1のグラフィカルユーザインタフェースのユーザに表示するために満足しなければならない少なくとも1つの条件を受信することを更に含む、請求項13に記載の少なくとも一つの非一過性のコンピュータ読み取り可能な記録媒体。
  16. 前記方法が、変数と前記グラフィック表示要素の属性とのマッピングを受信することを更に含む、請求項13に記載の少なくとも一つの非一過性のコンピュータ読み取り可能な記録媒体。
  17. コンピュータ実行可能アプリケーションを構成するための第1のグラフィカルユーザインタフェースを規定するためのシステムであって、
    少なくとも一つのプロセッサを含み、
    前記一つのプロセッサは、
    少なくとも1つの構成可能アプリケーションの識別を受信することと、
    前記少なくとも1つの構成可能アプリケーションに関連付けられた一つ以上のパラメータのセットを識別することと、
    前記第1のグラフィカルユーザインタフェースを表現する第1の部分及び複数のグラフィック表示要素を表現する第2の部分の両方を表示する第2のグラフィカルユーザインタフェースを通じて、前記第2のグラフィカルユーザインタフェースに関するユーザのドラッグ・アンド・ドロップ入力を受信することであって、前記ユーザのドラッグ・アンド・ドロップ入力は、前記複数のグラフィック表示要素のグラフィック表示要素の選択、及び前記グラフィック表示要素を、前記第1のグラフィカルユーザインタフェースを表現する前記第1の部分内に置く位置を示す、ことと、
    前記第1のグラフィカルユーザインタフェースを表現する前記第2のグラフィカルユーザインタフェースの前記第1の部分に前記グラフィック表示要素を前記位置に表示することであって、前記位置は、前記グラフィック表示要素を、前記第1のグラフィカルユーザインタフェースを表現する前記第1の部分内に置く位置である、ことと、
    前記第2のグラフィカルユーザインタフェースに、前記パラメータのセットの1つ以上の表現を表示することと、
    前記グラフィック表示要素の1つのプロパティと前記パラメータセットの1つのパラメータとのマッピングを、前記第2のグラフィカルユーザインタフェースを通じて受信することと、
    前記マッピングの表現と、前記第1のグラフィカルユーザインタフェース内に前記グラフィック表示要素を置く位置とを記憶することと、
    を実行するように構成されている、システム。
  18. 前記少なくとも一つのプロセッサは、前記プロパティに関連付けられた第1のデータタイプが前記パラメータに関連付けられた第2のデータタイプと適合しているか否かを試験することを実行するように構成されている、請求項17に記載のシステム。
  19. 前記少なくとも一つのプロセッサは、前記グラフィック表示要素を前記第1のグラフィカルユーザインタフェースのユーザに表示するために満足しなければならない少なくとも1つの条件を受信することを実行するように構成されている、請求項17に記載のシステム。
  20. 前記少なくとも一つのプロセッサは、変数と前記グラフィック表示要素の属性とのマッピングを受信することを実行するように構成されている、請求項17に記載のシステム。
  21. 前記少なくとも一つのプロセッサは、
    前記第2のグラフィカルユーザインタフェースの第3の部分に、ユーザに、パラメータリファレンス又はバリアブルリファレンスの検索を可能とする検索インタフェースを表示することと、
    前記検索インタフェースを通じて、インプット検索ストリングを受信することと、
    前記インプット検索ストリングに基づいて、前記少なくとも1つの構成可能アプリケーション及び/又は1つ以上の変数に関連する1つ以上のパラメータの参照を含む検索結果を生成することと、
    前記検索インタフェースに前記検索結果を表示することと、
    を実行するように構成されている、請求項17に記載のシステム。
  22. 前記少なくとも一つのプロセッサは、
    前記第2のグラフィカルユーザインタフェースの第3の部分に、エラーを表示するためのエラーインタフェースを表示することと、
    前記グラフィック表示要素のプロパティに関連する第1のデータタイプが第2のデータタイプ及び前記パラメータのセットのパラメータに適合しないという決定に応答して、前記エラーインタフェースにタイプミスマッチエラーのインディケーションを表示することと、
    を実行するように構成されている、請求項17に記載のシステム。
  23. 前記少なくとも1つの構成可能アプリケーションは、データフローグラフを備え、
    前記少なくとも一つのプロセッサは、
    前記データフローグラフに関連するそれぞれのパラメータの最終パラメータ値を決定することと、
    前記最終パラメータ値を用いて前記データフローグラフを実行することと、
    を実行するように構成されている、請求項17に記載のシステム。
  24. 前記少なくとも1つの構成可能アプリケーションに関連する1つ以上のパラメータのセットは、ソーティングコンポーネントがデータをどのようにソートするのかを特定するパラメータ、ディスク上のデータソース又はデータシンクの位置を特定するパラメータ、記憶フォーマットを特定するパラメータ、ロールアップコンポーネントがどのように動作するのかを特定するパラメータ、及びファイルネームを特定するパラメータのグループから選択される少なくとも1つのパラメータを備える、請求項17に記載のシステム。
JP2015557165A 2013-02-12 2014-02-10 プロセスを構成するためのアプリケーションの構築 Active JP6449173B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/764,998 2013-02-12
US13/764,998 US9811233B2 (en) 2013-02-12 2013-02-12 Building applications for configuring processes
PCT/US2014/015580 WO2014126853A1 (en) 2013-02-12 2014-02-10 Building applications for configuring processes

Publications (2)

Publication Number Publication Date
JP2016511894A JP2016511894A (ja) 2016-04-21
JP6449173B2 true JP6449173B2 (ja) 2019-01-09

Family

ID=51298380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015557165A Active JP6449173B2 (ja) 2013-02-12 2014-02-10 プロセスを構成するためのアプリケーションの構築

Country Status (10)

Country Link
US (2) US9811233B2 (ja)
EP (1) EP2956855A4 (ja)
JP (1) JP6449173B2 (ja)
KR (1) KR101982303B1 (ja)
CN (1) CN105009078B (ja)
AU (3) AU2014216556B2 (ja)
CA (1) CA2901134C (ja)
HK (1) HK1219154A1 (ja)
SG (1) SG11201506130TA (ja)
WO (1) WO2014126853A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2399192A4 (en) 2009-02-13 2016-09-07 Ab Initio Technology Llc COMMUNICATION WITH DATA STORAGE SYSTEMS
JP6084037B2 (ja) 2009-12-14 2017-02-22 アビニシオ テクノロジー エルエルシー ユーザ・インターフェース要素の指定
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US10073679B2 (en) * 2014-09-26 2018-09-11 Oracle International Corporation Efficient and intuitive databinding for mobile applications
US10055333B2 (en) * 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph
CN108475189B (zh) * 2015-12-21 2021-07-09 起元技术有限责任公司 子图接口生成的方法、系统及计算机可读介质
US9633165B1 (en) * 2015-12-23 2017-04-25 Exa Corporation Composite design direction
US11016646B1 (en) * 2016-03-22 2021-05-25 Open Text Corporation Method and mechanism for context driven alteration of UI artifacts instances behavior using expression based pluggable UI aspects
US10802945B2 (en) * 2016-12-07 2020-10-13 Ab Initio Technology Llc Differencing of executable dataflow graphs
CN110998515B (zh) * 2017-05-31 2024-03-15 Abb瑞士股份有限公司 工业控制系统中的现场装置接口
CN107621934B (zh) * 2017-07-28 2020-11-03 中国人民解放军国防信息学院 基于组件化、图形化算子的评估指标计算方法及装置
US11423083B2 (en) 2017-10-27 2022-08-23 Ab Initio Technology Llc Transforming a specification into a persistent computer program
TW201937360A (zh) * 2018-02-26 2019-09-16 華凌光電股份有限公司 面板控制系統及其編輯方法
GB201803069D0 (en) * 2018-02-26 2018-04-11 Support Robotics Ltd System and method for improving performance of an electronic device
US11126411B2 (en) * 2018-12-13 2021-09-21 Sap Se Dashboard user interface for data driven applications
US11663103B2 (en) * 2019-09-06 2023-05-30 Pegasystems, Inc. Automatic control identification
US20210141503A1 (en) * 2019-11-07 2021-05-13 Baker Hughes Oilfield Operations Llc Human machine interface generation for industrial monitoring
US11385777B2 (en) * 2020-09-14 2022-07-12 UiPath, Inc. User interface (UI) mapper for robotic process automation
KR102418853B1 (ko) * 2020-11-18 2022-07-08 주식회사 와이즈넛 이종 플랫폼 사이의 상호운용성을 증대하기 위한 빅데이터 통합처리 사용자 인터페이스 방법
CN112883523B (zh) * 2021-01-29 2024-04-02 深圳市道通科技股份有限公司 汽车总线拓扑图展示方法、装置和设备
US11675605B2 (en) 2021-03-23 2023-06-13 Rockwell Automation Technologies, Inc. Discovery, mapping, and scoring of machine learning models residing on an external application from within a data pipeline
US11435871B1 (en) * 2021-05-18 2022-09-06 Amazon Technologies, Inc. Workflow assembly tool and workflow model for runtime execution
CN114138367A (zh) * 2021-11-30 2022-03-04 中国建设银行股份有限公司 一种自助设备上的业务实现方法、装置、设备及存储介质
CN115729998A (zh) * 2022-11-23 2023-03-03 北京泰策科技有限公司 一种任意数据混合优化的大规模处理分析系统

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481741A (en) 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5291587A (en) 1986-04-14 1994-03-01 National Instruments, Inc. Graphical system for executing a process and for programming a computer to execute a process, including graphical variable inputs and variable outputs
US4901221A (en) 1986-04-14 1990-02-13 National Instruments, Inc. Graphical system for modelling a process and associated method
US4914568A (en) 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
JPH05265802A (ja) 1992-03-18 1993-10-15 Shimadzu Corp ソフトウェアデバッグ装置
US5438659A (en) 1992-10-08 1995-08-01 Hewlett-Packard Company Object-action user interface management system
JPH07191840A (ja) * 1993-12-27 1995-07-28 Mitsubishi Electric Corp プログラム自動生成装置
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US5844554A (en) 1996-09-17 1998-12-01 Bt Squared Technologies, Inc. Methods and systems for user interfaces and constraint handling configurations software
US6064812A (en) 1996-09-23 2000-05-16 National Instruments Corporation System and method for developing automation clients using a graphical data flow program
US6102965A (en) 1996-09-23 2000-08-15 National Instruments Corporation System and method for providing client/server access to graphical programs
US6437805B1 (en) 1996-09-23 2002-08-20 National Instruments Corporation System and method for accessing object capabilities in a graphical program
JPH10154070A (ja) * 1996-11-26 1998-06-09 Toshiba Corp ユーザインタフェース設計装置及び方法
JPH1139145A (ja) * 1997-07-24 1999-02-12 Casio Comput Co Ltd プログラム構築支援装置及び記憶媒体
US6173438B1 (en) 1997-08-18 2001-01-09 National Instruments Corporation Embedded graphical programming system
US6219628B1 (en) 1997-08-18 2001-04-17 National Instruments Corporation System and method for configuring an instrument to perform measurement functions utilizing conversion of graphical programs into hardware implementations
US6102968A (en) 1998-05-21 2000-08-15 Lucent Technologies Inc. Method for automatically closing open reactive systems
US6341279B1 (en) 1998-10-12 2002-01-22 Starwave Corporation Method and apparatus for event modeling
US6813640B1 (en) 1998-12-08 2004-11-02 Macrovision Corporation System and method for controlling the editing by user action of digital objects created in a document server application
US6429882B1 (en) * 1999-03-15 2002-08-06 Sun Microsystems, Inc. User interface component
US7937665B1 (en) 2000-06-13 2011-05-03 National Instruments Corporation System and method for automatically generating a graphical program to implement a prototype
US8146007B2 (en) 1999-08-19 2012-03-27 National Instruments Corporation Converting a first graphical program into an intermediate abstract representation for new graphical program generation
US7120876B2 (en) 1999-08-19 2006-10-10 National Instruments Corporation System and method for programmatically generating a graphical program in response to user input
US7000190B2 (en) 1999-08-19 2006-02-14 National Instruments Corporation System and method for programmatically modifying a graphical program in response to program information
US7210117B2 (en) 1999-08-19 2007-04-24 National Instruments Corporation System and method for programmatically generating a graphical program in response to program information
US6694321B1 (en) 1999-09-23 2004-02-17 Affymetrix, Inc. System, method, and product for development and maintenance of database-related software applications
WO2001067309A2 (en) 2000-03-03 2001-09-13 Radiant Logic, Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
JP2001344105A (ja) 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
WO2001095088A1 (en) 2000-06-05 2001-12-13 Altoweb Systems, Inc. Converting, and presenting the source document in a target format
US6763515B1 (en) 2000-06-05 2004-07-13 National Instruments Corporation System and method for automatically generating a graphical program to perform an image processing algorithm
US7164422B1 (en) 2000-07-28 2007-01-16 Ab Initio Software Corporation Parameterized graphs with conditional components
US7752258B2 (en) 2000-08-22 2010-07-06 Akamai Technologies, Inc. Dynamic content assembly on edge-of-network servers in a content delivery network
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US8042098B2 (en) 2000-12-06 2011-10-18 Axiomatic Design Software, Inc. Method and apparatus for producing software
US7194743B2 (en) * 2000-12-12 2007-03-20 Citrix Systems, Inc. Methods and apparatus for communicating changes between a user interface and an executing application using property paths
US7188091B2 (en) 2001-03-21 2007-03-06 Resolutionebs, Inc. Rule processing system
FI114265B (fi) 2001-03-26 2004-09-15 First Hop Oy Menetelmiä ja järjestelyjä tehokkaan tiedonsiirron toteuttamiseksi nopeudeltaan rajoitetun tiedonsiirtolinkin yli
US20040210445A1 (en) 2001-04-05 2004-10-21 Luca Veronese Method and system for specifying and implementing business applications
US6801229B1 (en) * 2001-04-06 2004-10-05 Plumbdesign System for creation of visual representation of data
US7493397B1 (en) 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US20040093342A1 (en) * 2001-06-27 2004-05-13 Ronald Arbo Universal data mapping system
US7139811B2 (en) 2001-08-01 2006-11-21 Actona Technologies Ltd. Double-proxy remote data access system
US20030172193A1 (en) 2002-03-07 2003-09-11 Olsen Jesse Dale User interface generator and method of automatically generating a user interface
US20030174165A1 (en) * 2002-03-18 2003-09-18 Barney Rock D. System and method for rendering a directed graph
US20080091491A1 (en) 2002-04-18 2008-04-17 Bdna Corporation Method and/or system for flexible data handling
US20040017392A1 (en) * 2002-05-01 2004-01-29 Welch Keith C. Web service control for use in a graphical programming environment
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
WO2004015627A2 (en) 2002-08-09 2004-02-19 Corticon Technologies, Inc. Rule engine
AU2003265811A1 (en) 2002-08-26 2004-03-11 Guardednet, Inc. Determining threat level associated with network activity
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7840545B2 (en) 2002-10-25 2010-11-23 International Business Machines Corporation Method and system for providing access to a database
US7644361B2 (en) 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
AU2002953555A0 (en) 2002-12-23 2003-01-16 Canon Kabushiki Kaisha Method for presenting hierarchical data
JP4127194B2 (ja) 2003-01-15 2008-07-30 セイコーエプソン株式会社 レイアウトシステム及びレイアウトプログラム、並びにレイアウト方法
GB0306971D0 (en) 2003-03-26 2003-04-30 British Telecomm Client server model
US7167580B2 (en) 2003-04-30 2007-01-23 Unisys Corporation Image quality assurance systems and methodologies for improving the identification of and access speed to image quality suspects in documents
US20040239674A1 (en) 2003-06-02 2004-12-02 Microsoft Corporation Modeling graphs as XML information sets and describing graphs with XML schema
US7624375B2 (en) 2003-06-12 2009-11-24 National Instruments Corporation Automatically configuring a graphical user interface element to bind to a graphical program
EP1665034B1 (en) 2003-08-13 2017-03-22 National Instruments Corporation Creating a graphical user interface for selected parameters of a graphical program
CA2655731C (en) 2003-09-15 2012-04-10 Ab Initio Software Corporation Functional dependency data profiling
US7756907B2 (en) 2003-09-16 2010-07-13 The Board Of Trustees Of The Leland Stanford Jr. University Computer systems and methods for visualizing data
US7448047B2 (en) 2004-04-29 2008-11-04 Sybase, Inc. Database system with methodology for providing stored procedures as web services
US8296665B2 (en) 2004-05-11 2012-10-23 Sap Ag Developing and executing applications with configurable patterns
US7913231B2 (en) 2004-05-11 2011-03-22 Sap Ag Testing pattern-based applications
US7530052B2 (en) 2004-05-14 2009-05-05 National Instruments Corporation Creating and executing a graphical program with first model of computation that includes a structure supporting second model of computation
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US8533229B2 (en) 2004-06-16 2013-09-10 Salesforce.Com, Inc. Soap-based web services in a multi-tenant database system
JP4275013B2 (ja) 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US7730012B2 (en) 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US20050289356A1 (en) 2004-06-29 2005-12-29 Idan Shoham Process for automated and self-service reconciliation of different loging IDs between networked computer systems
WO2006043012A1 (en) 2004-10-22 2006-04-27 New Technology/Enterprise Limited Data processing system and method
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7725501B1 (en) * 2004-11-12 2010-05-25 Northrop Grumman Corporation System and method for rapid database application deployment and use
US7523440B2 (en) * 2004-11-16 2009-04-21 The Mathworks, Inc. Dynamic generation of formatted user interfaces in software environments
US7349384B2 (en) 2004-12-10 2008-03-25 Microsoft Corporation Reliable one-way messaging over request-response transport protocols
GB0501153D0 (en) 2005-01-20 2005-03-02 Ibm System and method for subscription management in a messaging system
US20060190480A1 (en) 2005-02-22 2006-08-24 Transparency Software, Inc. Generation of names related to organization actions
US20060190488A1 (en) 2005-02-22 2006-08-24 Transparency Software, Inc. System and method for determining information related to user interactions with an application
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US8078954B2 (en) 2005-09-27 2011-12-13 Oracle International Corporation System and method for page flow editor
US7739292B2 (en) 2005-09-28 2010-06-15 Altova Gmbh System and method for modeling and managing enterprise architecture data and content models and their relationships
US7650316B2 (en) 2006-03-10 2010-01-19 National Instruments Corporation Automatic generation of help information for specified systems
US20070239528A1 (en) 2006-03-29 2007-10-11 Reachlocal, Inc. Dynamic proxy method and apparatus for an online marketing campaign
US20070233655A1 (en) 2006-04-03 2007-10-04 National Instruments Corporation Graphical program representation of queries
WO2007134265A2 (en) 2006-05-12 2007-11-22 Captaris, Inc. Workflow data binding
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
JP2007316884A (ja) 2006-05-25 2007-12-06 Hitachi Ltd 制御装置、制御方法、及び、制御プログラム
US7701869B2 (en) 2006-07-21 2010-04-20 National Instruments Corporation Generating a data flow diagram
KR101495575B1 (ko) 2006-08-10 2015-02-25 아브 이니티오 테크놀로지 엘엘시 그래프 기반 연산에서의 분배 서비스
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US7644254B2 (en) 2007-04-18 2010-01-05 International Business Machines Corporation Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list
US8271943B2 (en) 2007-04-24 2012-09-18 National Instruments Corporation Automatically generating a graphical program with a plurality of models of computation
US9594731B2 (en) 2007-06-29 2017-03-14 Microsoft Technology Licensing, Llc WYSIWYG, browser-based XML editor
WO2009039352A1 (en) 2007-09-20 2009-03-26 Ab Initio Technology Llc Managing data flows in graph-based computations
US7886050B2 (en) 2007-10-05 2011-02-08 Citrix Systems, Inc. Systems and methods for monitoring components of a remote access server farm
US8156481B1 (en) 2007-10-05 2012-04-10 The Mathworks, Inc. Profiler-based optimization of automatically generated code
US8458727B2 (en) 2007-11-05 2013-06-04 Microsoft Corporation Asynchronous client to server updates
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
CA2729304C (en) 2008-06-30 2016-12-13 Ab Initio Technology Llc Data logging in graph-based computations
US20100235495A1 (en) 2008-09-10 2010-09-16 Salesforce.Com, Inc. Methods and systems for reducing a load on a multi-tenant database
EP2399192A4 (en) 2009-02-13 2016-09-07 Ab Initio Technology Llc COMMUNICATION WITH DATA STORAGE SYSTEMS
WO2010096683A1 (en) 2009-02-20 2010-08-26 Citrix Systems, Inc. Systems and methods for intermediaries to compress data communicated via a remote display protocol
US8560941B2 (en) 2009-04-08 2013-10-15 Microsoft Corporation Schema based user interface mechanisms
CA2779087C (en) 2009-11-13 2019-08-20 Ab Initio Technology Llc Managing record format information
JP6084037B2 (ja) 2009-12-14 2017-02-22 アビニシオ テクノロジー エルエルシー ユーザ・インターフェース要素の指定
US9552280B2 (en) 2010-05-13 2017-01-24 Microsoft Technology Licensing, Llc Visual analysis and debugging of complex event flows
CN103098053B (zh) 2010-09-10 2017-06-13 起元技术有限责任公司 基于属性管理数据选择的方法和设备
US8627296B1 (en) 2010-09-15 2014-01-07 Google Inc. Unified unit and integration test with automatic mock creation
JP5902185B2 (ja) * 2010-10-25 2016-04-13 アビニシオ テクノロジー エルエルシー コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理
US20120131559A1 (en) 2010-11-22 2012-05-24 Microsoft Corporation Automatic Program Partition For Targeted Replay
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US20140189650A1 (en) 2013-05-21 2014-07-03 Concurix Corporation Setting Breakpoints Using an Interactive Graph Representing an Application
SG10201913041VA (en) 2014-04-17 2020-03-30 Ab Initio Technology Llc Integrated monitoring and control of processing environment
US10055333B2 (en) 2014-11-05 2018-08-21 Ab Initio Technology Llc Debugging a graph

Also Published As

Publication number Publication date
HK1219154A1 (zh) 2017-03-24
US20140229846A1 (en) 2014-08-14
AU2018260813A2 (en) 2020-06-18
SG11201506130TA (en) 2015-09-29
JP2016511894A (ja) 2016-04-21
AU2018102167A4 (en) 2020-07-16
CA2901134A1 (en) 2014-08-21
AU2014216556A1 (en) 2015-08-20
EP2956855A1 (en) 2015-12-23
CN105009078A (zh) 2015-10-28
WO2014126853A1 (en) 2014-08-21
CN105009078B (zh) 2018-11-27
KR101982303B1 (ko) 2019-05-24
US20170123822A1 (en) 2017-05-04
KR20150117280A (ko) 2015-10-19
AU2014216556B2 (en) 2018-08-09
AU2018260813A1 (en) 2018-11-22
EP2956855A4 (en) 2016-09-07
CA2901134C (en) 2021-11-09
US9811233B2 (en) 2017-11-07

Similar Documents

Publication Publication Date Title
JP6449173B2 (ja) プロセスを構成するためのアプリケーションの構築
US11599337B2 (en) Dataflow graph configuration
JP7178977B2 (ja) 複合コントロール
AU2010337218B2 (en) Specifying user interface elements
US9645801B2 (en) Compilation of transformation in recalculation user interface
US20140306964A1 (en) Incremental compiling of a declarative program
US20140310681A1 (en) Assisted creation of control event

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180323

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181101

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181205

R150 Certificate of patent or registration of utility model

Ref document number: 6449173

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250