JP2006107478A - ワークフローを設計するための拡張可能フレームワーク - Google Patents
ワークフローを設計するための拡張可能フレームワーク Download PDFInfo
- Publication number
- JP2006107478A JP2006107478A JP2005265378A JP2005265378A JP2006107478A JP 2006107478 A JP2006107478 A JP 2006107478A JP 2005265378 A JP2005265378 A JP 2005265378A JP 2005265378 A JP2005265378 A JP 2005265378A JP 2006107478 A JP2006107478 A JP 2006107478A
- Authority
- JP
- Japan
- Prior art keywords
- workflow
- activity
- user
- activities
- designer
- 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
Links
- 230000000694 effects Effects 0.000 claims abstract description 533
- 238000000034 method Methods 0.000 claims description 156
- 230000008569 process Effects 0.000 claims description 86
- 238000009877 rendering Methods 0.000 claims description 31
- 238000010200 validation analysis Methods 0.000 claims description 17
- 238000012937 correction Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000011156 evaluation Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 56
- 238000013461 design Methods 0.000 description 42
- 230000000007 visual effect Effects 0.000 description 41
- 239000002131 composite material Substances 0.000 description 26
- 230000009471 action Effects 0.000 description 24
- 238000005034 decoration Methods 0.000 description 21
- 230000006399 behavior Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 15
- 238000013459 approach Methods 0.000 description 12
- 230000000875 corresponding effect Effects 0.000 description 10
- 230000004913 activation Effects 0.000 description 9
- 238000001994 activation Methods 0.000 description 9
- 238000012800 visualization Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000007639 printing Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 238000004091 panning Methods 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 239000011521 glass Substances 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 239000004606 Fillers/Extenders Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- YCISZOVUHXIOFY-HKXOFBAYSA-N Halopredone acetate Chemical compound C1([C@H](F)C2)=CC(=O)C(Br)=C[C@]1(C)[C@]1(F)[C@@H]2[C@@H]2CC[C@](OC(C)=O)(C(=O)COC(=O)C)[C@@]2(C)C[C@@H]1O YCISZOVUHXIOFY-HKXOFBAYSA-N 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000037007 arousal Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0633—Workflow analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services
- G06Q50/188—Electronic negotiation
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Health & Medical Sciences (AREA)
- Technology Law (AREA)
- Human Computer Interaction (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【解決手段】 ワークフローの各ステップは、ワークフローステップの設計時の態様、コンパイル時の態様、および実行時の態様を記述するメタデータを持つアクティビティとしてモデル化される。ユーザは、ユーザインターフェイスを介してワークフローを作成するアクティビティを選択し、配置する。ワークフロー内のアクティビティのそれぞれに関連付けられたメタデータが収集され、ワークフローの永続的表現を作成する。ユーザは、カスタムアクティビティをオーサリングすることによりワークフローモデルを拡張する。
【選択図】 図1
Description
本発明のいくつかの実施形態では、ビジネスプロセスなどのプロセスを表すワークフローをモデル化する。ビジネスプロセスとは、予測可能で再現可能な成果が得られる従属する、順序付けられたタスク、アクティビティなどのことである。組織の運営手順、制度に関する実務知識、および情報資源を含めて、ビジネスプロセスは、効率よく、時機を逃すことなく定義済みのビジネス目的を達成するように設計される。効率的な環境では、プロセスの機能コンポーネントは、絶え間なく変化する企業要件に対処するために、容易に識別し、適合し、展開することができる。ワークフローは、ビジネスプロセス内のタスクとやり取りするエンドユーザのエクスペリエンスである。タスクは、アクティビティ、コンポーネントなどとしてモデル化され、それぞれ人またはマシンにより実行される一単位の作業である。一実施形態では、複数のアクティビティが一人のユーザ提示される。ユーザは、ワークフローを作成する複数のアクティビティを選択して編成する。作成されたワークフローは、実行され、ビジネスプロセスをモデル化する。図1を参照すると、ワークフロー100の実施例は、タスクおよび制御フロー複合アクティビティを含んでいる。
メタデータプロパティの値は、アクティビティが構成されたスケジュールのいくつかのインスタンスにわたってそのアクティビティのすべてのインスタンスにより共有される。例えば、ユーザがスケジュールAを作成し、送信アクティビティをそれに追加した場合、送信アクティビティはそのメタデータの一部として識別情報(例えば、「001」)を与えられる。スケジュールに追加される第2の送信アクティビティは、その独自の一意的な識別情報(例えば、「002」)を受け取ることになる。スケジュールAの複数のインスタンスが作成され、実行されると、送信「001」のすべてのインスタンスはメタデータ値を共有する。対照的に、アクティビティのインスタンスデータは、実行スケジュールインスタンス内のアクティビティのインスタンスに特有のデータの集合を定義する。例えば、遅延アクティビティは、遅延アクティビティのタイムアウト値を表す日時値であるインスタンスデータに関する読み取り専用プロパティを与えることができる。この値は、遅延アクティビティが実行を開始した後利用可能になり、遅延アクティビティの1つ1つのインスタンスについて十中八九異なる。参照を「インスタンス」で修飾せずに、スケジュールのインスタンス、特にアクティビティおよびタスクのインスタンスを参照するのがふつうである。
実行アクティビティの実行コンテキストおよび実行アクティビティから見える共有データは、スコープにより規定される。スコープとは、コアアクティビティのうちの1つである。スコープは、変数および長時間実行しているサービスの状態をトランザクション意味論、エラー処理意味論、補正、イベントハンドラ、およびデータ状態管理とともにひとまとめにするための統一言語構文である。スコープは、関連付けられた例外およびイベントハンドラを持つことができる。一実施形態では、スコープは、トランザクション、アトミック、長時間実行、または同期化のスコープとすることができる。ユーザ変数に対するread−writeまたはwrite−write アクセスが衝突する場合にユーザのために同時実行制御が用意される。スコープは、さらに、トランザクション境界、例外処理境界、および補正境界でもある。スコープはスケジュール内でネストすることができるので、さらに、名前が衝突することなく異なるスコープ(スコープがネストしているとしても)内で同じ名前により変数、メッセージ、チャネル、および相関関係集合を宣言することが可能である。
スコープアクティビティは、スコープアクティビティのビジネスロジックを含む関連するコードビサイドクラスを持つことができる。スケジュールはそれ自体スコープであるため、スケジュールはコードビサイドクラスも持つことができる。スケジュール内にネストされているスコープも、それ独自のコードビサイドクラスを持つことができる。スコープ内でネストされているアクティビティは、共有データ状態およびビジネスロジックのコンテナとして働くスコープのコードビサイドクラスを共有する。例えば、コードアクティビティのメタデータは、コードビサイド内に特定のシグネチャを持つメソッドへの参照を含む。他の実施例では、送信アクティビティのメタデータは、特定のシグネチャのコードビサイドメソッドへのオプションの参照に加えてメッセージ宣言およびチャネル宣言への必須参照を含む。
ワークフローを設計するためのユーザインターフェイス
図4を参照すると、ブロック図は、ワークフローを作成するためにユーザと本発明との間で行われるやり取りを例示している。ユーザ402は、ディスプレイ404(例えば、表示装置、またはアプリケーションプログラムの実行環境内の表示領域)およびユーザインターフェイス選択装置406を対話形式で操作し、コンピュータ実行可能コンポーネントを介してワークフローを設計する。ワークフローをモデル化するためのコンピュータ実行可能コンポーネントは、コンピュータ可読媒体410などの1つまたは複数のコンピュータ可読媒体上に格納され、レンダリングコンポーネント412、インターフェイスコンポーネント414、デザイナコンポーネント416、およびバリデーションコンポーネント418を含む。レンダリングコンポーネント412は、ディスプレイ404上に複数のアクティビティを表示する。インターフェイスコンポーネント414は、ユーザインターフェイス選択装置406を介してユーザ402からレンダリングコンポーネント412により表示されるアクティビティの選択を受け取る。レンダリングコンポーネント412は、さらに、ディスプレイ404上に、インターフェイスコンポーネント414が受け取ったアクティビティの選択を表示する。インターフェイスコンポーネント414は、さらに、ユーザインターフェイス選択装置406を介してユーザ402から構造情報を受け取る。デザイナコンポーネント416は、ワークフローを作成するために受け取った構造情報に従ってディスプレイ404上にアクティビティの選択を配列する。バリデーションコンポーネント418は、定義済みインターフェイス要件への適合具合の意味論を評価する。
ワークフローステンシル(例えば、ワークフローテンプレートまたはアクティビティパッケージ)は、ルートアクティビティおよびアクティビティの集合を含む。ステンシルは、領域および/またはホスト固有である。前者の実施例としては、構造化ワークフローステンシル、ヒューマンワークフローステンシル、および非構造化ワークフローステンシルがある。いくつかのステンシルは、場合によっては特定のホスト環境内で連携するように設計されている1つまたは複数のルートを含むアクティビティの集合として「閉じて」いてもよい。他のステンシルは、さまざまな程度で「開いて」いてもよい。ステンシルは、その拡張性ポイントを定める。例えば、開発者は、CustomRootおよび新しい抽象CustomActivityを書いて、パッケージがCustomRootであり、さらにCustomActivityから派生したアクティビティであると宣言する。
オーケストレーションエンジンは、WYSWYG方式でさまざまなクラスのワークフローモデルを設計するためのフレームワークを備える。例えば、図9を参照すると、ワークフローオーサリングするための高水準アプリケーションユーザインターフェイスは、ワークフローの指定にウィザードに依存している。このフレームワークは、開発者がビジュアルワークフローデザイナを書けるようにするサービスおよびビヘイビアの集合を含む。これらのサービスは、ワークフロープロセスのレンダリング、フローを描画するためのインク/タブレットのサポート、および元に戻す/繰り返し、ドラッグ/ドロップ、切り取り/コピー/貼り付け、ズーム、パン、検索/置換、ブックマーク、装飾、バリデーションエラー用のスマートタグ、アクティビティ用の有効なドロップターゲットインジケータ、自動レイアウト、ビューページ付け、ナビゲーションマーカー、ドラッグインジケータ、ヘッダ/フッタ付き印刷およびプレビューなどの効率的方法を提供する。このようなユーザインターフェイスを使用することで、タスクおよび制御フロー複合アクティビティ(例えば、シーケンス、パラレル、および条件付き)を含む単純なワークフローを構成することができる。ルール指定(例えば、条件付き分岐ロジック、whileループロジック)、またはデータフロー指定(例えば、タスクAの出力がタスクBへの入力である)のいずれにも、コードの入力(または既存のコンパイル済みコードへの依存)は不要である。スケジュールのシリアライズされた表現(ルールおよびデータフローを含む)は、コードビサイドが必要ないいくつかのシナリオでは自己充足しており、完全である。
internal static bool AreAllComponentsInWritableContext(Icollection components)
internal static bool IsContextReadOnly(IServiceProvider serviceProvider)
これらの関数は、アクティビティが挿入されるコンテキストが書き込み可能かどうかをチェックするためにインフラストラクチャにより呼び出される。ホスティングされたデザイナでは、これらの関数はfalseを返す。さらに、プロパティの修正が禁止される。他の関数は、適切なコンポーネントからアクティビティデザイナをフェッチする。
internal static ServiceDesigner GetSafeRootDesigner(IServiceProvider serviceProvider)
internal static ICompositeActivityDesigner GetSafeParentDesigner(object obj)
internal static IActivityDesigner GetSafeDesigner(object obj)
一実施例では、ユーザはスケジュールを作成し、それをアクティビティとしてコンパイルする。コンパイルに成功すると、スケジュールはツールボックス上に表示される。ユーザは、コンパイルされたスケジュールの使用が望ましいスケジュールを開くか、または作成する。ユーザは、ツールボックスからコンパイル済みスケジュールをドラッグ&ドロップする。縮小されたスケジュールデザイナがデザインサーフェスに示される。ユーザがドロップされたコンパイル済みスケジュールのコンテンツを表示したい場合、ユーザはそのスケジュールデザイナを展開して、呼び出されたスケジュールのコンテンツを読み取り専用状態でインライン表示する。呼び出されたスケジュールのインライン化により、ユーザはスケジュールデザイナ同士を切り換えなくても呼び出されたスケジュールを表示することができる。この機能は、既存のスケジュールを再利用して上位スケジュールを作成する開発者に有用な機能である。
デザイナフレームワークを使用して書かれたワークフローデザイナは、ワークフローテーマを使用してカスタマイズすることができる。これらは、デザイナのさまざまな態様を宣言的に記述する拡張マークアップ言語(XML)ファイルとすることができる。ワークフローデザイナは、アクティビティを拡張するパートナのサポートをウィザードで対応している。ワークフローデザイナによりサポートされるユーザインターフェイス機能の例として、限定はしないが、元に戻す/繰り返し、ドラッグ/ドロップ、切り取り/コピー/貼り付け、ズーム、パン、検索/置換、ブックマーク、装飾、バリデーションエラー用のスマートタグ、アクティビティ用の有効なドロップターゲットインジケータ、自動レイアウト、ビューページ付け、ナビゲーションマーカー、ドラッグインジケータ、ヘッダ/フッタ付き印刷およびプレビュー、およびドキュメントアウトライン統合がある。ワークフローデザイナは、XMLメタデータを使用してデザイナのルック&フィールをカスタマイズできるカスタムデザイナテーマ/スキンをサポートする。例えば、ワークフローデザイナは、ユーザからカスタマイズ情報を受け取る。ワークフローデザイナでは、バックグラウンドコンパイルをサポートする。一実施例では、スケジュールを設計しながらバリデーションエラーを調べるスマートタグおよびスマートアクションが用意される。ワークフローデザイナは、任意のコンテナ(例えば、アプリケーションプログラム、シェルなど)でホスティングすることができる。
他の実施形態では、本発明は、さまざまなワークフローオペレーションを実行するためのアプリケーションプログラミングインターフェイス(API)を備える。ハードウェア、ソフトウェア、および1つまたは複数のアプリケーションプログラミングインターフェイスは、ワークフローをオーサリングする手段の実施例、アクティビティの1つまたは複数を選択してワークフローを作成する手段の実施例、ワークフローをシリアライズする手段の実施例、ワークフローの視覚的表示をカスタマイズする手段の実施例、ワークフローの妥当性確認を行う手段の実施例、ワークフローをコンパイルする手段の実施例、および型をワークフロー内のアクティビティのそれぞれに関連付ける手段の実施例の構成要素となる。
スケジュールおよびスコープを除き、エンジンは、アクティビティを抽象エンティティとして表示し、単に、特定のアクティビティの特定のデータまたは意味論を知らずにアクティビティの実行を簡単に調整する。一実施形態では、4つのエンティティは、アクティビティ自体、実行中のアクティビティの親アクティビティ、実行中のアクティビティを閉じるスコープ、およびオーケストレーションエンジンの実行中にやり取りをする。それぞれのエンティティは異なる関数を持つ。
実行ワークフローでは、スケジュールに送られるメッセージは、特定のスケジュールインスタンス向けである。例えば、発注書#123に対するインボイスをその発注書を発信した(例えば、送出した)のと同じスケジュールインスタンスに送り返さなければならない。受信メッセージと適切なスケジュールインスタンスとを照合するために、メッセージおよびスケジュールインスタンスは相関関係集合を共有する。相関関係集合は、メッセージ内の識別子フィールドがスケジュールインスタンスにより保持される同じ型の識別子と突き合わせて照合されることを意味する一価相関関係集合でよい。多プロパティ相関関係集合も、可能であり、データベーステーブル内の複数列主キーに類似している。
オーケストレーションエンジンは、さまざまな種類のワークフローをオーサリングする(そして、その後、ビジュアル化し、実行する)ためのフレームワークを提供する。実施例としては、event−condition−action(ECA)スタイルのワークフローまたは構造化フローまたはルール駆動フローがある。さらに、ワークフローのモデル化方法に関係なく、フレームワークにより、ユーザは設計時と同じ方法で、またはワークフロープロセスを再コンパイルしなくてもワークフロープロセスが実行しているときであってもワークフローをオーサリングまたは編集することができる。フレームワークを使用すると、ユーザはランタイムと高忠実度の設計時表現との間のラウンドトリッピングが可能になる。アドホックな変更は、プロセスモデルに対し実行時に加えられる変更である。ユーザは、そのスケジュールモデルを実行インスタンスに問い合わせ、モデルに変更を加えることができる。例えば、ユーザは、バッチ式でアクティビティの追加、削除、または置換を行うことができ、その後、バッチ変更をコミットまたはロールバックすることができる。一実施形態では、モデルは更新の後に妥当性確認が行われる。本発明の多くのワークフローシナリオでは、「設計時オーサリング」および「ランタイム実行」との間の分離のぼかし、またはさらには除去がある。
シリアライゼーションインフラストラクチャは、オーケストレーションエンジンのアクティビティツリーをシリアライズする、モジュール方式の、形式に依存しない、容易に拡張可能なメカニズムを提供する。
一実施形態では、CreateEditorInstance()関数が、DesignSurfaceオブジェクトを作成し、その後、DesignSurfaceオブジェクト上でBeginLoad()関数を呼び出して実際のローダオブジェクトをその中に渡し、最後に、BeginLoad()でDesignerLoader()関数を呼び出す。PerformLoad()関数は、テキストバッファオブジェクトを読み込み、それをオーケストレーションエンジンコンポーネントモデル階層にデシリアライズする。本発明は、階層内を辿り、アクティビティをデザインサーフェスに挿入し、コンポーネントをVisual Studioにロードする。
デザイナフレームワークは、どのようなアプリケーションプログラムでもホスティングできる。これは、サードパーティのアプリケーションでそれぞれの環境においてワークフローをレンダリングするのに非常に有用な機能である。またこれにより、サードパーティは、デザインサーフェスを再ホスティングおよびカスタマイズすることで、オーケストレーションエンジンデザイナ周辺のツールを開発することができる。本発明のフレームワークでは、ホスティングコンテナアプリケーション側でエディタおよび/またはテキストバッファなどのサービス群を用意することを想定している。
スケジュールを作成し、正しく構築した後、開発者は一連の実行済みオペレーションをロールバックしたい場合がある。本発明の「元に戻す」および「繰り返し」機能を使用すると、どのアクティビティが直接影響を受けているかを例示する視覚的フィードバックが得られる。例えば、アクティビティ上でプロパティの変更が元に戻される場合、影響を受けたアクティビティは選択状態になる。複数のオブジェクトの削除が元に戻される場合、関わっているすべてのオブジェクトが、スケジュールに復元されるときに選択状態になる。Undo/Redo(元に戻す/繰り返し)は、他の分野における多くのアプリケーション全体を通して使用される共通の機能であり、その意味はよく理解されている。オーケストレーションエンジンデザイナでは、Save後に、元に戻す/繰り返しアイテムがパージされることはない。さらに、元に戻す/繰り返しは、プロセス/ワークフロービューで、XOMLビューで、開発者がビューを切り換えた場合に、およびコードビサイド内で実行することができる。
図12は、コンピュータ130の形態の汎用コンピューティング装置の一実施例を示している。本発明の一実施形態では、コンピュータ130などのコンピュータは、例示され、本明細書で説明されている他の図で使用するのに適している。コンピュータ130は、1つまたは複数のプロセッサまたは演算処理装置132およびシステムメモリ134を備える。例示されている実施形態では、システムバス136は、システムメモリ134を含むさまざまなシステムコンポーネントをプロセッサ132に結合する。バス136は、メモリバスまたはメモリコントローラ、周辺機器バス、アクセラレイティッドグラフィックスポート、およびさまざまなバスアーキテクチャのどれかを使用するプロセッサまたはローカルバスを含む数種類のバス構造のうちの1つまたは複数を表している。例えば、限定はしないが、このようなアーキテクチャとしては、Industry Standard Architecture(ISA)バス、Micro Channel Architecture(MCA)バス、Enhanced ISA(EISA)バス、Video Electronics Standards Association(VESA)ローカルバス、およびMezzanineバスとも呼ばれるPeripheral Component Interconnect(PCI)バスがある。
符号Aでは、アクティビティのいくつかの実施例を説明する。
アクティビティの例としては、Send、SendRequest、SendResponse、Receive、ReceiveRequest、ReceiveResponse、Code、Delay、Fault、Suspend、Terminate、InvokeSchedule、InvokeSchedules、Invoke WebService、DotNetEventSource、DotNetEventSink、Sequence、Parallel、While、ConditionalBranch、Conditional、Constrained、ConstrainedActivityGroup(CAG)、EventDriven、Listen、EventHandlers、ExceptionHandler、ExceptionHandlers、Compensate、CompensationHandler、Scope、およびScheduleがある。
オーケストレーションエンジンは、メッセージを送信する3つのアクティビティ(例えば、Send、SendRequest、およびSendResponse)を備え、それぞれ異なる使用事例を対象とする。さらに、これら3つのアクティビティは、何らかのメタデータを共有するので、抽象基本クラスが3つのすべての上位クラスとして定義され使用される。
Receiveアクティビティ
オーケストレーションエンジンは、メッセージを受信する3つのアクティビティ(例えば、Receive、ReceiveRequest、およびReceiveResponse)を備え、それぞれ異なる使用事例を対象とする。さらに、これら3つのアクティビティは、何らかのメタデータを共有するので、抽象基本クラスが3つのすべての上位クラスとして定義され使用される。
Code
Codeアクティビティは、メタデータで指示されているコードビサイドメソッドを実行する。
Delayアクティビティは、その必須コードビサイドメソッドを実行してDateTime値を生成する。そのインスタンスデータのTimeoutValueプロパティをこの値に内部的に設定する。DateTimeが過去であれば、Delayは即座に完了する。そうでなければ、タイマーが発火したときにDelayに通知するようにタイマーサブスクリプションをセットアップする。タイマーが発火した場合、Delayは通知され、完了する。
Fault
Faultアクティビティは、その必須コードビサイドメソッドを実行してExceptionオブジェクトを生成する。その後、この例外をスローする。
Suspend
Suspendアクティビティは、現在のスケジュールインスタンスをサスペンドする。
Terminate
Terminateアクティビティは、現在のスケジュールインスタンスを終了する。
InvokeScheduleアクティビティは、スケジュールを呼び出す。
プロキシクラスを介してWebサービスを呼び出して、パラメータを指定通り受け渡し、受信する。
すでに呼び出されているスケジュールインスタンスにより指定イベントが発生したという通知が来るのを待つブロック。
DotNetEvent Source
指定イベントを発生し、即座に実行を完了する。
Sequence
Sequenceアクティビティは、一度に1つずつ、順序正しく子アクティビティの集合の実行を調整する。
Parallel
Parallelアクティビティは、子アクティビティの集合を同時実行する。
子アクティビティを繰り返し実行する。
ConditionalBranch
Sequenceの意味論に従って、子アクティビティを実行する。
Conditional
Conditionalアクティビティは、ConditionalBranchアクティビティの順序付き集合を含む。
Constrained
ConstrainedアクティビティがCAGにより実行を指示された場合、それがラップするアクティビティを単に実行するだけである。
CAG(Constrained Activity Group)
CAGは、実行されると、そのイネーブルおよびディセーブル制約の評価に基づいて子アクティビティを実行(および再実行)する。
Task
1つまたは複数のプリンシパルにより実行される外部作業単位をモデル化する。
Event Driven
実行が「イベント」アクティビティによりトリガされるアクティビティをラップする。
n個の子EventDrivenアクティビティの1つを条件付きで実行する。
Event Handlers
EventHandlersアクティビティは、単純に、EventDrivenアクティビティの集合を保持し、これを関連するScopeが使用する。
Exception Handler
スコープに対するキャッチブロックを表すメタデータで、アクティビティをラップする。
Exception Handlers
ExceptionHandlerアクティビティの順序付き集合をラップする。
Compensate
完了した子スコープを補正する。
Compensation Handler
スコープに対する補正ハンドラとして定義されている子アクティビティをラップする。
スコープは、トランザクション境界、例外処理境界、補正境界、イベント処理境界、およびメッセージ、変数、相関関係集合、およびチャネル宣言の境界(つまり、共有データ状態)である。
Scope内のアクティビティの実行は順次であり、したがって、含まれているアクティビティは、Sequenceの場合のように、スコープが構築されたときに明示的に順序付けられる。
Schedule
Scheduleは、オーケストレーションエンジンが実行する唯一の最上位レベルのアクティビティである。
複合アクティビティ
制御フローを使用可能にする複合アクティビティ型は、Sequence、Parallel、Constrained Activity Group、Conditional、While、Listenである。さらに、ScopeおよびScheduleは、中にあるアクティビティの暗黙のシーケンス動作を含むコンテナとして動作する複合アクティビティ型である。
付録Bでは、ビジュアルデザイナおよび関連するアクティビティデザイナを説明する。
スケジュールは、一般に、多数のアクティビティからなる。それぞれのアクティビティはそれ自体の関連するデザイナを持つ。アクティビティがツールボックスからグラフィカルユーザインターフェイスのデザインサーフェス上にドラッグされた後、デザイナはグラフィカルユーザインターフェイス(UI)内にアイコンとして表される(例えば、Visual Studio)。デザイナは、オーサリングオブジェクトモデル(AOM)上にUI表現を提供する。開発者は、オブジェクトモデルに対して直接プログラムし、アクティビティのプロパティを設定するか、またはデザイナを使用し、Visual Studioのプロパティブラウザを利用することができる。
スケジュールを作成することは、アクティビティおよびスケジュールを構成するタスクを定義することを含む。オーケストレーションエンジンデザイナを使用することにより、開発者はツールボックス(例えば、カテゴリオーケストレーションエンジンアクティビティの下にある)からアクティビティを選択し、それをデザイナサーフェス上にドラッグすることができる。アクティビティがすでにスケジュールに入れられており、移動する必要がある場合、開発者は、それを選択して(それをクリックすることにより)、そのアクティビティを入れる必要のあるスケジュールの領域にドラッグすることができる。開発者がコントロールキーを押しながらドラッグ&ドロップを行うと、選択されたアクティビティのコピーが作成される。
開発者がさまざまなアクティビティを構成するのを補助するため、デザイナはさまざまなダイアログまたは「サブデザイナ」を備えている。それぞれのダイアログは、アクティビティのさまざまなプロパティについて呼び出される。開発者は、プロパティブラウザ内で省略記号により注釈されている場合にプロパティに対しデザイナを呼び出すことができる。
プロパティブラウザを通じてアクティビティを構成するときに、開発者側でプロパティまたはオブジェクトの型を指定する必要がある場合が多い。開発者は、必要とする型(例えば、System.String)を知っていれば、プロパティブラウザ内に直に打ち込む。タイプブラウザは、そのプロパティの予想される型と一致するプロジェクト内のコンパイルされたすべての参照アセンブリに対し視覚化を行う。アセンブリがタイプブラウズに表示される前に、最初に参照プロジェクトがコンパイルされなければならない。構成される特定のアクティビティプロパティに基づいて、タイプブラウザは、開発者に表示される型をフィルタ処理する。基本にアクティビティにより予期される型に応じて、タイプブラウザは、シリアライズ可能なクラスおよびインターフェイスおよびIComparableを実装するクラスをフィルタ処理する。例えば、sendアクティビティのメッセージプロパティからブラウザを起動すると、ブラウザにはシリアライズ可能なクラスの一覧が表示される。オーケストレーションエンジンは、メッセージの型、ポートの型、および相関関係の型を第1のクラスのプロセス型として認識する。以下の表には、CLR型を持つもののマッピングをまとめた。
本発明では、スケジュールでどの制約技術を使用するかに関係なく、開発者側で制約をオーサリングできる。開発者がドラッグ&ドロップメタファーを使用してコードを書くのは不自然なビヘイビアである。したがって、制約構成用のツールでは、マウスを使用し、さらにキーボードも使用して制約を定義する機能をサポートする。制約の最終的生成は、XOMLに継続する。そこで、生成された制約は、既存のXOMLオブジェクトモデルと整合しており、開発者は制約定義を手編集することができる。制約生成のため用意されているUIは、ユーザが制約を作成し、さらにそれを修正するのを補助する。このことは、すでに生成されている(および場合によっては修正されている)制約とUIとの間のラウンドトリッピングを意味する。
制約定義を行えるようにするアクティビティが与えられた場合、開発者は、対応する制約プロパティを特定し、ドロップダウンにおいて、適切なドロップダウンを選択することにより制約を定義したいことを指示する。ハンドラの定義の後、制約エディタを呼び出すためにプロパティブラウザでプロパティに省略記号を注釈として入れる。開発者は、制約の名前を指定することができる。この名前は、制約定義の残りとともにXOMLに継続する。制約定義は、定義グリッド内の、operand、operator、value、およびgroup byの4つの列を使用して実行される。operandは、制約に関わるオペランドを含むドロップダウンである。開発者は、ドロップダウンに直接打ち込み、オートコンプリート機能を使用して所望のオペランドを素早く選択することができる。operatorは、制約内で使用されるオペレータを定義するドロップダウンである。開発者は、オペレータをドロップダウンに直接打ち込むことができ、これにより、所望のオペレータを素早く選択できる。valueは、制約内で使用される開発者定義値である。制約を保存した後、この値と選択されたプロパティとが比較され、型が一致することを確認する。型が一致しない場合、「the operand and value types do not match」などのメッセージが表示され、開発者は違反する述語に向けられる。group by列は、「AND」または「OR」を含む2つの受け入れ可能な値を持つドロップダウンである。制約定義が進むにつれ、開発者は、定義グリッドの下にある編集不可能なダイアログ内の制約を表示することができる。これにより、開発者は、より直截的な方法で制約を表示することができる。この出力は、((A<3) AND (B>C)) AND (D=3)) OR (F=5)というような形になるであろう。
本発明では、タイプブラウザ、相関関係集合ブラウザ、およびルールデザイナなどの特定のアクティビティを構成することを補助するいくつかのサブデザイナを備える。アクティビティが十分に構成されていない場合、アクティビティのデザイナは、感嘆符スマートタグに似たアイコンで装飾される。開発者は、このアイコンをクリックして、そのアクティビティに特有の構成エラーのドロップダウンリストを表示する。プロパティ構成に関係するエラーについては、選択によりフォーカスがプロパティブラウザに移動し、エラーがあるプロパティ上にフォーカスが置かれる。アイコンは、アクティビティのすべてのプロパティが有効であれば、消える。
本発明のデザイナは、さらに、アクセス性の面で補助する他のUIオプションをいくつか用意している。プロセスビューの背景状況におけるこれらの機能の多くは、開発者が大規模なスケジュールを操作するのを補助するために用意されている。例えば、zoomを使用すれば、開発者はそのスケジュールの選択を広げることができる。スケジュールのズームイン/ズームアウトを行うメカニズムがいくつかあり、それぞれ特定の関数用に設計されている。一方法では、開発者は、特定のズーム割合を設定することによりスケジュール内にズームすることができる。割合の例は、40%、60%、80%、100%、150%、200%、300%、および400%である。これらのレベルは、最上位のワークフローメニューを使用するか、またはスクロールバー上のコマンドボタンを使用して設定することができる。ワークフロービューにより、ユーザはズームレベルを設定できる。ズームレベルで、巨大なワークフローの拡張性問題に対処する。ズームレベルは、最上位のワークフローメニューを使用するか、またはスクロールバー上のコマンドボタンを使用して設定することができる。ズームレベルは、ワークフローの編集に影響を及ぼすことはないが、複数の座標系を使用するとワークフロービューでこれを達成できる。ワークフロービューは、ズーム率をキャッシュし、それをレンダリングおよび座標変換に使用する。ズーム率は描画で使用されるが、そのためには、Graphics.ScaleTransformメソッドで選択する。選択したら、グラフィックスオブジェクトを使用して実行されたすべての描画が、使用されるスケーリングに基づいて変換される。描画前に、すべての座標に倍率が掛けられる。ユーザが座標変換のためマウスを使ってアクションを実行する場合には、ズーム率も使用される。
−if ユーザがオートパニングモードに入る
−できる限りワークフローの大部分が表示されるようにズームレベルを設定する
−可視状態のワークフロービットマップを捕捉する
−if ユーザがマウスをドラッグしている
−マウス座標を取得する
−それをワークフロービットマップにマッピングする
−マッピングされたワークフロービットマップをコピーすることにより拡大鏡を描画する
−if マウスがオートスクロール領域に入り、ワークフローをスクロールできる
オートスクロールする
−else if ユーザがオートスクロール領域を出る
−可視状態のワークフロービットマップを再度捕捉する
−endif
−else
−マウスを離した座標を取得する
−それをワークフロー領域にマッピングする
−ワークフロー領域を中央に揃える
−endif
一実施形態では、本発明は、ワークフローの右下に小さなパンウィンドウを表示することによりオートパニング機能をサポートし、そこでは、ユーザはワークフロー全体の表現をサムネイル形式で表示することができる。
オーケストレーションエンジンデザイナは、ホスト環境を提供する異なるアプリケーションでホスティングすることができる。他のアプリケーションの内側でホスティングされる場合、オーケストレーションエンジンデザイナのルック&フィールをモーフィングし、ホスティングはアプリケーション内にブレンドすることができる。ユーザは、ユーザのニーズに応じて、Visual Studio開発環境の内側でホスティングされている場合にデザイナのビジュアルパラメータを変更できる。テーマサポートにより、ユーザは、デザイナの実装に影響を与えたり、デザイナのコードを修正することなく、オーケストレーションエンジンデザイナのビジュアルパラメータを変更できる。
他のアプリケーションと同様に、オーケストレーションエンジンデザイナは、Print Preview(印刷プレビュー)機能を備える。この機能は、プロセス/ワークフロービューの視覚的レイアウトを変更し、現在選択されているプリンタが指定された場合にスケジュールを印刷する方法を反映する。概念的には、Print Previewは、既存のプロセス/ワークフロービュー上のもう1つのビューである。そのため、開発者は、それでも、慣れているすべてのスケジュール、アクティビティ、およびタスク操作を実行できる。Print Previewでは、開発者は、スケジュール操作が行われるときにリアルタイムで印刷の意味を理解することができる。プロセス/ワークフロービューは、全体として(SmartTagsを含む) 印刷される。開発者は、File Menuから「Print Preview」を選択するか、または垂直スクロールバーの一番上のアイコンをクリックすることにより印刷プレビューを呼び出すことができる。呼び出されると、既定のビューは、オリジナルの40%となる。
オーケストレーションエンジンデザイナは、アクティビティレベルによりあるアクティビティの構成されたスケジュール設定済みスケジュールをナビゲートする機能を備える。以下のキーボードナビゲーションがサポートされる。
−開発者は、上、下、左、および右矢印キーを使用してスケジュールをトラバースすることができる。
−複合アクティビティは、「+」キーを使用して展開し、「−」を使用して縮小することができる。
−開発者は、ドラッグ&ドロップ実行中に、e−escapeキーを叩くことによりそのオペレーションをキャンセルすることができる。
−Enterキーを叩いても、アクティビティ上でダブルクリックすることと同じ効果が得られる。
デザイナは、ズーム、印刷プレビュー状態、スクロールバー位置、選択、および複合アクティビティの展開または縮小状態を含むアクティビティデザイナ特有の状態、スコープおよびスケジュールのワークフロー対例外対イベント状態、制約アクティビティグループ(CAG)編集またはプレビューモード、プレビューアクティビティの現在アクティブになっているアクティビティ(例えば、CAG、イベント、および例外の)、およびインライン化状態に対するUI構成を保存することができる。
スケジュールを作成するときに、開発者は、基本的に、ワークフローの編集可能なグラフィック表現(望まれている場合には必ずXMLとして操作することも可能な)およびコードビサイド(例えば、C#またはVisual Basic)の2つの別々のアイテムを操作している。この定義は、XMLまたはXOMLとして操作することができる。XOMLは、スケジュールのXML表現である。プロセス/ワークフローデザイナの目的は、開発者がこのXMLを素早く生成することを手助けすることである。
テーマをアクティビティデザイナに関連付けるには、アクティビティデザイナをThemeAttributeで装飾する必要がある。この方法でデザイナライターはテーマ関連メタデータをデザイナに関連付けることができる。テーマインフラストラクチャでは、デザイナが作成されるときにこのメタデータをピックアップし、デザイナビジュアル化をレンダリングする必要が生じたときに必要に応じてデザイナに渡すことができる。以下に、テーマ属性をsendデザイナに関連付ける方法の実施例を示す。
Theme属性クラスは、デザイナに関連付けられたテーマオブジェクトの型およびテーマオブジェクトを初期化するイニシャライザXMLの2つのパラメータをとる。イニシャライザXMLは、オプションのパラメータである。
−DesignerThemesをシリアライズ/デシリアライズする。
−シリアライゼーションプロセスで発生したエラーを報告する。
−テーマが変化した場合にイベントを発火する。
−別のデザイナに関連付けられている、DesignerThemeクラスを管理する。
−テーマ資源を管理し、描画のため作成されたオブジェクトのキャッシュとして機能する。
−含まれるDesignerThemesにより要求された資源解決を実行する。
テーマクラスは、デザイナでテーマをサポートできるように、以下のプロパティを公開している。
オートスクロール機能を使用すると、ユーザは、ドラッグ&ドロップオペレーションを実行しながら、またはオートパニングを実行しながらワークフローの任意の部分に素早くナビゲートすることができる。オートスクロール機能は、オートスクロールインジケータを追加することにより強化される。オートスクロールインジケータは、ユーザがオートスクロールの可能な方向を理解することができるようにする視覚的手掛かりである。オートスクロールインジケータ機能により、デザイナの使い勝手が向上する。
メッセージがドラッグホバーならば
ワークフロービューがビューポートに入りきらなければ
辺にそってワークフローの10%をとることによりオートスクロールゾーンを計算する
−マウスアクションの座標がオートスクロールゾーンおよびワークフロービュースクロール内に入るならば
−オートスクロールタイマーをトリガする
−オートスクロールゾーン内のマウス位置に基づいてスクロール位置を加減する
−さもなければ
−オートスクロールタイマーを停止する
コネクタ装飾のドラッグ&ドロップ
この機能により、ドラッグ&ドロップオペレーションの使い勝手が向上する。ユーザがコンポーネントのドラッグを開始すると、デザイナは、ドラッグされたコンポーネントのドロップを可能にするそれらのコネクタを自動的に区別する。カーソルがコネクタに十分近づくと、ドラッグされた画像がコネクタにスナップインする。ワークフロービューは、アクティビティ上に装飾を追加する装飾サービスを含む。装飾サービスにより、すべてのアクティビティの描画が実行された後、アクティビティは通常使用されるUIグリフを描画することができる。これにより、グリフはどれも他のアクティビティによって上書きされず、グリフに対し特別な処置が講じられることが保証される。現在、アクティビティはさまざまな種類のグリフをサポートし、これらは不十分な構成、選択、選択可能なコネクタ、ブレークポイントなどを含む。装飾サービスクラスは、ワークフロービューのプライベートヘルパークラスとして表示することができる。装飾サービスは、グリフがアクティブになったときにグリフを異なる形で表現する役割を持つ。グリフは、グリフ上でユーザが実行するマウスアクションに基づいてアクティブになりうるが、これらはマウスホバーまたはマウスクリックを含む。アクティブなグリフは、それがアクティブな場合に基づいて異なるアクションを実行でき、これはドロップダウンメニューの表示またはプロパティブラウザへのナビゲーションのトリガ、アクティビティ上にスマートタグアクショングリフを表示するバリデーションルーチンのトリガなどを含む。アクティビティ上にグリフを追加することに加えて、装飾サービスでは、さらに、IPropertyValueUlServiceを使用してプロパティブラウザ上にグリフを追加する。装飾サービスは、グリフに関連付けられているデザイナアクションをVisual Studio IDEのタスクリストに追加する役割を持つ。
IComponentChangeService
ComponentChanged:コンポーネントプロパティが変更された場合にトリガされる。
ComponentAdded:新しいコンポーネントが追加された場合にトリガされる。
ComponentRemoved:コンポーネントが削除された場合にトリガされる。
ISelectionService
SelectionChanged:デザイナのSelectionが変更された場合に発火する。
IPropertyValueUIService
AddPropertyValueUlHandler:プロパティブラウザ内で選択変更またはプロパティリフレッシュが生じたときに発火する。
ITypeProvider
TypesChanged:新しい型がタイプシステムに追加/削除された場合に発火する。
以下に、さまざまな目的のためにデザイナにより現在使用されている各種のグリフを示す。
−IDesignerServiceのDraggedComponentsプロパティにアクセスすることによりデザインサーフェスが現在ドラッグ&ドロップオペレーションの最中であるかチェックする
−すべてのコネクタについて、
−CanInsertActivities()を呼び出して、コネクタがドロップオペレーションを許容するか確認する
−DesignerHelpers.IsContextReadOnly()によりデザイナが読み取り専用サイトにないかチェックする(スケジュールを呼び出す)
−そのコネクタに対するConnectorDragDropGlyphのインスタンスを作成する
ドラッグされた画像とともにカーソルが、ドロップが有効になっている領域上をホバリングすると、ドラッグされた画像はコネクタの真ん中にスナップする。
−OnDragEnter()およびOnDragOver()イベントは、WorkflowDragEventArgsのインスタンスを第1のパラメータとして取得する
−WorkflowDragEventArgsは、ドラッグされたデザイナを所定の点にスナップしたいことをデザイナが示すようにできるプロパティpublic Point SnapInPoint{}を持つ。
−WorkflowViewコントロールは、ドラッグされた画像をデザイナが要求したかチェックし、
−画像の半透明モードを削除する
−デザイナ要求位置に画像を置く
−SequentialActivityDesignerは、OnDragEnter()およびOnDragOver()の両方のイベントをオーバーライドし、所有していれば現在のドロップターゲットの真ん中を示す。
本発明は、ツールとして、Zoom In/Out(ズームレベルの増減、およびクリックした点の周りのビューの中央揃え)およびPan(クリックするとデザインサーフェスを「掴み」、ドラッグしてあちこち動かせる手)を含む。すべてのツールはマウスおよびキーボードイベントの処理を完全にオーバーライドするので、戦略デザインパターンは、すべてのイベントを処理する置き換え可能なIDesignerMessageFilterオブジェクトを作成する。インターフェイスIDesignerMessageFilterは以下のように定義される。
XomlWindowPaneによって作成されるコントロールは、XomlDocumentRootViewである。このコントロールは、垂直スクロールバーおよび水平スクロールバーを持つ。さらに、水平スクロールバーの左側と垂直スクロールバーの下側にタブボタンがある。水平スクロールバーのタブボタンは、複数のビューのホスティングを表示するために使用される。第1のタブでは、ワークフロービューであるsurface.GetView()によって返されるビューをホスティングし、第2のタブへは、Microsoft Xmlエディタをホスティングする。水平スクロールバー内のタブを変更すると、適切なビュー変更イベントが発火する。これはIViewCreationServiceを使用してビューを作成する。異なるビュー作成サービスをフックすることにより、さらにビューを追加することができる。以下に、IViewCreationServiceのインターフェイス定義を示す。
これは、デザイナに追加した場合のスコープの既定のビューである。このオプションを選択すると、開発者はこのビューに戻ることができる。
View Exceptions
このオプションを選択すると、UIがインプレースで変更され、Scopeに関連付けられている例外が表示される。これは、Transaction TypeがLong Running(長時間実行)またはNone(なし)の場合に有効にされる。言い換えると、このメニューは、Transaction TypeがAtomic(アトミック)の場合には利用できないということである。
View Events
このオプションを選択すると、UIがインプレースで変更され、Scopeに関連付けられているイベントハンドラが表示される。
View Compensation
このオプションを選択すると、UIがインプレースで変更され、Scopeで定義されているCompensationが表示される。これはTransaction型プロパティがLong RunningまたはAtomicに設定されている場合に有効である。
ワークフローをより視覚的に目立たせるために、ワークフロー内に表示されるアクティビティのそれぞれにシャドウを追加する視覚的深さを設定できる。これは視覚的喚起力を加えるが、ワークフロー内のすべてのアクティビティに対しシャドウを描画しなければならないので、ユーザ対話操作をわずかにスローダウンさせる。視覚的深さは0から4までとすることができる。この数値に基づいて、シャドウ深さ(shadow depth)が決定される。視覚的深さが設定されたら、ワークフローを描画する毎に、メモリスナップショットを作成し、グレースケール変換をビットマップに適用する。その後、このグレースケールビットマップは、Graphicsオブジェクトへの視覚的深さを使用してユーザにより指定されたオフセットでレンダリングされる。その後、メモリスナップショットの背景を透明にし、それをグレースケールビットマップの上にコピーする。こうして、ワークフローに3D効果を与える。
以下に、新しいレイアウトを作成するために実装されるプロパティおよびメソッドを示す。
Point TransformToPhysicalCoOrd(Point point, bool mapToLayout)
Size TransformToPhysicalSize(Size size)
Rectangle TransformToPhysicalViewPort(Rectangle logicalViewPort)
物理座標から論理座標への変換:
Point TransformToLogicalCoOrd(Point point, bool mapToLayout)
Size TransformToLogicalSize(Size size)
Rectangle TransformToLogicalViewPort(Rectangle physicalViewPort
作成した後、ワークフロービューは、IDesignerServiceと呼ばれるサービスをサービスコンテナに追加する。アクティビティデザイナおよび他のホストは、IDesignerServiceに対しクエリを実行し、ワークフロービューおよび下のWindows(登録商標)コントロールと通信する。以下に、IDesignerServiceの定義を示す。このインターフェイスでサポートしているプロパティ、メソッド、およびイベントは、2つの主要なカテゴリ、デザインサーフェスによりサポートされるUI機能、つまりZoom、VisualDepth、Printingなどおよびワークフローを適切にレンダリングするために公開されるWinformsコントロール機能に分けられる。
描画アルゴリズムの例を以下に示す。
−メモリ内Bitmapを作成することによりメモリ装置コンテキスト上でワークフローをペイントする
−ビットマップ背景を塗りつぶす
−ルートアクティビティデザイナの描画を呼び出すことによりすべてのデザイナを描画する
−ルートアクティビティデザイナは、その中のすべてのデザイナ上で再帰的にDrawを呼び出す
−すべてのデザイナは、描画される前に可視領域ないにあるかどうかをチェックする
−装飾サービスの描画を呼び出すことにより装飾を描画する
−ユーザがビューポート上でマウスをドラッグした場合にドラッグ矩形を描画する
−If ユーザが視覚的深さを設定している場合
−視覚的深さオフセットでオリジナルの装置コンテキスト上にビットマップを描画する
−ビットマップを透明にする
−オフセットなしで上にビットマップを描画する
−Endif
−アクティブなレイアウト上で描画を呼び出す
−印刷プレビューについては、メインビットマップをつなぎ合わせて複数のページを描画する
−既定では、メインビットマップを直接描画する
−If ユーザがドラッグ&ドロップモードに入っている場合
−ドラッグされるコンポーネントのスナップショットを描画する
−Endif
−If 拡大鏡が表示されている場合
−拡大鏡の枠を描画する
−拡大領域を拡大されたビットマップ上にマッピングする
−拡大されたビットマップを拡大領域内に描画する
−Endif
レイアウトのアルゴリズムの例を以下に示す。
−ルートデザイナ上でOnLayoutSizeを呼び出す
−ルートデザイナおよび他の複合デザイナは、子デザイナ上でOnLayoutSizeを呼び出す
−複合デザイナは、子レイアウトに基づいてそのサイズを計算する
−ルートデザイナ上でOnLayoutPositionを呼び出す
−RootDesignerおよび他の複合デザイナは、子デザイナ上でOnLayoutPositionを呼び出す
−デザイナはその親の位置に基づいて位置を設定する
−アクティブなレイアウトのUpdateを呼び出す
−レイアウトは、レイアウトをレンダリングするために必要に応じてその中のデータ構造体を更新する
−ルートデザイナの位置を更新し、レイアウトにより要求されたとおり適宜ルートデザイナの位置を揃える
−ルートデザイナを使用して範囲を計算するアクティブなレイアウトの範囲に基づいてスクロールバーのスクロール範囲を更新する
イベント送出のアルゴリズムの例を以下に示す。
−For すべてのマウスイベントについて
−どのイベントが発生したかについてデザイナをチェックする
−IActivityDesignerインターフェイスを使用して出るイベントを前のほうのデザイナに送る
−IActivityDesignerインターフェイスを使用してどのイベントが発生したかについてエンター/ホバーイベントを現在のデザイナに送る
−現在のデザイナをバッファリングして、次のイベントを待つ
−Endfor
削除のアルゴリズムの例を以下に示す。
−ISelectionServiceを使用して現在の選択されているデザイナを取得する
−デザイナに関連付けられているすべての最上位アクティビティを取得する。これは、ユーザが複数選択を実行し、また親および子デザイナを選択してdeleteを押す場合があるためである。
−For すべての最上位アクティビティについて
−それぞれの最上位アクティビティの親デザイナを取得する
−If 子アクティビティを持つ親デザイナ上のCanRemoveActivityがtrueを返した場合
−子アクティビティを持つ親デザイナ上で、RemoveActivityを呼び出す
−Endif
−Endfor
−最後に削除されたアクティビティの親を取得し、それを選択する
ワークフローデザイナのキーボードおよびコマンドの経路選択
デザイナは、サービスIMenuCommandServiceをコマンド経路選択に使用する。このサービスを実装するのはホストの役目である。型CommandSetは、サポートされているコマンドの無構造のリストを含む(CommandSetItem−System.ComponentModel.Design.MenuCommandから派生する)。それぞれのコマンドは、CommandlD(グループIDおよびアイテムIDからなる)、コマンドを実行するためのハンドラ、およびそのステータスについてクエリを実行するハンドラ(有効、可視など)を含み、それらのコマンドは、作成後、IMenuCommandService.AddCommand()を使用してサービス内に投入される。UIキュー(キーボード、マウスオペレーション、メニューコマンド)は、ホスティングアプリケーション(VS、Zamm)により、または場合によってはワークフロービューにより、CommandIDに解釈される。例えば、最上位メニューアイテムが選択された場合に適切なコマンドを呼び出すのはホストの役目である。しかし、ワークフロービューがフォーカスが置かれている間マウスオペレーションおよびキーボードを処理する。さらに、個々のデザイナに関連付けられた特別なコマンドであるDesignerVerbsが、アクティビティデザイナ内で宣言され、IMenuCommandServiceにより自動的に収集される。
クラスWorkflowPrintDocumentおよびIDesignerServiceインターフェイス上のパブリックプロパティPrintDocumentは印刷をサポートしている。WorkflowPrintDocument自体は、実際の描画を実行するためそれを作成したWorkflowViewへの参照を保持する。プリンタの解像度は画面解像度と異なるので、実際の印刷を開始する前に、印刷文書ではプリンタのグラフィックを使用してワークフローを再レイアウトし、すべてのページを印刷し、その後、WorkflowViewに、画面グラフィックを再び使用してレイアウトを実行するよう要求する。
IActivityDesignerインターフェイスは、ワークフローに参加する必要があるすべてのアクティビティデザイナにより実装される。これは、デザイナが他のデザイナおよびワークフロービューと対話するためのプロトコルである。ワークフロービューは、IActivityDesignerインターフェイスを探し、イベントのレンダリング、レイアウト、またはデザイナへの転送を行う。IActivityDesignerインターフェイスをサポートすることで、すべてのデザイナは、デザイナが実際にはウィンドウコントロールから派生しないとしてもウィンドウコントロールのように動作することができる。このインターフェイスを使用すると、さらに、ワークフロービューおよび装飾サービス、メニューコマンドサービスのような他のデザイナインフラストラクチャも、デザイナと情報をやり取りすることができる。IActivityDesignerインターフェイスから派生されたデザイナは、階層を持ち得ないが、階層を持つためには、デザイナは、ICompositeActivityDesignerインターフェイスを実装する必要がある。以下に、IActivityDesignerの定義を、プロパティおよびメソッドに関する詳細とともに示す。
ICompositeActivityDesignerは、階層を持ちうる、つまり子を持ちうるデザイナによって実装される。複合デザイナは、それ自身とその子すべてを保持する必要がある。ICompositeActivityDesignerインターフェイスを使用することで、複合デザイナは、その子に関する情報を公表し、子デザイナの追加および削除を行う機能を提供し、キーボードナビゲーションを有効にする。以下に、ICompositeActivityDesignerの定義を、プロパティおよびメソッドに関する詳細とともに示す。
ActivityDesignerクラスは、デザイナの最も単純な実装を表す。ワークフロー内のアクティビティに関連付けられたすべてのデザイナは、ActivityDesignerから派生する。ActivityDesignerクラスは、IActivityDesignerインターフェイスから継承し、そのインターフェイスの既定の実装を提供する。ワークフロービューは、IActivityDesignerインターフェイスを使用してデザイナと対話する。ActivityDesignerクラスは、通常、デザイナの描画のため超軽量実装を必要とするデザイナによって継承される。これらのデザイナには、子または階層がない。アクティビティデザイナが備える機能としては、基本レイアウトロジック、レンダリングサポート(例えば、アイコン、説明、枠線、内部、および背景を描画することによる)、ヘルプテキストのレンダリング、すべてのデザイナにより必要とされる既定のグリフを返すこと、DesignerVerbsを介したコンテキストメニューの表示、設計時特有のプロパティのフィルタ処理、既定のイベント発生、既定のヒットテスト、バリデーションのトリガ、ツールチップの表示、およびキーボードナビゲーションへの参加がある。
public abstract class ActivityDesigner:ComponentDesigner, IActivityDesigner
CompositeActivityDesignerは、階層を持つデザイナである(例えば、下に子がいる)。CompositeActivityDesignerは、それ自体のすべての態様だけでなくその子をも管理する役割を持つ。これは、さらに、イベントを転送するためにその子と情報のやり取りをする必要もある。CompositeActivityDesignerに含まれるアクティビティデザイナコレクションを修正する要求がある場合には必ず、アクティビティが削除される必要のある場所を指定するコンテキスト(ContextBase)を渡される。ContextBaseは各CompositeActivityDesigner派生クラスにより特殊化され、これにより、それらに特有のコンテキストを指定するようにできる。これの例として、SequentialActivityDesignerがあるが、これは、ConnectorContextと呼ばれるクラスをContextBaseから派生させてContextBaseを特殊化する。CompositeActivityDesignerクラスは、ICompositeActivityDesignerインターフェイスから派生し、それに対する既定の実装を提供する。CompositeActivityDesignerが備える機能は、デザイナの展開/縮小、ドラッグ&ドロップインジケータ、自己および子のレイアウト、自己および子の描画、子のヒットテスト、および階層からのアクティビティの挿入/削除を含む。
public abstract class CompositeActivityDesigner:ActivityDesigner, ICompositeActivityDesigner
SequentialActivityDesigner
SequentialActivityDesignerクラスは、下に子を持つすべてのデザイナを表し、すべての子は連続して順序付けられる。子は、子の順序を修正するためにも使用されるコネクタと呼ばれるリンクにより接続される。SequentialActivityDesignerクラスは、CompositeActivityDesignerの特殊化であり、コネクタ起動およびエンドビットマップ描画、すべての子の順次レイアウトおよびそれらをリンクしているすべてのコネクタの更新、子同士をつなぐコネクタの描画、ドラッグ&ドロップが実行されたときのドロップ領域のハイライト表示、コネクタのヒットテスト、上向きおよび下向き矢印を使用する順次キーボードナビゲーション、およびコネクタのグリフを返す操作といった機能を備える。
ParallelActivityDesignerは、CompositeActivityDesignerのもう1つの特殊化であり、複数のSequentialActivityDesignersを含む。これらのSequentialActivityDesignersはそれぞれ、並列デザイナにおける分岐である。並列デザイナは、複数の順次デザイナのレイアウト、さらに分岐を追加するためのドラッグ&ドロップインジケータ、左および右矢印キーを使用することにより並列分岐間を横断するためのキーボードナビゲーション、および複数の並列分岐をリンクするための描画コネクタといった特殊化された機能を備える。
internal abstract class ParallelActivityDesigner: CompositeActivityDesigner
ActivityPreviewDessignerは、順次デザイナであるが、コレクションバッグの形で複数のデザイナのコレクションを表示することができる。ActivityPreviewDesignerは、フィルムストリップのメタファーを使用してこのコレクションを表示する。特定のデザイナが選択された場合、その表現は、アクティビティプレビューデザイナがホスティングするプレビューウィンドウ内に表示される。ActivityPreviewDesignerは、編集モードとプレビューモードの2つのモードを持つ。プレビューモードでは、ユーザは選択されているデザイナを修正することはできない。このモードでは、ユーザは、スクロールしなくても、デザイナの表現全体を見ることができる。編集モードでは、デザイナを修正することができる。ActivityPreviewDesignerが備える機能は、アクティビティのコレクションを表示するためのプレビューストリップ、現在選択されているアクティビティのプレビュー、および選択されたデザイナの編集機能を含む。
internal abstract class ActivityPreviewDesigner: SequentialActivityDesigner
ScopeデザイナおよびServiceデザイナは、特別なデザイナである。これらはそれぞれ、例外、イベント、およびそれらに関連付けられた補正を持つことができる。ScopeおよびScheduleは、さらに、ユーザコードファイル内でそれらに関連付けられたクラスも持ち、ユーザはそれらのクラス内のスコーピングを行うことができる。ScopeデザイナおよびServiceデザイナは、他のデザイナと異なる形で例示されており、ウォーターマークを表示し、またドロップシャドウを描画することによりハイライト表示する。
internal class ScopeDesigner: SequentialActivityDesigner
internal class ServiceDesigner: ScopeDesigner
ServiceRootDesignerは、Designer Hostに含まれるRootコンポーネントに関連付けられる。これは、デザイナウィンドウペイン内でその後ホスティングされるワークフロービューを作成する必要がある。ServiceRootDesignerは、さらに、ツールボックスアイテムをダブルクリックすることによりワークフロー内にツールボックスアイテムを追加する機能を備えるIToolBoxUserインターフェイスもサポートする。
オーサリングオブジェクトモデルのそれぞれのアクティビティは、設計時にそのビヘイビアを記述するメタデータを持つ。これは、アクティビティ(デザイナ)だけでなくプロパティグリッドのビヘイビア(命名、説明、フィルタ処理、プロパティエディタなど)を関連付ける操作を含む。Types\Property\Event設計時ビヘイビアは、以下の属性のうちの0個以上を使用して記述される。
−SRCategoryAttribute−オーケストレーションエンジン属性。ローカライズされたカテゴリ名を与える。
−SRDescriptionAttribute−オーケストレーションエンジン属性。ローカライズされた説明を与える。
−EditorAttribute−UITypeEditorを提供する。
−TypeConverter−フィルタ処理、値リスト、および型の変換の機能を備える。
−BrowsableAttribute−設計時にメンバを表示\非表示にする。
型コンバータは、他の型へ/他の型からオブジェクトを変換するメソッドを備え、設計時にオブジェクトプロパティを表すPropertyDescriptorリストを提供し、プロパティグリッドのプロパティのドロップダウン内で使用される値を与えることが可能である。
−DeclTypeConverter
すべてのアクティビティの型コンバータへの基本クラス。アクティビティオブジェクトを文字列に/文字列から変換するためCanConvertFrom()、CanConvertTo()、ConvertFrom()、ConvertTo()を実装する(プロパティグリッド内のアクティビティの名前を表示する、名前編集でアクティビティを作成できるようにする)。また、GetSite()でもサービスへのアクセスを提供する。
−HandlerDeclTypeConverter
イベントに対する型コンバータ。DeclTypeConverterから派生する。IEventBindingServiceを使用して互換性のあるハンドラを表示するGetStandardValues()を実装する。
−VariableDeclTypeConverter
変数(メッセージ、チャネル、相関関係など)用の型コンバータ。DeclTypeConverterから派生する。IFieldBindingServiceを使用して互換性のある変数フィールを表示するGetStandardValues()を実装する。さらに、型コンバータは、「Name」プロパティを除去し、ジェネリック型として現れる型プロパティの特別なpropertyDescriptorを設定する。
プロパティディスクリプタは、設計時サービスをアクティビティオブジェクトに提供する。これは、名前、説明、カテゴリ、型コンバータ情報だけでなく、プロパティ値を取得/設定する場合の追加機能も備える。既定では、TypeConverterは、PropertyDescriptorsをすべてのプロパティに用意する。しかし、TypeConverterは、その型の異なる設計時ビヘイビアを与えるためにそれらを削除、追加、またはラップすることができる。
−DynamicPropertyDescriptor
オーサリングオブジェクトモデル内のすべてのプロパティディスクリプタへの基本クラス。既定のプロパティディスクリプタを囲むラッパを実装し、それらのメソッドすべてをそのラッパにデリゲートする。さらに、オブジェクトから直接的に(コンポーネントである場合)、またはlReferenceServiceを介して、オブジェクトサイトにアクセスできるようにする。
−VariableDeclPropertyDescriptor
すべての変数(メッセージ、チャネル、相関関係など)用のプロパティディスクリプタ。以下のようにコードビサイドフィールドを用意するためSetValue()をオーバーロードする。
−設定する変数とそのサイトを取得する。
−含むスコープのサイトを取得する。
−含むスコープのIFieldBindingServiceを取得する。それぞれのスコープは、フィールドの独自の集合が含まれるそれ独自のIFieldBindingServiceを持つ。
−サービスによりフィールド名の妥当性を確認する。
−デザイナトランザクションを開く。
−値を保存する。
−IFieldBindingService.CreateField()を呼び出して、フィールドをコードビサイドファイルに追加する。
−トランザクションをコミットする。
−HandlerDeclPropertyDescriptor
すべてのハンドラ用のプロパティディスクリプタ。以下のようにコードビサイドフィールドを用意するためSetValue()をオーバーロードする。
−設定するHandlerDeclarationとそのサイトを取得する。
−IEventBindingServiceを取得する。
−デザイナトランザクションを開く。
−LocalEventDescriptorを作成する。
−イベントのPropertyDescriptorを取得し(eventBindingService.GetEventproperty()を使用して)、それにHandlerDeclarationを設定する。
−HandlerDeclarationオブジェクトの「Name」プロパティを設定する。
−トランザクションをコミットする。
−ArrayElementPropertyDescriptor
コレクション内のアイテムを表すプロパティディスクリプタ。コレクションアイテム−例えば、Correlation Sets−はプロパティディスクリプタを持たないため(それらのプロパティではない)、ArrayElementPropertyDcscriptorでは、それらがプロパティであるかのようにディスクリプタをフェイクし、それにより、プロパティブラウザの内側にそれらを表示するようにできる。このプロパティディスクリプタは、上述のプロパティディスクリプタのどれかによりラップされるように設計された。
−LocalEventDescriptor
ハンドラ宣言を表すEventDescriptor。オーサリングオブジェクトモデル内のハンドラは、実際のイベントではなく、プロパティであるので、使用されるIEventBindingServiceに独自のEventDescriptorsを導入する。
ICustomTypeDescriptorは、コンポーネントに対しディスクリプタを設定するための代替え手段である。コンポーネント自体はインターフェイスを実装し、ディスクリプタを、型コンバータ、既定値などとして提供する。GenericActivity、InvokeWebServiceActivity、およびInvokeScheduleはこのインターフェイスを実装する。
これは、設計時プロパティをコンポーネントに導入するためのさらに他の手法である。拡張クラスRulePropertyProviderExtenderは、ルールプロパティをServiceDesignerに提供する。プロパティは、ProvidePropertyAttributeを介してエクステンダクラスを修飾し、その属性のゲッターおよびセッターを実装し、エクステンダクラスをコンポーネントのサイト(Schedule.Site)を通じてアクセス可能なIExtenderProviderServiceクラス(この場合は、RulePropertyProviderExtenderにより実装される)に追加することにより追加される。
System.Workflow.ComponentModel.Design名前空間は、さまざまな再利用可能なクラスを用意しており、ユーザはそれを使って、独自のアクティビティデザイナを作成し、それらをオーケストレーションエンジンデザイナにプラグインとして追加する。以下に、ユーザが使用できるクラスの一覧を示す。
−ActivityDesigner:ActivityDesignerを使用すると、ユーザは、下に他のアクティビティの階層を持たない単純なアクティビティを追加できる。ユーザは、このデザイナから継承する必要があり、またビットマップ、説明、および描画をカスタマイズできる。
−SequentialActivityDesigner:SequentialActivityDesignerを使用すると、ユーザは、複数のアクティビティを含むことができるデザイナを書くことができる。これらのアクティビティはすべて、順次配列され、コネクタ線を使ってリンクされる。ユーザは、このクラスから派生させることができ、カスタム配色、説明、アイコンなどを用意できる。
−ParallelActivityDesigner:ParallelActivityDesignerを使用すると、ユーザは、並列様式で配列された、複数の複合アクティビティを持つことができるアクティビティデザイナを書くことができる。また、このクラスを使用することで、ユーザは、説明、アイコン、色などをカスタマイズできる。このクラスは、継承を通じて拡張できる。
−OrchestrationEngineToolboxItem:OrchestrationEngineToolboxItemを使用すると、ユーザは、カスタムツールボックスアイテムを作成することができる。このクラスでは、ユーザは、シリアライゼーションを制御できる。このクラスでは、アクティビティがデザイナの中に追加される場合にユーザがカスタムUIをポップアップするために使用するフックを用意している。ユーザは、継承を通じてこのクラスを再利用できる。ユーザは、ToolBoxItem属性を使用してツールボックスアイテムを用意する必要がある。
−DesignerAction:ユーザは、DesignerActionsをDesignerGlyphsに関連付けることができる。ユーザがDesignerGlyphsをクリックすると、アクションが表示される。カスタムデザイナアクションは、DesignerActionから継承することにより作成できる。
404 ディスプレイまたは表示装置または表示領域
436 タッチスクリーン
406 ユーザインターフェイス選択装置
408 プロセッサ
410 コンピュータ可読媒体
412 レンダリングコンポーネント
414 インターフェイスコンポーネント
416 デザイナコンポーネント
418 バリデーションコンポーネント
420 レコグナイザコンポーネント
422 パレットコンポーネント
424 スキンコンポーネント
426 ワークフローコンポーネント
428 メモリ領域
430 アクティビティ
432 グラフィック要素
434 パレット要素
132 演算処理装置
134 システムメモリ
136 システムバス
144 オペレーティングシステム
146 アプリケーションプログラム
148 その他のプログラムモジュール
150 プログラムデータ
166 不揮発性メモリインターフェイス
170 オペレーティングシステム
172 アプリケーションプログラム
174 その他のプログラムモジュール
176 プログラムデータ
184 ユーザ入力インターフェイス
186 ネットワークインターフェイス
190 ビデオインターフェイス
192 リモートアプリケーションプログラム
196 ローカルエリアネットワーク
198 ワイドエリアネットワーク
Claims (20)
- アクティビティ(430)を含みビジネスプロセスをモデル化するワークフローをモデル化するためのシステムであって、
複数のアクティビティ(430)を格納するためのメモリ領域(428)と、
前記メモリ領域(428)に格納されている前記複数のアクティビティ(430)を表示するための表示領域(404)と、
プロセッサ(408)であって、
ユーザ(402)から前記アクティビティ(430)の選択を受け取るコンピュータ実行可能命令と、
前記表示領域(404)内にアクティビティ(430)の前記受け取った選択を表示するコンピュータ実行可能命令と、
前記ユーザ(402)から構造情報を受け取るコンピュータ実行可能命令と、
ワークフローを作成するために前記受け取った構造情報に従って前記表示領域(404)内にアクティビティ(430)の前記表示される選択を配列するコンピュータ実行可能命令とを実行するように構成されたプロセッサ(408)を備えることを特徴とするシステム。 - さらに、ポインティング装置を備え、前記メモリ領域(428)は、前記ワークフローを作成するために配列されている複数のグラフィック要素(432)を格納し、前記複数のグラフィック要素(432)は前記表示領域(404)およびポインティング装置を介して前記ユーザ(402)から受け取られ、前記メモリ領域(428)はさらにそれぞれ前記複数のアクティビティ(430)のうちの少なくとも1つに対応する複数のパレット要素(434)を格納することを特徴とする請求項1に記載のシステム。
- 前記プロセッサ(408)は、さらに、
前記メモリ領域(428)内に格納されている前記グラフィック要素(432)のそれぞれを前記複数のパレット要素(434)のうちの1つにマッピングするコンピュータ実行可能命令と、
前記マッピングされたパレット要素に応じて前記ワークフローを作成するコンピュータ実行可能命令と、
前記ワークフローを前記表示領域(404)に表示するコンピュータ実行可能命令とを実行するように構成されることを特徴とする請求項1または2に記載のシステム。 - さらに、前記複数のアクティビティ(430)を表示することと、前記アクティビティ(430)の前記選択を受け取ることと、前記ユーザ(402)から前記構造情報を受け取ることと、ワークフローを作成するために前記受け取った構造情報に従ってアクティビティ(430)の前記表示される選択を配列することのうちの1つまたは複数に対する手段を含むことを特徴とする請求項1乃至3のいずれかに記載のシステム。
- さらに、前記表示領域(404)を含む表示装置(404)と、前記プロセッサ(408)とともに動作可能なユーザインターフェイス選択装置(406)とを備えることを特徴とする請求項1乃至4のいずれかに記載のシステム。
- 前記プロセッサ(408)は、前記ユーザ(402)から前記複数のグラフィック要素(432)を受け取り、ワークフローをそれに応じて作成する手段を備え、前記表示領域(404)は、ユーザインターフェイスを備え、前記表示領域(404)は、アプリケーションプログラムの実行環境内で表示できるように適合されることを特徴とする請求項1乃至5のいずれかに記載のシステム。
- ディスプレイ(404)およびユーザインターフェイス選択装置(406)を備えるシステムにおいて、アクティビティを含みビジネスプロセスをモデル化するワークフローをモデル化するための方法であって、
前記ディスプレイ(404)上に複数のアクティビティを表示することと、
前記ユーザインターフェイス選択装置(406)を介してユーザ(402)から前記アクティビティ(430)の選択を受け取ることと、
前記ディスプレイ(404)上にアクティビティ(430)の前記受け取った選択を表示することと、
前記ユーザインターフェイス選択装置(406)を介して前記ユーザ(402)から構造情報を受け取ることと、
ワークフローを作成するために前記受け取った構造情報に従って前記ディスプレイ(404)上にアクティビティ(430)の前記表示される選択を配列することとを含むことを特徴とするコンピュータ化された方法。 - さらに、複数のパレット要素(434)を定義することを含み、前記定義された複数のパレット要素(434)のそれぞれは前記複数のアクティビティ(430)のうちの少なくとも1つに対応することを特徴とする請求項7に記載のコンピュータ化された方法。
- さらに、前記ユーザインターフェイス選択装置(406)を介して前記ユーザ(402)からカスタマイズ情報を受け取ることと、前記受け取ったカスタマイズ情報に応じて前記表示される複数のアクティビティ(430)を調整することとを含むことを特徴とする請求項7または8に記載のコンピュータ化された方法。
- さらに、前記アクティビティ(430)の1つとの関連付けのため前記ユーザインターフェイス選択装置(406)を介して前記ユーザ(402)からビジネスロジックを受け取ることを含むことを特徴とする請求項7乃至9のいずれかに記載のコンピュータ化された方法。
- さらに、前記ユーザインターフェイス選択装置(406)を介して前記ユーザ(402)からユーザ定義アクティビティを受け取ることを含み、前記ユーザ定義アクティビティは、1つまたは複数の関連付けられた意味論を持ち、さらに、定義済みインターフェイス要件に適合しているか調べるために前記意味論を評価することを含み、前記ユーザ定義アクティビティを前記評価結果に応じて前記アクティビティのうちの1つとして格納することを含むことを特徴とする請求項7乃至10のいずれかに記載のコンピュータ化された方法。
- さらに、前記作成されたワークフローをユーザ指定言語に翻訳するコマンドを受け取ることを含むことを特徴とする請求項7乃至11のいずれかに記載のコンピュータ化された方法。
- さらに、タッチスクリーン(436)を介して前記ユーザ(402)から、 前記表示されているワークフローに対する変数、前記ワークフローに対するコメント、アクティビティの前記配列され、表示されている選択への訂正のうちの1つまたは複数を受け取ることを含むことを特徴とする請求項7乃至12のいずれかに記載のコンピュータ化された方法。
- ディスプレイ(404)およびユーザインターフェイス選択装置(406)を備えるシステムにおいて、アクティビティ(430)を含みビジネスプロセスをモデル化するワークフローをモデル化するためのコンピュータ実行可能コンポーネントを収めた1つまたは複数のコンピュータ可読媒体(410)であって、前記コンピュータ実行可能コンポーネントは、
前記ディスプレイ(404)上に複数のアクティビティ(430)を表示するレンダリングコンポーネント(412)と、
前記ユーザインターフェイス選択装置(406)を介してユーザ(402)から前記レンダリングコンポーネント(412)により表示される前記アクティビティ(430)の選択を受け取るためのインターフェイスコンポーネント(414)であって、前記レンダリングコンポーネント(412)はさらに前記インターフェイスコンポーネント(414)により受け取ったアクティビティ(430)の前記選択を前記ディスプレイ(404)上に表示し、前記インターフェイスコンポーネント(414)はさらに前記ユーザインターフェイス選択装置(406)を介して前記ユーザ(402)から構造情報を受け取るインターフェイスコンポーネント(414)と、
ワークフローを作成するために前記受け取った構造情報に従って前記ディスプレイ(404)上にアクティビティ(430)の前記選択を配列するためのデザイナコンポーネント(416)を含むことを特徴とするコンピュータ可読媒体。 - さらに、複数のパレット要素(434)を定義するパレットコンポーネント(422)を含み、前記定義された複数のパレット要素(434)のそれぞれは前記複数のアクティビティ(430)のうちの少なくとも1つに対応し、前記インターフェイスコンポーネント(414)は、前記インターフェイス選択装置(406)を介して前記ユーザ(402)から複数のグラフィック要素(432)を受け取り、前記受け取った複数のグラフィック要素(432)は前記ディスプレイ(404)上に表示される前記アクティビティ(430)の選択に対応し、前記アクティビティ(430)の前記選択は前記ワークフロー作成するように配列されることを特徴とする請求項14に記載のコンピュータ可読媒体。
- さらに、前記インターフェイスコンポーネント(414)によって受け取った前記複数のグラフィック要素(432)のそれぞれを前記パレットコンポーネント(422)によって定義された前記パレット要素(434)の1つに関連付け、前記ワークフローを前記ディスプレイ(404)に表示するように前記関連付けられたパレット要素(434)を配列するレコグナイザコンポーネント(420)を含むことを特徴とする請求項14または15に記載のコンピュータ可読媒体。
- 前記インターフェイスコンポーネント(414)は、さらに、前記ユーザインターフェイス選択装置(406)を介して前記ユーザからユーザ定義アクティビティを受け取り、前記ユーザ定義アクティビティは1つまたは複数の意味論が関連付けられており、さらに定義済みインターフェイス要件に適合しているか調べるために前記意味論を評価するバリデーションコンポーネント(418)を含むことを特徴とする請求項14乃至16のいずれかに記載のコンピュータ可読媒体。
- 前記レンダリングコンポーネント(412)は、さらに、前記受け取ったユーザ定義アクティビティを前記バリデーションコンポーネント(418)の結果に応じて前記ディスプレイ(404)上に前記複数のアクティビティ(430)のうちの1つとして表示し、前記インターフェイスコンポーネント(414)は、さらに、前記アクティビティ(430)の1つに関連付けられたビジネスロジックを受け取り、前記レンダリングコンポーネント(412)、インターフェイスコンポーネント(414)、およびデザイナコンポーネント(416)は、アプリケーションプログラムの実行環境内で実行され、前記インターフェイスコンポーネント(414)は、グラフィカルユーザインターフェイスおよびアプリケーションプログラミングインターフェイスのうちの1つまたは複数を含むことを特徴とする請求項14乃至17のいずれかに記載のコンピュータ可読媒体。
- 前記ディスプレイ(404)は、タッチスクリーン(436)を備え、前記インターフェイスコンポーネント(414)は、前記ビジネスロジックを前記ワークフロー内の前記配列されたパレット要素の1つに対応する前記アクティビティ(430)の1つに関連付けることを特徴とする請求項14乃至18のいずれかに記載のコンピュータ可読媒体。
- さらに、ユーザ定義テーマを前記タッチスクリーン(436)上に表示される前記ワークフローに適用するためのスキンコンポーネント(424)を含み、さらに、前記レコグナイザコンポーネント(420)により配列された前記関連付けられたパレット要素に従って前記ワークフローを作成するためのワークフローコンポーネント(426)を含むことを特徴とする請求項14乃至19のいずれかに記載のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US61554904P | 2004-10-01 | 2004-10-01 | |
US11/046,967 US8170901B2 (en) | 2004-10-01 | 2005-01-31 | Extensible framework for designing workflows |
US11/063,808 US20060074735A1 (en) | 2004-10-01 | 2005-02-23 | Ink-enabled workflow authoring |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006107478A true JP2006107478A (ja) | 2006-04-20 |
JP2006107478A5 JP2006107478A5 (ja) | 2008-10-02 |
Family
ID=35229823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005265378A Pending JP2006107478A (ja) | 2004-10-01 | 2005-09-13 | ワークフローを設計するための拡張可能フレームワーク |
Country Status (5)
Country | Link |
---|---|
US (1) | US20060074735A1 (ja) |
EP (1) | EP1643435B1 (ja) |
JP (1) | JP2006107478A (ja) |
KR (1) | KR20060087995A (ja) |
CN (1) | CN101013362B (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009535978A (ja) | 2006-05-04 | 2009-10-01 | マイクロソフト コーポレーション | ホバーに応答した発呼 |
JP2014096166A (ja) * | 2008-03-31 | 2014-05-22 | Hitachi Ltd | 情報システムトポロジー表示を提供するユーザーインターフェース |
JP7508690B2 (ja) | 2020-07-22 | 2024-07-01 | サービスナウ, インコーポレーテッド | 多重プロセス・ワークフロー・デザイナ |
Families Citing this family (126)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7451403B1 (en) * | 2002-12-20 | 2008-11-11 | Rage Frameworks, Inc. | System and method for developing user interfaces purely by modeling as meta data in software application |
US8170901B2 (en) * | 2004-10-01 | 2012-05-01 | Microsoft Corporation | Extensible framework for designing workflows |
GB2423382A (en) | 2005-01-27 | 2006-08-23 | Microgen Plc | Generating business process programs using a symbolic representation of operators in a graphical interface |
US7925994B2 (en) * | 2005-07-07 | 2011-04-12 | Microsoft Corporation | Task navigator including a user based navigation interface |
US8225231B2 (en) | 2005-08-30 | 2012-07-17 | Microsoft Corporation | Aggregation of PC settings |
US10042615B2 (en) * | 2005-09-29 | 2018-08-07 | International Business Machines Corporation | Process contributions in a method architecture |
US7681133B2 (en) * | 2005-10-14 | 2010-03-16 | Oracle International Corporation | Declarative task-based user interfaces |
US8296727B2 (en) * | 2005-10-14 | 2012-10-23 | Oracle Corporation | Sub-task mechanism for development of task-based user interfaces |
US8112394B2 (en) | 2005-10-14 | 2012-02-07 | Oracle International Corporation | Long-lived data transactions |
US20070130547A1 (en) * | 2005-12-01 | 2007-06-07 | Navisense, Llc | Method and system for touchless user interface control |
US8578282B2 (en) * | 2006-03-15 | 2013-11-05 | Navisense | Visual toolkit for a virtual user interface |
US8024405B2 (en) * | 2006-03-30 | 2011-09-20 | Microsoft Corporation | Declarative model for concurrency-control across lightweight threads |
US8069439B2 (en) * | 2006-03-30 | 2011-11-29 | Microsoft Corporation | Framework for modeling continuations in workflows |
US20070239505A1 (en) * | 2006-03-30 | 2007-10-11 | Microsoft Corporation | Abstract execution model for a continuation-based meta-runtime |
US7739135B2 (en) * | 2006-03-30 | 2010-06-15 | Microsoft Corporation | Asynchronous fault handling in process-centric programs |
US8396736B2 (en) * | 2006-04-21 | 2013-03-12 | Process Assets, Llc | Systems and methods for providing documentation having succinct communication with scalability |
US8181150B2 (en) | 2006-05-12 | 2012-05-15 | The Mathworks, Inc. | System and method for synchronized workflow management |
US9715675B2 (en) * | 2006-08-10 | 2017-07-25 | Oracle International Corporation | Event-driven customizable automated workflows for incident remediation |
US9299039B1 (en) * | 2006-08-23 | 2016-03-29 | A9.Com, Inc. | Managing task lists utilizing integrated information requests |
US8433729B2 (en) * | 2006-09-29 | 2013-04-30 | Sap Ag | Method and system for automatically generating a communication interface |
KR100910336B1 (ko) | 2006-10-19 | 2009-07-31 | 신동혁 | 논리 프로세스 및 물리 프로세스 모델을 맵핑한 비즈니스 프로세스 모델을 관리하기 위한 시스템 및 방법 |
US8086479B2 (en) * | 2006-12-29 | 2011-12-27 | Schlumberger Technology Corporation | Oilfield management system and method |
JP2008181248A (ja) * | 2007-01-23 | 2008-08-07 | Kyocera Mita Corp | 表示制御装置及び表示制御プログラム |
US7743076B2 (en) * | 2007-01-26 | 2010-06-22 | Microsoft Corporation | Extensible action sequences coordinating independently created components |
EP2147366A4 (en) | 2007-04-13 | 2010-07-28 | Thomson Licensing | ADVANCED DATABASE SCHEME IN SUPPORT OF ENHANCED MEDIA PRODUCTION AND DISTRIBUTION |
US9171282B2 (en) * | 2007-10-22 | 2015-10-27 | Oracle International Corporation | Interactive complex event pattern builder and visualizer |
US9449291B2 (en) * | 2007-11-28 | 2016-09-20 | Sap Se | Subscriptions for routing incoming messages to process instances in a process execution engine |
US8341014B2 (en) * | 2007-12-28 | 2012-12-25 | International Business Machines Corporation | Recovery segments for computer business applications |
US20090171703A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Use of multi-level state assessment in computer business environments |
US8428983B2 (en) | 2007-12-28 | 2013-04-23 | International Business Machines Corporation | Facilitating availability of information technology resources based on pattern system environments |
JP5192055B2 (ja) * | 2008-03-04 | 2013-05-08 | コードエスイー カンパニー リミテッド | 3次元応用プログラムフレームワーク構造及びこれを基盤とするアプリケーション具現方法、並びに3次元応用ソフトウェアフレームワーク基盤の自動テストシステム及びその方法 |
KR100890861B1 (ko) * | 2008-03-04 | 2009-03-27 | 정병수 | 3차원 응용프로그램 프레임워크를 생성하는 방법 및 그 3차원 응용프로그램 프레임워크를 기반으로 하는 응용프로그램 구현 방법 |
US9563877B2 (en) * | 2008-03-11 | 2017-02-07 | Microsoft Technology Licensing, Llc | Customizable controls provided by a messaging application for performing selected actions |
WO2009143533A2 (en) * | 2008-05-23 | 2009-11-26 | Adapx, Inc. | Systems and methods for using a digital palette to produce a digital document |
TW201009688A (en) * | 2008-08-20 | 2010-03-01 | Clevest Solutions Inc | Method and system of editing workflow logic and screens with a GUI tool |
US8887061B2 (en) * | 2008-09-26 | 2014-11-11 | Microsoft Corporation | Variable screen magnifier user interface |
US8411046B2 (en) | 2008-10-23 | 2013-04-02 | Microsoft Corporation | Column organization of content |
US8086275B2 (en) | 2008-10-23 | 2011-12-27 | Microsoft Corporation | Alternative inputs of a mobile communications device |
US20100114619A1 (en) * | 2008-10-30 | 2010-05-06 | International Business Machines Corporation | Customized transformation of free-form business concepts to semantically rich business models |
US9424398B1 (en) * | 2009-01-24 | 2016-08-23 | Dionex Corporation | Workflows for defining a sequence for an analytical instrument |
US8175653B2 (en) | 2009-03-30 | 2012-05-08 | Microsoft Corporation | Chromeless user interface |
US8238876B2 (en) | 2009-03-30 | 2012-08-07 | Microsoft Corporation | Notifications |
US20100269032A1 (en) * | 2009-04-15 | 2010-10-21 | Microsoft Corporation | Advanced text completion, such as for markup languages |
US8836648B2 (en) | 2009-05-27 | 2014-09-16 | Microsoft Corporation | Touch pull-in gesture |
US8732596B2 (en) * | 2009-12-29 | 2014-05-20 | Microgen Aptitude Limited | Transformation of hierarchical data formats using graphical rules |
US8464229B2 (en) | 2009-12-29 | 2013-06-11 | Microgen Aptitude Limited | Creation of form-based software application in a graphical user interface (GUI) environment |
US8140894B2 (en) * | 2009-12-29 | 2012-03-20 | Microgen Aptitude Limited | Transaction regions in graphical computer-implemented methods of processing data |
US20110161371A1 (en) * | 2009-12-29 | 2011-06-30 | Microgen Plc | Sql generation |
CN101777155A (zh) * | 2010-02-01 | 2010-07-14 | 山东浪潮齐鲁软件产业股份有限公司 | 一种跨应用工作流任务列表集成业务处理页面的方法 |
KR101188886B1 (ko) * | 2010-10-22 | 2012-10-09 | 삼성에스디에스 주식회사 | 유전 정보 관리 시스템 및 방법 |
US20120159395A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Application-launching interface for multiple modes |
US20120159383A1 (en) | 2010-12-20 | 2012-06-21 | Microsoft Corporation | Customization of an immersive environment |
US8689123B2 (en) | 2010-12-23 | 2014-04-01 | Microsoft Corporation | Application reporting in an application-selectable user interface |
US8612874B2 (en) | 2010-12-23 | 2013-12-17 | Microsoft Corporation | Presenting an application change through a tile |
US9423951B2 (en) | 2010-12-31 | 2016-08-23 | Microsoft Technology Licensing, Llc | Content-based snap point |
US9311061B2 (en) * | 2011-02-10 | 2016-04-12 | International Business Machines Corporation | Designing task execution order based on location of the task icons within a graphical user interface |
US9383917B2 (en) | 2011-03-28 | 2016-07-05 | Microsoft Technology Licensing, Llc | Predictive tiling |
US8893033B2 (en) | 2011-05-27 | 2014-11-18 | Microsoft Corporation | Application notifications |
US20120304132A1 (en) | 2011-05-27 | 2012-11-29 | Chaitanya Dev Sareen | Switching back to a previously-interacted-with application |
US9104440B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US9158445B2 (en) | 2011-05-27 | 2015-10-13 | Microsoft Technology Licensing, Llc | Managing an immersive interface in a multi-application immersive environment |
US9658766B2 (en) | 2011-05-27 | 2017-05-23 | Microsoft Technology Licensing, Llc | Edge gesture |
US9104307B2 (en) | 2011-05-27 | 2015-08-11 | Microsoft Technology Licensing, Llc | Multi-application environment |
US8687023B2 (en) | 2011-08-02 | 2014-04-01 | Microsoft Corporation | Cross-slide gesture to select and rearrange |
US20130057587A1 (en) | 2011-09-01 | 2013-03-07 | Microsoft Corporation | Arranging tiles |
US8922575B2 (en) | 2011-09-09 | 2014-12-30 | Microsoft Corporation | Tile cache |
US9557909B2 (en) | 2011-09-09 | 2017-01-31 | Microsoft Technology Licensing, Llc | Semantic zoom linguistic helpers |
US10353566B2 (en) | 2011-09-09 | 2019-07-16 | Microsoft Technology Licensing, Llc | Semantic zoom animations |
US9244802B2 (en) | 2011-09-10 | 2016-01-26 | Microsoft Technology Licensing, Llc | Resource user interface |
US8933952B2 (en) | 2011-09-10 | 2015-01-13 | Microsoft Corporation | Pre-rendering new content for an application-selectable user interface |
US9146670B2 (en) | 2011-09-10 | 2015-09-29 | Microsoft Technology Licensing, Llc | Progressively indicating new content in an application-selectable user interface |
CN102279754B (zh) * | 2011-09-19 | 2013-10-30 | 山东中创软件工程股份有限公司 | 一种业务处理执行语言流程部署方法 |
US9395959B2 (en) | 2011-12-09 | 2016-07-19 | Microsoft Technology Licensing, Llc | Integrated workflow visualization and editing |
US20130152021A1 (en) * | 2011-12-09 | 2013-06-13 | Microsoft Corporation | Stage and stage view within a workflow |
US9223472B2 (en) | 2011-12-22 | 2015-12-29 | Microsoft Technology Licensing, Llc | Closing applications |
US9128605B2 (en) | 2012-02-16 | 2015-09-08 | Microsoft Technology Licensing, Llc | Thumbnail-image selection of applications |
US11455287B1 (en) * | 2012-08-01 | 2022-09-27 | Tibco Software Inc. | Systems and methods for analysis of data at disparate data sources |
US9110765B2 (en) * | 2012-10-17 | 2015-08-18 | Sap Portals Israel Ltd | Displaying different hierarchy levels of computer program source code |
WO2014116384A2 (en) * | 2013-01-23 | 2014-07-31 | Thomson Licensing | Set handling in asset-driven workflow modeling |
CN105009055A (zh) * | 2013-01-31 | 2015-10-28 | 惠普发展公司,有限责任合伙企业 | 定义设计计划 |
US9450952B2 (en) | 2013-05-29 | 2016-09-20 | Microsoft Technology Licensing, Llc | Live tiles without application-code execution |
US9262239B2 (en) * | 2013-05-10 | 2016-02-16 | Adobe Systems Incorporated | User-creatable custom workflows |
CN103455369A (zh) * | 2013-08-30 | 2013-12-18 | 西安电子科技大学 | 一种面向个人的任务分派与处理系统 |
GB201316948D0 (en) * | 2013-09-24 | 2013-11-06 | Cotham Technologies Ltd | Methods and software for creating workflows |
CN103645911B (zh) * | 2013-11-01 | 2017-11-21 | 北京奇虎科技有限公司 | 高亮颜色的获取、修改方法及设备 |
US9912824B2 (en) * | 2014-02-10 | 2018-03-06 | Xerox Corporation | Triggering workflows from a multifunction device |
US9354922B2 (en) * | 2014-04-02 | 2016-05-31 | International Business Machines Corporation | Metadata-driven workflows and integration with genomic data processing systems and techniques |
CN105359094A (zh) | 2014-04-04 | 2016-02-24 | 微软技术许可有限责任公司 | 可扩展应用表示 |
WO2015154273A1 (en) | 2014-04-10 | 2015-10-15 | Microsoft Technology Licensing, Llc | Collapsible shell cover for computing device |
KR20160143784A (ko) | 2014-04-10 | 2016-12-14 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 컴퓨팅 디바이스용 슬라이더 커버 |
US10592080B2 (en) | 2014-07-31 | 2020-03-17 | Microsoft Technology Licensing, Llc | Assisted presentation of application windows |
US10678412B2 (en) | 2014-07-31 | 2020-06-09 | Microsoft Technology Licensing, Llc | Dynamic joint dividers for application windows |
US10254942B2 (en) | 2014-07-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Adaptive sizing and positioning of application windows |
CN104199651A (zh) * | 2014-08-26 | 2014-12-10 | 浪潮软件股份有限公司 | 一种图形化流程建模工具设计方法 |
US10642365B2 (en) | 2014-09-09 | 2020-05-05 | Microsoft Technology Licensing, Llc | Parametric inertia and APIs |
CN106662891B (zh) | 2014-10-30 | 2019-10-11 | 微软技术许可有限责任公司 | 多配置输入设备 |
CN105808226A (zh) * | 2014-12-31 | 2016-07-27 | 亚申科技研发中心(上海)有限公司 | 实验工作流的生成方法及系统 |
US20160306503A1 (en) * | 2015-04-16 | 2016-10-20 | Vmware, Inc. | Workflow Guidance Widget with State-Indicating Buttons |
WO2017020071A1 (en) * | 2015-07-31 | 2017-02-09 | Wisetech Global Limited | Systems and methods for executable content and executable content flow creation |
US10915299B2 (en) * | 2015-10-16 | 2021-02-09 | Salesforce.Com, Inc. | Automatically matching start criteria and completion criteria of a walkthrough for an application or online service |
EP3226184A1 (en) | 2016-03-30 | 2017-10-04 | Tata Consultancy Services Limited | Systems and methods for determining and rectifying events in processes |
EP3519951A4 (en) * | 2016-10-01 | 2020-07-01 | Gunakar Private Limited | SYSTEM FOR COORDINATING A LOGICAL SEQUENCE OF INSTRUCTIONS IN ELECTRONIC DEVICES USING VISUAL PROGRAMMING AND WIRELESS COMMUNICATION |
KR101726663B1 (ko) | 2016-11-09 | 2017-04-13 | 국방과학연구소 | 블록 다이어그램 환경에서의 모델 기반 설계 시 클라우드 개념을 이용한 각 모델 간 입출력 포트 연결 자동화 방법 및 시스템 |
US10445680B2 (en) * | 2017-02-02 | 2019-10-15 | Azuqua, Inc. | Engine for modeling and executing custom business processes |
US20180321830A1 (en) * | 2017-05-03 | 2018-11-08 | Espressive, Inc. | Screen-based workflow configuration and execution platform |
US10534337B2 (en) | 2017-05-04 | 2020-01-14 | Servicenow, Inc. | Flow engine for building automated flows within a cloud based developmental platform |
US10747941B2 (en) * | 2017-06-28 | 2020-08-18 | General Electric Company | Tag mapping process and pluggable framework for generating algorithm ensemble |
US10979539B1 (en) | 2017-07-21 | 2021-04-13 | State Farm Mutual Automobile Insurance Company | Method and system of generating generic protocol handlers |
US11423083B2 (en) | 2017-10-27 | 2022-08-23 | Ab Initio Technology Llc | Transforming a specification into a persistent computer program |
CN109933326B (zh) * | 2017-12-15 | 2023-03-17 | 北京奇虎科技有限公司 | 改写代码的编译方法、装置及相应终端 |
US10534587B1 (en) | 2017-12-21 | 2020-01-14 | Intuit Inc. | Cross-platform, cross-application styling and theming infrastructure |
US11157259B1 (en) | 2017-12-22 | 2021-10-26 | Intuit Inc. | Semantic and standard user interface (UI) interoperability in dynamically generated cross-platform applications |
CN110609822B (zh) * | 2018-06-15 | 2023-02-28 | 伊姆西Ip控股有限责任公司 | 数据流处理方法、设备和计算机程序产品 |
US11087259B2 (en) * | 2018-07-12 | 2021-08-10 | Nintex UK Ltd. | Business designer |
US10817266B2 (en) * | 2018-09-25 | 2020-10-27 | Salesforce.Com, Inc. | Converting a captured image to visual programming logic for an automation building tool |
US10970052B2 (en) | 2018-10-19 | 2021-04-06 | Oracle International Corporation | System and method for enhancing component based development models with auto-wiring |
US10754626B2 (en) | 2018-11-30 | 2020-08-25 | Shopify Inc. | Visual and code views in a process workflow user interface |
US11294555B2 (en) * | 2019-04-24 | 2022-04-05 | Appian Corporation | Intelligent manipulation of dynamic declarative interfaces |
EP3748440B1 (en) * | 2019-06-03 | 2023-11-08 | ABB Schweiz AG | Workflow of an apparatus |
US11282118B2 (en) * | 2019-09-17 | 2022-03-22 | Salesforce.Com, Inc. | Order management user interface |
CN110737500A (zh) * | 2019-10-22 | 2020-01-31 | 深圳前海微众银行股份有限公司 | 工作流自动保存方法、装置、设备及存储介质 |
CN113918138A (zh) * | 2020-07-09 | 2022-01-11 | 阿里巴巴集团控股有限公司 | 流程处理方法、装置及计算机系统 |
US11288611B2 (en) * | 2020-07-22 | 2022-03-29 | Servicenow, Inc. | Multi-process workflow designer user interface |
US11295260B2 (en) * | 2020-07-22 | 2022-04-05 | Servicenow, Inc. | Multi-process workflow designer |
US11435871B1 (en) * | 2021-05-18 | 2022-09-06 | Amazon Technologies, Inc. | Workflow assembly tool and workflow model for runtime execution |
US11656744B1 (en) * | 2022-03-14 | 2023-05-23 | Wolters Kluwer Technology BV | Interactive tool for efficiently developing task flows |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05135121A (ja) * | 1991-11-14 | 1993-06-01 | Hitachi Software Eng Co Ltd | ダイアグラム認識システム |
JP2002259643A (ja) * | 2001-03-02 | 2002-09-13 | Hitachi Ltd | ビジネスプロセス制御プログラム |
Family Cites Families (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301320A (en) * | 1991-06-28 | 1994-04-05 | Digital Equipment Corporation | Workflow management and control system |
AU6133594A (en) * | 1993-02-08 | 1994-08-29 | Action Technologies, Inc. | Method and apparatus for managing business processes |
WO1995012866A1 (en) * | 1993-11-02 | 1995-05-11 | Taligent, Inc. | Object-oriented graphic system |
US5734837A (en) * | 1994-01-14 | 1998-03-31 | Action Technologies, Inc. | Method and apparatus for building business process applications in terms of its workflows |
US5634127A (en) * | 1994-11-30 | 1997-05-27 | International Business Machines Corporation | Methods and apparatus for implementing a message driven processor in a client-server environment |
US5774661A (en) * | 1995-04-18 | 1998-06-30 | Network Imaging Corporation | Rule engine interface for a visual workflow builder |
US5999911A (en) * | 1995-06-02 | 1999-12-07 | Mentor Graphics Corporation | Method and system for managing workflow |
DE19712946A1 (de) * | 1996-05-30 | 1997-12-04 | Ibm | Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells |
US5930512A (en) * | 1996-10-18 | 1999-07-27 | International Business Machines Corporation | Method and apparatus for building and running workflow process models using a hypertext markup language |
US6016394A (en) * | 1997-09-17 | 2000-01-18 | Tenfold Corporation | Method and system for database application software creation requiring minimal programming |
US6807583B2 (en) * | 1997-09-24 | 2004-10-19 | Carleton University | Method of determining causal connections between events recorded during process execution |
US6621505B1 (en) * | 1997-09-30 | 2003-09-16 | Journee Software Corp. | Dynamic process-based enterprise computing system and method |
US6012066A (en) * | 1997-10-01 | 2000-01-04 | Vallon, Inc. | Computerized work flow system |
US6225998B1 (en) * | 1997-12-02 | 2001-05-01 | Aspect Communications | Visual design of workflows for transaction processing |
US6115646A (en) * | 1997-12-18 | 2000-09-05 | Nortel Networks Limited | Dynamic and generic process automation system |
US6020878A (en) * | 1998-06-01 | 2000-02-01 | Motorola, Inc. | Selective call radio with hinged touchpad |
US6397192B1 (en) * | 1998-06-05 | 2002-05-28 | I2 Technologies Us, Inc. | Synchronizing one or more workflows using one or more synchronization-join activities that include synchronization logic |
US6567783B1 (en) * | 1998-06-05 | 2003-05-20 | I2 Technologies Us, Inc. | Communication across one or more enterprise boundaries regarding the occurrence of a workflow event |
JP2003528358A (ja) * | 1998-08-24 | 2003-09-24 | 富士通株式会社 | ワークフローシステムおよび方法 |
US6606740B1 (en) * | 1998-10-05 | 2003-08-12 | American Management Systems, Inc. | Development framework for case and workflow systems |
US7133833B1 (en) * | 1998-10-27 | 2006-11-07 | Netscape Communications Corporation | Lightweight directory access protocol workflow management system |
US6678882B1 (en) * | 1999-06-30 | 2004-01-13 | Qwest Communications International Inc. | Collaborative model for software systems with synchronization submodel with merge feature, automatic conflict resolution and isolation of potential changes for reuse |
US6405364B1 (en) * | 1999-08-31 | 2002-06-11 | Accenture Llp | Building techniques in a development architecture framework |
EP1098244A3 (en) * | 1999-11-02 | 2001-06-13 | CANAL + Société Anonyme | Graphical user interface |
US7020697B1 (en) * | 1999-10-01 | 2006-03-28 | Accenture Llp | Architectures for netcentric computing systems |
EP1277104A1 (en) * | 2000-03-30 | 2003-01-22 | Ideogramic APS | Method for gesture based modeling |
US6768986B2 (en) * | 2000-04-03 | 2004-07-27 | Business Objects, S.A. | Mapping of an RDBMS schema onto a multidimensional data model |
US6964034B1 (en) * | 2000-04-20 | 2005-11-08 | International Business Machines Corporation | Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment |
US6918053B1 (en) * | 2000-04-28 | 2005-07-12 | Microsoft Corporation | Compensation framework for long running transactions |
US6845507B2 (en) * | 2000-05-18 | 2005-01-18 | Ss & C Technologies, Inc. | Method and system for straight through processing |
US20020032692A1 (en) * | 2000-09-08 | 2002-03-14 | Atsuhito Suzuki | Workflow management method and workflow management system of controlling workflow process |
US6604104B1 (en) * | 2000-10-02 | 2003-08-05 | Sbi Scient Inc. | System and process for managing data within an operational data store |
WO2002029682A1 (en) * | 2000-10-02 | 2002-04-11 | International Projects Consultancy Services, Inc. | Object-based workflow system and method |
US6954747B1 (en) * | 2000-11-14 | 2005-10-11 | Microsoft Corporation | Methods for comparing versions of a program |
US6901405B1 (en) * | 2000-12-20 | 2005-05-31 | Microsoft Corporation | Method for persisting a schedule and database schema |
JP3702785B2 (ja) * | 2000-12-27 | 2005-10-05 | ヤマハ株式会社 | 楽音演奏装置、方法及び媒体 |
US7917888B2 (en) * | 2001-01-22 | 2011-03-29 | Symbol Technologies, Inc. | System and method for building multi-modal and multi-channel applications |
US20020156664A1 (en) * | 2001-02-20 | 2002-10-24 | Willcox William J. | Method and apparatus for service request handling |
US7240324B2 (en) * | 2001-02-28 | 2007-07-03 | Hewlett-Packard Development Company, L.P. | Event-based scheduling method and system for workflow activities |
US20020147606A1 (en) * | 2001-03-14 | 2002-10-10 | Norbert Hoffmann | Application development method |
US7146577B2 (en) * | 2001-03-27 | 2006-12-05 | Ncr Corporation | Signature capture terminal |
US6816865B2 (en) * | 2001-04-18 | 2004-11-09 | International Business Machines Corporation | Process for data driven application integration for B2B |
US20020188644A1 (en) * | 2001-06-08 | 2002-12-12 | Verano | Workflow automated task component manager |
JP2003008805A (ja) * | 2001-06-26 | 2003-01-10 | Matsushita Electric Ind Co Ltd | 電子黒板システム |
US7069536B2 (en) * | 2001-06-28 | 2006-06-27 | International Business Machines Corporation | Method, system, and program for executing a workflow |
US6898604B1 (en) * | 2001-06-29 | 2005-05-24 | Microsoft Corporation | XML serialization and deserialization |
US20030018508A1 (en) * | 2001-07-19 | 2003-01-23 | Schwanke Robert W. | Data-triggered workflow processes |
US7222334B2 (en) * | 2001-07-24 | 2007-05-22 | Hewlett-Packard Development Comapny, L.P. | Modeling tool for electronic services and associated methods and businesses |
AU2002355575A1 (en) * | 2001-08-08 | 2003-02-24 | Trivium Systems Inc. | Scalable messaging platform for the integration of business software components |
US6985939B2 (en) * | 2001-09-19 | 2006-01-10 | International Business Machines Corporation | Building distributed software services as aggregations of other services |
US6895573B2 (en) * | 2001-10-26 | 2005-05-17 | Resultmaker A/S | Method for generating a workflow on a computer, and a computer system adapted for performing the method |
US7389335B2 (en) * | 2001-11-26 | 2008-06-17 | Microsoft Corporation | Workflow management based on an integrated view of resource identity |
US20030177046A1 (en) * | 2001-12-03 | 2003-09-18 | John Socha-Leialoha | Method and system for reusing components |
US7408658B2 (en) * | 2001-12-04 | 2008-08-05 | Hewlett-Packard Development Company, L.P. | Generation and usage of workflows for processing data on a printing device |
US7089287B2 (en) * | 2002-01-16 | 2006-08-08 | Xerox Corporation | Message-based system having embedded information management capabilities |
US20030144891A1 (en) * | 2002-01-26 | 2003-07-31 | International Business Machines Corporation | Supervising the processing status of activities within workflow management systems |
DE10204310A1 (de) * | 2002-02-01 | 2003-08-14 | Correct Software Gmbh | Verfahren zur Steuerung eines Computers |
US7441197B2 (en) * | 2002-02-26 | 2008-10-21 | Global Asset Protection Services, Llc | Risk management information interface system and associated methods |
US7865867B2 (en) * | 2002-03-08 | 2011-01-04 | Agile Software Corporation | System and method for managing and monitoring multiple workflows |
US20030233374A1 (en) * | 2002-03-14 | 2003-12-18 | Ulrich Spinola | Dynamic workflow process |
DE10215653A1 (de) * | 2002-04-09 | 2003-11-06 | Bernhard Voslamber | Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium |
US20030217054A1 (en) * | 2002-04-15 | 2003-11-20 | Bachman George E. | Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution |
US7424717B2 (en) * | 2002-05-01 | 2008-09-09 | Bea Systems, Inc. | Systems and methods for business process plug-in development |
US20040003353A1 (en) * | 2002-05-14 | 2004-01-01 | Joey Rivera | Workflow integration system for automatic real time data management |
US7571187B2 (en) * | 2002-05-31 | 2009-08-04 | Microsoft Corporation | Support for real-time queries concerning current state, data and history of a process |
US7107340B2 (en) * | 2002-05-31 | 2006-09-12 | Microsoft Corporation | System and method for collecting and storing event data from distributed transactional applications |
US7272816B2 (en) * | 2002-07-31 | 2007-09-18 | Sap Aktiengesellschaft | Transformations between private and shared workflows |
US7225425B2 (en) * | 2002-08-29 | 2007-05-29 | Sap Aktiengesellschaft | Rapid application integration |
US20040078105A1 (en) * | 2002-09-03 | 2004-04-22 | Charles Moon | System and method for workflow process management |
US7398525B2 (en) * | 2002-10-21 | 2008-07-08 | International Business Machines Corporation | Resource scheduling in workflow management systems |
US8056046B2 (en) * | 2002-10-22 | 2011-11-08 | The Boeing Company | Integrated system-of-systems modeling environment and related methods |
US7437703B2 (en) * | 2002-10-25 | 2008-10-14 | Sap Ag | Enterprise multi-agent software system with services able to call multiple engines and scheduling capability |
US7062537B2 (en) * | 2002-11-25 | 2006-06-13 | Microsoft Corporation | Workflow services architecture |
US20040148213A1 (en) * | 2002-11-25 | 2004-07-29 | Microsoft Corporation | Automated workflow constraints |
US7272820B2 (en) * | 2002-12-12 | 2007-09-18 | Extrapoles Pty Limited | Graphical development of fully executable transactional workflow applications with adaptive high-performance capacity |
US7885840B2 (en) * | 2003-01-07 | 2011-02-08 | Sap Aktiengesellschaft | System and method of flexible workflow management |
US7168077B2 (en) * | 2003-01-31 | 2007-01-23 | Handysoft Corporation | System and method of executing and controlling workflow processes |
US20040162741A1 (en) * | 2003-02-07 | 2004-08-19 | David Flaxer | Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference |
CA2420479A1 (en) * | 2003-02-13 | 2004-08-13 | Ibm Canada Limited - Ibm Canada Limitee | Flow debugging software and method |
US20050066002A1 (en) * | 2003-07-31 | 2005-03-24 | Arnold Teres | Workflow compatible healthcare information message communication system |
US8645420B2 (en) * | 2003-08-05 | 2014-02-04 | Accenture Global Services Limited | Methodology framework and delivery vehicle |
US7693973B2 (en) * | 2003-08-28 | 2010-04-06 | International Business Machines Corporation | Pluggable state meta-data processors based on meta information modeling in a service oriented architecture |
CA2443454A1 (en) * | 2003-09-11 | 2005-03-11 | Teamplate Inc. | Data binding method in workflow system |
CA2442796A1 (en) * | 2003-09-26 | 2005-03-26 | Ibm Canada Limited - Ibm Canada Limitee | Binding a workflow engine to a data model |
US7093207B1 (en) * | 2003-11-17 | 2006-08-15 | Kla-Tencor Technologies Corporation | Data analysis flow engine |
US7519960B2 (en) * | 2003-12-19 | 2009-04-14 | International Business Machines Corporation | Method and system for debugging business process flow |
US7650344B2 (en) * | 2004-02-09 | 2010-01-19 | Coremetrics, Inc. | System and method of managing software product-line customizations |
US7424485B2 (en) * | 2004-06-03 | 2008-09-09 | Microsoft Corporation | Method and apparatus for generating user interfaces based upon automation with full flexibility |
US20060064335A1 (en) * | 2004-08-17 | 2006-03-23 | International Business Machines Corporation | Method, system, and storage medium for performing business process modeling |
US7631291B2 (en) * | 2004-10-01 | 2009-12-08 | Microsoft Corporation | Declarative representation for an extensible workflow model |
US7464366B2 (en) * | 2004-10-01 | 2008-12-09 | Microsoft Corporation | Programming interface for a componentized and extensible workflow model |
US7451432B2 (en) * | 2004-10-01 | 2008-11-11 | Microsoft Corporation | Transformation of componentized and extensible workflow to a declarative format |
US8478616B2 (en) * | 2004-10-29 | 2013-07-02 | FrontRange Solutions USA Inc. | Business application development and execution environment |
US20060112122A1 (en) * | 2004-11-23 | 2006-05-25 | International Business Machines Corporation | Method, system, and storage medium for implementing business process modules |
US7433887B2 (en) * | 2004-12-29 | 2008-10-07 | Microsoft Corporation | Method and apparatus for metadata driven business logic processing |
US7493594B2 (en) * | 2005-03-14 | 2009-02-17 | Research In Motion | System and method for designing component based applications |
WO2006110981A1 (en) * | 2005-04-18 | 2006-10-26 | Research In Motion Limited | System and method for enabling assisted visual development of workflow for application tasks |
US20060241954A1 (en) * | 2005-04-22 | 2006-10-26 | International Business Machines Corporation | Method and system for adaptive action management for business solutions |
US7983943B2 (en) * | 2005-05-27 | 2011-07-19 | Xerox Corporation | Method and system for workflow process node synchronization |
-
2005
- 2005-02-23 US US11/063,808 patent/US20060074735A1/en not_active Abandoned
- 2005-08-12 KR KR1020050074228A patent/KR20060087995A/ko not_active Application Discontinuation
- 2005-09-01 CN CN2005100990939A patent/CN101013362B/zh not_active Expired - Fee Related
- 2005-09-13 JP JP2005265378A patent/JP2006107478A/ja active Pending
- 2005-09-30 EP EP05109096.7A patent/EP1643435B1/en not_active Not-in-force
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05135121A (ja) * | 1991-11-14 | 1993-06-01 | Hitachi Software Eng Co Ltd | ダイアグラム認識システム |
JP2002259643A (ja) * | 2001-03-02 | 2002-09-13 | Hitachi Ltd | ビジネスプロセス制御プログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009535978A (ja) | 2006-05-04 | 2009-10-01 | マイクロソフト コーポレーション | ホバーに応答した発呼 |
JP2014096166A (ja) * | 2008-03-31 | 2014-05-22 | Hitachi Ltd | 情報システムトポロジー表示を提供するユーザーインターフェース |
US9225610B2 (en) | 2008-03-31 | 2015-12-29 | Hitachi, Ltd. | User interface providing information system topology presentation |
JP7508690B2 (ja) | 2020-07-22 | 2024-07-01 | サービスナウ, インコーポレーテッド | 多重プロセス・ワークフロー・デザイナ |
Also Published As
Publication number | Publication date |
---|---|
EP1643435B1 (en) | 2016-04-27 |
CN101013362A (zh) | 2007-08-08 |
EP1643435A1 (en) | 2006-04-05 |
CN101013362B (zh) | 2010-05-05 |
US20060074735A1 (en) | 2006-04-06 |
KR20060087995A (ko) | 2006-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8170901B2 (en) | Extensible framework for designing workflows | |
EP1643435B1 (en) | An extensible framework for designing workflows | |
JP4806240B2 (ja) | コンポーネント化された拡張可能なワークフローモデル | |
JP5710852B2 (ja) | 設計時および実行時にワークフローを継ぎ目なくオーサリングし編集するためのフレームワーク | |
JP5173128B2 (ja) | フローベースおよび制約ベースのワークフローをオーサリングし、実行するための統一モデル | |
US7451432B2 (en) | Transformation of componentized and extensible workflow to a declarative format | |
JP5021193B2 (ja) | 拡張可能ワークフローモデルの宣言的表現 | |
US6804686B1 (en) | System and methodology for providing fixed UML layout for an object oriented class browser | |
US7840936B2 (en) | Support of a platform-independent model including descriptions of modeling language entities | |
JP2006107479A (ja) | ワークフロー領域内の分野横断的動作問題(cross−cuttingbehavioralconcerns)をモデル化するためのフレームワーク | |
US7434203B2 (en) | Software logistics for pattern-based applications | |
US20070168384A1 (en) | Mapping of designtime to runtime in a visual modeling language environment | |
US20120060141A1 (en) | Integrated environment for software design and implementation | |
Wingrave et al. | A natural, tiered and executable UIDL for 3D user interfaces based on Concept-Oriented Design | |
Liberty et al. | Pro Windows 8.1 Development with XAML and C | |
Ráth et al. | Automated model transformations in domain specific visual languages | |
Allen | Self Handbook Documentation | |
Rose | Using Rose | |
Allwood et al. | A User Friendly, Type-Safe, Graphical Shell | |
White | Rehosting the Workflow Designer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080819 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080819 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111101 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120601 |