JP2008512794A - オブジェクト処理グラフアプリケーション開発システム - Google Patents

オブジェクト処理グラフアプリケーション開発システム Download PDF

Info

Publication number
JP2008512794A
JP2008512794A JP2007531356A JP2007531356A JP2008512794A JP 2008512794 A JP2008512794 A JP 2008512794A JP 2007531356 A JP2007531356 A JP 2007531356A JP 2007531356 A JP2007531356 A JP 2007531356A JP 2008512794 A JP2008512794 A JP 2008512794A
Authority
JP
Japan
Prior art keywords
opg
application
editor
data
window
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.)
Withdrawn
Application number
JP2007531356A
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 JP2008512794A publication Critical patent/JP2008512794A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

オブジェクト処理グラフ(OPG)アプリケーション開発システムである。本システムは、OPGアプリケーションプログラムインターフェース(API)、OPGアプリケーションエディタ、OPGアプリケーションウィンドウエディタ、およびOPGアプリケーション表記を含んでいる。OPG−APIは、OPGシステムの機能へのアクセスを提供する。OPGアプリケーションエディタは、OPG−APIを介してOPGアプリケーションの生成および編集を容易にする。OPGアプリケーションウィンドウエディタは、OPGアプリケーションの実行中に、OPGアプリケーションユーザーインターフェースウィンドウの編集を容易にする。OPGアプリケーション表記は、OPGアプリケーションを記述および定義すべく複数のキーワードおよび付随する定義を含んでいる。

Description

本発明は、ソフトウェアアプリケーションプログラム開発ツールおよび環境に関し、静的または動的なコンピュータアプリケーションの生成および編集を可能にする統合開発環境(IDE)、高速アプリケーション開発(RAD)システム、およびグラフィックユーザーインターフェース(GUI)を含んでいる。特に、本発明はオブジェクト処理グラフの生成および編集に関し、本明細書において後述する。
本出願は、2件の同時係属出願、すなわち2005年5月20日出願の米国特許出願第10/908,654号「オブジェクト処理グラフシステム」、および2005年5月20日出願の米国特許出願第10/908,653号「オブジェクト処理グラフアプリケーションコントローラ−ビューワ」に関係する。両出願共に、その全文を本明細書に引用している。
1950年代のアセンブリ言語の開発以来、コンピュータ産業はソフトウェア開発において逐次発展し続けてきた。これらの発展により、ソフトウェアは、より少ない手作業でより短期間に開発可能になり、より複雑なソフトウェアシステムの開発が可能になって、一般にソフトウェアシステムの信頼性が向上した。これらの発展には、COBOLやFortran等の第3世代プログラミング言語、FOCUS等の第4世代プログラミング言語、Smalltalk、C++およびJava(登録商標)等のオブジェクト指向プログラミング言語、RationalRose等のCASEツール、OracleやDB2等の関係データベースシステム、およびGemStoneやVersant等のオブジェクト指向データベースシステムの開発が含まれる。しかし、開発はこれらの発展にもかかわらず、大規模システムの開発は、依然として高いスキルのプログラマを多数必要とする高価且つ高リスクの冒険であり、完成したシステムの品質および適用性には常にかなりの不確実性が存在する。
LabVIEWやMATLAB−Simulink等の第5世代プログラム言語およびそれらに付随する開発環境は、第4世代言語を用いて実現された開発生産性を次の段階に高めるべく設計されている。これらは、非プログラマが、自身の特定の問題ドメインに極めてよく似せられた計算機能を利用できるようにする。第5世代言語環境の特徴は通常、統合化された永続データ管理システム、クエリー言語、レポートジェネレータおよびユーザーインターフェース定義機能を含んでいて、グラフィックジェネレータ、意思決定支援機能、金融モデリング、スプレッドシート機能、統計分析機能やパラメータ化された業務およびドメインモデルにより補完されることができる。しかし、第5世代言語ツールで最も広範囲にわたる実施形態は、極めて専門的且つ比較的狭いドメイン、例えば計測器データ収集(LabVIEW)、信号処理、プロセス制御、工学モデリング、マイクロ配列データ処理、通信システム設計等を目標としてきた。
本発明は、オブジェクト処理グラフアプリケーション開発システムを定義して実装するものである。
一態様は、オブジェクト処理グラフアプリケーション記述表記と、オブジェクト処理グラフアプリケーションエディタとを含むオブジェクト処理グラフアプリケーション開発システムである。表記は、開発者がデータ構造、データ変換、処理ステップおよび計算を含む、但しこれに限定されない、全てのアプリケーションデータおよび機能を定義できるようにするキーワードの集合およびこれに付随する定義を提供する。アプリケーションエディタは、表記キーワードのアイコン表現を用いるアプリケーションの編集可能なグラフィック表現を提供する。
別の態様は、オブジェクト処理グラフアプリケーション記述表記、オブジェクト処理グラフアプリケーションエディタ、およびオブジェクト処理グラフアプリケーションウィンドウエディタを含むオブジェクト処理グラフアプリケーション開発システムである。表記は、キーワードの意味と、それらのアイコン表現とを定義する。エディタは、アプリケーションデータおよび処理情報の編集可能な表現を提供する。ウィンドウエディタは、アプリケーションの実行中にアプリケーション開発者またはユーザーが当該アプリケーションのユーザーインターフェースを生成および編集できるようにする。
更なる態様は、オブジェクト処理グラフアプリケーション記述表記、オブジェクト処理グラフアプリケーションエディタ、オブジェクト処理グラフアプリケーションウィンドウエディタ、およびオブジェクト処理グラフアプリケーションプログラムインターフェースを含む、オブジェクト処理グラフアプリケーション開発システムである。表記は、アプリケーションコンポーネント定義を提供する。アプリケーションエディタは、オブジェクト処理グラフアプリケーションの編集可能なグラフィカル表現を提供する。ウィンドウエディタは、アプリケーションが動作している間、ユーザーおよび開発者がアプリケーションのユーザーインターフェースを生成および編集するために必要な機能を提供する。オブジェクト処理グラフアプリケーションプログラムインターフェースは、インターフェース機能の定義を提供して、アプリケーションプログラムがオブジェクト処理グラフアプリケーションと直接インターフェースを持てるようにするアクセス方法を実装する。
更なる態様は、コンピュータシステムを開発するための方法およびコンピュータプログラム製品である。本プロセスは、グラフ構造における要素を指定するコマンドを受信して、当該コマンドに応答してリアルタイムでコンピュータプログラムを修正するステップを含んでいる。当該グラフ構造はコンピュータプログラムである。
また更なる態様は、コンピュータシステムを開発する方法およびコンピュータプログラム製品である。本プロセスは、グラフ構造としてのコンピュータプログラムを生成して、ユーザーインターフェース画面上のグラフ構造のグラフィカル表現を表示するステップを含んでいる。当該グラフィック構造の要素を指定するコマンドを受信する。当該コンピュータプログラムは、コマンドに応答してリアルタイムで修正される。また、当該コマンドに応答してグラフ構造が更新される。更新されたグラフ構造のグラフィカル表現は、ユーザーインターフェース画面上に表示される。
本発明の好適な実施形態は、大規模且つ複雑なオブジェクト処理グラフアプリケーションシステムの構築に係るコストおよびリスクを減らすステップを含む、多くの利点をもたらす。アプリケーションユーザーおよびアプリケーションドメインの専門家は、最小限のコンピュータ訓練しか受けていなくても、カスタマイズされた複雑なオブジェクト処理グラフアプリケーションシステムの開発および維持を行なうことができる。ソフトウェアアプリケーションシステムの適用範囲、柔軟性、および有用性を大幅に拡張すべく、実行時に修正可能なアプリケーションを生成することが可能である。また、本発明は、オブジェクト処理グラフアプリケーションと従来のソフトウェアアプリケーションを統合可能にするインターフェースを提供する。
本発明のこれらおよび他の特徴、態様、および利点は、以下の説明、添付の請求項、および添付の図面に関してよく理解されよう。
本発明の好適な実施形態の態様は、オブジェクト処理グラフアプリケーション(OPG)を開発するための完全な環境を含んでいる。図1に示すような好適な実施形態は、4個の主要なコンポーネント(図1)すなわち、オブジェクト処理グラフアプリケーション記述表記(OPGADN)1、オブジェクト処理グラフアプリケーションエディタ(OPGAE)2、オブジェクト処理グラフアプリケーションウィンドウエディタ(OPGAWE)4、およびオブジェクト処理グラフアプリケーションプログラムインターフェース(OPGAPI)3を含んでいる。OPGAE2とOPGAPI3は、本明細書に後述するOPGシステム5と密接に統合されている。
OPGADN1コンポーネントの好適な実施形態は、アプリケーション開発者、ユーザーおよびドメイン専門家がアプリケーションの複雑な処理ステップ、データ動作、変換および定義を完全に定義できるようにするキーワードの集合および付随する定義を含んでいる。キーワードは、アプリケーションを定義するOPG要素を表わすと共にマッピングされる。
OPGAE2コンポーネントの好適な実施形態は、OPGアプリケーションを定義して更新するための、完全に特徴付けられた編集環境である。これらは、スタンドアローンまたはWEBベースのコンピュータソフトウェアシステムとして実装することができる。好適な実施形態はOPGAPI3により定義された関数を用いて、動的グラフインタプリタ(DGI)を介してOPGアプリケーションと直接対話して修正する。これらは、実際のOPGアプリケーション構造と密接に相関関係にあるOPGアプリケーションのグラフィカル表現を開発者に提示する。当該グラフィカル表現は、キーボード、コンピュータマウスその他の入力装置を介して入力された編集コマンドを用いて開発者が動作できるグラフィックシンボルおよび構造を含んでいる。
OPGAWE4コンポーネントの好適な実施形態は、OPGアプリケーションデータが表示されるウィンドウの定義を更新する「見た目通りの出力」(WYSIWYG)方式のエディタ、およびデータ要素の可視性および可変性を定義して修正するための特別なエディタを提供する。プログラムを実行する前、またはDGIによりプログラムが翻訳されている最中に、ウィンドウおよび表示プロパティに対して変更を行なうことができる。OPGAWE4の好適な実施形態はまた、OPGアプリケーションの開始、停止、および監視、並びにアプリケーションデータを評価して変更するためのコマンドも提供する。好適な実施形態は、本明細書において後述するOPGアプリケーションコントローラ−ビューアシステム(OPGACV)のモジュールとして実装されている。
OPGAPI3コンポーネントの好適な実施形態は、非OPGアプリケーション(例:OPGAE2の実施形態)がOPGアプリケーションと対話できるようにする標準OPGおよびDGIコンポーネントを含むOPGトランスレータにより実装された標準機能および付随するパラメータの集合を定義する。OPGAPI3は、OPGアプリケーションを開始、停止、定義、および修正する機能を定義する。これはまた、OPGアプリケーションにデータを入力して、それらの出力を報告する機能を定義する。
オブジェクト処理グラフアプリケーション記述表記(OPGADN)
好適な実施形態において、OPGADN1は、OPGアプリケーションの要素について、キーワードおよび付随する定義の集合を提供する。OPGADN1を用いて、OPGアプリケーションエディタへのインターフェースを記述する。また、ユニバーサルモデリング言語(UML)等の他の表記を用いて、いくつかのUMLシンボルの意味を修正することにより、OPGプログラムを定義することもできる。また、他の表記用のエディタにより、OPGプログラム記述の拡張可能マークアップ言語(XML)に変換可能なOPGプログラム記述を生成することができる。以下は、好適なOPGADN1用語およびその定義のリストである。
OPGアプリケーション:OPGシステム5におけるDGIにより実装(実行)可能なOPGとして定義されたコンピュータソフトウェアシステム。OPGアプリケーションは、データ構造、操作、および関係およびデータ変換を定義するリンクから成る。
操作(Operation):時間依存動作、順序付けられた、または順序付けられていない、
直列化または並列化可能な、一連のプログラム動作またはステップを定義するソフトウェア要素である。1操作は概ね、高水準コンピュータプログラム内の1行のコード、ワークフローシステム内の操作またはステップ、あるいは対話型またはトランザクション的システム内の画面またはウィンドウに対応する。
処理(Process):操作の集合をグループ化して、グループに名称を付与する操作。OPGアプリケーションは1個以上のプロセスを含んでいる。
データ要素:名称および単純または複雑な値を有するデータ項目。
データ構造:原始データ要素、データ構造、データ配列、およびデータ参照をグループ化するデータ要素。グループ化された項目は属性と呼ばれている。プログラムで、データ構造を単一の実体として参照および動作することができる。
原始データ:データ要素の種類を有するが下部構造は有していないデータ要素。原始データ要素はデータ構造の属性である。原始データ要素は、当該種類に固有の表示および処理機能を含んでいる。原始種類の巨大な集合が予め定義されており、ストリング、倍精度、整数、日付、ファイル、画像、マッピング、XMLファイル、計算、計算されたストリング、カスタムクラス、電子メールアドレス、ウェブアドレス、ディレクトリ、スプレッドシートセル、ファイル変換、長精度整数、大十進数、二進数、および関係テーブルを含んでいる。必要に応じて追加的なドメイン固有のデータ型を加えることができる。
データ構造配列:データ構造の均質なn次元配列。データ配列はデータ構造の属性である。
データ参照:データ構造を指示するデータ構造の属性。データ参照は、ヌル(1対0または1対1の関係)であり得る、または決してヌルでない(1対1の関係)ように、定義することができる。
アプリケーション状態:データ要素値およびアプリケーション実行中のある時点におけるアクティブな操作の集合。
リンク:2個のOPGソフトウェア要素間の変換関係(接続)を定義するソフトウェア構造。3種のリンクカテゴリがある。すなわち、2個の操作間の関係を定義する操作対操作、操作とデータ構造の関係を定義する操作対データ、2個のデータ要素間の関係を定義するデータ対データ、である。全てのリンクは、自身の名称、方向等を定義する属性を有している。リンクにより定義される動作は、データインスタンスの比較に依存してよい。各々のリンクカテゴリ内に、以下に定義するリンク種類が存在する。
リンク表示:ある操作から別の操作への制御フローの方向を定義する操作間リンク。アプリケーション状態情報は、受取操作への遷移の一部として表示される。
キューリンク:ある操作から別の操作への制御フローの方向を定義する操作間リンク。アプリケーション状態情報は、イベントを待つ受取操作のキューに置かれる。
バッチリンク:ある操作から別の操作への制御フローの方向を定義する操作間リンク。アプリケーション状態情報は、受取操作により直ちに処理される。処理は、時間スケジューリングすることができる。
コピーリンク:あるデータ要素値の別の要素へのコピーを定義するデータ間リンク。このようなコピーはデータ型を意識している、すなわち、値の変換および複製は暗黙的である。リンクプロパティは、変換その他のコピー基準を定義する。
計算リンク:新規のデータ要素を生成するデータ要素に適用されるデータ変換の集合を定義するデータに対するデータ間リンク。計算リンクは、他のデータ要素を計算すべく任意の数のデータ要素に作用する複雑な数学公式および/または正規表現を提供する。
分割リンク:1個のアプリケーション状態にあるデータ要素の1個以上のアプリケーション状態への分布を定義するデータ間リンク(アプリケーション状態は上で定義済み)。
マージリンク:1個以上のアプリケーション状態にあるデータ要素の1個のアプリケーション状態への収集を定義するデータ間リンク。
結合リンク:異種データ要素の同時検索を定義するデータ間リンク(関係データベース管理システム(RDBMS)の結合と同様)。
生成リンク:新規データ構造の生成を定義する操作対データリンク。
照会リンク:データ要素の照会および当該操作と共にそれらをアプリケーション状態に追加するステップを定義する操作対データリンク。
実行リンク:プログラムコードの実行または当該操作と共にデータ要素内に含まれている制御構造を定義する操作対データリンク。
オブジェクト処理グラフアプリケーションエディタ(OPGAE)
以下に、OPGAE2コンポーネントの好適な実施形態の機能概要を与える。参照する図2〜5は、OPGAE2により提供されたワークスペース2、およびOPGアプリケーションのグラフィカルモデルがどのように表示されるかを示すウィンドウ画像である。好適な実施形態において、OPGAE2はEclipseパースペクティブからワークスペースを表示するEclipseプラットフォームプラグインとして実装されている。
好適な実施形態において、OPGAE2はワークスペースウィンドウ内のOPGアプリケーションをパーソナルコンピュータ(PC)のモニタ上に描出する。OPGAEワークスペースは、グラフィカルユーザーインターフェース(GUI)である。OPGAE2は、PCのマウスまたはキーボードからユーザー入力を受取する。
OPGAEワークスペース
図2に表わすような好適な実施形態において、OPGAE2はPCモニタ上にグラフィックワークスペースを表示すべくEclipseパースペクティブを提供する。ワークスペースにおり、ユーザーはOPGアプリケーションを構成、選択、および更新することができる。アプリケーションは、リポジトリ(データソース)に保存されている。ワークスペースにより、ユーザーはリポジトリを選択し、さらにリポジトリ内のアプリケーションを選択することができる。また、アプリケーションの全てのコンポーネントやリンクおよび当該コンポーネントやリンクにリンク付けられたプロパティへのアクセスを可能にする。ユーザーは、表示されたリストから選択を行ない、PCのマウスやキーボードを用いてワークスペースでコンポーネントをドラッグアンドドロップすることによりアプリケーションの定義または修正を行なう。ワークスペースの表示(例えばEclipseパースペクティブ)は、標準のグラフ編集フレームワーク(GEF)ツールバー12および6種の専用ビュー、すなわちパレットビュー11、コンポーネントビュー9、アプリケーションナビゲータビュー6、リポジトリビュー(図示せず)、コンポーネントアウトラインビュー7、およびコンポーネントプロパティビュー10で構成されている。これらのビューは、ユーザーの好みに合わせてエディタウィンドウ内で再構成することができる。図2に、ディスプレイのデフォルト構成を示す。アプリケーションナビゲータビュー6用のタブは、図2で「グラフ論理」とラベル付けされている。アプリケーションナビゲータビュー6は、新規アプリケーションを生成する、既存のアイコンを開く、アプリケーションの直近にロードされたバージョンへ戻る(あらゆる変更を破棄)、およびビューから選択された項目を削除するためのアイコンを含む小さいツールバー8を有する。図2の構成について以下により詳しく述べる。
好適な実施形態において、アプリケーションコンポーネント、リンクおよび原始データ属性がグラフィックシンボルにより表される。アプリケーションコンポーネントは長方形で表される。コンポーネントの種類を表すシンボルは、長方形の左上隅に表示される。それらが表す好適なシンボルおよびコンポーネントを図2のパレットビュー11に一覧表示している。
OPGアプリケーションのいくつかのサンプルコンポーネントを、図3に示す好適なOPGAEワークスペースに示す。コンポーネント13の名称は、それが組成(composition)キャンバス14に置かれた際に、コンポーネント長方形の最上位に表示される。コンポーネント長方形の残りの部分は、その属性コンポーネントを置くことができる組成キャンバス14である。コンポーネント長方形は、これを囲むコンポーネントの組成キャンバス内で子コンポーネント15としてサイズ変更および位置変更を行なうことができる。コンポーネント長方形は、リンク用に4個の接続ポイント16を片方に1個ずつ有する。コンポーネント長方形が選択された場合、これらは強調表示される。アプリケーションリンクは、リンク線17で表される。リンク線17は、コンポーネント長方形上の接続ポイント16から、別のまたは同じコンポーネント長方形上の接続ポイント16に接続されている。リンク線17はその一端に、下位コンポーネントを指す矢印を有している。データ属性は、左側にグラフィックシンボル、続いて属性の名称を含む小さい長方形により表される。データ属性シンボルは、子を有することができないため、組成キャンバスを有していない。選択可能なコンポーネントの上にPCのマウスカーソルを置いて、マウスの左ボタンをクリックすることにより、ワークスペースの選択を行なうことができる。
パレットビュー11は、アプリケーションの一部にできるOPGコンポーネントを示す。コンポーネントが選択された場合、カーソルは当該コンポーネントで「装備」され、選択された構成を置くことができるコンポーネントビュー9の領域上をカーソルが移動するのに伴いokシンボルを表示するか、またはコンポーネントを置くことができない領域に禁止シンボルを表示する。カーソルをアクティブなコンポーネントビュー9の所望の位置に置くことにより当該コンポーネントの位置が選択されてマウスの左ボタンをクリックするまで、カーソルは装備されたままである。カーソルは、パレット上の「選択する」旨の選択肢をクリックすることにより随時「装備解除」することができる。また、カーソルは、パレットビュー11上のコンポーネント選択肢クリックすることにより、異なるコンポーネントで装備することができる。
パレットビュー11は、以下のコンポーネントの選択肢を提供する。すなわち、操作、構造化データ、構造化データ配列、およびデータである。パレットビュー11は、あるコンポーネントを別のものに関連付けるリンク選択、およびコンポーネントの組成キャンバス14上で複数のコンポーネントを選択可能にするマーキー選択を提供する。好適な実施形態において、パレットビュー11のデフォルト場所は、ワークスペースの右側にある。
図4の好適なOPGAEワークスペースに示される好適なコンポーネントビュー9等のコンポーネントビュー9は、コンポーネントのコンポーネントグラフおよび/または属性を組成キャンバス14上に表示する。複数のコンポーネントビュー9を同時に開くことができる。これらは、スタックの最上位にある直近に開かれたコンポーネントビュー9と共に開かれた際に自動的にスタックされる。スタックの最上位のコンポーネントビュー9は「アクティブ」なビューである。各々のコンポーネントビュー9は、自身のコンポーネントの名称が付けられたタブを有する。タブをクリックすると、自身のビューがビューのスタックの最上部に置かれることにより、可視化されてアクティブ(順序付けコンポーネントは図4で選択される)になる。好適な実施形態において、コンポーネントビュー9は、コンポーネントおよび接続を配置することが可能なキャンバスである。コンポーネントビュー9は、当該ビューのタブ上の「X」上のマウスの左ボタンをクリックすることにより閉じられる。
アクティブなコンポーネントビュー9に示すコンポーネントまたはリンクは、コンポーネントまたはリンクグラフィカル上の左ボタンをクリックすることにより選択される。選択されたコンポーネントは、各々の側に接続ポイントを示す小さい正方形を有する強調表示された境界を有する。選択されたコンポーネントは、必要に応じて大きさを変更したり、または組成キャンバス14上を移動させてもよい。コンポーネントビュー9は最も大きなビューである。好適な実施形態において、コンポーネントビュー9は、デフォルト構成におけるOPGAEワークスペースウィンドウの中央に位置しており、その右側にはパレットビュー11、左側にはアプリケーションナビゲータツールバー8、コンポーネントアウトラインビュー7、およびコンポーネントプロパティビュー10を有する。
アプリケーションナビゲータビュー6は、アプリケーション全体のツリービューを表示して、アプリケーションの任意のコンポーネントを選択可能にする。マウスの左ボタンをダブルクリックすることにより、アプリケーションツリーのコンポーネントを選択されたコンポーネントに関するアクティブなコンポーネントビュー9が開く。アプリケーションナビゲータツールバー8上の選択タブには「グラフ論理アプリケーションナビゲータ」の表題が付けられている。
図5の好適なOPGAEワークスペースに示すようなリポジトリビュー18は、OPGアプリケーションが保持されているOPGリポジトリのリストを表示する。リポジトリビュー18は、OPGAE2パースペクティブのこの構成のアプリケーションナビゲータツールバー8の代替手段である。いずれも、各々のタブをクリックすることにより選択することができる。
コンポーネントアウトラインビュー7の好適な実施形態は、コンポーネントのツリービューをアクティブなコンポーネントビュー9内に示す。コンポーネントアウトラインビュー7内のコンポーネントをクリックすることにより、可視化されたコンポーネントビュー9内のコンポーネントが選択(ハイライト)される。コンポーネントアウトラインビュー7は、コンポーネントプロパティビュー10と同一領域内のワークスペースの左下側に置かれている。コンポーネントビュー9は、自身のタブをクリックすることにより選択することができる。
図4に示すようなアクティブなコンポーネントビュー9内でコンポーネントまたはリンクグラフィカルシンボルが選択された場合、そのプロパティがコンポーネントプロパティビュー10に表示される。プロパティは、左カラムのプロパティの名称、右カラムに現在値を有する表形式のリストに表示される。図4において、コンポーネントプロパティビュー10をプロパティのリストにより示す。プロパティの異なる集合には、各々の種類のコンポーネントまたはリンクが関連付けられていてよい。好適な実施形態において、コンポーネントプロパティビュー10は、プロパティ選択を簡素化すべく、関係するプロパティ群のカテゴリタブを有している。
リスト内の各プロパティの値は編集可能である。多くの場合、これらは有効な選択肢が示された簡単なドロップダウンリストである。
コンポーネントプロパティビュー10は、コンポーネントアウトラインビュー7と同一領域内のワークスペースの左下側に置かれている。コンポーネントプロパティビュー10は、そのタブをクリックすることにより選択することができる。
OPGAE編集機能
以下は、本発明のOPGAE2コンポーネントの好適な実施形態が提供する編集機能のリストである。
アプリケーションの定義:新規アプリケーションを定義するプロセスは、アプリケーション定義ウィザードにより制御される。アプリケーション定義ウィザードは、OPGAEツールバー上の新規アプリケーションアイコンをクリックしたならば開始される。アプリケーション定義ウィザードは最初に、図6に示すようなリポジトリ選択ウィンドウを表示する。新規アプリケーションを格納するリポジトリが選択された後で、アプリケーション定義ウィザードは、図7に示すようなアプリケーション名入力ウィンドウを表示する。アプリケーション名が入力された後で、アプリケーション定義ウィザードはアプリケーション定義ウィンドウを表示して、ユーザーがアプリケーション記述情報を提供できるようにする。例えば、ユーザー名、および編集機能へのアクセスを制御するパスワードである。最後に、アプリケーション定義ウィザードは、アプリケーションを定義するためのキャンバスを提供すべく、OPGAE2に図4に示すようなコンポーネントビュー9のOPGコンポーネントとして新規なアプリケーションを表示させる。アプリケーションナビゲータビュー6は、自身のアプリケーションツリー(例:図4の「デモプログラム」)における最上位エントリとして当該アプリケーションを示す。
アプリケーションを開く:既存のアプリケーションを開くプロセスはアプリケーション定義ウィザードにより制御される。アプリケーション定義ウィザードは、OPGAEツールバー上の「アプリケーションを開く」アイコンがクリックされたならば開始される。アプリケーション定義ウィザードは、図6に示すようなリポジトリ選択ウィンドウを表示し、次のボタンがクリックされたならば、選択対象アプリケーションのリストを表示する。
プロセスコンポーネントの定義およびアプリケーションコンポーネントへの追加:アプリケーションがアクティブなコンポーネントビュー9として表示された状態で、パレットビュー11で操作選択が行なわれ、当該アプリケーションの組成キャンバス14に操作が置かれる。置かれたプロセスはアプリケーションの子になる。全てのアプリケーションは子プロセスの集合を有する。追加的なプロセスを、同一手順でアプリケーションに追加することができる。プロセスの名称は、その名称をクリックして、プロセスコンポーネントに新規名称を直接入力することにより変更することができる。
操作コンポーネントの定義およびプロセスコンポーネントへの追加:パレットビュー11上で操作選択を行なった後で、アクティブなコンポーネントビュー9に表示された任意のプロセスの組成キャンバス14に操作を置くことができる。置かれた操作は、それが置かれたプロセスの子になる。全てのプロセスは子操作の集合を有する。
データ構造コンポーネントの定義および操作コンポーネントへの追加:パレットビュー11でデータ構造の選択を行なった後で、アクティブなコンポーネントビュー9に表示された任意の操作の組成キャンバス14にデータ構造を置くことができる。
データ構造コンポーネントの定義およびデータ構造コンポーネントへの追加:パレットビュー11でデータ構造の選択を行なった後で、データ構造配列をアクティブなコンポーネントビュー9に表示された任意のデータ構造の組成キャンバス14に置くことができる。データ構造配列がデータ構造の組成キャンバス14に置かれた場合、それが置かれたデータ構造の属性になる。
データ構造配列コンポーネントの定義およびデータ構造コンポーネントへの追加:パレットビュー11でデータ構造配列の選択を行なった後で、原始データをアクティブなコンポーネントビュー9に表示された任意のデータ構造の組成キャンバス14に置くことができる。データ構造配列がデータ構造の組成キャンバス14に置かれた場合、それが置かれたデータ構造の属性になる。
原始データ要素の定義およびデータ構造コンポーネントまたはデータ構造配列コンポーネントへの追加:パレットビュー11で原始データの選択を行なった後で、原始データをアクティブなコンポーネントビュー9に表示された任意のデータ構造またはデータ構造配列の組成キャンバス14に置くことができる。原始データがデータ構造の組成キャンバス14に置かれた場合、それが置かれたデータ構造の属性になる。
OPGアプリケーションからのコンポーネントの削除:削除するコンポーネントを選択した後で、キーボードの削除キーを押下するか、またはコンテキストメニューの「削除」を選択する。
2個のコンポーネント間のリンクの定義および追加:パレットビュー11でリンクの選択を行なった後で、アクティブなコンポーネントビュー9の「始点」コンポーネントをクリックし、次いで「終点」コンポーネントをクリックする。OPGAE2は、2個のコンポーネントを、「始点」コンポーネントの接続点16から、「終点」コンポーネントの接続点まで接続する線を引く。必要に応じてリンクの両端を異なる接続ポイント16へ移動させることができる。OPGAE2により配置されたリンクは、「始点」および「終点」コンポーネントに対する適当なカテゴリ、すなわちプロセス間、プロセス対データ、またはデータ間リンクになる。接続の種類は、リンクをクリックして選択し、次いでコンポーネントプロパティビュー7の種類プロパティを変更することにより変更可能である。
OPGAE設計の記述
好適な実施形態において、OPGAE2は図8に示すようにEclipseプラットフォームプラグインとして実装され、モデルビューコントローラ(MVC)フレームワークに基づいている。OPGAPIグラフトランスレータ(GT)23は、OPGアプリケーションをOPGシステム5から表記エディタグラフ(NEG)24に変換する(この変換について本明細書に含まれるOPGAPI3記述の一部として後述する)。OPGAEコントローラ21は、NEG24をOPGAEグラフィカルモデル22に変換することにより、OPGAEビュー20とOPGAEコントローラ21コンポーネントとが相互作用してOPGアプリケーションおよび/またはOPGアプリケーションの一部を表示媒体に描出する。好適な実施形態において、OPGAEビュー20およびOPGAEコントローラ21は、EclipseGEFに基づいている。OPGAEグラフィカルモデル22はまた、OPGAEコントローラ21がユーザー入力を確認して、ユーザーが利用できるオプションを動的に決定できるようにする。
OPGAEビュー20コンポーネントは、OPGアプリケーションのグラフィカルモデルをグラフィカル(例:グラフィックシンボルおよびコントロールの配列)として表示媒体上に描出する。OPGAEビュー20は、完全なOPGアプリケーションを、自身の構成部品に再帰的に分解可能な関係付けられた上位レベル要素の集合として示すことができる。OPGAEコントローラ21は、ユーザーがグラフィックコントロールの一つを介してアプリケーションコンポーネントをより詳細に調べることを選択した旨を通知された場合、当該モデルの選択された部分を描出するようOPGAEビュー20に要求する。このようにして、ユーザーは表示されたOPGアプリケーションまたはアプリケーションの一部を任意の所望のレベルで詳細にナビゲートすることができる。
OPGAEビュー20コンポーネントに、OPGアプリケーションの全てまたは一部を表示媒体上に描出してNEGをグラフィカルモデルに変換させることに加え、OPGAEコントローラ21コンポーネントはユーザーの入力および選択を処理する役割を担う。好適な実施形態において、ユーザーの要求には、操作やデータ配列等のアプリケーション要素の生成や削除、あるいはアプリケーショ要素間の関係の変更を含んでいる。ユーザーはまた、複合データノードの属性を追加または除去して、任意のアプリケーションエンティティのプロパティを更新することができる。OPGAEコントローラは、OPGAEモデルが提示するグラフィカルモデルの機能を介してOPGアプリケーションと対話する。
オブジェクト処理グラフアプリケーションプログラムウィンドウエディタ(OPGAWE)
機能概要
本節は、OPGAWE4の機能概要を示す。参照図面9〜14は、OPGアプリケーションのデータ表示ウィンドウおよび表示プロパティを、アプリケーション定義の一環として、またはプログラムが実際に動作している間に編集する様子を示すウィンドウ画像である。
OPGAWE4は、WYSIWYG方式のエディタを提供する。図9に示すような好適な実施形態において、エディタはOPGシステム5の「ビルダー」ウィンドウから起動される。追加的にまたは代替的に、図10に示すように、エディタは実行中のOPGアプリケーションウィンドウから起動される。エディタがOPGシステム5のビルダーウィンドウから起動された場合、アプリケーション操作が選択される。図9に示すような「ウィンドウエディタ」メニュー項目を用いてOPGAWE4を選択する。OPGAWE4がこのように起動された場合にウィンドウおよびデータ表示プロパティになされた変更は、関連付けられたアプリケーション操作により引き続き処理される全てのトランザクションのデータに適用される。
実行中のアプリケーションからエディタが起動された場合、OPGシステムのアプリケーション表示ウィンドウ上のアプリケーション操作におけるトランザクションが最初に選択される(例えば図10のトランザクション識別子リンク参照)。これにより、OPGシステム5に、現行操作におけるトランザクションデータと共にアプリケーションウィンドウを表示させる。例えば、図11を参照するに、ウィンドウに表示されたデータが、現行ウィンドウフォーマット化プロパティに従いフォーマット化されている。現行ウィンドウフォーマット化プロパティは潜在的には3種の異なるソースがある。ウィンドウフォーマット化プロパティの第一のソースは、アクティブな操作におけるトランザクションの一部であるデータのアプリケーションまたはデフォルトデータ表示プロパティである。これは、プロパティの優先順位最低のソースである。ウィンドウフォーマット化プロパティの第二のソースは、選択された操作におけるトランザクションデータだけに適用される操作固有の表示プロパティである。これはプロパティの優先順位が次に高いソースであって、アプリケーションプロパティに優先する。ウィンドウフォーマット化プロパティの第三のソースは、アクティブな操作における選択済みトランザクションのデータだけに適用されるトランザクション固有の表示プロパティである。OPGAWE4は、これらの集合のプロパティのいずれのウィンドウおよびデータ表示フォーマット化プロパティの編集に利用することができる。
好適な実施形態において、OPGAWE4は、アプリケーションデータ表示ウィンドウのコントロールであるウィンドウエディタのドロップダウンリスト上のプロパティソースの1個を選択することにより、アプリケーションデータ表示ウィンドウから起動される。操作データ表示ウィンドウからウィンドウエディタを起動するためのユーザーインターフェースの好適な実施形態に関して、図12を参照されたい。
図13に示すような好適な実施形態において、OPGAWE4は、ウィンドウの組成キャンバス14の上方に編集機能ツールバーを表示する。組成キャンバス14内のウィンドウは、当該ウィンドウおよびデータ表示プロパティの選択されたソースを用いてウィンドウを表示する。ツールバーは、通常は従来方式のウィンドウエディタにより提供される多くの機能を提供し、これらは同様に機能する。編集セッションの間、データ表示エンティティが選択され、ツールバーアイコンをクリックすることにより1個以上のツールバー機能をこれらに適用することができる。例えば、より大きなフォントを選択することにより、フィールドに表示されたテキストをより大きくしたり、またはイタリック体にすることができる。必要に応じて、データ表示エンティティをウィンドウ内で移動させたり、および/またはビューから隠すこともできる。
OPGAWEツールバーの好適な実施形態はまた、ウィンドウに配置して、必要に応じて大きさを変更することができる簡単なグラフィック要素、例えば線、ボックス、円、およびラベルを提供する。必要に応じてラベル内にテキストをタイプ入力することができる。
ツールバーの右端のデータ要素アイコンをクリックすることにより、その他の永続なデータ項目および関連付けられた表示フィールドをウィンドウおよびアプリケーションに追加することができる。データ項目として、簡単なデータ入力フィールド、スプレッドシートやワードプロセッサ文書等のファイルへの画像またはリンクであってよい。このようにウィンドウに追加されたデータ項目またはリンクは、アプリケーションの永続な部分になる。
ツールバー右端のアプリケーションフレームアイコンをクリックして、ファイル種類プロパティを選択することによっても、アプリケーションフレームをウィンドウに追加することができる。アプリケーションフレームは、OPGアプリケーションのコンテキスト内でアプリケーションと協働する方法を提供する。例えば、図14に示すように、スプレッドシートをOPGシステム5にロードして、アプリケーションウィンドウ上のフレーム内に表示することができる。ユーザーは次いで、スプレッドシート内のデータに変更を加えて、それらをOPGデータベースに保存することができる。ユーザーは、更新されたスプレッドシートをホストシステムのファイルシステム内の元の場所に保存する旨を選択することができる。アプリケーションフレームがウィンドウに追加されたならば、当該アプリケーションはワークステーションで利用可能な筈である。ワークステーションは、アプリケーションを開始するためにブラウザを必要とする。
ウィンドウおよびデータ表示プロパティ編集が終了したならば、ツールバーの左端にあるフロッピー(登録商標)ディスクアイコンをクリックすることにより変更内容が保存される。
OPGAWE記述
図15に示すような本発明の好適な実施形態は、動的モデルビューコントローラ(DMVC)26のコンポーネントとして機能する。DMVC26は、OPGアプリケーションコントローラ(OPGAC)28およびオブジェクト処理グラフアプリケーションビューワ(OPGAV)29を、OPGシステム(オブジェクト処理グラフ(OPG)および動的グラフインタプリタ(DGL))26と統合することにより形成されるアプリケーション構造である。この動的アプリケーション構造は、OPGアプリケーションの実行インスタンスを明確にする。動的グラフインタプリタ(DGI)について引き続き記述する。OPGAC28は、ユーザーその他のシステムからの入力データ、指示/選択の処理、OPGAV29を介した情報の表示または出力の起動、DGI27に対するアプリケーション状態遷移の起動指示、およびOPGアプリケーション記述のインポートとエクスポートの制御により、アプリケーションの実行を制御する。OPGAC28は、DMVC26のコントローラコンポーネントである。
OPGAV29は、DMVC26のビューコンポーネントである。これはOPGAC28からの表示/出力コマンドを受信して、アプリケーションOPGを表示媒体および/または出力装置上に描出する。描出されたOPGは、選択および入力コントローラを介してアプリケーションと対話する手段を提供する。これらはまた、アプリケーション状態オブジェクトを適当なコンテキストで表示して、それらのコンテンツを閲覧して更新する方法を提供する。
DMVC26の他のコンポーネントであるOPGシステム27は、モデルコンポーネントとして機能する。これは、OPGAC28およびOPGAV29と統合されている。OPGは、アプリケーションの複雑な処理ステップおよびデータを定義して、アプリケーションの永続および過渡的なデータの格納場所に提供する。DGIは、OPGで定義されたアプリケーションを実行すべく、OPGAC28およびOPGAV29により呼び出される機能を提供する。
本発明の一つの好適な実施形態(図1)は、OPGAC28およびOPGAV29をOPGシステム27と統合して、ジャカルタストラッツ(Jakarta Struts)WEBアプリケーションフレームワークに基づく動的モデルビューコントローラ(DMVC)5アプリケーション構造を形成する。DMVC26は、パーソナルコンピュータ(PC)等のコンピュータ装置上で表示を行なうことができる。この好適な実施形態に組み込まれた他の技術として、カスケーディングスタイルシート(CSS)、動的HTML(DHTM)、Java(登録商標)文書モデル(JDOM)、Java(登録商標)サーバページ(JSP)、ストラッツタイル等が含まれる。無論、各種の他のアプリケーションフレームワークおよび技術を用いて他の実施形態を実装してもよい。
本好適な実施形態において、OPGAC28制御機能は、ストラッツに基づくアクションおよびフォームクラスを用いて行なう。アクションクラスは、ユーザー選択、指示および入力データを解釈し、DGI27と対話し、これにコマンドを発行して、アプリケーション状態オブジェクトを更新し、状態の確認を実行する。また、アプリケーション内のOPGアプリケーション状態オブジェクトおよびのプロセス制御オブジェクトに基づいて、OPGAC28はDGIにアプリケーション状態を次のアクティブな操作に関連付ける。これらの機能の実行は、従来のソフトウェアアプリケーションを実行させることと類似している。Formクラスは、OPGデータオブジェクトへの標準Java(登録商標)Beanインターフェースアクセスを実装して、OPGAC2により評価すべくユーザー入力データへのアクセスを提供する。
OPGAWE4は、DMVC26のアプリケーションセッショントランザクション制御フローを特化させて、OPGアプリケーションウィンドウのデータ表示プロパティをユーザーが修正して、変更を固定できるようにする。DMVC26のモデルコンポーネントとして機能するOPGシステム5の観点から、表示プロパティを保存することは、他の任意のデータプロパティの保存と同様である。この好適な実施形態に組み込まれた技術には、ジャカルタストラッツWEBアプリケーションフレームワーク、カスケーディングスタイルシート(CSS)、動的ハイパーテキストマークアップ言語(DHTML)、Java(登録商標)文書モデル(JDOM)、Java(登録商標)サーバページ(JSPs)、およびストラッツタイルが含まれる。
OPGAWE4は、DMVC26のコントローラコンポーネントOPGAC28およびビューコンポーネントOPGAV29の両方を拡張する。OPGAC28は、二通りの仕方で拡張される。第一のものは、ビルダーウィンドウまたは実行中アプリケーションのウィンドウのいずれかから、上述のように、OPGAWE4を起動させる要求に応じるべくOPGAC28に機能が追加された。OPGAC28がOPGAWE4に対する要求受信したならば、OPGAV29に指示して、動的リアルタイムOPGAWE4を生成させ、それをユーザーのインターネットブラウザへ送信させる。好適な実施形態において、OPGAWE4は、Java(登録商標)Scriptで書かれたユーザーイベントプロセッサ31、アプリケーションウィンドウデータ要素、またはCSSとして符号化されたデータ要素スタイルプロパティ32およびOPGAWE4ツールバーコントロール33を組み合わせたJSPである。JSPは、DHTMLページ内に編集されて、インターネットアプリケーションサーバによりユーザーのブラウザへ送られる。OPGAC28に対するもう一方の拡張は、OPGAWE4のユーザーイベントプロセッサ31コンポーネントである。ユーザーイベントプロセッサ31は、それがOPGAC28の直接的なコンポーネントでなく、ユーザーのPCその他のエンドユーザーコンピュータで実行される点で、OPGAC28に対する論理的拡張である。ユーザーイベントプロセッサ31は、マウスクリックおよびマウス移動等のユーザーイベントに応答する機能の集合体であり、ユーザーのインターネットブラウザにより検出され、データ要素スタイルプロパティ32における定義に変更を加える。
OPGAV29はまた、二通りの方法で拡張される。第一に、特別なOPGAWE4JSPをOPGAV29に含める。第二に、CSSとして符号化されたデータ要素スタイルプロパティ32、およびOPGAWE4のコンポーネントであるエディタツールバーコントロール33は、ビュー機能を実行してユーザーのPC上で稼動するため、OPGAV29の論理的拡張である。
図16に、OPGアプリケーションウィンドウに表示される全てのデータ要素(複合または基本)に対して定義できる好適なアプリケーションデータ表示プロパティを示す。各データ要素は、2個のコンポーネントすなわち名称34および値35(図17に示す好適な実施形態はまた、OPGAWEウィンドウ上のデータ要素のコンポーネントを識別する)を有し、各コンポーネントはCSSストリングとして符号化された表示プロパティの集合を有している。表示プロパティ36の例として、高さ、長さ、位置、色、およびフォントが含まれる。
表示プロパティ36は、アプリケーションのOPG37における永続なデータ定義の一部である。好適な実施形態において、これらのプロパティには3個の集合、すなわちアプリケーション、操作、およびトランザクションがあり、これらはOPGAV29で用いるべくDGIにより1個の集合に合成される。DGI6は、全てに原始データ要素についてOPGアプリケーション状態データインスタンス37に保存された表示プロパティ38およびセキュリティ制約39を提供する。原始データ表示プロパティは、要素が描出されるディスプレイ上の位置、要素の長さと高さ等を含んでいる。セキュリティ制約は、要素を表示すべきか否か、あるいは編集可能であるか否か、等を含んでいる。
表示およびセキュリティプロパティは、この好適な実施形態におけるアプリケーション、操作、およびアプリケーションインスタンスの3段階で定義することができる。アプリケーションインスタンスプロパティの優先順位が最も高い。これが存在する場合、アプリケーションおよび操作プロパティに優先される。操作プロパティが次に高い優先順位を有する。これが存在する場合、アプリケーションプロパティに優先される。アプリケーションインスタンスプロパティは、アプリケーションを実行する単一のインスタンス用のアプリケーションデータに適用される。操作プロパティは、アプリケーションを実行する全てのインスタンス、但し特定操作のコンテキスト内にあるものだけに適用される。アプリケーションプロパティ43は、アプリケーションのコンテキスト内、すなわちアプリケーションの全てのインスタンスに適用される。表示およびセキュリティプロパティ合成機能は、アプリケーションインスタンスの現在状態(コンテキスト)に基づいて、使用するプロパティを決定する。
ユーザーは、OPGアプリケーションにオプションのデータ要素、または線やボックス等のグラフィカル要素を追加することができる。OPGシステム5は、そのような要素を永続化することが可能な各々のウィンドウに対してオプションのデータ構造を提供する。これらオプションの要素は、所定のOPGアプリケーションウィンドウ要素を編集するのと同様に編集可能である。
ユーザーが図16に示すようなOPGアプリケーションウィンドウを編集したならば、変更が処理されてリアルタイムで直ちに表示される。マウスのクリック、左ボタンを押した状態でのマウスの移動、あるいはカラープルダウン等のエディタツールバーコントロール33の制御要素のクリック等のユーザー操作は、ユーザーのインターネットブラウザによりユーザーイベントとして受け取られる。ブラウザは次いで、当該イベントを処理すべくユーザーイベントプロセッサ31の適当な機能(群)を呼び出す。ユーザーイベントプロセッサ31は、ユーザーセッションのコンテキスト、すなわちユーザーが何を既に行なったか、に応じてイベントを解釈する。例えば、ユーザーがデータ要素名または値コンポーネントをクリックした場合、ユーザーイベントプロセッサ31は当該イベントをコンポーネントの選択と解釈する。選択に応答して、ユーザーイベントプロセッサ31は、選択されたコンポーネントのCSS内の値を、選択の境界が消去されるように変更し、新たに選択された要素のCSS内の値を、その選択境界が表示されるように変更して、選択され要素へのポインタを保存する。図17に示す好適な実施形態は、選択されたデータ値要素を示す。要素が選択されたならば、ツールバー上の編集機能またはサイズ変更や移動操作を当該特定要素に適用することができる。編集機能の処理は、共通のパターンに従う。各々の場合において、ユーザーイベントプロセッサ31は、ユーザーイベントを編集要求機能に変換して、データ要素スタイルプロパティ32を修正することにより、直ちに変更を表示させる。
ユーザーがOPGアプリケーションウィンドウの内容を編集する過程で、変更内容は、それらがOPGアプリケーションで永続化されるまで、ユーザーのローカルPCに残されている。ユーザーは随時、直近に永続化されたウィンドウ状態に戻すことができ、これは基本的にアンドゥ機能である。
データの可視性および編集プロパティエディタ機能
データ可視性および編集プロパティエディタは、図11に示すようなアプリケーション表示ウィンドウから、あるいは図13に示すようなOPGAWEウィンドウから、左端のアイコン(図13に示す)を介して)を介してアクセス可能である。図18に示すような、データ可視性および編集エディタの好適な実施形態は、データ構造のツリー形式表示およびアクティブな操作のトランザクションのデータの一部である要素を提供する。各々の構造は、自身の名称の右側に2組の選択コントロールを有する。第一の組は、「d」、「e」および「c」とラベル付けされた3個のチェックボックスを有する。「d」ボックスは、当該項目がアプリケーションデータ表示ウィンドウおよびOPGAWEウィンドウに表示されるか否かを制御する。「e」ボックスは、当該項目がアプリケーションデータ表示ウィンドウ内で編集可能であるか否かを制御する。「c」は、当該項目の子属性を表示するか否かを制御する。これは、データ構造だけに適用される。第二の組は、「o」および「t」とラベル付けされた2個の選択アイコンを有する。選択アイコンは、クリックされた際に「+」から「X」へ切り替わる。「+」アイコンは、当該項目が適用されないこと、「X」は適用されることを示す。「o」を選択した場合、第一のコントロールの組におけるデータ可視性および編集の選択が、選択された動作内だけで適用されることを示し、「t」を選択した場合、トランザクションだけに適用されることを示す。いずれもチェックされなかった場合、可視性および編集の選択がアプリケーション全体を通じて特定のデータ項目に適用されることを意味する。
データ可視性編集プロパティエディタ記述
好適な実施形態にはDMVC26のインスタンスが含まれる。エディタは、実行中のOPGアプリケーションウィンドウ、またはOPGAWEウィンドウから選択することができる。図19にて図示するように、エディタは、データ可視性および編集プロパティエディタビュー38コンポーネントを含んでおり、OPGAV29を特化させる。可視性および編集プロパティは、OPGアプリケーションにおいて自身に関連付けられたデータ要素のブールプロパティである。エディタを用いて、プロパティを変更してOPGアプリケーション内で永続化させることができる。
OPGAWE4、並びにデータ可視性および編集プロパティエディタビュー38により、アプリケーションの開発者、ユーザー、および設計専門家がアプリケーションのデータ表示ウィンドウの視覚的態様を改造することができる。エディタにより、変化する要件に対応すべく、開発のあらゆるフェーズを通じてアプリケーションのユーザーインターフェースを短期間に開発および更新することが可能になる。アプリケーションが実際に使用中である場合、ユーザーおよびドメイン専門家は、固有のニーズに対応すべく、ウィンドウの視覚的態様を変更したり、および/または、当該アプリケーションにより表示されるデータを追加することができる。また、アプリケーションの永続なデータにデータ要素を追加することもできる。変更は、以後のアプリケーションの全ての実行に、または当該アプリケーションの1個のコンポーネントを実行するただ一つのインスタンスに適用するように行なうことができる。これらの実行時編集機能は、OPGシステム5の適用性を、研究所情報の管理等、データ要件に対する随時の変更が日常的であるドメインへ拡張する。全てのドメインにおいて、ユーザーは、より高度な実用性を実現すべく使用する情報システムと対話することが可能である。
オブジェクト処理グラフアプリケーションプログラムインターフェース(OPGAPI)
好適な実施形態において、OPGAPI3は、表記エディタグラフ(NEG)41およびグラフトランスレータ(GT)43を含んでいる。これらのコンポーネントは、図20に、完全な編集システムのコンテキストで表示される。当該コンポーネントは、上述のOPGAE2が必要とする支持機能を提供すべく特に設計されている。ユニバーサルモデリング言語(UML)等、他の表記に基づく代替的なエディタ用の他のOPGAPIは、本実施形態について記述しているものと同一の実装フレームワークを用いて可能である。
GT43およびNEG41は、上述のOPGAE2の編集機能をサポートする。表記エディタグラフィカルモデル39は、OPGAE2により生成される。好適な実施形態において、これはOPGアプリケーションのグラフィカル表現をユーザーのモニタ上に描出するために必要なグラフィカルソフトウェア要素を含んでいる。
OPGAE編集セッションは、ユーザーが編集したいアプリケーションを選択した場合に開始される。選択したことにより、OPGAE2はGT43に対しアプリケーションのOPG42をNEG41に変換するよう指示する。初期変換は、OPGアプリケーション用のNEG41の部分的に実装された基本インスタンスを生成する。続いて、ユーザーがOPGアプリケーションのグラフィカル表現を操作して変更するに従い、OPGAE2はアプリケーションに対するユーザーのビューと整合性を保ちながら、NEG41と相互作用してノードやエッジの追加・削除を含む動作を行なう。ユーザーがOPGAE2に対し、変更を保存するよう指示した場合、OPGAE2はGT43に対し、NEG41になされたあらゆる変更を、永続なOPGアプリケーションの最新版に変換するよう指示する。OPGAE2はまた、GT43に対し、NEG41を永続化された最新版に変換するよう指示することもできる。
OPG42およびNEG41は共に、有向グラフの集合とツリーの集合とを含む有向グラフで構成された複合層をなすグラフである。グラフ内の各ノードは、有向グラフおよびツリーに属する。各ノードが属する有向グラフは、当該グラフ内の他のノードとの関係を定義する。当該ノードが属するツリーは、それが属する複合(composition)階層を定義する。1個のノードが複数の複合階層だけでなく複数の有向グラフに属していてもよい。OPGとは異なり、NEG41は永続でない。すなわちOPG42からNEG41を生成するためにGT43が必要とする特別なNEG要素はOPG42において永続である。NEG41の基本的な目的は、特定の編集セッションの状態を維持することであり、関連付けられたセッションが有効な期間だけ存在する。編集が進行するに従い、OPG42のノードおよびエッジコンポーネントに対応するNEGコンポーネントはインスタンス化されるか、または削除される。NEGコンポーネント機能は、エディタ指向機能用に最適化されている。一方、OPGコンポーネントは、(実行中の)アプリケーションを解釈すべく最適化されており、いくつかのケースでは、特にデータ変換および複雑なデータ構造へのアクセスに関して、NEG41がOPG42内のサブグラフの簡素化された、またはより概念的な、ビューをサポートしている。
OPGデータノードは、データ構造の参照等、実行したいデータアクセスの詳細な定義を含んでいる。図21にそのような参照の例を示す。この場合、OPG42は、DGIにより無視されるが、GT43によりNEG41内のデータノードXからデータノードYへの概念的参照(すなわち表記エディタ参照エッジ45)を構築すべく用いられる表記エディタ参照エッジ44を含んでいる。OPGAE2は、正しい種類のデータ構造間のリンクをユーザー46に識別させる色で描出する表記エディタグラフィカルモデル39をNEG41から生成する。表記エディタ参照エッジ44はOPG42内で永続である。特別な表記エディタ概念を表わす他のグラフィカル要素がOPG42により提供される。
OPG42はまた、OPGAE表記エディタグラフィカルモデル39内の要素の表示プロパティを、OPGアプリケーション内の特別な構造として保存する機能を提供する。GT43は、変換の最中に必要に応じてグラフ間で表示プロパティを移動させる。これにより、OPGAE2が、編集セッションの間でOGPアプリケーションのグラフィカル表現の要素配置を維持することが可能になる。表示プロパティは、グラフィカル要素のサイズと形状および組成キャンバス上での位置を含んでいる。
GT43は、グラフィカルモデルになされた変更をユーザーが保存する都度、OPG42とNEG41が整合していることを保証する。GT43は、2個のグラフ構造の相違に基づいてDGIに対する追加、削除、および更新コマンドを生成する。
GT43は、OPG42とNEG41の詳細設計を相互に隔離(insulates)する。従って、どちらかの構造になされた変更の影響は通常、GT43に限定される。
他のアプリケーションシステムがOPGAPI3を用いて、OPGアプリケーションの生成、修正、および削除を行なうことができる。また、OPGアプリケーションを他の電子形式、例えばHTMLおよび/またはXMLで描出すべく用いることができる。
OPGAPI3の機能を以下に2つのグループ、すなわちGT43により実装されるもの、およびNEG41により実装されるものとして列挙する。一般に、GTの機能はグラフ全体に影響を及ぼすのに対し、NEGの機能はグラフの要素またはサブグラフに影響を及ぼす。各々の機能、および必要なパラメータ関する簡単に記述が含まれている。アプリケーションのOPGまたはOPG42のサブグラフの現在状態および当該機能に適用されるOPG規則が与えられた場合に、ある機能が実行可能であるか否かを示すチェック機能が提供されている。これにより、エディタはユーザーに対し視覚的な手掛かりを提供することが可能になる。アプリケーション名で始まり、関心対象ノードに到るOPG内のノード名がこれに続くドット表記により名称パラメータが定義されている。OPGアプリケーションのノードの構造およびそれらの命名規則が、オブジェクト処理グラフシステム特許出願に記載されている。以下は、ノード名「payroll.department.employee.名」の例である。
GT関数(アプリケーションの全体グラフに影響を及ぼす)
アプリケーション(アプリケーション名)の生成:アプリケーションを生成して指定された名称を与える。アプリケーションは、アプリケーションノードにより表現される。アプリケーション名はOPGシステム内で一意でなければならない。
アプリケーション(アプリケーション名)の削除:名称で指定されたアプリケーションを削除する。当該アプリケーションの一部であるノードの全てもまた削除される。実行中のインスタンスを有するアプリケーションを削除することはできない。
アプリケーション(アプリケーション名)のロード:指名されたアプリケーションを以下に述べる機能を提供するNEG41へ変換する。
アプリケーション(アプリケーション名)の保存:当該アプリケーションのNEG41になされたあらゆる変更を永続変更としてOPG42に保存する。
NEG関数(特定のプロセスノード、データノードまたはサブグラフに影響を及ぼす)
プロセスノード(親ノード名、ノード名、プロセスノード種類)の追加:プロセスノードの種類により指定された新規の操作または報告ノードを生成して、当該プロセスノードの親ノードの集合に追加する。親ノードは、プロセスノードでなければならない。ノード名は、親のプロセスノード集合内で一意でなければならない。
プロセスノード(親ノード名、プロセスノード種類)の追加可能性:指定された種類のプロセスノードを指名された親に追加可能であるか否かを判定する。この関数は真または偽の応答を返す。
プロセスノード(親ノード、ノード名)の削除:指名された親のプロセスノードの集合から指名されたノードを削除する。OPG42から当該ノードおよびこれに関連付けられた全てのノード、並びにこれに接続する全てのエッジを削除する。
プロセスノード(親ノード名、ノード名)の削除可否:指名されたプロセスノードを、指名された親のプロセスノードの集合から削除できるか否かを判定する。この関数は真または偽の応答を返す。
データ定義ノード(親ノード名、ノード名)の削除:指名されたノードを、指名された親のデータノードの集合から削除する。OPG42から当該ノードおよびこれに関連付けられた全てのノード、並びにこれに接続する全てのエッジを削除する。
データ定義ノード(親ノード名、ノード名)の削除可否:指名されたノードを、指名された親のデータノードの集合から削除できるか否かを判定する。この関数は真または偽の応答を返す。
データ定義ノード(親ノード名、ノード名、データノード種類)の追加:指定された名称および種類のデータノードを生成する。指名された親がデータノードである場合、データノードは複合データノード(子ノードを持つノード)または原始データノード(子ノードを持たないノード)であってよい。指名された親がプロセスノードである場合、データノードは複合データノードでなければならない。
データ定義ノード(親ノード名、ノード名)の追加可否:指名されたデータノードを、指名された親ノードから削除可能であるか否かを判定する。この関数は真または偽の応答を返す。
ノードプロパティ(ノード名、プロパティ名、新規プロパティ値)の修正:指定されたノードの指名されたプロパティの値を新規プロパティ値に設定する。
ノードプロパティ(ノード名、プロパティ名、新規プロパティ値)の修正可否:指名されたノードの指名されたプロパティの値を新規プロパティ値に設定できるか否かを判定する。この関数は真または偽の応答を返す。
エッジ(始点ノード名、終点ノード名、エッジ名)の追加:指定された名称を有する新規エッジを始点ノード外向きエッジの集合に生成して、当該ノードの内向きエッジの集合にこれを追加する。終点および始点ノード種類に基づいて、OPGエッジカテゴリ、すなわちプロセス対プロセス、プロセス対データ、またはデータ対データのうち一つのエッジを、自動的に生成する。
エッジ(始点ノード名、終点ノード名、エッジ名)の追加可否:新規エッジを始点ノードの外向きエッジの集合および終点ノードの内向きエッジに追加可能であるか否かを判定する。この関数は真または偽の応答を返す。
エッジ(始点ノード名、終点ノード名、エッジ名)の削除:指名されたエッジ、および「始点」ノードと「終点」ノードの自身への参照を削除する。
エッジ(始点ノード名、終点ノード名、エッジ名)の削除可否:指名されたエッジ、「始点」ノードおよび終点ノード参照を削除可能であるか否かを判定する。この関数は真または偽の応答を返す。
エッジ種類(始点ノード名、終点ノード名、エッジ名、エッジ種類)の修正:指名されたエッジ種類を指定されたエッジ種類に変更する。定義されたエッジの種類は、指名されたエッジのカテゴリについて正当でなければならない。以下は、各々のエッジカテゴリについて正当なエッジ種類である。

プロセス間エッジ
無条件表示
無条件待ち行列
無条件バッチ
条件付表示
条件付待ち行列
条件付バッチ
プロセス対データエッジ
データ生成
データ間エッジ
データ移動
データ取得
データ統合
データ分割
データ照会
計算に利用
データ結合
エッジ種類(始点ノード名、終点ノード名、エッジ名、エッジ種類)の修正可否:指名されたエッジの種類を、指定されたエッジ種類に変更可能であるか否かを判定する。定義されたエッジ種類は、指名されたエッジのカテゴリについて正当でなければならない。この関数は真または偽の応答を返す。
エッジプロパティ(エッジノード名、プロパティ名、新規プロパティ値)の修正:指定されたエッジの指名されたプロパティの値を新規プロパティ値に設定する。
エッジプロパティ(ノード名、プロパティ名、新規プロパティ値)の修正可否:指名されたエッジの指名されたプロパティの値を、指定された新規プロパティ値に変更可能か否かを判定する。この関数は真または偽の応答を返す。
好適なOPGアプリケーション開発システム(OPGADS)生成プロセス
以下は、OPGADSを生成するための好適なプロセスの記述であり、そのようなシステムは定義済みであって上に述べられている。このプロセスの実施形態が含まれているが、他のものもまた可能である。
OPGADSがその一部をなすOPGシステム5の実施形態の存在を仮定すれば、OPGADSシステムを構築して実行するためのハードウェア/オペレーティングシステムプラットフォーム、プログラミングフレームワーク、データベースおよび/またはファイルシステム、および表示媒体の初期集合が選択される。これらの選択された項目は、OPGシステムの実施形態の構築に用いたものと同一であるか、または互換性を有していなければならない。一つの好適な実施形態において、インテル使用コンピュータハードウェアで稼動するWindows(登録商標)XPオペレーティングシステムを用いる。また、サンマイクロシステムズのJava(登録商標)プログラミング言語、Eclipse財団からのEclipseツールプラットフォーム、Eclipse財団からのGEFおよびDraw2Dフレームワーク、ジャカルタストラッツフレームワーク、Java(登録商標)サーバページ(JSP)、およびカスケーディングスタイルシート(CSS)を利用してもOPGADSシステムを開発することができる。この好適な実施形態は、プログラミングを変更することなく、Windows(登録商標)XP、Linux、Solaris8、AIX、HP−UX、およびMAC−OSXオペレーティングシステムを実行しているハードウェアプラットフォーム上で実行される。上のオペレーティングシステム、アプリケーションプラットフォーム、およびプログラミング言語ツールは、本発明の好適な実施形態の生成および実行に用いることができる開発および運用システムの単に一つの可能な構成しか表わさない点に注意を要する。
添付の図面と合わせて、本発明の上述の概要および説明を用いて、OPGADSの3種の主要ソフトウェアコンポーネントを、以下の段落で記述するように、好適な実施形態に実装することができる。他の実装もまた可能である。OPGシステム5とOPGAE2とのインターフェースを実現するのに必要なため、最初にOPGAPI3を実装しなければならない。これを行なうため、GT43の機能を包含する1個以上のクラスおよび適切なクラス階層が定義されている。
OPGAE2を実装すべく、GEFおよびDraw2Dフレームワークに基づいて、モデル、ビュー、およびコントローラ要素を表わす3群のクラスが定義されている。図22に、これらのクラスの好適な構成を示す。
OPGAV29コンポーネントは、図22の形態(Figure)クラスにより表され、GEF形態クラスの拡張である。形態クラスはユーザーに対しドメインの表記を提示する。図22に示す好適な実施形態において、ビューは5種類のクラス、すなわちデータ形態、構造化データ形態、データ配列形態、構造化データ配列形態、および構造化操作形態により実装される。
OPGADSコントローラコンポーネントは4組のクラス、すなわちエディタ、編集部分(EditPart)、編集ポリシ(EditPolicy)、およびコマンドにより実装される。好適な実施形態において、単一のエディタクラスおよび5種類の編集部分クラス、すなわちデータ部分(DataPart)、データ配列部分(DataArraypart)、構造化データ部分(StructuredDataPart)、構造化データ配列部分(StructuredDataArrayPart)、および構造化動作部分(StructuredOperationPart)がある。また、3種類の編集ポリシクラス、すなわち要素コンポーネント編集ポリシ(ElementComponentEditPolicy)、要素コンテナ編集ポリシ(ElementContainerEditPolicy)、および要素XYレイアウト編集ポリシ(ElementXYLayoutEditPolicy)がある。更に、5種類のコマンドクラス、すなわち追加コマンド、接続コマンド、生成コマンド、削除コマンド、および制約設定コマンドがある。
モデルコンポーネントは、2組のクラス、すなわちグラフィカルモデルおよびOPGモデルにより実装される。5種類のグラフィカルモデルクラス、すなわちデータ、データ配列、構造化データ、構造化データ配列、構造化操作クラスがある。3種類のOPGモデルクラス、すなわちネットワークノード、ネットワークリンク、およびユーザーネットワークがある。
好適な実施形態において、また上で述べたように、OPGAWE4はOPGACVの拡張として実装される。これにより、実行中のOPGプログラムと直接インターフェースを持つことが容易になる。OPGAWE4のエディタ機能は、OPGACVのセッション動作クラスの拡張であるエディタクラスにより実装される。エディタツールバーは、CSSスタイルシートにより実装される。OPGACVのアプリケーションデータ表示JSPおよびCSSスタイルシートを用いて、OPGAWE4のWYSIWYGエディタ内のアプリケーション用データを表示する。
最後に、好適な実施形態において、OPGアプリケーションウィンドウ内でユーザーがアプリケーションフレームを定義できるようにするOPG特徴を、以下のように実装することができる。OPGAWE4において、ウィンドウ内でフレームを定義するためにフレーム定義オプションが必要とされる。ユーザーは、アプリケーションを意味するファイル種類を定義する。実行時において、ユーザーはフレームをクリックすることによりアプリケーションを開始し、それによりインターネットエクスプローラブラウザにアプリケーションを開始させる。ユーザーがプログラムを終了させたならば、ユーザーは更新されたファイルをOPGデータベース内の過渡的な場所に保存することができる。OPGクラスおよびDGI関数を実装してこれらの機能を実行することができる。また、この特徴をサポートするために、小規模なJava(登録商標)プログラムを実装しなければならない。当該プログラムは、自身のスレッド上で動作して、特別なOPG場所においてアプリケーション変更を保存する旨のユーザー要求を定義する命令を周期的に探す。そのような命令が見つかったならば、関連付けられたファイルをローカルなOPG位置から元のソース位置へ移動させる。
オブジェクト処理グラフ記述
OPG37は、完全なアプリケーション開発および実行環境であるOPGシステム5の定義コンポーネントである。他のコンポーネントには、OPG37により定義されたアプリケーションを解釈または実行するDGIと、OPG37を生成および修正するグラフィカルユーザーインターフェースを含んでいる。
OPGの好適な実施形態は、プログラムの実行に伴い解釈される(チューリング完全である)コンピュータ言語とみなすことができる。OPG37は、過渡的および永続なコンピュータメモリに保存される。OPG37は、関係テーブル、階層テーブル、n次元データ配列、スプレッドシート、グラフィカルモデル、および3次元物理モデル含む、但しこれに限定されない、任意のデータ構造を保持することができる。これらのデータ構造は、関係データベースシステムでは一般的なブロブ(blobs)としては格納されず、元の構造および内部関係を反映する特別なOPG構造で保存される。OPGプロセスおよび制御構造は、アプリケーション内での永続および過渡的データの確認、変換および表示の順序およびタイミングに対する制御を行なう。OPG構造はまた、数学的公式、正規表現(文字データまたは数量と文字データの混合の場合)および完全なアルゴリズムを定義することができる。
アプリケーションのOPG37は、コンピュータ端末または静的出力媒体、例えば紙に描出することができる。対話型の媒体に表示されたOPGデータ、プロセスおよび制御構造は編集することができる。従来のソフトウェア開発システムと異なり、アプリケーションのOPG37を編集することは、コンパイルおよびインストールする必要があるコードを生成しない。その代わりに、変更は直ちに行なわれて発効する。変更は、DGIが解釈(アプリケーションを実行)している最中であっても、行なうことができる。大規模で複雑な、企業横断的アプリケーションシステムを短期間に開発して長期にわたり維持を行なうためには、アプリケーションを随時安全に変更できる能力が要求される。
OPG37のアプリケーション全実行状態情報がアプリケーション状態オブジェクトに保持されている。DGIは、保持するアプリケーション状態情報を変更することにより、OPG37に対して作用する。アプリケーション状態情報は、任意の永続なデータオブジェクトを含むことができる。DGIは、複数のアプリケーション状態に同時に作用して、アプリケーション状態オブジェクトの組合せ同士で状態情報を統合または分割することができる。
OPG37は、アプリケーションにおける全ての永続および過渡的データ変更の監査証跡情報を原始データレベルで保持する。監査証跡情報は、表示コントロールを介して、ユーザーインターフェース上に表示すべく、またはアプリケーションのプロセスおよびデータフローの更なる更新および操作のために、容易に取得可能である。
長短両方のトランザクションでなされた変更を定義する監査情報が保持されていて、アプリケーションの永続なデータになされた全ての変更について追跡される。長いトランザクションは、システムが全ての永続なデータになされた変更の組織化、制御、および追跡を行なうことを可能にする。このような変更は、多数の作業セッションに跨って長期間(数日または数週間)にわたり生じる場合がある。一方、短いトランザクションは、システムとの1回のユーザーセッションまたは対話の間に生起する。長短両方のトランザクション情報は、システムのグラフィカルユーザーインターフェースを介して、アプリケーション内で操作および表示に直ちに利用できる。長いトランザクションの追跡はまた、アプリケーションインターフェースを介して、トランザクションの任意の時点でのロールバックを容易にし、トランザクションの削除(監査証跡と共に)を自動的に行なうことができる。ユーザーによるアプリケーション内の全ての機能およびデータへのアクセス制御は、システムインターフェースを通じて利用できる。これには、各ユーザー向けのアプリケーションの一部として定義された各々の原始データ項目に対する個別アクセス権(読み出し、書込み、ロールバック)が含まれている。
ユーザーインターフェースを介して入力または変更されたデータに加え、システムの実施形態もまた、他のシステムから任意のデジタルフォーマットでアプリケーションプロセスへの入力データを受け付ける。
好適な実施形態にはGUIが含まれる。GUIにより、ユーザーは、以後自動的に構文解析されてアプリケーションの更新に利用すべく、全ての入力のフォーマットを指定すること、およびアプリケーションプロセスの任意の時点で、データベース内の永続データまたはアプリケーションまたは表示インターフェース内の過渡的データへの追加または修正を行なうことが可能になる。
出力データも同様に、各種の実施形態における上述のプロセスの逆を用いて、アプリケーション内の任意の時点から任意のフォーマットで生成(永続または過渡的データ用に)することができる。いくつかの実施形態において、関係データベース等の外部データベースはアプリケーションと共に登録することができ、アプリケーション内の全ての永続なデータをそのようなデータベースに保存したり取り出すことができる。
好適な実施形態のOPG37コンポーネントの実施形態は、従来のグラフオブジェクト指向データベースの基本機能を拡張するものである。本発明の実施形態は、動的プロセス要素およびグラフオブジェクト指向データベースの機能を単一の統合化システムに統合することにより、従来のプログラミング言語を用いること無く、完全且つ複雑な企業横断的アプリケーションを短期間で構築することを可能にする。OPG37は直接且つ動的に解釈されるため、コード生成を一切必要としない。OPG37の変更が容易なこと、および変更の結果を直ちにフィードバックできることにより、OPGに基づくアプリケーションの維持および変更が簡素化される。
特定の実施形態を参照しつつ本発明をかなり詳細に記述してきたが、他の実施形態も可能である。例えば、異なるオペレーティングシステム、プログラミング言語、およびソフトウェアアーキテクチャを用いて、本発明の実施形態を実装してもよい。従って、添付の請求項の概念および範囲を本明細書に含まれる実施形態の記述に限定すべきではない。
上述のように、本発明の実施形態はハードウェア、ソフトウェア、ファームウェア、あるいは実施形態を実装する任意のプロセスおよび/または装置の形式で実施することができる。本発明の実施形態はまた、フロッピー(登録商標)ディスケット、CD−ROM、ハードディスク、その他任意のコンピュータ可読記憶媒体等の有形媒体に実装された命令を含むコンピュータプログラムコードの形式で実装することができ、コンピュータプログラムコードがコンピュータにロードされて実行されたならば、当該コンピュータが本発明を実施するための装置となる。本発明はまたコンピュータプログラムコードの形式で実装可能であり、例えば、記憶媒体に保存したり、コンピュータ内にロードおよび/またはコンピュータにより実行されるか、あるいは電気配線またはケーブル等、何らかの伝送媒体、光ファイバー、または電磁放射を介して送信することができる。その場合に、当該コンピュータプログラムコードがコンピュータにロードされて実行されたならば、当該コンピュータが本発明を実装するための装置となる。汎用マイクロプロセッサ上に実装されている場合、当該コンピュータプログラムコードのセグメントが、特定の論理回路を生成すべくマイクロプロセッサを設定する。
本発明を、好適な実施形態に関して記述してきたが、本発明の範囲から逸脱することなく各種の変更を行なって、等価物により構成要素を代替可能である点を当業者は理解されよう。また、本発明の本質的な範囲から逸脱することなく、特定の状況または材料を本発明の教示に適応させるべく多くの変更を行なうことができる。従って、本発明が、本発明を実施すべく考察された最適モードとして開示された特定の実施形態に限定されず、本発明が添付の請求項の範囲にある全ての実施形態を含んでいることを意図している。更に、第一、第二、等の用語の使用は、何らの順序または重要性を意味せず、むしろ、第一、第二、等の用語は一つの構成要素を他のものと区別するために用いている。
本発明の好適な実施形態によるオブジェクト処理グラフアプリケーション開発システム(OPGADS)を示した図である。 本発明の好適な実施形態によるEclipse遠近法として表示されたオブジェクト処理グラフアプリケーションエディタ(OPGAE)ワークスペースを示した図である。 本発明の好適な実施形態によるOPGAEの例である。 本発明の好適な実施形態によるサンプルのオブジェクト処理グラフ(OPG)アプリケーションの表示例を示した図である。 本発明の好適な実施形態によるリポジトリビューを示すOPGAEワークスペースを示した図である。 本発明の好適な実施形態によるリポジトリ選択用アプリケーション定義ウィザードウィンドウを示した図である。 本発明の好適的な実施形態によるアプリケーション名入力用アプリケーション定義ウィザードウィンドウを示した図である。 本発明の好適な実施形態によるOPGAEを示した図である。 本発明の好適な実施形態に従いビルダーからOPGアプリケーションウィンドウエディタ(OPGAWE)を選択するステップを示した図である。 本発明の好適な実施形態に従いOPGデフォルトのアプリケーション表示ウィンドウから操作ウィンドウを選択するステップを示した図である。 本発明の好適な実施形態による操作データ表示ウィンドウを示した図である。 本発明の好適な実施形態に従い操作データ表示ウィンドウからOPGAWEを開始するステップを示した図である。 本発明の好適な実施形態によるOPG操作データウィンドウエディタを示した図である。 本発明の好適な実施形態によるOPGアプリケーションウィンドウにアプリケーションフレームを追加するステップを示した図である。 本発明の好適な実施形態による拡張動的モデルビュ−コントローラを示した図である。 本発明の好適な実施形態によるアプリケーションデータ表示プロパティを示した図である。 本発明の好適な実施形態によるOPGAWE上の選択されたコンポーネントを示した図である。 本発明の好適な実施形態によるデータ可視性および編集プロパティエディタウィンドウを示した図である。 本発明の好適な実施形態によるデータ可視性および編集プロパティエディタコンポーネントを示した図である。 本発明の好適な実施形態によるOPGグラフ変換を示した図である。 本発明の好適な実施形態による表記エディタグラフ変換の例を示した図である。 本発明の好適な実施形態によるOPGアプリケーション開発機能の例を示した図である。

Claims (31)

  1. オブジェクト処理グラフ(OPG)アプリケーション開発システムであって、
    OPGシステムの機能へのアクセスを提供するOPGアプリケーションプログラムインターフェース(API)と、
    前記OPG−APIを介してOPGアプリケーションの生成および編集を助長するOPGアプリケーションエディタと、
    OPGアプリケーションの実行中に、OPGアプリケーションユーザーインターフェースウィンドウの編集を助長するOPGアプリケーションウィンドウエディタと、
    前記OPGアプリケーションを記述および定義すべく複数のキーワードおよび付随する定義を含むOPGアプリケーション表記と、
    を含むオブジェクト処理グラフアプリケーション開発システム。
  2. 前記OPG−APIは、前記OPGアプリケーションが他のシステムと動的に対話して情報を交換できるようにするインターフェース機能を提供する、請求項1に記載のシステム。
  3. 前記OPG−APIは、永続OPGを表わすグラフィカルソフトウェアモデルを生成および維持する機能を提供する、請求項1に記載のシステム。
  4. 前記OPG−APIは、対応するグラフィカルソフトウェアモデルが更新されるのに伴い永続OPGを更新する、請求項1に記載のシステム。
  5. 前記OPGアプリケーションエディタは、永続OPGに対応するグラフィカルソフトウェアモデルを生成および維持すべくOPG−APIを利用するエディタグラフィカルモデルインターフェースを含む、請求項1に記載のシステム。
  6. 前記OPGアプリケーションエディタは、永続OPGに対応するソフトウェアモデルをコンピュータ表示媒体上にレンダリングするエディタビューワーを含み、
    前記グラフィカルソフトウェアモデルは、図形記号、アイコン、線、図柄、テキスト、画像およびウィンドウ制御要素のうち少なくとも1つを含む、請求項1に記載のシステム。
  7. 前記OPGアプリケーションエディタは、前記グラフィカルソフトウェアモデルのコンポーネントを移動、追加、削除、および更新したいとのユーザーの入力要求を、エディタグラフィカルモデルインターフェース機能要求に変換して、前記エディタビューワーに前記グラフィカルソフトウェアモデルを更新させ、且つ前記OPG−APIに永続OPGを更新させるエディタコントローラを含む、請求項6に記載のシステム。
  8. 前記エディタコントローラは、前記OPGアプリケーションエディタおよび1種類のウィンドウ制御要素により描出された1組のワークスペースビューに表示されたウィンドウ制御要素上の表示カーソル位置に基づいて、キーボード、マウスその他の入力装置を介したユーザーの選択および入力に応答する、請求項7に記載のシステム。
  9. 前記ワークスペースビューは、前記グラフィカルソフトウェアモデルへ含めるべく選択可能な図形コンポーネントを表示するパレットビュー、OPGまたはサブグラフのグラフィック表現を表示するコンポーネントビュー、OPGのツリービューを表示するアプリケーションナビゲータビュー、OPGを含むリポジトリファイルを一覧表示するリポジトリビュー、OPGグラフノードおよびエッジのプロパティ名および値を表示するプロパティビュー、およびコンポーネントビュー上で選択されて表示されたグラフコンポーネントのグラフィックコンポーネントのツリービューを表示するコンポーネントアウトラインビューのうち少なくとも1つを含む請求項8に記載のシステム。
  10. 前記OPGアプリケーションウィンドウエディタは、OPGコントローラビューワーに追加されて統合されたウィンドウエディタ制御要素を含む、請求項1に記載のシステム。
  11. 前記ウィンドウエディタ制御要素は、対応するOPGアプリケーションの実行中に、前記OPGアプリケーションウィンドウエディタまたはアプリケーションウィンドウのデータ可視性プロパティエディタのいずれかをユーザーに選択可能にしたOPGアプリケーションデータ表示ウィンドウ上に、エディタ選択コントロールを表示する、請求項10に記載のシステム。
  12. 前記OPGアプリケーションウィンドウエディタは、アプリケーションデータ表示ウィンドウ上でデータウィンドウ表示要素の変更、追加、または削除を行なった影響をユーザーが直ちに視認できるようにする見た目通りの出力(WYSIWYG)方式のエディタを提供する、請求項1に記載のシステム。
  13. 前記OPGアプリケーションウィンドウエディタは、アプリケーションデータ表示におけるウィンドウ表示要素を選択可能、移動可能、編集可能、および削除可能にし、
    前記ウィンドウ表示要素は、ウィンドウコントロール、テキストボックス、ラベル、テキストエディタ、線、形状、図柄、画像、およびアイコンのうち少なくとも1つを含む、請求項1に記載のシステム。
  14. 前記OPGアプリケーションウィンドウエディタは、選択されたアプリケーションデータ表示におけるウィンドウ要素に対しユーザーが要素の追加または削除、テキストプロパティの変更、要素のサイズ変更や位置変更、および要素の色の変更を含むエディタ機能を適用できるようにする複数のエディタコントロールを含むエディタツールバーを表示する、請求項1に記載のシステム。
  15. コンピュータシステムを開発する方法であって、
    コンピュータプログラムであるグラフ構造における要素を指定するコマンドを受信する受信ステップと、
    前記コマンドに応答して、前記コンピュータプログラムをリアルタイムで修正する修正ステップと、
    を含むコンピュータシステム開発方法。
  16. ユーザーインターフェース画面上のコンピュータプログラムのグラフィカル表現を表示するステップを更に含み、
    前記コマンドは、ユーザーインターフェース入力装置を介して受信される、請求項15に記載の方法。
  17. 前記修正されたコンピュータプログラムのグラフィカル表現をユーザーインターフェース画面上に表示するステップを更に含む、請求項15に記載の方法。
  18. 前記修正されたコンピュータプログラムは、その後前記コンピュータプログラムにより処理される全てのトランザクションにより利用される、請求項15に記載の方法。
  19. 前記修正されたコンピュータプログラムは、その後前記コンピュータプログラムにより処理される選択済みトランザクションにより利用される、請求項15に記載の方法。
  20. 前記修正されたコンピュータプログラムは、コンピュータプログラムにより現在処理中のトランザクションにより利用される、請求項15に記載の方法。
  21. 前記要素は、コンポーネントおよびリンクのうち少なくとも1つを含む、請求項15に記載の方法。
  22. 前記コンポーネントは、アプリケーションコンポーネント、プロセスコンポーネント、データ構造コンポーネント、データ構造配列コンポーネント、および原始データ要素のうち少なくとも1つを含む、請求項21に記載の方法。
  23. 前記コマンドは、要素の閲覧、要素の追加、要素の修正、および要素の削除のうち少なくとも1つを含む、請求項15に記載の方法。
  24. 前記コンピュータプログラムは、前記受信ステップと並行して実行しており、
    ユーザーインターフェース画面を介してコンピュータプログラムからの出力を表示するステップを更に含む、請求項15に記載の方法。
  25. 前記修正されたコンピュータプログラムからの出力を、前記ユーザーインターフェース画面を介して表示するステップを更に含む、請求項24に記載の方法。
  26. コンピュータシステムを開発する方法であって、
    グラフ構造としてコンピュータプログラムを生成するステップと、
    前記グラフ構造のグラフィカル表現をユーザーインターフェース画面上に表示するステップと、
    前記グラフ構造内の要素を指定するコマンドを受信するステップと、
    前記コマンドに応答して前記コンピュータプログラムをリアルタイムで修正する修正ステップと、
    前記コマンドに応答して前記グラフ構造を更新するステップと、
    前記更新されたグラフ構造のグラフィカル表現を前記ユーザーインターフェース画面上に表示するステップと、
    を含むコンピュータシステム開発方法。
  27. 前記コンピュータプログラムは、オブジェクト処理グラフ(OPG)である、請求項26に記載の方法。
  28. 前記OPGの表示は、1個以上のOPGアプリケーションエディタおよびOPGアプリケーションウィンドウエディタのうち少なくとも1つを介して行なわれる、請求項26に記載の方法。
  29. 前記修正ステップは、OPGアプリケーションプログラムインターフェースおよびOPGシステムとのインターフェースを有するOPGアプリケーションウィンドウエディタのうち1個以上を介して行なわれる、請求項26に記載の方法。
  30. コンピュータシステムを開発するためのコンピュータプログラム製品であって、
    処理回路により読み込み可能であって、前記処理回路による実行によって一方法が保存される記憶媒体を含み、
    前記方法は、
    グラフ構造がコンピュータプログラムであって、グラフ構造内の要素を指定するコマンドを受信するステップと、
    前記コマンドに応答して前記コンピュータプログラムをリアルタイムで修正するステップと、
    を含むコンピュータプログラム製品。
  31. コンピュータシステムを開発するためのコンピュータプログラム製品であって、
    処理回路により読み込み可能であって、前記処理回路による実行によって一方法が保存される記憶媒体を含み、
    前記方法は、
    グラフ構造としてコンピュータプログラムを生成するステップと、
    前記グラフ構造のグラフィカル表現をユーザーインターフェース画面上の表示するステップと、
    前記グラフ構造内の要素を指定するコマンドを受信するステップと、
    前記コマンドに応答して前記コンピュータプログラムをリアルタイムで修正するステップと、
    前記コマンドに応答して前記グラフ構造を更新するステップと、
    前記更新されたグラフ構造のグラフィカル表現を前記ユーザーインターフェース画面上に表示するステップと、
    を含むコンピュータプログラム製品。
JP2007531356A 2004-09-10 2005-09-09 オブジェクト処理グラフアプリケーション開発システム Withdrawn JP2008512794A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60856304P 2004-09-10 2004-09-10
PCT/US2005/032114 WO2006031640A2 (en) 2004-09-10 2005-09-09 Object process graph application development system

Publications (1)

Publication Number Publication Date
JP2008512794A true JP2008512794A (ja) 2008-04-24

Family

ID=36055606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007531356A Withdrawn JP2008512794A (ja) 2004-09-10 2005-09-09 オブジェクト処理グラフアプリケーション開発システム

Country Status (7)

Country Link
US (1) US7536676B2 (ja)
EP (1) EP1787197A2 (ja)
JP (1) JP2008512794A (ja)
CN (1) CN101052948A (ja)
CA (1) CA2578385A1 (ja)
IL (1) IL181435A (ja)
WO (1) WO2006031640A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013534331A (ja) * 2010-06-30 2013-09-02 サーモ エレクトロン サイエンティフィック インストルメンツ リミテッド ライアビリティ カンパニー 分析計測のためのインテリジェントな多機能マクロ言語
JP2014130628A (ja) * 2009-01-30 2014-07-10 Ab Initio Technology Llc ベクトルフィールドを用いるデータ処理

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8037102B2 (en) 2004-02-09 2011-10-11 Robert T. and Virginia T. Jenkins Manipulating sets of hierarchical data
US9646107B2 (en) 2004-05-28 2017-05-09 Robert T. and Virginia T. Jenkins as Trustee of the Jenkins Family Trust Method and/or system for simplifying tree expressions such as for query reduction
US7316001B2 (en) * 2004-06-05 2008-01-01 Graphlogic Inc. Object process graph system
US7620632B2 (en) 2004-06-30 2009-11-17 Skyler Technology, Inc. Method and/or system for performing tree matching
US7493335B2 (en) * 2004-07-02 2009-02-17 Graphlogic Inc. Object process graph relational database interface
US7360209B2 (en) * 2004-07-16 2008-04-15 Graphlogic Inc. Object process graph application controller-viewer
JP2008512794A (ja) 2004-09-10 2008-04-24 グラフロジック インコーポレイテッド オブジェクト処理グラフアプリケーション開発システム
US7667582B1 (en) * 2004-10-14 2010-02-23 Sun Microsystems, Inc. Tool for creating charts
US7627591B2 (en) 2004-10-29 2009-12-01 Skyler Technology, Inc. Method and/or system for manipulating tree expressions
US7801923B2 (en) 2004-10-29 2010-09-21 Robert T. and Virginia T. Jenkins as Trustees of the Jenkins Family Trust Method and/or system for tagging trees
US7636727B2 (en) 2004-12-06 2009-12-22 Skyler Technology, Inc. Enumeration of trees from finite number of nodes
US7630995B2 (en) 2004-11-30 2009-12-08 Skyler Technology, Inc. Method and/or system for transmitting and/or receiving data
US8316059B1 (en) 2004-12-30 2012-11-20 Robert T. and Virginia T. Jenkins Enumeration of rooted partial subtrees
US20060174195A1 (en) * 2005-01-28 2006-08-03 Bea Systems, Inc. System and method for a look and feel designer with a style sheet editor
US20060174187A1 (en) * 2005-01-28 2006-08-03 Bea Systems, Inc. System and method for a look and feel designer with a page-view interface
US7490290B2 (en) * 2005-01-28 2009-02-10 Bea Systems, Inc. System and method for a look and feel designer with a skin editor
US8615530B1 (en) 2005-01-31 2013-12-24 Robert T. and Virginia T. Jenkins as Trustees for the Jenkins Family Trust Method and/or system for tree transformation
US7681177B2 (en) 2005-02-28 2010-03-16 Skyler Technology, Inc. Method and/or system for transforming between trees and strings
US8356040B2 (en) 2005-03-31 2013-01-15 Robert T. and Virginia T. Jenkins Method and/or system for transforming between trees and arrays
US8418132B2 (en) * 2005-04-29 2013-04-09 Microsoft Corporation Application description language
US7899821B1 (en) 2005-04-29 2011-03-01 Karl Schiffmann Manipulation and/or analysis of hierarchical data
US8275793B2 (en) * 2005-04-29 2012-09-25 Microsoft Corporation Transaction transforms
US8046737B2 (en) * 2005-04-29 2011-10-25 Microsoft Corporation XML application framework
US20060245096A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation Application framework phasing model
US8132148B2 (en) 2005-04-29 2012-03-06 Microsoft Corporation XML application framework
US7885979B2 (en) * 2005-05-31 2011-02-08 Sorenson Media, Inc. Method, graphical interface and computer-readable medium for forming a batch job
US7975219B2 (en) * 2005-05-31 2011-07-05 Sorenson Media, Inc. Method, graphical interface and computer-readable medium for reformatting data
US8296649B2 (en) * 2005-05-31 2012-10-23 Sorenson Media, Inc. Method, graphical interface and computer-readable medium for generating a preview of a reformatted preview segment
US20070162486A1 (en) * 2005-12-30 2007-07-12 Thomas Brueggemann Merge tool for structured object models
US7882486B2 (en) * 2006-02-10 2011-02-01 Microsoft Corporation Adding interactivity to artwork
US7725093B2 (en) * 2006-03-29 2010-05-25 Intel Corporation Method and apparatus for a power-efficient framework to maintain data synchronization of a mobile personal computer to simulate a connected scenario
US7747686B2 (en) * 2006-03-31 2010-06-29 Yahoo! Inc. System and method for interacting with data using visual surrogates
US8018471B2 (en) * 2006-05-15 2011-09-13 Microsoft Corporation Visual component/clause merging
JP4577847B2 (ja) * 2006-06-30 2010-11-10 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツを作成するためのオーサリング・システム、ソフトウェア、および方法
US20080005752A1 (en) * 2006-06-30 2008-01-03 Robert Paul Morris Methods, systems, and computer program products for generating application processes by linking applications
US20080127220A1 (en) * 2006-06-30 2008-05-29 Robert Paul Morris Methods, systems, and computer program products for creating an input-value-specific loadable instance of an application
WO2008045117A1 (en) * 2006-10-06 2008-04-17 Nielsen Media Research, Inc. Methods and apparatus to analyze computer software
US8332827B2 (en) * 2006-12-01 2012-12-11 Murex S.A.S. Produce graph oriented programming framework with scenario support
US7865872B2 (en) * 2006-12-01 2011-01-04 Murex S.A.S. Producer graph oriented programming framework with undo, redo, and abort execution support
US8307337B2 (en) 2006-12-01 2012-11-06 Murex S.A.S. Parallelization and instrumentation in a producer graph oriented programming framework
US8191052B2 (en) 2006-12-01 2012-05-29 Murex S.A.S. Producer graph oriented programming and execution
US9626161B2 (en) * 2006-12-12 2017-04-18 Ca, Inc. Computer readable medium and methods for filtering a dynamic comparison model
US10318624B1 (en) * 2006-12-28 2019-06-11 Apple Inc. Infinite canvas
US8776015B1 (en) * 2007-02-08 2014-07-08 The Mathworks, Inc. Pattern modeling methods and systems
JP2008242873A (ja) * 2007-03-28 2008-10-09 Hitachi Ltd ソフトウェア自動構成装置及び方法
US8132147B2 (en) * 2007-05-29 2012-03-06 Sap Ag Semantic interpretation of software models for generating user interfaces
US8146069B2 (en) * 2007-09-27 2012-03-27 Alcatel Lucent Method and apparatus for performing non service affecting software upgrades in place
US8141065B2 (en) * 2007-09-27 2012-03-20 Alcatel Lucent Method and apparatus for performing non service affecting software upgrades in place
US8484611B2 (en) * 2007-10-15 2013-07-09 International Business Machines Corporation Method and system for simplified assembly of information processing applications
US8060421B1 (en) * 2007-10-17 2011-11-15 The Mathworks, Inc. Object oriented financial analysis tool
US9274753B1 (en) * 2007-12-23 2016-03-01 Sprint Communications Company L.P. Application diagram tool
US8312426B2 (en) * 2008-01-07 2012-11-13 International Business Machines Corporation Method and system for simplified service composition in web environment
US8239828B2 (en) * 2008-01-08 2012-08-07 International Business Machines Corporation Method of recovering from software failures using replanning
US8245122B2 (en) * 2008-01-08 2012-08-14 International Business Machines Corporation Method and system for modeling user requests, applications and components used in dynamic application assembly
US8640149B2 (en) 2008-03-26 2014-01-28 International Business Machines Corporation Method and apparatus for dynamic web service composition and invocation
US8949140B2 (en) 2008-04-21 2015-02-03 International Business Machines Corporation Method and system for dynamic software reconfiguration triggered by component- or system- initiated events
US8898624B2 (en) * 2008-05-05 2014-11-25 International Business Machines Corporation Method and apparatus for simplified assembly of parametric information processing applications
US20090327965A1 (en) * 2008-06-27 2009-12-31 Microsoft Corporation Selection of items in a virtualized view
US8711147B2 (en) * 2008-10-01 2014-04-29 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic graph view of multiply connected objects
US8669982B2 (en) * 2008-10-01 2014-03-11 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic culling graph view of multiply connected objects
US8194075B2 (en) * 2008-10-01 2012-06-05 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic list view of multiply connected objects
US8665274B2 (en) * 2008-10-01 2014-03-04 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic view of bi-directional impact analysis results for multiply connected objects
US8711148B2 (en) * 2008-10-01 2014-04-29 International Business Machines Corporation Method and system for generating and displaying an interactive dynamic selective view of multiply connected objects
US8250530B2 (en) * 2009-05-27 2012-08-21 Microsoft Corporation Composite values for declarative language applications
US9778921B2 (en) * 2009-06-02 2017-10-03 Apple Inc. Method for creating, exporting, sharing, and installing graphics functional blocks
US8584027B2 (en) * 2009-06-02 2013-11-12 Apple Inc. Framework for designing physics-based graphical user interface
US20100332981A1 (en) * 2009-06-30 2010-12-30 Daniel Lipton Providing Media Settings Discovery in a Media Processing Application
US8429605B2 (en) * 2009-12-30 2013-04-23 The United States Of America As Represented By The Secretary Of The Navy Finite state machine architecture for software development
US8255372B2 (en) * 2010-01-18 2012-08-28 Oracle International Corporation Efficient validation of binary XML data
US8209361B2 (en) 2010-01-19 2012-06-26 Oracle International Corporation Techniques for efficient and scalable processing of complex sets of XML schemas
US8701080B2 (en) * 2010-04-05 2014-04-15 Accenture Global Services Limited Template components having constraints representative of best practices in integration software development
CN103069383B (zh) * 2010-06-02 2016-09-28 艾伦智能科技公司 具有图形用户界面的装置及开发多媒体计算机应用程序的方法
CN102419702B (zh) * 2010-09-27 2013-12-11 北京中娱在线网络科技有限公司 一种显示立体画面的方法及装置
US8924914B2 (en) * 2011-06-14 2014-12-30 Sap Se Application creation tool toolkit
US9223582B2 (en) * 2011-09-12 2015-12-29 Sap Se User interface description language
EP2608056B1 (en) * 2011-12-23 2020-06-10 Software AG Creating html/css representations of a geometric symbol
US9032362B2 (en) * 2012-09-10 2015-05-12 Sap Se System and method for generating high performance calculators for calculation graphs
US9286032B2 (en) 2013-03-15 2016-03-15 International Business Machines Corporation Automated software composition
US10068031B2 (en) * 2013-03-15 2018-09-04 Bullet Point Network, L.P. Tabular data manipulation system and method
CN104216691B (zh) * 2013-05-31 2017-11-17 华为技术有限公司 一种创建应用的方法及装置
US9286034B2 (en) * 2014-01-23 2016-03-15 Apple Inc. Application dataflow aware property and bindings
CN105320504B (zh) * 2014-06-25 2018-08-17 成都普中软件有限公司 一种基于软件元视图构造软件视图的可视软件建模方法
US11546230B2 (en) * 2014-09-19 2023-01-03 Impetus Technologies, Inc. Real time streaming analytics platform
US10333696B2 (en) 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US9262132B1 (en) * 2015-04-13 2016-02-16 Semmle Limited Incremental local source code analysis
US9910641B2 (en) 2015-10-14 2018-03-06 Microsoft Technology Licensing, Llc Generation of application behaviors
US20170177738A1 (en) * 2015-12-21 2017-06-22 Google Inc. Dynamic intent registry
US10346138B1 (en) * 2015-12-30 2019-07-09 The Mathworks, Inc. Graph class application programming interfaces (APIs)
CN106202014A (zh) * 2016-06-28 2016-12-07 乐视控股(北京)有限公司 富文本编辑方法、装置和移动终端
CN108540532A (zh) * 2018-03-13 2018-09-14 成都蓉兴伟业科技有限公司 一种网络文件访问方法及终端
WO2020251987A1 (en) * 2019-06-10 2020-12-17 Greeneden U.S. Holdings Ii, Llc. System and method for adding content to contact center interactions
US10628630B1 (en) * 2019-08-14 2020-04-21 Appvance Inc. Method and apparatus for generating a state machine model of an application using models of GUI objects and scanning modes
US11188309B2 (en) * 2019-09-27 2021-11-30 Adp, Llc User interface engine for miniapp development
US11366567B2 (en) 2019-09-27 2022-06-21 Rockwell Automation Technologies, Inc. Preferential automation view curation
US11733669B2 (en) 2019-09-27 2023-08-22 Rockwell Automation Technologies, Inc. Task based configuration presentation context
US20210096704A1 (en) * 2019-09-27 2021-04-01 Rockwell Automation Technologies, Inc. User interface logical and execution view navigation and shifting
CN112733869B (zh) * 2019-10-28 2024-05-28 中移信息技术有限公司 训练文本识别模型的方法、装置、设备及存储介质
US11741496B2 (en) * 2019-12-27 2023-08-29 Sitecore Corporation A/S Solution graph for managing content in a multi-stage project
US11815943B1 (en) * 2020-06-05 2023-11-14 State Farm Mutual Automobile Insurance Company Systems and methods for processing using directed acyclic graphs

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504917A (en) 1986-04-14 1996-04-02 National Instruments Corporation Method and apparatus for providing picture generation and control features in a graphical data flow environment
US5295256A (en) 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
US5801687A (en) 1994-09-30 1998-09-01 Apple Computer, Inc. Authoring tool comprising nested state machines for use in a computer system
US5768586A (en) 1995-01-10 1998-06-16 Peoplesoft, Inc. Net change management for object-oriented modeling
US6425016B1 (en) 1997-05-27 2002-07-23 International Business Machines Corporation System and method for providing collaborative replicated objects for synchronous distributed groupware applications
US6016394A (en) * 1997-09-17 2000-01-18 Tenfold Corporation Method and system for database application software creation requiring minimal programming
US6314559B1 (en) * 1997-10-02 2001-11-06 Barland Software Corporation Development system with methods for assisting a user with inputting source code
US6292803B1 (en) 1997-11-18 2001-09-18 Honeywell International Inc. Object state change and history management mechanism
US6385618B1 (en) 1997-12-22 2002-05-07 Sun Microsystems, Inc. Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool
US6163776A (en) 1998-03-23 2000-12-19 Software Tree, Inc. System and method for exchanging data and commands between an object oriented system and relational system
CA2256931A1 (en) * 1998-12-23 2000-06-23 Robert Weisz Source editing in a graphical hierarchical environment
US6470354B1 (en) 1999-08-05 2002-10-22 International Business Machines Corporation Implementing persistent object services (POS) on top of a relational database
US6449657B2 (en) 1999-08-06 2002-09-10 Namezero.Com, Inc. Internet hosting system
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
WO2001025915A1 (en) * 1999-10-05 2001-04-12 Togethersoft Corporation Method and system for displaying changes of source code
US6701513B1 (en) 2000-01-14 2004-03-02 Measurement Computing Corporation Program-development environment for use in generating application programs
US7047518B2 (en) * 2000-10-04 2006-05-16 Bea Systems, Inc. System for software application development and modeling
US7917888B2 (en) 2001-01-22 2011-03-29 Symbol Technologies, Inc. System and method for building multi-modal and multi-channel applications
US7111023B2 (en) 2001-05-24 2006-09-19 Oracle International Corporation Synchronous change data capture in a relational database
US6708179B1 (en) 2001-09-28 2004-03-16 Oracle International Corporation Incremental refresh of materialized views for many-to-many relationships
DE10161114A1 (de) * 2001-12-12 2003-07-03 Siemens Ag System und Verfahren zur Modellierung und/oder Realisierung von Softwareanwendungen, insbesondere MES-Anwendungen
US7076740B2 (en) 2002-01-15 2006-07-11 National Instruments Corporation System and method for performing rapid control prototyping using a plurality of graphical programs that share a single graphical user interface
US7434229B2 (en) 2002-07-31 2008-10-07 Genesys Telecommunications Laboratories, Inc. Method for improving temporal consistency and snapshot recency in a monitored real-time software-reporting-application architecture
US20040123234A1 (en) 2002-12-18 2004-06-24 Schemalogic, Inc. Method and system for change control management of shema definition objects
US20050071805A1 (en) * 2003-09-30 2005-03-31 Johannes Lauterbach Developing applications using a metamodel
US20050262485A1 (en) * 2004-05-19 2005-11-24 International Business Machines Corporation Duplicate merge avoidance in parallel development of interdependent semi-derived artifacts
US7316001B2 (en) 2004-06-05 2008-01-01 Graphlogic Inc. Object process graph system
JP2008512794A (ja) 2004-09-10 2008-04-24 グラフロジック インコーポレイテッド オブジェクト処理グラフアプリケーション開発システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014130628A (ja) * 2009-01-30 2014-07-10 Ab Initio Technology Llc ベクトルフィールドを用いるデータ処理
US8996442B2 (en) 2009-01-30 2015-03-31 Ab Initio Technology Llc Processing data using vector fields
JP2013534331A (ja) * 2010-06-30 2013-09-02 サーモ エレクトロン サイエンティフィック インストルメンツ リミテッド ライアビリティ カンパニー 分析計測のためのインテリジェントな多機能マクロ言語

Also Published As

Publication number Publication date
US7536676B2 (en) 2009-05-19
IL181435A (en) 2011-05-31
CN101052948A (zh) 2007-10-10
WO2006031640A2 (en) 2006-03-23
CA2578385A1 (en) 2006-03-23
WO2006031640A3 (en) 2006-06-01
IL181435A0 (en) 2007-07-04
US20060059461A1 (en) 2006-03-16
EP1787197A2 (en) 2007-05-23

Similar Documents

Publication Publication Date Title
US7536676B2 (en) Object process graph application controller-viewer
US9395958B2 (en) Systems and methods for drag-and-drop data binding
US9361069B2 (en) Systems and methods for defining a simulated interactive web page
Szekely et al. Beyond interface builders: Model-based interface tools
US6804686B1 (en) System and methodology for providing fixed UML layout for an object oriented class browser
JP2006107478A (ja) ワークフローを設計するための拡張可能フレームワーク
JPH064280A (ja) ウィズィウィグ式エディターでオブジェクトをユーザ制御する機能を備えたグラフィカル・ユーザ・インターフェース
Kremer Toward a multi-user, programmable web concept mapping" shell" to handle multiple formalisms
Mitchell et al. DRIVE: an environment for the organised construction of user-interfaces to databases
Huh et al. Integrated data mapping for a software meta-tool
Noack et al. An integrated simulation environment for cfd and other computational disciplines
Federl Design and Implementation of Global Virtual Laboratory: A Network-accessible Simulation Environment
Sawyer et al. A User Interface Framework for an Object-Oriented Database System
Saiz et al. KIISS: a system for visual specification of model-based user interfaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080827

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110818

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110818