JP2017515179A - 複合コントロール - Google Patents

複合コントロール Download PDF

Info

Publication number
JP2017515179A
JP2017515179A JP2016553310A JP2016553310A JP2017515179A JP 2017515179 A JP2017515179 A JP 2017515179A JP 2016553310 A JP2016553310 A JP 2016553310A JP 2016553310 A JP2016553310 A JP 2016553310A JP 2017515179 A JP2017515179 A JP 2017515179A
Authority
JP
Japan
Prior art keywords
application
display object
data flow
flow graph
displaying
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016553310A
Other languages
English (en)
Inventor
ヨースト,グレッグ
ゴールドシュラグ,ジョシュア
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2017515179A publication Critical patent/JP2017515179A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/04842Selection of displayed objects or displayed text elements
    • 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
    • G06F3/04817Interaction 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 using icons
    • 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
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

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

Abstract

複合コントロールを指定するための、コンピュータストレージメディア上に符号化されているコンピュータプログラムを含む方法、システム、および装置。これらの方法のうちの1つは、第1のアプリケーションを識別することを含む。この方法は、キャンバスを表示することを含む。この方法は、第1のアプリケーションに関連付けられている第1の表示オブジェクトをキャンバスにおいて表示することを含む。この方法は、第2のアプリケーションを識別することであって、その第2のアプリケーションがコンピュータ実行可能プログラムである、ことを含む。この方法は、第2のアプリケーションに関連付けられている第2の表示オブジェクトをユーザインターフェースにおいて表示することを含む。この方法は、第2の表示オブジェクトを第1の表示オブジェクトに関連付けるユーザアクションに応答して、第1のアプリケーションを、第2のアプリケーションを呼び出すように構成することを含む。この方法は、セレクタオブジェクトの第1のセットと、セレクタオブジェクトの第2のセットとを含む第3の表示オブジェクトを作成することを含む。

Description

この説明は、グラフィカルユーザインターフェースに関する。
グラフィカルユーザインターフェース(GUI)は、ユーザがグラフィカルなアイコンおよび視覚的なインジケータを通じてコンピュータまたは類似のデバイスと対話することを可能にする。ユーザは、ディスプレイ上に提示されるグラフィカルなアイコンと対話することによって、GUIと対話することができる。GUIは、ユーザがデータ値をデータ処理システムに提供することを可能にするために使用することができる。
複雑な計算はしばしば、有向グラフ(「データフローグラフ」と呼ばれる)を通じたデータフローとして表すことができ、計算のコンポーネントは、そのグラフの頂点に関連付けられ、それらのコンポーネントの間におけるデータフローは、そのグラフのリンク(弧、エッジ)に対応する。それらのコンポーネントは、1つまたは複数の入力ポートにおいてデータを受け取って、それらのデータを処理し、1つまたは複数の出力ポートからデータを提供するデータ処理コンポーネントと、データフローのソースまたはシンクとして機能するデータセットコンポーネントとを含むことができる。データフローグラフは、パラメータを使用して構成することができる。そのようなグラフベースの計算を実施するシステムは、米国特許第5,966,072号、「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」において説明されている。
一般には、本明細書において説明されている主題の1つの革新的な態様は、第1のアプリケーションを識別するアクションであって、その第1のアプリケーションがコンピュータ実行可能プログラムである、アクションを含む方法において具体化することができる。これらの方法は、1つまたは複数の表示オブジェクトを表示するためのキャンバスをユーザインターフェースにおいて表示するアクションを含む。これらの方法は、第1のアプリケーションに関連付けられている第1の表示オブジェクトをキャンバスにおいて表示するアクションであって、第1の表示オブジェクトが、セレクタオブジェクトの第1のセットを含み、セレクタオブジェクトの第1のセットと、第1のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、アクションを含む。この方法は、第2のアプリケーションを識別するアクションであって、その第2のアプリケーションがコンピュータ実行可能プログラムである、アクションを含む。この方法は、第2のアプリケーションに関連付けられている第2の表示オブジェクトをユーザインターフェースにおいて表示するアクションであって、第2の表示オブジェクトが、セレクタオブジェクトの第2のセットを含み、セレクタオブジェクトの第2のセットと、第2のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、アクションを含む。これらの方法は、第2の表示オブジェクトを第1の表示オブジェクトに関連付けるユーザアクションに応答して、第1のアプリケーションを、第2のアプリケーションを呼び出すように構成するアクションを含む。これらの方法は、セレクタオブジェクトの第1のセットと、セレクタオブジェクトの第2のセットとを含む第3の表示オブジェクトを作成するアクションを含む。
この態様のその他の実施形態は、対応するコンピュータシステム、装置、および、1つまたは複数のコンピュータストレージデバイス上に記録されているコンピュータプログラムを含み、それらはそれぞれ、本方法のアクションを実行するように構成されている。1つまたは複数のコンピュータのシステムは、オペレーション中にアクションをそのシステムに実行させる、そのシステム上にインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せによって特定のアクションを実行するように構成されてもよい。1つまたは複数のコンピュータプログラムは、データ処理装置によって実行されたときに特定のアクションをその装置に実行させる命令を含めることによってそれらのアクションを実行するように構成されてもよい。
前述およびその他の実施形態はそれぞれ、任意選択により、下記の特徴のうちの1つまたは複数を、単独でまたは組み合わせて含むことができる。これらの方法は、ファイルから第2の表示オブジェクトを読み取るアクションを含むことができる。この方法は、ユーザインターフェースを使用して第1のアプリケーションおよび第2のアプリケーションを構成するための第3のアプリケーションを生成するアクションを含むことができる。第3のアプリケーションは、第1の表示オブジェクトおよび第2の表示オブジェクトを含むことができる。第1の表示オブジェクトに関連付けられている値を変えると、第2の表示オブジェクトに関連付けられている値を変えることができる。第1のアプリケーションは、第1のデータフローグラフであることが可能であり、第2の構成可能なアプリケーションは、第2のデータフローグラフであることが可能である。第2のアプリケーションを第1のアプリケーションに関連付ける工程は、第1のデータフローグラフを、第2のデータフローグラフを実行するように構成する工程を含むことができる。
複数の態様が、下記の利点のうちの1つまたは複数を含むことができる。従来の方法と比較すると、グラフィカルユーザインターフェースをより容易に設計および維持することができる。データフローグラフを、その他のデータフローグラフを呼び出して実行するように容易に構成することができる。複合コントロールに対する変更を、その他のコントロールまたはユーザインターフェースに対する変更から分離することができる。標準的なコントロールを作成して、パフォーマンスを高めるように最適化することができる。コントロールは、組み込みロジックを含むことができる。異なるインターフェースにおいてコントロールを再利用することは、組み込みロジックの再利用を可能にすることができる。
本発明のその他の特徴および利点は、以降の説明から、および特許請求の範囲から明らかになるであろう。
複合コントロールの一例を示す図である。 複合コントロールを作成して使用するための例示的なデータ処理システムを示す図である。 データフローグラフおよびパラメータの一例を示す図である。 構成可能なデータフローグラフなど、構成可能なアプリケーション上でパラメータを設定するための例示的な構成インターフェースを示す図である。 GUIコントロールに焦点を合わせた構成インターフェースを作成するためのビルダーインターフェース400の一例を示す図である。 複合コントロールを使用してデータフローグラフを別のデータフローグラフに関連付けることを示す図である。 複合表示要素を使用してアプリケーションを構成するための例示的なプロセスを示すフローチャートである。
図1は、複合コントロールの一例を示している。グラフィカルユーザインターフェース(GUI)開発環境100が、コントロールのパレット102を含むことができる。パレット102は、1つまたは複数のコントロールを含み、それらのコントロールは、パレットから選択してインターフェースに加えることが可能である。たとえば、パレット102は、テキストボックス表示104、ドロップダウンリストボックス表示106、リストボックス表示108、および複合コントロール表示110を含む。
パレット102から表示を選択すると、GUI設計者は、対応するコントロールをキャンバス130上に配置することができる。本明細書において使用される際には、キャンバスとは、さまざまな描画要素(ライン、形、テキスト、その他の要素を含むフレーム、コントロール、ラベルなど)を保持するコンテナである。いくつかの実施態様はまた、空間的な表示を定義し、ユーザがグラフィカルユーザインターフェースを介して要素と対話することを可能にする。このGUI開発環境は、ユーザがアクセス可能なアプリケーション、ウェブページ、または類似の提示メカニズムを作成することができ、それによって、設計および編集プロセス中にキャンバス上に表示されるコントロールどうしは、アプリケーションが実行される際の、またはウェブページがアクセスされる際のそれらのコントロールの提示にとって非常に類似した外観となる。
この例においては、テキストボックス表示104が、パレット102から選択されてキャンバス130上に配置されて、住所テキストボックス114が作成された。同様に、テキストボックス表示104が、パレット102から選択されてキャンバス130上に配置されて、都市テキストボックス116が作成された。
複合コントロール表示110を選択してキャンバス130上に配置すると、複合コントロール118が生成される。一般には、複合コントロールは、1つまたは複数の基本コントロールを含む。たとえば、複合コントロール118は、国ドロップダウンリストボックス120、および州ドロップダウンリストボックス122を含む。複合コントロールは、1つまたは複数のその他の複合コントロールを含むこともできる。
複合コントロールは、実行可能なロジックを含むこともできる。そのロジックは、基本コントロールどうしの間における対話に関連させることができる。たとえば、国ドロップダウンリストボックス120は、さまざまな国のリストを含むことができる。複合コントロール118は、プログラミングロジックを含むことができ、そのプログラミングロジックは、ユーザが国ドロップダウンリストボックス120から値を選択したときに州(state)/州(province)の適切なリストが州ドロップダウンリストボックス122に投入されるようにする。たとえば、国ドロップダウンリストボックス122において「アメリカ合衆国」を選択すると、州ドロップダウンリストボックスに米国の州のリストが投入される。同様に、国ドロップダウンリストボックス120において「カナダ」を選択すると、州ドロップダウンリストボックスにカナダの州および準州のリストが投入される。その他の変化が生じることも可能である。たとえば、ラベル124が「州:」から「州/準州」に変わることも可能である。
いくつかの実施態様においては、複合コントロールは、パラメータを受け取ることもできる。それらのパラメータは、たとえば、複合コントロールの基本コントロールに関連付けられているパラメータであることが可能である。それらのパラメータは、全体としての複合コントロールに固有のものであることも可能である。たとえば、GUI設計者は、国ドロップダウンリストボックスおよび州ドロップダウンリストボックスに関するルックアップテーブルまたはその他のデータソースを識別するためのパラメータを設定できることが可能である。あるいは、GUI設計者は、要求される値を供給するデータ構造、たとえば、辞書データタイプまたはハッシュテーブルを提供することができる。
いくつかの実施態様においては、複合コントロールは、そのコントロールを使用することができるコンテキストに関する制限を含むことができる。たとえば、いくつかの複合コントロールは、ポップアップウィンドウにおいてのみ可能にされるように、またはメインディスプレイウィンドウにおいて提示されるだけであるように構成することができる。
いくつかの実装態様においては、複合コントロールは、GUI開発環境において作成することができる。たとえば、GUI設計者は、キャンバス上のアイテムを複合コントロールとして保存することを選ぶことができる。複合コントロールは、GUI開発環境によってアクセス可能な別個のファイルとして保存することができる。
図2は、複合コントロールを作成して使用するための例示的なデータ処理システム200を示している。システム200は、データソース202を含み、データソース202は、データの1つまたは複数のソース、たとえば、ストレージデバイス、またはオンラインデータストリームへの接続を含むことができ、それらのそれぞれは、さまざまなストレージフォーマット(たとえば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、または、メインフレームによって使用されるネイティブフォーマット)のうちの任意のフォーマットでデータを格納することができる。実行環境204は、グラフ構成モジュール206およびユーザインターフェースモジュール212を含む。実行環境204は、UNIXオペレーティングシステムなどの適切なオペレーティングシステムのコントロールのもとで1つまたは複数の汎用コンピュータ上でホストすることが可能である。たとえば、実行環境204は、ローカルの(たとえば、SMPコンピュータなどのマルチプロセッサシステム)、またはローカルに分散されている(たとえば、クラスタもしくはMPPとして結合されている複数のプロセッサ)、またはリモートの、またはリモートに分散されている(たとえば、ローカルエリアネットワーク(LAN)および/もしくはワイドエリアネットワーク(WAN)を介して結合されている複数のプロセッサ)、またはそれらの任意の組合せである、複数の中央処理装置(CPU)を使用するコンピュータシステムの構成を含む複数ノード並列コンピューティング環境を含むことができる。
グラフ構成モジュール206は、以降でより詳細に説明されているように、データフローグラフの構成を変更する。ユーザインターフェースモジュール212は、ユーザ220に構成情報を表示し、ユーザ220から構成アクションを受け取る。ユーザインターフェースモジュール212はまた、グラフ構成モジュール206と通信し、グラフ構成モジュール206は、ユーザ220のアクションに基づいてデータフローグラフを構成する。たとえば、データフローグラフは、データソース202内に格納することができる。データソース202を提供するストレージデバイスは、実行環境204にとってローカルにあること、たとえば、実行環境204を稼働させているコンピュータに接続されているストレージメディア(たとえば、ハードドライブ208)上に格納されていることが可能であり、または実行環境204にとってリモートにあること、たとえば、ローカルエリアデータネットワークもしくはワイドエリアデータネットワークを介して、実行環境204を稼働させているコンピュータと通信状態にあるリモートシステム(たとえば、メインフレーム210)上にホストされていることも可能である。
実行環境204は、データストレージシステム216と通信状態にあり、データストレージシステム216は、ユーザインターフェースを表示するためにユーザインターフェースモジュール212によって使用される情報を含む。データストレージシステム216はまた、開発環境218にアクセス可能であり、開発環境218においては、開発者220がユーザインターフェースを開発することができ、それらのユーザインターフェースは、データストレージシステム216内に格納され、ユーザインターフェースを表示するためにユーザインターフェースモジュール212によって使用される。
データソース202は、いくつかの実施態様においては、頂点どうしの間における(機能要素のフローを表す)有向リンクによって接続されている頂点(コンポーネントまたはデータセット)を含むデータフローグラフとしてアプリケーションを開発するためのシステムである。たとえば、そのような環境は、参照によって本明細書に組み込まれている「MANAGING PARAMETERS FOR GRAPH−BASED APPLICATIONS」という名称の米国特許出願公開第2007/0011668号においてより詳細に説明されている。
データフローグラフは、1つまたは複数のデータソースからのデータを処理するデータフローグラフ実行環境内で実行されるコンピュータプログラムとみなすことができる。データソースからのデータは、データフローグラフに従って操作および処理され、1つまたは複数のデータシンクへエクスポートされる。データソースおよびデータシンクは、たとえば、ファイル、データベース、データストリーム、またはキューを含むことができる。データフローグラフは、データ処理コンポーネントを表すノードを含む有向グラフとして表され、それらのデータ処理コンポーネントはそれぞれ、少なくとも1つのデータ入力からのデータを処理して少なくとも1つのデータ出力にデータを提供するためのコードを含み、ノードは、データソースおよび/またはデータシンクにアクセスするためのデータセットオブジェクトを表している。ノードどうしは、有向リンクによって接続されており、それらの有向リンクは、データソースにおいて始まってデータシンクにおいて終わる、コンポーネントどうしの間におけるデータのフローを表している。アップストリームコンポーネントのデータ出力ポートは、ダウンストリームコンポーネントのデータ入力ポートへ接続されている。データフローグラフは、データセットオブジェクトによって表される異なるデータソースおよび異なるデータシンクに関して再利用することができる。たとえば、データフローグラフを実装するために使用されるデータ構造およびプログラムコードは、異なるソースおよびシンクが容易に代用されることを可能にするためにパラメータ化されることによって複数の異なる構成をサポートすることができる。さらに、いくつかのアレンジにおいては、データフローグラフのフローは、1つのコンポーネントまたは一連のコンポーネントを迂回することができるようにパラメータの使用によって変更することができる。一般には、パラメータは、構成または変更することができるデータフローグラフのプロパティーを表す。プロパティーの一例が、「入力ファイル」であり、その値は、データフローグラフに関するデータソースとして機能するデータファイルを識別する。プロパティーは、データフローグラフの使用のたびに変更することができ、データフローグラフは、その変更の結果として別々のオペレーションを実行することができる。データフローグラフは、特定のアクションを実行するようにグラフの事前コンパイルを変更することによってコンパイル時に、またはパラメータを設定すること、もしくはデータフローグラフによって使用されている構成ファイルを変更することによってランタイムに構成することができる。
たとえば、図3Aを参照すると、データフローグラフ302は、データソース306a、306b、コンポーネント308a〜c、グラフインターフェースコンポーネント310、およびデータシンク312を含むことができる。ソース、コンポーネント、およびシンクのそれぞれは、パラメータ304a〜fのセットに関連付けることができる。1つのソース、コンポーネント、またはシンクに関するパラメータは、異なるソース、コンポーネント、またはシンクに関するパラメータを評価するために使用することができる。この例においては、ソース306a、306bは、コンポーネント308a、308cの入力ポートに接続されている。コンポーネント308aの出力ポートは、コンポーネント308bの入力ポートに接続されており、グラフインターフェースコンポーネント310の出力ポートは、データシンク312に接続されている。ソース、コンポーネント、およびシンクの間における接続は、データフローを定義する。
グラフインターフェースコンポーネント310は、グラフのコンポーネントであり、実行時にグラフが別のグラフを動的に実行することを可能にする。たとえば、データフローグラフ302が実行されるときに、グラフインターフェースコンポーネント310は、データフローグラフ316またはデータフローグラフ318を動的にロードして実行することができる。いくつかの実装態様においては、グラフインターフェースコンポーネント310は、データの入力フローを受け取ってデータの出力フローを生み出すインターフェースを定義することができる。ロードされて実行されるデータフローグラフは、パラメータ、データ要素からのデータ値、またはその他の任意の値に基づいて特定することができる。
データソース、コンポーネント、またはシンクのうちのいくつかは、グラフの挙動のうちのいくらかを定義することができる入力パラメータ304a〜fを有することができる。たとえば、パラメータは、物理的なディスク上のデータソースまたはデータシンクのロケーションを定義することができる。パラメータは、コンポーネントの挙動を定義することもでき、たとえば、パラメータは、ソーティングコンポーネントが入力をどのようにソートするかを定義することができる。いくつかのアレンジにおいては、1つのパラメータの値が別のパラメータの値に依存する場合がある。たとえば、ソース306aは、特定のディレクトリにおけるファイル内に格納することができる。パラメータセット304aは、「DIRECTORY」と呼ばれるパラメータと、「FILENAME」と呼ばれる別のパラメータとを含むことができる。このケースにおいては、FILENAMEパラメータは、DIRECTORYパラメータに依存することになる(たとえば、DIRECTORYは「/usr/local/」である場合があり、FILENAMEは「/usr/local/input.dat」である場合がある)。パラメータは、その他のコンポーネントに関するパラメータに依存する場合もある。たとえば、シンク312の物理的なロケーションは、ソース306aの物理的なロケーションに依存する場合がある。この例においては、シンク312は、パラメータのセット304fを含み、このセット304fは、FILENAMEパラメータを含み、このFILENAMEパラメータは、ソース306aのDIRECTORYパラメータに依存し、たとえば、セット304f内のFILENAMEパラメータは、「/usr/local/output.dat」である場合があり、「/usr/local/」という値は、セット304a内のDIRECTORYパラメータから得られる。
同様に、データフローグラフ316および318は、それぞれパラメータセット304gおよび304hを有することができる。
いくつかの実施態様においては、パラメータセット304a〜fを、データフローグラフ全体に関するパラメータを含む単一のパラメータセット、たとえば、パラメータセット314へと結合することができる。しかしながら、グラフインターフェースコンポーネント310は、ランタイムにデータフローグラフを動的にロードして実行するので、パラメータリスト全体は知られていない場合がある。たとえば、グラフインターフェースコンポーネント310が、データフローグラフ316をロードおよび実行させるならば、パラメータセット304gを投入することが必要となる場合がある。
パラメータセット、たとえばパラメータセット314は、開発環境、たとえば図2の開発環境218において使用するために発行することまたはその他の形で利用可能にすることができる。発行されたパラメータセットは、データフローグラフのアプリケーションプログラミングインターフェース(API)の一部として参照することができる。
構成インターフェースが、クライアントデバイス上に提示されて、ユーザ220が図2のグラフ構成モジュール206にアクセスすることを可能にする。図3を再び参照すると、構成インターフェース内で、パラメータセット304a〜304fまたはパラメータセット314のパラメータを、ユーザと対話するためのさまざまなグループへと再編成することができ、それは、技術的な考慮事項よりもむしろビジネス上の考慮事項を反映する。ユーザ入力に基づいてパラメータに関する値を受け取るための構成インターフェースは、さまざまなパラメータを、それらのパラメータどうしの間における関係に従って、サーバ上の開発環境の態様によって必ずしも制限されないフレキシブルな方法で表示することができる。
データフローグラフの構築は、いくつかのケースにおいては高度に技術的な性質を有することがある。特定のビジネスの目的を達成するために書かれる一方で、グラフの基礎をなす構造および構築は、技術的な考慮事項に基づいて特定される。たとえば、グラフのコンポーネントは、再利用性を最大化するように、または並列処理をサポートするように選択することができる。その一方で、グラフがどこでどのように使用されるかは、大部分がビジネス上の決定事項である場合がある。パラメータ化されたデータフローグラフに関連付けられているパラメータのうちのいくつかを使用して、ビジネスユーザが、データフローグラフの実施の背後にある技術的な複雑さを理解する必要なくそれらのデータフローグラフをカスタマイズすることを可能にすることができる。パラメータ化されたデータフローグラフは、カスタマイゼーションを簡単にし、再利用を容易にする。データフローグラフを構築するためのパラメータ値の識別のための構成インターフェースをクライアントマシン上に提示することができる。たとえば、そのような環境は、参照によって本明細書に組み込まれている「SPECIFYING USER INTERFACE ELEMENTS」という名称の米国特許出願公開第20011/0145748号においてさらに詳細に説明されている。
構成インターフェースは、実行フローグラフを構成するために使用することもできる。実行フローグラフは、外部プロセスが実行されることになる順序を記述する有向グラフである。たとえば、実行フローグラフは、一連のデータフローグラフが実行されることになる順序を指定することができる。
データフローグラフを構築するためのパラメータ値の識別のための構成インターフェースの開発は、いくつかのケースにおいては高度に技術的な性質を有することもある。上述のように、基礎をなすグラフは、しばしば技術的な考慮事項に基づいて構築され、その一方で構成インターフェースは、しばしばビジネス上の考慮事項に基づいて開発される。結果として、構成インターフェースは、1つまたは複数のデータフローグラフに関するパラメータを提供することができる。それぞれのデータフローグラフは、APIによって提供された別個のパラメータセットを有する。さらに、構成インターフェースの開発は、基礎をなすデータフローグラフの開発とは異なるスキルを含む。したがって、構成インターフェースの開発は、技術的な考慮事項、ビジネス上の考慮事項、および使いやすさに関する考慮事項の組合せを必要とする。
構成インターフェースの生成を容易にするために、ビルダーインターフェースをクライアントマシンのユーザに提示することができる。ビルダーインターフェースは、開発環境218の一部であることが可能である。
図3Bは、構成可能なデータフローグラフなど、構成可能なアプリケーション上でパラメータを設定するための例示的な構成インターフェースを示している。この例においては、2つのデータフローグラフ302および306が、インターフェース320内に示されており、構成インターフェース320に関連付けられている。この例においては、パラメータ304を使用して、構成可能なデータフローグラフ302を構成することができる。同様に、パラメータ308、310、312を使用して、データフローグラフ306を構成することができる。
たとえば、構成インターフェース320は、それらのデータフローグラフによって処理されることになるデータのビジネス知識を有するユーザが、パラメータに値を割り振ること、およびそれによって単一の構成インターフェースを使用して両方のデータフローグラフを構成することを可能にする。この例においては、構成インターフェース320は、パラメータ1フィールド322を含む。パラメータ1フィールドは、インターフェース320において表されているパラメータ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」(what you see is what you get)インターフェースを提示する。表示エリア430は、開発者がGUIコントロールを配置するキャンバスと考えることができる。開発者は、コンポーネントセクション422からGUIコントロールを選択し、そのGUIコントロールを表示エリア430に加えて構成インターフェースを作成することができる。この例においては、表示エリア430は、ソースファイルに対応するテキスト入力コントロール410と、ターゲットファイルに対応するテキスト入力コントロール412とを含むボックスコントロール406を含む。表示エリア430はまた、ファイルセレクタコントロール418を含むボックスコントロール414を含む。表示エリアは、仕切り416などの仕切りを使用して、GUIを複数のセクションへと区分することができる。それらの区分は、基本的な構造をユーザに提供することによって、インターフェースの作成を簡単にするために使用することができる。
コンポーネントセクション422は、表示エリア430に加えることができるさまざまなコントロールを含む。利用可能なGUIコントロールは、ユーザ入力を受け取ってパラメータに値を割り振る入力コントロールを含む。利用可能なGUIコントロールはまた、1つまたは複数のコントロールをグループ化する視覚的なアウトラインを作成するボックスなどのグルーピングコントロールを含む。開発者は、ルールに基づくコントロールを選択することもでき、これは、フィールド間の依存関係を開発者が作成することを可能にする。たとえば、ビジネスルールコントロールは、そのビジネスルールコントロールの出力と、構成可能なアプリケーションを構成するために使用されるパラメータとの間におけるマッピングを提供するパラメータを開発者が構成することを可能にする。開発者は、データに基づくコントロールを選択することもでき、これは、グラフによって生み出されたデータを構成インターフェースのユーザが見ることを可能にする。
コンポーネントセクション422は、複合コントロールを含むこともできる。たとえば、フィルタグラフ構成432は、フィルタグラフを構成するのに十分なプリミティブコントロールおよび実行可能な命令を含む複合コントロールであることが可能である。一般には、プリミティブコントロールは、ウィンドウまたはテキストボックスなど、ユーザによって変更可能な情報アレンジを表示するグラフィカルユーザインターフェース(GUI)の要素である。プリミティブコントロールは、基本的な視覚的なビルディングブロックであり、アプリケーションにおいて組み合わされると、そのアプリケーションによって処理されるすべてのデータと、このデータ上での利用可能な対話とを保持する。
それぞれのコントロールは、1つまたは複数の属性を有することができる。これらの属性は、コントロール属性エリア426において表示することができる。この例においては、コントロール属性エリア426は、テキスト入力コントロール410に関する属性を表示している。コントロール属性エリア426は、ユーザが、コントロールに関するプロパティー値のうちの任意の値にパラメータ値を割り振ることを可能にする。たとえば、選択された値のプロパティー428は、SOURCE_URLパラメータ430に関する値を提供する。
開発者は、構成インターフェースのその他のグラフィカルな特徴を規定するルールを確立することもできる。たとえば、開発者は、事前に定義された一式の基準が満たされない限り特定のGUIコントロールが表示されないように指定することができ、たとえば、ターゲットファイルコントロール412は、ソースファイルコントロール410が投入を受けない限り表示を行うことができない。
いくつかの実装態様においては、複合コントロール内でルールを指定することもできる。たとえば、複合コントロールは、事前に定義された一式の基準が満たされない限り複合コントロール内の特定のプリミティブコントロールが表示されないように指定することができる。別の例においては、上述のように、複合コントロール内のプリミティブコントロールは、別のプリミティブコントロールにおいて提供された値に基づいて投入を受けることができる。
図5を参照すると、データフローグラフに関連付けられているパラメータを設定するために複合コントロールを作成することができる。上で論じたように、ユーザインターフェースを使用して、データフローグラフのパラメータを構成することができる。この例においては、複合コントロール502は、データフローグラフ504に関連付けられているパラメータをユーザが設定することを可能にするフィールドを含む。上で論じたように、複合コントロールは、複合コントロールおよびその他のロジックを構成する基本コントロールどうしの間における対話をコントロールするプログラミング命令を含むことができる。この例においては、複合コントロール502は、データフローグラフ504に関するパラメータを設定するプログラミング命令を含む。ユーザインターフェース506は、ビルダーインターフェースの表示エリアに相当し、たとえば、ユーザインターフェース506は、図4のビルダーインターフェース400の表示エリア430であることが可能である。
ユーザインターフェース506は、複合コントロールを配置することができるエリア510を含む。いくつかの実施態様においては、ユーザインターフェース506は、コントロールをどのように配置することができるかを指示および制限するテンプレートを含むことができる。たとえば、ユーザインターフェース506は、コントロールの配置を表形式に制限することができる。あるいは、ユーザインターフェース506は、ユーザインターフェース506を別々のセクションへと仕切ることができ、それぞれのセクションは、1つまたは複数のコントロールを保持することができる。その他の実装態様においては、ユーザインターフェース506は、ユーザがユーザインターフェース506上の任意の場所でコントロールを構成することを可能にすることができる。
この例においては、ユーザインターフェース506は、データフローグラフ508に関するパラメータを設定するように設計されている。データフローグラフ506の一部分は、コンポーネント516を含む。コンポーネント516は、グラフインターフェースコンポーネント512に接続されている。上で論じたように、グラフインターフェースコンポーネント512は、いくつかの異なる潜在的なデータフローグラフを実行するように構成されている。グラフインターフェースコンポーネント512は、データシンク514に接続されている。
データフローグラフ508を構成するためのGUIを作成する際に、ユーザは、グラフインターフェースコンポーネント512によって実行されることになるデータフローグラフを選択することができる。この例においては、ユーザは、データフローグラフ504がグラフインターフェースコンポーネント512によって実行されるべきであるということを特定する。
ユーザは、データフローグラフ504に関連付けられている複合コントロール502を選択して、その複合コントロール502をエリア510内に配置することによって、データフローグラフ504をグラフインターフェースコンポーネント512に関連付けることができる。複合コントロール502を加えると、ユーザインターフェース内にエリアが作成され、そこでは、ビジネスユーザが、データフローグラフ508およびデータフローグラフ504を構成することができる。たとえば、ユーザインターフェース506は、ビジネスユーザによって保存またはエクスポートして後でアクセスすることが可能である。ビジネスユーザは、完成されたユーザインターフェースを提示される。ユーザインターフェース506のフィールドに値を供給することによって、ビジネスユーザは、データフローグラフ504を含むデータフローグラフ508を構成する。
いくつかの実施態様においては、エリア510は、グラフインターフェースコンポーネント512に関連付けられる。別の実施態様においては、このシステムは、データフローグラフに関連付けるための適切なグラフインターフェースコンポーネントを、そのグラフインターフェースコンポーネントおよびそのデータフローグラフの両方に関連付けられているインターフェースに基づいて特定する。たとえば、データフローグラフ504は、入力データの2つのフローを必要とし、出力データの1つのフローを生成する。エリア510は、その基準を満たすデータフローグラフに関連付けられている任意の複合コントロールで満たすことができる。
いくつかの実施態様においては、複合コントロールを、その複合コントロールをサブグラフに関連付けたグラフパラメータに結び付けることができる。
いくつかの実施態様においては、複合コントロールを複数のデータフローグラフに関連付けることができる。たとえば、複合コントロールは、どのデータフローグラフがグラフインターフェースコンポーネント512によって実行されるべきであるかをビジネスユーザが選択することを可能にする選択フィールド(たとえば、リストボックス、ドロップダウンリストボックスなど)を含むことができる。ビジネスユーザが選択フィールドからデータフローグラフを選択すると、複合コントロールは、選択されたデータフローグラフを構成するのに適している一式のフィールドを提示することができる。
図6は、複合表示要素を使用してアプリケーションを構成するための例示的なプロセスのフローチャートである。たとえば、このプロセスは、コンピュータシステムなどのデータ処理装置によって実行することができる。説明を簡単にするために、このプロセスについては、このプロセスを実行するシステムに関連して説明する。
アプリケーションを構成するためのユーザインターフェースを受け取ることができる(602)。このユーザインターフェースは、ビルダーインターフェースを使用して作成することができる。ビルダーインターフェースは、数ある中でも、ユーザインターフェースに加えることができるコントロールおよび表示要素の提示のためのパレットを含むことができる。
第2のアプリケーションに関連付けられている複合表示要素を表示することができる(604)。この複合表示要素は、パレットにおいてユーザに提示することができる。この複合表示要素は、第2のアプリケーションを構成するために使用することができる1つまたは複数の表示要素を含むことができる。
複合表示要素とユーザインターフェースとの間における関連付けを受け取ることができる(606)。この関連付けは、ユーザのアクションに起因して生じることがある。たとえば、ユーザは、複合コントロールを表すアイコンをパレットから選択して、その複合コントロールをユーザインターフェース上にドラッグアンドドロップすることができる。
第2のアプリケーションをそのアプリケーションに関連付けることができる(608)。複合コントロールとユーザインターフェースとの関連付けを受け取ったことに応答して、このシステムは、第2のアプリケーションをそのアプリケーションに関連付けることができる。
上述の複合コントロールアプローチを使用するグラフィカルユーザインターフェースは、適切なソフトウェアを実行するコンピューティングシステムを使用して実装することができる。たとえば、そのソフトウェアは、少なくとも1つのプロセッサと、(揮発性および/または不揮発性のメモリ要素および/またはストレージ要素を含む)少なくとも1つのデータストレージシステムと、(少なくとも1つの入力デバイスまたはポートを使用して入力を受け取るための、および少なくとも1つの出力デバイスまたはポートを使用して出力を提供するための)少なくとも1つのユーザインターフェースとをそれぞれが含む(分散型、クライアント/サーバ、またはグリッドなど、さまざまなアーキテクチャーのものであることが可能である)1つまたは複数のプログラムされたまたはプログラム可能なコンピューティングシステム上で実行される1つまたは複数のコンピュータプログラムにおける手順を含むことができる。そのソフトウェアは、たとえば、データフローグラフの設計、構成、および実行に関連したサービスを提供するさらに大きなプログラムの1つまたは複数のモジュールを含むことができる。そのプログラムのモジュール(たとえば、データフローグラフの要素)は、データリポジトリ内に格納されているデータモデルに準拠するデータ構造またはその他の編成されたデータとして実装することができる。
そのソフトウェアは、(たとえば、汎用もしくは専用のコンピューティングシステムもしくはデバイスによって読み取り可能な)CD−ROMもしくはその他のコンピュータ可読メディアなどの有形の非一時的なメディア上で提供すること、またはネットワークの通信メディアを介して、そのソフトウェアが実行されるコンピューティングシステムの有形の非一時的なメディアへ配信すること(たとえば、伝搬される信号内に含めて符号化すること)が可能である。処理のうちのいくつかまたはすべては、専用のコンピュータ上で、または専用のハードウェア、たとえば、コプロセッサもしくはフィールドプログラマブルゲートアレイ(FPGA)もしくは専用の特定用途向け集積回路(ASIC)を使用して実行することができる。処理は、分散された様式で実装することができ、その様式においては、ソフトウェアによって指定された計算の別々の部分が、別々のコンピューティング要素によって実行される。それぞれのそのようなコンピュータプログラムは、好ましくは、汎用または専用のプログラム可能なコンピュータによってアクセス可能なストレージデバイスのコンピュータ可読ストレージメディア(たとえば、ソリッドステートメモリもしくはソリッドステートメディア、または磁気メディアもしくは光メディア)がそのコンピュータによって読み取られたときに、本明細書において説明されている処理を実行するようにそのコンピュータを構成して動作させるために、そのストレージデバイスメディア上に格納されるか、またはそのストレージデバイスメディアへダウンロードされる。本発明のシステムは、コンピュータプログラムを伴って構成されている有形の非一時的なメディアとして実装されるものとみなすこともでき、そのように構成されているメディアは、本明細書において説明されている処理工程のうちの1つまたは複数を実行するために特定の事前に定義された様式でコンピュータを動作させる。
本発明のいくつかの実施形態について説明してきた。それでもなお、前述の説明は、本発明の範囲を例示することを意図されており、本発明の範囲を限定することを意図されているものではなく、本発明の範囲は、添付の特許請求の範囲の範疇によって定義されているということを理解されたい。したがって、その他の実施形態も、添付の特許請求の範囲の範疇内にある。たとえば、本発明の範囲から逸脱することなく、さまざまな修正を行うことができる。加えて、上述の工程のうちのいくつかは、順序の点で独立していることが可能であり、したがって、説明されている順序とは異なる順序で実行することができる。

Claims (19)

  1. 第1のアプリケーションを識別することであって、前記第1のアプリケーションがコンピュータ実行可能プログラムである、ことと、
    1つまたは複数の表示オブジェクトを表示するためのキャンバスをユーザインターフェースにおいて表示することと、
    前記第1のアプリケーションに関連付けられている第1の表示オブジェクトを前記キャンバスにおいて表示することであって、前記第1の表示オブジェクトが、セレクタオブジェクトの第1のセットを含み、セレクタオブジェクトの第1のセットと、前記第1のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、ことと、
    第2のアプリケーションを識別することであって、前記第2のアプリケーションがコンピュータ実行可能プログラムである、ことと、
    第2のアプリケーションに関連付けられている第2の表示オブジェクトを前記ユーザインターフェースにおいて表示することであって、前記第2の表示オブジェクトが、セレクタオブジェクトの第2のセットを含み、セレクタオブジェクトの前記第2のセットと、前記第2のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、ことと、
    前記第2の表示オブジェクトを前記第1の表示オブジェクトに関連付けるユーザアクションの指示を受け取ったことに応答して、前記第1のアプリケーションを、前記第2のアプリケーションを呼び出すように構成することと、
    セレクタオブジェクトの前記第1のセットと、セレクタオブジェクトの前記第2のセットとを含む第3の表示オブジェクトを作成することと
    を含むコンピュータ実施方法。
  2. ファイルから前記第2の表示オブジェクトを読み取ることをさらに含む、請求項1に記載の方法。
  3. 前記ユーザインターフェースを使用して前記第1のアプリケーションおよび前記第2のアプリケーションを構成するための第3のアプリケーションを生成することをさらに含む、請求項1に記載の方法。
  4. 前記第3のアプリケーションが、第1の表示オブジェクトおよび第2の表示オブジェクトを含み、
    前記第1の表示オブジェクトに関連付けられている値を変えると、前記第2の表示オブジェクトに関連付けられている値が変わる、請求項3に記載の方法。
  5. 前記第1のアプリケーションが第1のデータフローグラフであり、前記第2の構成可能なアプリケーションが第2のデータフローグラフである、請求項1に記載の方法。
  6. 前記第2のアプリケーションを前記第1のアプリケーションに関連付けることが、前記第1のデータフローグラフを、前記第2のデータフローグラフを実行するように構成することを含む、請求項6に記載の方法。
  7. コンピュータプログラム命令で符号化されている非一時的なコンピュータストレージメディアであって、前記コンピュータプログラム命令が、1つまたは複数のコンピュータによって実行されたときに、
    第1のアプリケーションを識別することであって、前記第1のアプリケーションがコンピュータ実行可能プログラムである、ことと、
    1つまたは複数の表示オブジェクトを表示するためのキャンバスをユーザインターフェースにおいて表示することと、
    前記第1のアプリケーションに関連付けられている第1の表示オブジェクトを前記キャンバスにおいて表示することであって、前記第1の表示オブジェクトが、セレクタオブジェクトの第1のセットを含み、セレクタオブジェクトの第1のセットと、前記第1のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、ことと、
    第2のアプリケーションを識別することであって、前記第2のアプリケーションがコンピュータ実行可能プログラムである、ことと、
    第2のアプリケーションに関連付けられている第2の表示オブジェクトを前記ユーザインターフェースにおいて表示することであって、前記第2の表示オブジェクトが、セレクタオブジェクトの第2のセットを含み、セレクタオブジェクトの前記第2のセットと、前記第2のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、ことと、
    前記第2の表示オブジェクトを前記第1の表示オブジェクトに関連付けるユーザアクションの表示を受け取ったことに応答して、前記第1のアプリケーションを、前記第2のアプリケーションを呼び出すように構成することと、
    セレクタオブジェクトの前記第1のセットと、セレクタオブジェクトの前記第2のセットとを含む第3の表示オブジェクトを作成することとを含むオペレーションを前記1つまたは複数のコンピュータに実行させる、非一時的なコンピュータストレージメディア。
  8. 前記オペレーションが、ファイルから前記第2の表示オブジェクトを読み取ることをさらに含む、請求項7に記載のメディア。
  9. 前記オペレーションが、前記ユーザインターフェースを使用して前記第1のアプリケーションおよび前記第2のアプリケーションを構成するための第3のアプリケーションを生成することをさらに含む、請求項7に記載のメディア。
  10. 前記第3のアプリケーションが、第1の表示オブジェクトおよび第2の表示オブジェクトを含み、前記第1の表示オブジェクトに関連付けられている値を変えると、前記第2の表示オブジェクトに関連付けられている値が変わる、請求項9に記載のメディア。
  11. 前記第1のアプリケーションが第1のデータフローグラフであり、前記第2の構成可能なアプリケーションが第2のデータフローグラフである、請求項7に記載のメディア。
  12. 前記第2のアプリケーションを前記第1のアプリケーションに関連付けることが、前記第1のデータフローグラフを、前記第2のデータフローグラフを実行するように構成することを含む、請求項11に記載のメディア。
  13. 1つまたは複数のコンピュータと、命令を格納している1つまたは複数のストレージデバイスと
    を含むシステムであって、前記命令が、前記1つまたは複数のコンピュータによって実行されたときに、
    第1のアプリケーションを識別することであって、前記第1のアプリケーションがコンピュータ実行可能プログラムである、ことと、
    1つまたは複数の表示オブジェクトを表示するためのキャンバスをユーザインターフェースにおいて表示することと、
    前記第1のアプリケーションに関連付けられている第1の表示オブジェクトを前記キャンバスにおいて表示することであって、前記第1の表示オブジェクトが、セレクタオブジェクトの第1のセットを含み、セレクタオブジェクトの第1のセットと、前記第1のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、ことと、
    第2のアプリケーションを識別することであって、前記第2のアプリケーションがコンピュータ実行可能プログラムである、ことと、
    第2のアプリケーションに関連付けられている第2の表示オブジェクトを前記ユーザインターフェースにおいて表示することであって、前記第2の表示オブジェクトが、セレクタオブジェクトの第2のセットを含み、セレクタオブジェクトの前記第2のセットと、前記第2のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、ことと、
    前記第2の表示オブジェクトを前記第1の表示オブジェクトに関連付けるユーザアクションの表示を受け取ったことに応答して、前記第1のアプリケーションを、前記第2のアプリケーションを呼び出すように構成することと、
    セレクタオブジェクトの前記第1のセットと、セレクタオブジェクトの前記第2のセットとを含む第3の表示オブジェクトを作成することと
    を含むオペレーションを前記1つまたは複数のコンピュータに実行させるように動作することができる、システム。
  14. 前記オペレーションが、ファイルから前記第2の表示オブジェクトを読み取ることをさらに含む、請求項13に記載のシステム。
  15. 前記オペレーションが、前記ユーザインターフェースを使用して前記第1のアプリケーションおよび前記第2のアプリケーションを構成するための第3のアプリケーションを生成することをさらに含む、請求項13に記載のシステム。
  16. 前記第3のアプリケーションが、第1の表示オブジェクトおよび第2の表示オブジェクトを含み、前記第1の表示オブジェクトに関連付けられている値を変えると、前記第2の表示オブジェクトに関連付けられている値が変わる、請求項15に記載のシステム。
  17. 前記第1のアプリケーションが第1のデータフローグラフであり、前記第2の構成可能なアプリケーションが第2のデータフローグラフである、請求項13に記載のシステム。
  18. 前記第2のアプリケーションを前記第1のアプリケーションに関連付けることが、前記第1のデータフローグラフを、前記第2のデータフローグラフを実行するように構成することを含む、請求項17に記載のシステム。
  19. 第1のアプリケーションを識別するための手段であって、前記第1のアプリケーションがコンピュータ実行可能プログラムである、手段と、
    1つまたは複数の表示オブジェクトを表示するためのキャンバスを表示する手段と、
    前記第1のアプリケーションに関連付けられている第1の表示オブジェクトを前記キャンバスにおいて表示するための手段であって、前記第1の表示オブジェクトが、セレクタオブジェクトの第1のセットを含み、セレクタオブジェクトの第1のセットと、前記第1のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、手段と、
    第2のアプリケーションを識別するための手段であって、前記第2のアプリケーションがコンピュータ実行可能プログラムである、手段と、
    第2のアプリケーションに関連付けられている第2の表示オブジェクトを表示するための手段であって、前記第2の表示オブジェクトが、セレクタオブジェクトの第2のセットを含み、セレクタオブジェクトの前記第2のセットと、前記第2のアプリケーションの1つまたは複数のパラメータとの間におけるマッピングを含む、手段と、
    前記第2の表示オブジェクトを前記第1の表示オブジェクトに関連付けるユーザアクションに応答して、前記第1のアプリケーションを、前記第2のアプリケーションを呼び出すように構成するための手段と、
    セレクタオブジェクトの前記第1のセットと、セレクタオブジェクトの前記第2のセットとを含む第3の表示オブジェクトを作成するための手段と
    を含むシステム。
JP2016553310A 2014-02-27 2015-02-24 複合コントロール Pending JP2017515179A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/192,184 US9575639B2 (en) 2014-02-27 2014-02-27 Compound controls
US14/192,184 2014-02-27
PCT/US2015/017222 WO2015130642A1 (en) 2014-02-27 2015-02-24 Compound controls

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2019187583A Division JP7178977B2 (ja) 2014-02-27 2019-10-11 複合コントロール

Publications (1)

Publication Number Publication Date
JP2017515179A true JP2017515179A (ja) 2017-06-08

Family

ID=52633671

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2016553310A Pending JP2017515179A (ja) 2014-02-27 2015-02-24 複合コントロール
JP2019187583A Active JP7178977B2 (ja) 2014-02-27 2019-10-11 複合コントロール
JP2020177434A Pending JP2021012740A (ja) 2014-02-27 2020-10-22 複合コントロール

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2019187583A Active JP7178977B2 (ja) 2014-02-27 2019-10-11 複合コントロール
JP2020177434A Pending JP2021012740A (ja) 2014-02-27 2020-10-22 複合コントロール

Country Status (8)

Country Link
US (1) US9575639B2 (ja)
EP (1) EP3111320B1 (ja)
JP (3) JP2017515179A (ja)
CN (1) CN106062711B (ja)
AU (1) AU2015223287B2 (ja)
CA (1) CA2939799C (ja)
SG (1) SG11201606736YA (ja)
WO (1) WO2015130642A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020042828A (ja) * 2014-02-27 2020-03-19 アビニシオ テクノロジー エルエルシー 複合コントロール
JP2020119047A (ja) * 2019-01-18 2020-08-06 株式会社リコー 情報処理システム、情報処理装置、パラメータ設定方法及びプログラム
JP7501092B2 (ja) 2020-05-19 2024-06-18 オムロン株式会社 補助方法、制御プログラム及び装置

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7747592B2 (en) 1999-09-07 2010-06-29 Thomas C Douglass Method and system for monitoring domain name registrations
US9772822B2 (en) * 2015-03-16 2017-09-26 Microsoft Technology Licensing, Llc Visualization framework for customizable types in a development environment
US10019238B2 (en) * 2015-06-23 2018-07-10 Open Text Sa Ulc Compositional entity modeling systems and methods
US11023668B2 (en) 2015-11-02 2021-06-01 Microsoft Technology Licensing, Llc Enriched compound data objects
US10997364B2 (en) 2015-11-02 2021-05-04 Microsoft Technology Licensing, Llc Operations on sound files associated with cells in spreadsheets
US10963635B2 (en) * 2015-11-02 2021-03-30 Microsoft Technology Licensing, Llc Extensibility of compound data objects
US10169004B2 (en) 2016-05-04 2019-01-01 Open Text Sa Ulc Application development and extensibility/customization using entity modeling systems and methods
CN110998515B (zh) * 2017-05-31 2024-03-15 Abb瑞士股份有限公司 工业控制系统中的现场装置接口
US11194551B2 (en) 2017-06-07 2021-12-07 Ab Initio Technology Llc Dataflow graph configuration
US11645046B2 (en) * 2017-07-03 2023-05-09 Unqork, Inc. Systems and methods for development and deployment of software platforms having advanced workflow and event processing components
US11450043B2 (en) * 2018-04-25 2022-09-20 Adobe Inc. Element association and modification
CN111124211A (zh) * 2018-10-31 2020-05-08 杭州海康威视系统技术有限公司 一种数据显示方法、装置及电子设备
CN112035188A (zh) * 2020-09-28 2020-12-04 中移(杭州)信息技术有限公司 控件生成方法、装置、网络设备及存储介质
CN113176920B (zh) * 2021-04-29 2024-05-31 上海云扩信息科技有限公司 一种通用的rpa元素选择器管理系统
CN115080044B (zh) * 2022-07-22 2022-11-11 浙江中控技术股份有限公司 一种组合组件的处理方法、装置、前端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259643A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd ビジネスプロセス制御プログラム
US20030035005A1 (en) * 2001-08-14 2003-02-20 Kodosky Jeffrey L. Graphically deployment of a program with automatic conversion of program type
JP2009087093A (ja) * 2007-09-28 2009-04-23 Bank Of Tokyo-Mitsubishi Ufj Ltd アプリケーション開発支援装置及びプログラム
JP2013541784A (ja) * 2010-10-25 2013-11-14 アビニシオ テクノロジー エルエルシー コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537630A (en) * 1994-12-05 1996-07-16 International Business Machines Corporation Method and system for specifying method parameters in a visual programming system
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US8290762B2 (en) * 2001-08-14 2012-10-16 National Instruments Corporation Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7668608B2 (en) * 2006-09-01 2010-02-23 Fisher-Rosemount Systems, Inc. Graphical programming language object editing and reporting tool
JP4767828B2 (ja) * 2006-12-01 2011-09-07 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ用アプリケーション・プログラムの作成システム、方法、及びプログラム
CN101140516A (zh) * 2007-10-22 2008-03-12 金蝶软件(中国)有限公司 一种动态布局界面元素的方法和系统
US8477103B2 (en) * 2008-10-26 2013-07-02 Microsoft Corporation Multi-touch object inertia simulation
JP6084037B2 (ja) 2009-12-14 2017-02-22 アビニシオ テクノロジー エルエルシー ユーザ・インターフェース要素の指定
CN201867789U (zh) * 2010-03-11 2011-06-15 中国工商银行股份有限公司 一种自适应的图形用户界面构建设备
WO2012037557A1 (en) * 2010-09-17 2012-03-22 Oracle International Corporation Pattern-based construction and extension of enterprise applications in a cloud computing environment
EP2686755B1 (en) * 2011-03-17 2020-10-14 Laubach, Kevin Input device enhanced interface
US20150193406A1 (en) * 2011-09-02 2015-07-09 Micah Lemonik System and Method to Provide Collaborative Document Processing Services Via Interframe Communication
EP2608018A1 (en) * 2011-12-22 2013-06-26 Siemens Aktiengesellschaft Customizing a GUI of a MES screen
DE112013002387T5 (de) * 2012-05-09 2015-02-12 Apple Inc. Vorrichtung, Verfahren und grafische Benutzeroberfläche für die Bereitstellung taktiler Rückkopplung für Operationen in einer Benutzerschnittstelle
US20150178930A1 (en) * 2013-12-20 2015-06-25 Qualcomm Incorporated Systems, methods, and apparatus for generating metadata relating to spatial regions of non-uniform size
US10291729B2 (en) * 2014-01-21 2019-05-14 Apptimize, Inc. User interface modification and usage tracking
US9665952B2 (en) * 2014-02-19 2017-05-30 Beijing Lenovo Software Ltd. Information processing method and electronic device
US9575639B2 (en) * 2014-02-27 2017-02-21 Ab Initio Technology Llc Compound controls

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259643A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd ビジネスプロセス制御プログラム
US20030035005A1 (en) * 2001-08-14 2003-02-20 Kodosky Jeffrey L. Graphically deployment of a program with automatic conversion of program type
JP2009087093A (ja) * 2007-09-28 2009-04-23 Bank Of Tokyo-Mitsubishi Ufj Ltd アプリケーション開発支援装置及びプログラム
JP2013541784A (ja) * 2010-10-25 2013-11-14 アビニシオ テクノロジー エルエルシー コンピュータプログラムを表すデータフローグラフ内のデータセットオブジェクトの管理

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020042828A (ja) * 2014-02-27 2020-03-19 アビニシオ テクノロジー エルエルシー 複合コントロール
JP2020119047A (ja) * 2019-01-18 2020-08-06 株式会社リコー 情報処理システム、情報処理装置、パラメータ設定方法及びプログラム
JP7147580B2 (ja) 2019-01-18 2022-10-05 株式会社リコー 情報処理システム、情報処理装置、パラメータ設定方法及びプログラム
JP7501092B2 (ja) 2020-05-19 2024-06-18 オムロン株式会社 補助方法、制御プログラム及び装置

Also Published As

Publication number Publication date
US20150242093A1 (en) 2015-08-27
JP2020042828A (ja) 2020-03-19
WO2015130642A1 (en) 2015-09-03
US9575639B2 (en) 2017-02-21
JP2021012740A (ja) 2021-02-04
EP3111320B1 (en) 2024-05-15
SG11201606736YA (en) 2016-09-29
CN106062711A (zh) 2016-10-26
JP7178977B2 (ja) 2022-11-28
AU2015223287B2 (en) 2020-04-09
CA2939799A1 (en) 2015-09-03
CN106062711B (zh) 2020-04-17
EP3111320A1 (en) 2017-01-04
CA2939799C (en) 2021-06-22
AU2015223287A1 (en) 2016-09-01

Similar Documents

Publication Publication Date Title
JP7178977B2 (ja) 複合コントロール
JP6449173B2 (ja) プロセスを構成するためのアプリケーションの構築
CN110914818B (zh) 数据流图配置
JP6594950B2 (ja) データ系統の要約
AU2010337218B2 (en) Specifying user interface elements
US9471213B2 (en) Chaining applications
KR102089825B1 (ko) 자동화된 인터페이스 변경(버전) 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181130

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190227

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190528

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190611