(57)【要約】  ビジネスプロセスを表現するメタモデル。ビジネスプロセスを識別するための動作的表現が定義される。ビジネスプロセスは複数のアクティビティシーケンスを含む。定義された動作的表現と関連するメタデータが集めされる。集められたメタデータはスキーマに従ってフォーマット化される。ビジネスプロセスを表現するメタモデルが、ユーザにこうしてフォーマット化されたメタデータおよび定義された動作的表現の関数として、ユーザがビジネスプロセスとこれら定義された動作的表現を用いてインタラクト(対話)することができるように提供される。
2009533755.tif 000002
【特許請求の範囲】
【請求項１】
ビジネスプロセスを表現する方法であって、
前記ビジネスプロセスを識別するための動作的表現を定義するステップであって、前記ビジネスプロセスは複数のアクティビティシーケンスを含むステップと、
前記定義された動作的表現と関連するメタデータを集めるステップと、
前記集められたメタデータをスキーマに従ってフォーマット化するステップと、
前記ビジネスプロセスを表すメタモデルをユーザに前記フフォーマット化されたメタデータおよび前記定義された動作的表現の関数として、前記ユーザが前記ビジネスプロセスと前記定義された動作的表現を用いてインタラクトすることができるように提供するステップと
を含むことを特徴とする方法。
【請求項２】
動作的表現を定義するステップは、前記ビジネスプロセスおよび前記含まれている複数のアクティビティシーケンスを、ユーザによる操作のために表示するための動作の集まりを定義するステップを含むことを特徴とする請求項１記載の方法。
【請求項３】
動作的表現を定義するステップは語彙の集まりを定義するステップを含み、前記語彙の集まりは前記ビジネスプロセスを前記ユーザおよび開発者に対して記述することを特徴とする請求項１記載の方法。
【請求項４】
更に、前記ビジネスプロセスの状態を記述するレポートを生成するステップを含み、前記状態は前記複数のアクティビティシーケンスの進行を前記動作的表現および前記集められたメタデータの関数として定義することを特徴とする請求項１記載の方法。
【請求項５】
更に、前記ユーザからの入力に応答して、前記複数のアクティビティシーケンスの進行を前記動作的表現に基づいてシミュレーティングするステップを含むことを特徴とする請求項４記載の方法。
【請求項６】
更に、前記集められたメタデータを、前記ビジネスプロセス内に含まれる前記複数のアクティビティシーケンスと相関付けするステップを含むことを特徴とする請求項１記載の方法。
【請求項７】
前記ビジネスプロセスと関連する１つもしくは複数の現存するコンフィグレーションを発見するステップを含み、前記現存するコンフィグレーションは、前記ビジネスプロセスとインタラクトするための現存する動作を定義することを特徴とする請求項１記載の方法。
【請求項８】
１つもしくは複数のコンピュータ可読媒体は、請求項１の方法を遂行するためのコンピュータ実行可能命令を有することを特徴とする請求項１記載の方法。
【請求項９】
ビジネスプロセスを記述するためのシステムであって、
メタデータを集めるためのインタフェースと、
集められたメタデータを格納するためのメモリエリアと、
コンピュータ実行可能命令を実行するように構成されたプロセッサと
を含み、前記プロセッサは、
前記ビジネスプロセスを識別するための動作的表現を定義するステップであって、前記ビジネスプロセスは複数のアクティビティシーケンスを含むステップと、
前記集めされたメタデータを前記識別されたビジネスプロセスと前記定義された動作的表現の関数として関連付けするステップと、
前記集められたメタデータをスキーマに従ってフォーマット化するステップと、
前記ビジネスプロセスを表すメタモデルを、前記インタフェースを介してユーザ（１０８）に、前記フォーマット化されたメタデータおよび前記定義された動作的表現の関数として、前記ユーザが前記ビジネスプロセスと前記定義された動作的表現を用いてインタラクトすることができるように提供するステップとを実行することを特徴とするシステム。
【請求項１０】
前記プロセッサは、前記ビジネスプロセスおよび前記含まれている複数のアクティビティシーケンスを、ユーザによる操作のために表示するための動作の集まりを定義するように構成され、前記メモリエリアは、前記動作の集まりに関連する情報を格納することを特徴とする請求項９記載のシステム。
【請求項１１】
前記プロセッサは、更に、前記ビジネスプロセスの状態を記述するレポートを生成するように構成され、前記状態は前記複数のアクティビティシーケンスの進行を前記動作的表現および前記集められたメタデータの関数として定義することを特徴とする請求項９記載のシステム。
【請求項１２】
前記プロセッサは、更に、前記ユーザからの入力に応答して、前記複数のアクティビティのシーケンスの進行を前記動作的表現に基づいてシミュレーティングするように構成されることを特徴とする請求項１１記載のシステム。
【請求項１３】
前記プロセッサは、更に、前記集められたメタデータを、前記ビジネスプロセス内に含まれる前記複数のアクティビティのシーケンスと相関付けするように構成されることを特徴とする請求項９記載のシステム。
【請求項１４】
前記プロセッサは、前記ビジネスプロセスと関連する１つもしくは複数の現存するコンフィグレーションを発見するように構成され、前記現存するコンフィグレーションは、前記ビジネスプロセスとインタラクトするための現存する動作を定義することを特徴とする請求項９記載のシステム。
【請求項１５】
ビジネスプロセスを表現するためのコンピュータ実行可能コンポーネントを有する１つもしくは複数のコンピュータ可読媒体であって、前記コンピュータ実行可能コンポーネントは、
前記ビジネスプロセスを記述するための語彙コンポーネントと、
前記記述されたビジネスプロセスに対応するメタデータを集めるためのデータコンポーネントと、
前記集められたメタデータをユーザに提供するためのインタフェースコンポーネントと、
前記記述されたビジネスプロセスの分析を報告するための報告コンポーネントと、
前記ユーザが前記ビジネスプロセスとインタラクトすることができるように集められたメタデータと関連する規則を、評価するための論理コンポーネントと
を含むことを特徴とするコンピュータ可読媒体。
【請求項１６】
前記語彙コンポーネントは、動作の集まりを、前記ビジネスプロセスおよび含まれている複数のアクティビティシーケンスをユーザによる操作のために表示するために定義することを含むことを特徴とする請求項１５記載のコンピュータ可読媒体。
【請求項１７】
前記語彙コンポーネントは、語彙の集まりを定義することを含み、前記語彙の集まりは前記ビジネスプロセスを前記ユーザおよび開発者に対して記述することを特徴とする請求項１５記載のコンピュータ可読媒体。
【請求項１８】
前記報告コンポーネントは、前記ビジネスプロセスの状態を記述する分析レポートを生成し、前記状態は前記複数のアクティビティシーケンスの進行を前記動作的表現および前記集められたメタデータの関数として定義することを特徴とする請求項１５記載のコンピュータ可読媒体。
【請求項１９】
前記インタフェースコンポーネントは、ユーザからの入力を受信し、更に、前記複数のアクティビティシーケンスの進行を、前記インタフェースコンポーネントにて受信される入力に応答して前記動作的表現に基づいてシミュレーティングするためのシミュレーションコンポーネントを含むことを特徴とする請求項１８記載のコンピュータ可読媒体。
【請求項２０】
更に、前記ビジネスプロセスと関連する１つもしくは複数の現存するコンフィグレーションを発見するための発見コンポーネントを含み、前記現存するコンフィグレーションは、前記ビジネスプロセスとインタラクトするための現存する動作を定義することを特徴とする請求項１５記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジネスプロセスを表現する方法に関する。
【背景技術】
【０００２】
典型的には、ビジネストランザクションを処理するために構成されたコンピュータソフトウェアもしくはアプリケーションは、ソフトウェアの開発者の観点から設計され、ビジネスユーザはそのソフトウェアもしくはアプリケーションを完全には使用できない状況下に取り残されている。例えば、ワークフローもしくはプロセス本位のアプリケーションにおいては、ビジネスユーザは、一連のプロセスステップ、これらステップに対するシーケンス、およびこれらプロセスステップを遂行するために指定された職務（例えば、個人）を巻き込むワークフローを定義することを望むことがある。ビジネスユーザは、しばしば、そのワークフローの概念を開発者に対して表現することが必要となり、開発者はこれら概念をビジネスユーザがそのワークフローを満足する形で定義できるようにプログラミングコードに翻訳する。
【０００３】
開発者は、通常、このようなアプリケーションを設計する際に、ビジネスユーザの観点から離れたいくつかの制約もしくは条件を課す。例えば、プロセスステップを定義する際には、開発者はそれらプロセスステップと関連するデータを識別し、更に、ソースからのデータをそのプロセスステップの最中にそのデータが使用できるようにするためにどのように接続すべきかを識別することを必要とする。このためには、データの変換、データ接続制御およびデータフロー、出力データその他の詳細が問題となる、開発者は、更に、データの一部が利用できないときや、ある職務が指定されたタスクを完結できないときなどには、例外処理を考慮することを必要とされる。１つの更なる例示的状態においては、あるシーケンス内のあるステップが、セキュリティもしくは認証メカニズム、ハードウェアの構成もしくは設定その他をトリガするようにされる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
今日の慣行および利用可能なソフトウェアツールにおける一般的な問題は、ビジネスレベルの表示と開発者レベルの表示の間の変換は、翻訳、すなわち、単にこれら２つの異なる表現間の共通し、重複する特徴を、変換および維持するプロセスによって達成される点にある。この翻訳プロセスは、しかしながら、開発者の視点からは、プロセス設計の細部を失うこととなる。抽象化の１つのレベル（通常は開発者のレベル）上に提供される詳細な特徴は、抽象化の異なるレベル（通常はビジネスユーザのレベル）に変換される際に無視される。加えて、抽象化の１つのレベル上に変更がなされると、しばしば、異なる抽象化のレベル上で達成されていた微調整が破られることとになる。こうして、開発者およびビジネスユーザは、共に、単に既に存在していたものを回復ためにだけでも現存する構成を再定義することが必要となる。
【０００５】
こうして、ビジネスユーザは、ワークフローを現在のプロセス本位のアプリケーションにおいて彼／彼女が利用可能なツールもしくは機能を用いて定義することもできるが、抽象化の異なるレベル間を横断してのビジネスプロセスの定義において利用可能なデータおよび動作を正確に識別し、これらとインタラクト(対話)する能力には欠ける。  
【課題を解決するための手段】
【０００６】
本発明の実施形態は現存のアプローチの短所をビジネスプロセスの設計段階の際にビジネスの意図を正確に捕捉することで克服する。本発明のいくつかの形態は、プロセス設計のビューを抽象化の異なるレベル間で変換するための一貫した、かつ、効率的な方法を提供する。本発明の実施形態は、セットの語彙またはセットのユニバーサルな動作的表現を定義することで、ビジネスアプリケーションの表現されたビジネス意図および実装とＩＴコンフィグレーションとの間のギャップの橋渡しをする。  
【０００７】
本発明の代替実施形態においては、ビジネスユーザがあるプロセスを彼／彼女の抽象化レベルにおいて記述することを可能にするのみでなく、情報技術（ＩＴ）関係の個人もしくは開発者が、同一インタフェースにて実装させることも可能にする、ビジネスプロセスのメタモデルもしくはインタフェースを構築もしくは確立する。本発明の更なる実施形態においては、ＩＴ開発者は、ビジネス関係の人によって生成されたビジネスプロセスのメタモデルを用いることで、そのビジネスプロセスを実装することができる。代替においては、本発明の実施形態は、ある現存の実装が行われたとき、そのビジネスユーザの所望のプロセス表現に対する現存の実装をそのビジネスプロセスのメタモデルを用いて発見もしくは行う。
【０００８】
この要約は概念の抜粋を簡素化された形式にて導入することにあり、これら概念については後に詳細な説明において更に詳しく説明される。この要約は、請求された主題の重要な特徴もしくは必須の特徴を識別することを意図するものでも、請求された主題の範囲を定めるための助けとして用いられることを意図するものでもない。
【０００９】
他の特徴は、一部は明白であり、一部は、後に指摘される。
【００１０】
図面を通じて対応する参照符号は対応するパーツを示す。
【発明を実施するための最良の形態】
【００１１】
最初に図１Ａを参照するが、ブロック図は、本発明の１つの実施形態に従うビジネスプロセスを表現するためのシステム１００を示す。このシステム１００は、汎用コンピューティングデバイス１０２を含み、これは、プロセッサ１０４とメモリエリア１０６と、を含む。１つの実施形態においては、このコンピューティングデバイス１０２は、図６に示され、説明されているようなコンピュータ１３０である。このシステム１００は、更に、インタフェース１１８を含み、これは、あるソースからデータもしくはメタデータを集めるために用いられ、これらは、このソースはユーザ（例えば、ビジネスユーザ１０８）からの入力の形態であっても、メモリエリア１０６もしくは他のデータ記憶ソース内に格納されているときは、自動化されたプロセスの形態、データに添付されたもしくはデータと関連するメタデータの形態であっても良い。１つの実施形態においては、こうして集められたメタデータは、そのメタデータの要件を記述および定義する１つの統一スキーマにフォーマット化される。例えば、このスキーマは、そのメタデータは、ある文字長の範囲内であること、その他を定義する。１つの実施形態においては、このシステム１００は、図１Ｂに示されるようなメタモデル１１８を実装するために用いられるが、このメタモデル１１８は、ビジネスプロセスの設計段階の際にそのビジネスの意図を捕捉することで導出されるデータもしくはメタデータを表す。
【００１２】
図１Ａに示されているように、１つあるいは複数のユーザがシステム１００内のこのコンピューティングデバイス１０２へのアクセスを有する。１つの実施形態においては、このシステム１００は、１つもしくは複数のサーバおよびクライアント構成を有する分散システムであり、このコンピューティングデバイス１０２は、これらサーバもしくはクライアントの１つである。例えば、１つもしくは複数のビジネスユーザＡ１−Ｎ１０８は、このコンピューティングデバイス１０２へのアクセスを有するが、同様にして、１つもしくは複数のビジネスユーザＢ１−Ｎ１１０もこれへのアクセスを有する。同時に、１つもしくは複数の開発者Ｄ１−Ｎ１１２は、これらビジネスユーザＡ１−Ｎ１０８およびビジネスユーザＢ１−Ｎ１１０に対する動作を、維持、構成、および設計する責任を負う。一例においては、ビジネスユーザＡ１−Ｎ１０８およびビジネスユーザＢ１−Ｎ１１０は、同一の企業の一部分であることも、異なるビジネスと関連することもある。
【００１３】
次に、図１Ｂに移り、メタモデル１１８は、一方においては、ＩＴ（ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ）モデル１２０と通信し、他方においては、オーサリングモデル１２２およびシミュレーションモデル１２４と通信するように構築される。例えば、ＩＴモデル１２０は、１つもしくは複数のＩＴの実装、例えば、ウェブサービス、ディレクトリサービス、イベント処理その他を提供する。オーサリングモデル１２２は、ワークマネジメントの実装、ソフトウェアツール構成その他を含む。シミュレーションモデル１２４（これについては後に詳しく説明される）は、「ａｓ−ｉｓ」の実装と、「ｔｏ−ｂｅ」の実装と、を含む。メタモデル１１８内に定義されるセットの語彙１２６を使用することで、本発明の実施形態は、これらＩＴモデル１２０、オーサリングモデル１２２、およびシミュレーションモデル１２４、並びに、他のソフトウェアモデル、モジュールもしくはコンポーネントの間の通信を手助けし、ビジネスプロセスの設計の際のユーザのビジネス目的の表現に向上させる。
【００１４】
例えば、ＩＴモデル１２０を設計しているＩＴ開発者は、語彙１２６を用いることで、他のモデルに対する機能もしくは動作を同一の概念を用いて定義する。同時に、これらＩＴ開発者は、同一のセットの語彙１２６を用いて定義されている（例えば、オーサリングモデルあるいはシミュレーションモデル内の）現存する機能あるいは動作を見つけ出し、使用する。同様にして、オーサリングモデル１２２とシミュレーションモデル１２４、および他のサービスモデル１２８は、他のソフトウェアモデル、モジュールもしくはコンポーネントと、そのユーザのビジネスの目的を完全に表現するためにシームレスに通信する。
【００１５】
図１Ｂに示され、後に更に詳しく説明されるように、メタモデル１１８内には、たった６つの語彙用語しか定義されてないが、本発明の範囲から逸脱することなく、ビジネスプロセスにおいて通常に用いられている概念を捕捉するために、他の用語もしくは構造を定義することもできる。
【００１６】
図２Ａおよび２Ｂは本発明の１つの実施形態に従う、こうして定義された語彙もしくは動作的表現を用いて、あるビジネスプロセスを関連するメタデータと共に表現する方法を示すブロック図である。図２Ａにおいては、ブロック図は、ビジネスユーザの、ビジネスプロセスの設計の概念もしくは目的を示す。例えば、ユーザ（例えば、図１内のユーザ１０８）は、ステップＡ  ３０２、およびこれに続くステップＢ  ３０４およびステップＣ  ３０６から構成されるセットのビジネスプロセスを設計することを意図する。
【００１７】
図２Ｂはビジネスプロセスにおけるタスクの定義の最初のステージ（例えば、買い物の注文）を解説する。３０２において、ステップＡは、現存する実装に既に結合されているタスクを定義するが、結果として不一致に関する視覚的合図は不在となる。例えば、ユーザ＿Ａ１は全ての買い物の注文を受信するタスクを遂行するように設計される。しかしながら、３０４において、ステップＢは、その実装に対してはまだ現存する動作に結合されてないタスクを定義する。このため、警告合図３０８はこのような問題を示す。例えば、注文の承認のタスクがユーザ＿Ａ１の管理者に割り当てられるが、しかし、このタスクを遂行するためのこのような役割はいまだ存在しない。３０６においては、ステップＣは複合タスクを表す。ユーザが「＋」の符号をクリックすると、このタスクの視覚的な表現が拡大され、包含プロセスが表示される。例えば、注文を承認するタスクにおいては、その注文を承認する特定の人はその商品をチェックすることあるいは他のタスクを要求される。この警告合図は更に複合タスク３０６の内側のいくつかのエレメントがまだある実装に結合されてないことも示す。
【００１８】
次に、図３Ａから３Ｃの参照に移り、３つのブロック図は、本発明の実施形態に従うビジネスプロセスの異なるユーザパースペクティブを示す。図３Ａは、ユーザ２０２（例えば、ビジネスユーザＡ１０８）のユーザパースペクティブを示す。この例においては、ユーザ２０２は、アクティビティおよびこれらのシーケンスに関心がある個人である。換言すれば、ユーザ２０２は、ビジネスプロセスに関連するタスクおよびイベントのシーケンス、例えば、注文書の取り扱い、例えば、２０４における注文書１２３の取り扱いのみに関心がある。この図示においては、ユーザ２０２が眺めるまたはアクセスするのは、ユーザ２０２に対してビュー２０６内に提供されるもの、すなわち、注文書１２３のために取られたタスクのリストおよびエベントのシーケンスである。例えば、ビュー２０６は、２０８において、その注文書１２３は、ある顧客、例えば、ＡＢＣ社から送られたものであることを記述する。２１０において、この注文書１２３は、次に、販売部門の責任者によって受信される。例えば、この責任者のインスタンスは、ユーザ＿Ａ１であり得る。２１２において、この注文書１２３は、その後、販売部門の管理者（例えば、ユーザ＿Ｂ１）にて承認される。次のタスクとして、２１４において、在庫状態が「在庫あり（ｉｎ  ｓｔｏｃｋ）」であることが示され、２１６において、この注文書１２３に対する出荷状態は「未出荷（ｎｏｔ  ｓｈｉｐｐｅｄ）」であることが示される。更に、このビュー２０６は、２１８において、注文書１２３に対する請求書は“＄５，０００．００”であることを示す。
【００１９】
図３Ｂは、他方において、ユーザ２２０に対する異なるビューを示す。ここで、このユーザ２２０は、アクティビティを、データソース、データの変換およびデータフローにリンクすること希望する人である。換言すれば、ユーザ２２０は、タスクおよびイベントをエンティティに結びつけることを希望する。こうして、ユーザ２２０に提供される注文書１２３のビュー２２２は、図３Ａにおいてユーザ２０２に提供されたビュー２０６とは異なる。例えば、このビュー２２２においては、２０８において、顧客（例えば、ＡＢＣ社）にて送信された同一の注文書に対して、ユーザ２２０は、ＡＢＣ社にて送信された注文を行うメッセージ２２４（例えば、音声メールメッセージ、電子メール（ｅメール）メッセージ等）にアクセスする。２１０において、責任者（ユーザ＿Ａ１）にて受信されている注文に対して、ビュー２２２は、その責任者の連絡先情報２２６、例えば、その人の電話番号、ｅメールアカウント、あるいは他の連絡先情報を示す。２１２における注文の承認に対しては、ユーザ２２０は、２１４における注文１２３の詳細に加えて、管理者（例えば、ユーザ＿Ｂ１）の連絡先情報２２８を見る。２１６においては、このビュー２２２は、出荷者のデータストアのスナップショット２３２およびその出荷者のデータストアの所に示されている状態を示す。２１８において、請求書が会計部門のデータストアへのリンク２３４にアクセスし、結果としてこの注文書１２３に対して＄５，０００．００が関連付けられる。
【００２０】
図３Ｃは、ユーザ２３６からの視点からのビューを示すが、ここではユーザ２３６は、ある実装の機能を、エンティティの観点から、そのアプリケーションをそのプロセスの中で用いることができるようにするために、例えば、エンティティおよびアクションをタスクシーケンス内において用いるために表示するプロセスの中で用いることができるようにするために、記述することを望む人である。この例においては、注文書１２３のビュー２５２は、以下に示される物の内の１つまたは複数を含む：
【００２１】
顧客であるＡＢＣ社にて送信された注文の同一ステップ２０８に対して、ビュー２５２は例えば、ボックス２３８内に示されるようなセットの条件を示す。例えば、ユーザ２３６は、既に、このステップ２０８を実装するための以下のような条件を有する：
Ｆｏｒ  ａｌｌ  ＡＢＣ  Ｃｏｒｐ．ｏｒｄｅｒｓ
｛ｉｆ  ｑｕａｎｔｉｔｙ＞５００  ｕｎｉｔｓ
Ｖ．Ｐ．ｏｆ  Ｓａｌｅｓ  ｄＤｅｐａｒｔｍｅｎｔ  ｔｏ  ｈａｎｄｌｅ；
ｅｌｓｅ
ａｎｙ  ｕｓｅｒ  ｃａｎ  ｈａｎｄｌｅ；｝
【００２２】
換言すれば、ユーザ２３６が同一の注文書１２３にアクセスすると、図３Ａ又は３Ｂに説明されているものの代わりに、ユーザ２３６は、より技術的な面に重点が置かれた異なるパースペクティブを見ることとなる。
【００２３】
２１０において、注文が責任者によって受信されるが、開発者は、責任者（例えば、ユーザ＿Ａ１）は２月２７日から３月３日まで休暇であるあるいは休暇を取ることになっていることを示すボックス２４０を見ることとなる。こうして、ユーザ２３６は、責任者が不在のときに注文書を扱うための別の人に送られるべき自動応答イベントを実装することもできる。２１２において、管理者（例えば、ユーザ＿Ｂ１）による注文の承認のために、ユーザ２３６はボックス２４２にアクセスするが、これは、このステップと関連する以下のようなもう１つのセットの制約を示す：
Ｆｏｒ  ａｌｌ  ＡＢＣ  Ｃｏｒｐ．ｏｒｄｅｒｓ
｛ｉｆ  １ｕａｎｔｉｔｙ＞５００  ｕｎｉｔｓ
ｎｅｅｄ  ｔｏ  ｂｅ  ａｐｐｒｏｖｅｄ  ｂｙ  Ｖ．Ｐ．  ｏｆ  ｔｈｅ  Ｓａｌｅｓ  Ｄｅｐａｒｔｍｅｎｔ；
ｅｌｓｅ
ｎｅｅｄ  ｔｏ  ｂｅ  ａｐｐｒｏｖｅｄ  ｂｙ  Ｍａｎａｇｅｒ  ｏｆ  ｔｈｅ  Ｓａｌｅｓ  Ｄｅｐａｒｔｍｅｎｔ；｝
【００２４】
１つの実施形態においては、ユーザ２３６は、更に、実際の注文書１２３が詳細を見ることもできるようにし（図示なし）、注文書１２３が実際には５００ユニットより少ない量を要求していると判断されたときは、管理者が適切に処理するようにすることもできる。そして、５００ユニットより多い量が要求されるときは、ユーザ２３６は、警告エベントを発行することで、販売部門のＶ．Ｐ．がその注文書１２３を承認しているべきであることを示すこともできる。
【００２５】
２１４において、ユーザ２３６は、ボックス２４４とボックス２４６を見ることで、在庫の状態を更に詳しく見ることもできる。この例においては、ユーザ２３６は、例示的在庫状態検証実装のインスタンスとして、以下に示すものを見ることとなる：
ｉｆ  ｏｒｄｅｒｓ  ｂｙ  ＡＢＣ  Ｃｏｒｐ．  ｉｓ  ｎｏｔ  ａｐｐｒｏｖｅｄ  ｗｉｔｈｉｎ  ２０  ｈｏｕｒｓ
ｐａｙ  ＄１  ｐｅｎａｌｔｙ  ｆｏｒ  ｅａｃｈ  ｕｎｉｔ；
Ｉｎｖｅｎｔｏｒｙ  ｓｔａｔｕｓ  ｃｈｅｃｋ：ｅｖｅｒｙ  １０ｍｓ；
Ｃｕｒｒｅｎｔ  ｓｔａｔｕｓ：  ５０，０００  ｉｎ  ｓｔｏｃｋ；
Ｎｅｘｔ  ｓｔｏｃｋｉｎｇ  ｓｈｉｐｍｅｎｔ：２／２２
【００２６】
この実施形態においては、ユーザ２３６は、在庫の状態およびこの特定の顧客と関連するメタデータを見ることができるのみでなく、ユーザ２３６は、在庫の現在の状態も見ることができ、このためユーザ２３６は、在庫の量が少ないとき、又は次の出荷日がまだ指定されてないときには、警告イベントを実装することもできる。
【００２７】
２１６において、ユーザ２３６は、出荷状態に対する以下のような条件を示すボックス２４８を見ることとなる：
Ｆｏｒ  ＡＢＣ  Ｃｏｒｐ．ｏｒｄｅｒｓ
｛ｉｆ  ｉｎｖｏｉｃｅ＞＄１０，０００
ｕｓｅ  ｏｖｅｒｎｉｇｈｔ  ｅｘｐｒｅｓｓ；
ｅｌｓｅ
ｕｓｅ  ｇｒｏｕｎｄ  ｓｈｉｐｐｉｎｇ；｝
【００２８】
２１８において、ビュー２５２は、開発者に対してボックス２５０を表示するが、これは、ユーザ２３６への請求書に対するもう１つの条件から成るさらにもう１つのインスタンスを示す：
ＦＯＲ  ＡＢＣ  Ｃｏｒｐ．ｏｒｄｅｒｓ
｛  ｉｆ  ｉｎｖｏｉｃｅ＞＄５００
ｓｅｎｄ  ｉｎｖｏｉｃｅ  ｗｉｔｈｉｎ  ５  ｂｕｓｉｎｅｓｓ  ｄａｙｓ；
ｅｌｓｅ
ｓｅｎｄ  ｉｎｖｏｉｃｅ  ｗｉｔｈｉｎ  ３０  ｄａｙｓ；｝
【００２９】
図３Ａから３Ｃに説明されたステップもしくは条件／制限は、単に解説を目的とするものであり、従って、本発明の範囲を制限するものではないことを理解されるべきである。本発明の範囲から逸脱することなく、他のプロパティ、シーケンス、ディスクリプション、パラメータ、条件、その他を、ビジネスプロセスと関連させて組み込むこともできる。
【００３０】
こうして、本発明の実施形態は、ユーザ（例えば、ユーザ２０２、ユーザ２２０、もしくはユーザ２３６）のパースペクティブに依存して、ビジネスプロセスのメタモデルを、異なるユーザの必要性に適合しながら、一貫的に表現する。加えて、ユーザ２０２、ユーザ２２０、又はユーザ２３６は、各々のビューもしくはパースペクティブにおいて、互換的に用いることができ、こうして、各ユーザは、そのユーザがそのビジネスプロセスと関連するメタデータにアクセスするあるいはこれを修正するための権限／許可を有しているということを前提に、異なるビュー又はパースペクティブにアクセスすることができる。
【００３１】
注文をすると言ったような、このようなビジネスプロセスのどこにでも見られるような表現を達成するために、本発明の実施形態は、１つの共通の語彙１１４すなわちセットの動作的表現を定義し、ビジネス指向の人と、ＩＴ指向の個人の両方が、ビジネスプロセスを一貫したやり方にて、論理的に考え、表現することができるようにする。加えて、ビジネス指向の人と、ＩＴ関連の個人の両方が、この共通の語彙すなわち動作的表現を用いることで、他のグループもしくはパースペクティブに対して向けられた情報を保存、表示、およびこれに注釈を付けることが可能になる。
【００３２】
現存するビジネスワークフローもしくはプロセス指向のソフトウェアアプリケーションが、しばしば、異なるエンティティが、組織上の職務（例えば、人あるいは個人）に従って、例えば、ワークフロープロセス内のさまざまなタスクと、どのようにインタラクトすべきかを管理するために用いられる。例えば、典型的な一連の注文書を記入するワークフロープロセスにおいては、以下のようなことが定められる：
１．注文記入係は、顧客からの注文を受け取る責任を負い；
２．その顧客を担当する地域の管理者は、その注文を承認することに責任を負い；
３．在庫管理者は、注文された商品の在庫があるかを調べる責任を負い；
そして
４．出荷部門の管理者は、注文品の出荷を処理する。
【００３３】
多くの状況においては、同一職務内の任意の個人、例えば、管理者がタスクを遂行する。しかしながら、ビジネスワークフローソフトウェアアプリケーションは、ある特定の職務を有するある特定の個人が、特定のタスクを遂行しなければならないというような状況にも対応できることを必要とされる。例えば、「ｔｈｉｓ．ｃｕｓｔｏｍｅｒ．ｒｅｇｉｏｎ．ｍａｎａｇｅｒ（この顧客、地域、管理者）」などの表現は、ある特定のワークフローインスタンスに対する職務を遂行する権限を有する個人を識別することを必要とされる。
【００３４】
現存する慣行もしくは現存するビジネスプロセスアプリケーションとは異なり、本発明の実施形態は、あるビジネスプロセスモデルの抽象化の異なるレベル間の翻訳を行うというのではなく、共通の語彙すなわち動作的表現を導入することにより、ビジネスユーザとＩＴ開発者との間の、ビジネスプロセスのメタモデルを有する協調的なインタフェースを設計する。協調的なインタフェースと呼ばれるのは、このインタフェースは、様々なパースペクティブからのユーザが一貫しているが、それでいてフレキシブルなインタフェースを用いて、これらユーザが技術的実装の詳細を失うことなく、所望の動作を完全に表現できるように、ビジネスプロセスを表現することを可能にするためである。これを用いることで、本発明のいくつかの実施形態はプロダクション環境すなわちインタフェースを記述するが、そこにおいては、ビジネス指向の人も、プロセスアプリケーションに対する変更を実装するためにＩＴ開発者からの恒常的な管理あるいは支援を必要とすることなく、プロセスモデルを生成および変更することが可能となる。
【００３５】
本発明の実施形態は以下を含む共通の語彙すなわち動作的表現を定義する：
１．イベント：任意のプロセスもしくはサービスにおける、ビジネスがそれに応答する、状態の意味のある変化であり、イベントは、その状態および／または変化を、エンティティの観点から表現する「ペイロード（ｐａｙｌｏａｄ）」を有する。例えば、イベントは、入来する注文の要請、警告のための例外、その他であり得る。
２．エンティティ：ビジネス上の意味を有する情報のクラス；エンティティはリファレンスを有するが、これは、あるエンティティのインスタンスを、ＩＤもしくはいくつかの属性値を用いて参照するためのユニークなやり方である。例えば、顧客ＩＤであり得、これはある顧客の名前および連絡先情報のようなリファレンスを含む。
３．アクション：あるエンティティに関して遂行もしくは実行されるべき動作である。例えば、エンティティによって生成、読み出し、更新、削除（ｃｒｅａｔｅ，  ｒｅａｄ，  ｕｐｄａｔｅ，  ｄｅｌｅｔｅ，  ＣＲＵＤ）、又は他の動作が提供される。他の動作は入力としてエンティティへの参照を有するが、しかし、その参照されたエンティティに関してはいかなるＣＲＵＤ効果も生じない。
４．タスク：明確に定義された開始状態と終端状態を有する作業の論理的単位であって、これは人もしくはシステムに割り当てることができる。タスクは、エンティティとして与えることができる。タスクは、データコンテキストを有し、これは複数のエンティティへの参照を含むことができる（追加の詳細についてはテーブル１を参照）。例えば、タスクは、注文書を承認するためのものであっても良い。
５．規則：あるビジネス上の判断の宣言的表現であって、これは、問題とされるビジネス論理もしくはプロセスの範囲内の１つもしくは複数のエンティティの状態への参照により評価される。規則は、複数のプロセスアーティファクト、例えば、イベント、アクション、職務およびタスクに適用することができる。
６．職務：どれかのタスクを遂行することができる、もしくはどれかの動作を行うことができる個人である。例えば、職務の定義には、人と、ビジネスエンティティ、ワークフローシステム自体内のエンティティとの間の関係などの情報への参照を含む。「ｔｈｉｓ  ｔａｓｋ  ｍｕｓｔ  ｂｅ  ａｐｐｒｏｖｅｄ  ｂｙ  ｔｈｅ  ｍａｎａｇｅｒ  ｏｆ  ｔｈｅ  ｒｅｇｉｏｎ  ｉｎ  ｗｈｉｃｈ  ｔｈｉｓ  ｃｕｓｔｏｍｅｒ  ｉｓ  ｓｉｔｕａｔｅｄ（このタスクは、この顧客が位置する地域の管理者にて承認されるべきだ）」という例は、「ｔｈｉｓ．ｃｕｓｔｏｍｅｒ．ｒｅｇｉｏｎ．ｍａｎａｇｅｒ」として表現されるが、これからわかるように、この職務の問題を解決するためには、そのワークフォロー内で知られているエンティティ（つまり、「ｔｈｉｓ  ｃｕｓｔｏｍｅｒ（顧客）」）と、個人とビジネスシステム内においてのみ知られている関係（つまり、この顧客はどの地域に住んでいるのか、だれがその地域の管理者であるか）の両方が必要とされる。
【００３６】
もう１つの例として、テーブル１は、更に、いくつかの定義された語彙もしくは動作的表現とその例示的動作を説明する：
【００３７】
【表１】
2009533755.tif 000003
【００３８】
代替においては、本発明の実施形態は、既にユーザに利用可能になっている現存する動作を発見する。例えば、ある与えられた顧客に関する顧客状態を得るために、プロセッサ１０４は、動作ライブラリ１１６内において、あるアクション、例えば、「ｇｅｔ  ｃｕｓｔｏｍｅｒ  ｓｔａｔｕｓ（顧客状態を取得）」が動作ライブラリ１１６内の「ｃｕｓｔｏｍｅｒ（顧客）」なるエンティティ上で利用可能であるか否かを簡単に判断することができる。
【００３９】
更にもう１つの実施形態においては、現存のどのような動作も、ユーザの必要性を満足させるものとして識別されないときは、ユーザ、例えば、技術的な知識を有さないビジネスユーザは、本発明の実施形態に従って、共通の語彙もしくは動作的表現へと案内され、こうすることで、そのビジネスプロセスの要件を満足させる、要求された動作を設計するためのＩＴ開発者用の構造化された要件が提供される。もし、問題の要求された動作が、まだ提供されてないときでも、ビジネスユーザは、ビジネスレベルにて、そのプロセス設計を継続し、それを完成させることができる。
【００４０】
もし開発者が、その要求された動作の要件を、任意の他のインタフェースに影響を及ぼすことなく、満足させる困難さに気付いたときは、開発者は、それらの変更が他の設計部品に及ぼす影響を、そのビジネスユーザに、彼らの抽象化のレベルにおけるプロセス表現内にフラグにて示すことができる。
【００４１】
更にもう１つの代替の実施形態においては、ビジネスユーザは、ビジネスプロセス設計を、単に現存する動作を利用することのみで、修正もしくは拡張することができる。こうして、そのビジネスプロセスを、さらなるＩＴ実装の労力を必要とすることなく、拡張することが可能となる。例えば、プロセッサ１０４は、ユーザ（例えば、図１におけるビジネスユーザ＿Ａ１）からの入力を受信し、既に動作ライブラリ１１６内に格納されている動作を実行することもできる。
【００４２】
更に、このビジネスプロセスメタモデルを構成するために、本発明の範囲から逸脱することなく、様々なプログラミング言語、ルーチン、コード、もしくはアプリケーションコンポーネントを実装することもできることを理解されたい。例えば、「エンティティ（Ｅｎｔｉｔｙ）」なる語彙すなわち動作的表現を実装するために、Ｃ＃言語にて書かれたアプリケーションコンポーネントを使用して、処理エンティティ、例えば、ユーザアカウント、タスクその他の、全ての実行を処理することもできる。しかしながら、本発明の実施形態においては、ユーザアカウントもしくはタスクと関連するメタデータ、並びに、これらと関連するデータもしくは動作がユーザに提供され、このため、異なるパースペクティブを有するさまざまなユーザが、これらエンティティもしくはデータと、一貫したやり方にてインタラクトすることが可能になる。更に、もう１つの実施形態においては、語彙すなわち動作的表現は、顧客の組織の方法論上の要件に基づいて拡張され、新たな挙動もしくは表現が追加される。例えば、このメタモデルに、本発明のいくつかの実施形態において説明されているようなこれらメタモデルスキーマに適合するような新たな構造を追加することもできる。更に、現存するメタデータを、それらが本発明のこれら実施形態にて記述もしくは説明されるメタモデルスキーマと適合する限りにおいて、発見することもできる。
【００４３】
図３Ｄは、ビジネスプロセス、例えば図２Ａに示されるようなビジネスプロセスの、３つの異なるビューを示すブロック図である。より詳細には、図３Ｄは、ビジネスプロセスのランタイムピクチャを示すが、これには、３つのステップ、すなわち、ステップＡ、ＢおよびＣが含まれる。この実施形態においては、集められたメタデータは、このビジネスプロセス内に含まれる複数のアクティビティシーケンスと相関付けられる。
【００４４】
例えば、ビュー３１０には、これはアグリゲートビューであるが、ビジネスプロセスの現在の状態が示される。例えば、集められたメタデータから、ステップＡには、アクティビティもしくはエンティティの１３個のインスタンスが存在し、他方、ステップＢには４個のインスタンスが存在する。別個のビュー３１２（例えば、ダブルクリックのような、ユーザからの入力にて、トリガされるドリルダウンビュー）には、「ステップＢにおけるインスタンスのリスト」において示されているように、これら４個の実行中のインスタンスのリストが示される。このビューにおいては、ユーザは、これらインスタンスの１つを選択することで、更なる詳細を見ることができるように表示されるメタデータとインタラクトすることができる。ビュー３１４においては、ユーザは、注文書＃３２４の「インスタンスビュー」を得る。このビュー３１４では、この特定のインスタンスに関する情報、例えば、このインスタンスがオン状態である現在のタスク（ここでは「ステップＢ」）、任意の前の、現在のタスク、および任意の後続タスクの開始時間（例えば、まだ完結されてないものとしてダッシュのラインにて示されているステップＣ）、その他が視覚的にハイライトされる。
【００４５】
こうして、本発明の実施形態は、メタデータを、プロセス進行の（図３Ｄにおいて「Ｍ１」、「Ｍ２」もしくは「Ｍ３」として示されるような）さまざまなマイルストーンを通じてのインスタンスとしてシーケンス内のアクティビティと相関付ける。こうして相関付けられたメタデータは、タイムスタンプ（例えば、Ｍ１における８：０７ａｍ、持続時間（例えば、４時間１分）、その他）を含む。
【００４６】
１つの代替実施形態においては、ビジネスプロセスの状態を示すレポートが生成される。もう１つの実施形態においては、プロセッサ１０４は、セットの集められたメタデータが与えられたき、ビジネスプロセスの進行をシミュレートする。例えば、このシミュレートされたプロセスは、実際のビジネスプロセスが、集められたメタデータが与えられたとき、期待される結果を提供するであろうことを確認する。例えば、シミュレーションは、「アズ・イズ（ａｓ−ｉｓ）」プロセスを介して、並びに「ツー・ビー（ｔｏ−ｂｅ）」プロセスを介して実装される。「アズ・イズ」プロセスシミュレーションでは、データがどこを流れているのか、そのデータに関してどのようなアクションが発生するのか、およびそのプロセスの最終的な結果はどのようなものとなるかを理解することができる。これは、主に、そのプロセスが期待された通りに遂行していること（ＳＬＡ、ＫＰＩゴール等を満たすこと）を、チェックし、確認するために遂行される。「ツー・ビー」プロセスのシミュレーションでは、プロセス内のステップの変更、もしくはプロセス内データの変更が行われ、異なる最終的結果に対するチェックがなされる。
【００４７】
図４は本発明の１つの実施形態に従うビジネスプロセスを表現するための例示的方法を示す流れ図である。一例においては、１つもしくは複数のコンピュータ可読媒体、例えば、図５内のコンピュータにて読み出し可能な媒体５０２は、図４に示されている方法を実現するためのコンピュータ実行可能コンポーネントを含む。
【００４８】
例えば、語彙コンポーネント５０４は、４０２において、ビジネスプロセスを識別するための動作的表現を定義する。このビジネスプロセスは、複数のアクティビティシーケンスを含む。４０４において、データコンポーネント５０６は、こうして定義された動作的表現と関連するメタデータを集める。１つの実施形態においては、こうして集められたメタデータは、４０６において、スキーマ（図示なし）に従ってフォーマット化される。１つの例においては、スキーマは、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ，  ＸＭＬ）フォーマットにてメタデータを含み、これは、エンティティ、エンティティビュー、アクションに関する情報等を含むビジネスプロセス全体を記述する。このような例においては、「アクション（ａｃｔｉｏｎ）」なる動作的表現は、ＸＭＬスキーマを使用して以下のように記述される：
１．ＡｃｔｉｏｎＮａｍｅ（Ｔｙｐｅ＝“Ｇｅｔ”，ＥｎｔｉｔｙＲｅｆｅｒｅｎｃｅ）
２．ＡｃｔｉｏｎＮａｍｅ（Ｔｙｐｅ＝“Ｐｕｔ”，ＥｎｔｉｔｙＲｅｆｅｒｅｎｃｅ，ＰｕｔＰａｒａｍｅｔｅｒｓ）
３．ＡｃｔｉｏｎＮａｍｅ（Ｔｙｐｅ＝“Ａｃｔ”，ＥｎｔｉｔｙＲｅｆｅｒｅｎｃｅ，ＡｃｔＰａｒａｍｅｔｅｒｓ）
【００４９】
図７は本発明の実施形態に従うエンティティ・アクションモデルのメタモデルのスキーマ７００に基づく例示的実装をさらに示す略図である。
【００５０】
インタフェースコンポーネント５０８は、４０８において、集められたメタデータをユーザに提供する。もう１つの実施形態においては、語彙コンポーネント５０４は、ビジネスプロセスを、インタフェースコンポーネント５０８が集められたメタデータをユーザ（例えば、ビジネスユーザＡ１０８もしくはビジネスユーザＢ１１０）に、ユーザがそのビジネスプロセスと関連するメタデータを操作し、これに関して動作し、もしくはこれにアクセスできるように、提供する。１つの実施形態においては、報告側コンポーネント５１０は、記述されたビジネスプロセスの分析をユーザに報告する。例えば、報告コンポーネント５１０は、ビジネスプロセスの進行を報告する。
【００５１】
１つの代替実施形態においては、論理コンポーネント５１２は、ユーザがそのビジネスプロセスとインタラクトできるように集められたメタデータと関連するセットの規則を、評価する。更にもう１つの実施形態においては、シミュレーションコンポーネント５１４は、これら複数のアクティビティシーケンスの進行を、インタフェースコンポーネントにより受信された入力に応答して動作的表現に基づいてシミュレートする。更にもう１つの実施形態においては、発見コンポーネント５１６は、そのビジネスプロセスと関連する１つもしくは複数の現存するコンフィグレーションもしくは動作を発見する。
【００５２】
図６は汎用コンピューティングデバイスの一例をコンピュータ１３０の形態にて示す。本発明の１つの実施形態においては、コンピュータ、例えば、コンピュータ１３０は、ここに示され、説明されている他の図面内において用いることもできる。コンピュータ１３０は、１つもしくは複数のプロセッサもしくは処理ユニット１３２およびシステムメモリ１３４を有する。この示される実施例においては、システムバス１３６は、様々なシステムコンポーネントを、システムメモリ１３４も含めて、プロセッサ１３２に結合する。バス１３６は、いくつかのタイプのバス構造の一つもしくは複数を表し、これには、メモリバスもしくはメモリコントローラ、周辺バス、加速グラフィックポート、および多様なバスアーキテクチャのいずれかを使用するプロセッサもしくはローカルバスが含まれる。一例として、これに制限されるものではないが、このようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、およびＭｅｚｚａｎｉｎｅバスとしても知られているＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが含まれる。
【００５３】
コンピュータ１３０は、典型的には少なくともいくつかの形態のコンピュータ可読媒体を有する。コンピュータ可読媒体は、コンピュータ１３０にてアクセスすることができる任意の入手可能な媒体であり、これには、揮発性と不揮発性媒体、および取り外し可能と取り外し不能の媒体の両方が含まれる。一例として、これに制限されるものではないが、コンピュータ可読媒体には、コンピュータ記憶媒体と通信媒体とが含まれる。コンピュータ記憶媒体には、情報、例えば、コンピュータにて読み出し可能なインストラクション、データ構造、プログラムモジュールもしくは他のデータを格納するための任意の方法もしくは技術にて実装される揮発性媒体と不揮発性媒体、取り外し可能媒体と取り外し不能な媒体が含まれる。例えば、コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリもしくは他のメモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋｓ）もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、あるいは所望の情報を格納するために使用することができ、コンピュータ１３０にてアクセスすることができる任意の他の媒体が含まれる。通信媒体は、典型的には、コンピュータにて読み出し可能なインストラクション、データ構造、プログラムモジュール、もしくは変調されたデータ信号、例えば、搬送波もしくは他の輸送機構内の他のデータを具現し、これには、任意の情報配信媒体が含まれる。当業者であれば変調されたデータ信号には慣れていると思われるが、この変調されたデータ信号は、この信号内に情報を符号化するようなやり方にて設定あるいは変化される一つもしくは複数の特性を有する。通信媒体の例としては、有線媒体、例えば有線ネットワークもしくは直接配線接続と、無線媒体、例えば、音響、ＲＦ、赤外、および他の無線媒体が含まれる。コンピュータ可読媒体の範囲内には上述の任意の媒体の組み合わせも含まれる。
【００５４】
システムメモリ１３４には、コンピュータ記憶媒体が、取り外し可能および／又は取り外し不能な、揮発性および／又は不揮発性メモリの形態にて含まれる。示される実施形態においては、システムメモリ１３４は、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ、読み出し専用メモリ）１３８およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ、ランダムアクセスメモリ）１４０を含む。ＢＩＯＳ１４２（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ，  基本入／出力システム）は、コンピュータ１３０内の要素の間で、例えば、始動時において、情報を伝送することを助ける基本ルーチンを含むが、典型的には、ＲＯＭ１３８内に格納される。ＲＡＭ１４０は、典型的には処理ユニット１３２によって直ちにアクセスすることができる、および／又は処理ユニット１３２にて現在処理されているデータおよび／又はプログラムモジュールを含む。一例として、これに制限されるものではないが、図６には、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０が含まれる。
【００５５】
コンピュータ１３０は、更に、他の取り外し可能／取り外し不能な、揮発性／不揮発性コンピュータ記憶媒体を含む。例えば、図６には、ハードディスクドライブ１５４が示されるが、これは取り外し不能な、不揮発性磁気媒体からの読み出し、又はこれへの書き込みを行う。図６には、更に、取り外し可能な不揮発性磁気ディスク１５８からの読み出し、又はこれへの書き込みを行う磁気ディスクドライブ１５６と、取り外し可能な不揮発性光ディスク１６２、例えば、ＣＤ−ＲＯＭ又は他の光学媒体からの読み出し、又はこれへの書き込みを行う光ディスクドライブ１６０を含む。本発明の例示的動作環境内において用いることができる他の取り外し可能／取り外し不能な揮発性／不揮発性コンピュータ記憶媒体には、これに制限されるものではないが、磁気テープカセット、フラッシュメモリカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭ、その他が含まれる。ハードディスクドライブ１５４と、磁気ディスクドライブ１５６、並びに光ディスクドライブ１６０は、典型的には、不揮発性メモリインタフェース、例えば、インタフェース１６６を通じてシステムバス１３６に接続される。
【００５６】
上で説明され、図６に示されるドライブもしくは他の大量記憶デバイスおよびこれらと関連するコンピュータ記憶媒体は、コンピュータ１３０に対してコンピュータにて読み出し可能なインストラクション、データ構造、プログラムモジュールおよび他のデータを格納する。図６においては、例えば、ハードディスクドライブ１５４は、オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４、およびプログラムデータ１７６を格納するように示されている。これらコンポーネントは、オペレーティングシステム１４４、アプリケーションプログラム１４６、他のプログラムモジュール１４８、およびプログラムデータ１５０と同一であることも、異なることもある。オペレーティングシステム１７０、アプリケーションプログラム１７２、他のプログラムモジュール１７４およびプログラムデータ１７６には、ここでは、これらは、少なくとも異なるコピーであることを示すために異なる番号が与えられている。
【００５７】
ユーザは、コンピュータ１３０にコマンドおよび情報を入力デバイスもしくはユーザインタフェース選択デバイス、例えば、キーボード１８０およびポインティングデバイス１８２（例えば、マウス、トラックボール、ペンもしくはタッチパッド）を通じて入力する。他の入力デバイス（図示なし）には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナその他が含まれる。これらおよび他の入力デバイスは、システムバス１３６に結合されたユーザ入力インターフェース１８４を通じて処理ユニット１３２に接続されるが、しかしながら他のインタフェースおよびバス構造、例えば、パラレルポート、ゲームポートもしくはＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）にて接続することもできる。モニタ１８８もしくは他のタイプのディスプレイデバイスもシステムバス１３６にインタフェース、例えば、ビデオインタフェース１９０を介して接続される。モニタ１８８に加えて、コンピュータは、しばしば、他の周辺出力デバイス（図示なし）、例えば、プリンタおよびスピーカを含むが、これらは出力周辺インタフェース（図示なし）を通じて接続される。
【００５８】
コンピュータ１３０は、１つもしくは複数の遠隔コンピュータ、例えば、遠隔コンピュータ１９４への論理的接続を用いてネットワーク化された環境内において動作することもできる。遠隔コンピュータ１９４は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスもしくは他のよく見られるネットワークのノードであることができ、典型的には、上でコンピュータ１３０との関係で説明された要素の多くもしくは全てを含む。図６に示されている論理的接続には、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ、ローカルエリアネットワーク）１９６およびＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ、広域ネットワーク）１９８が含まれるが、しかし、さらに他のネットワークを含むこともできる。ＬＡＮ１３６および／またはＷＡＮ１３８は、有線ネットワーク、無線ネットワーク、これらの組み合わせ、その他であり得る。このようなネットワーキング環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびグローバルコンピュータネットワーク（例えば、インターネット）において通常である。
【００５９】
ローカルエリアネットワーキング環境内で用いられるときは、コンピュータ１３０は、ＬＡＮ１９６にネットワークインタフェースもしくはアダプタ１８６を通じて接続される。ワイドエリアネットワーキング環境内で使用されるときは、コンピュータ１３０は、通常モデム１７８、もしくは、ＷＡＮ１９８、例えば、インターネットを通じて通信を確立するための他の手段を含む。モデム１７８は、これは外部モデムであっても、内部モデムであっても良いが、システムバス１３６にユーザ入力インタフェース１８４もしくは他の適当なメカニズムを介して接続される。ネットワーク化された環境においては、コンピュータ１３０との関連で示されているプログラムモジュール、もしくはこの一部は、遠隔記憶デバイス（図示せず）内に格納される。例示として、これに制限されるものではないが、図６には、遠隔アプリケーションプログラム１９２が記憶デバイス上に存在するものとして示されている。示されるこれらネットワーク接続は、例示であり、コンピュータ間で通信リンクを確立するための他の手段を用いることもできる。
【００６０】
一般には、コンピュータ１３０のデータプロセッサは、このコンピュータの様々なコンピュータにて読み出し可能な記憶媒体内に異なる時間に格納されたインストラクションを介してプログラムされる。プログラムおよびオペレーティングシステムは、典型的には、例えば、フロッピィディスクもしくはＣＤ−ＲＯＭ上に配給される。ここから、これらは、コンピュータの二次メモリ内にインストールもしくはロードされる。実行時において、これらは、少なくとも一部は、そのコンピュータの一時電子メモリ内にロードされる。ここに説明される本発明の態様は、マイクロプロセッサもしくは他のデータプロセッサとの関連で以下に説明されるステップを実装するためのインストラクションもしくはプログラムを含む、上述のおよび他の様々なタイプのコンピュータにて読み出し可能な格納媒体を含む。更に、本発明の他の態様は、ここに説明される方法および技術に従ってプログラムされたコンピュータ自体も含む。
【００６１】
説明の目的で、プログラムおよび他の実行可能なプログラムコンポーネント、例えば、オペレーティングシステムは、ここでは離散ブロックとして示されている。しかしながら、このようなプログラムおよびコンポーネントは、このコンピュータの異なる記憶コンポーネント内に様々な時間において存在し、これらはこのコンピュータのデータプロセッサにて実行可能であることを認識されよう。
【００６２】
本発明の実施形態は、コンピュータ１３０を含む例示的コンピューティングシステム環境との関連で説明されたが、無数の他の汎用もしくは専用コンピューティングシステム環境もしくはコンフィグレーション内でも動作可能である。説明のコンピューティングシステム環境は、本発明の様々な形態の使用の範囲もしくは機能に対するどのような制限をも示唆することを意図するものでもない。更に、説明のコンピューティングシステム環境は、この例示的動作環境内で説明されるコンポーネントの任意の１つもしくは組み合わせと関連してのどのような従属性もしくは要件をも有するものではないと解されるべきである。本発明のいくつかの態様と共に使用するのに適する周知のコンピューティングシステム、環境および／もしくは構成の例は、これに制限されるものではないが、パーソナルコンピュータ、サーバコンピュータ、携帯もしくはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家庭用電化製品、移動電話機、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上述のシステムもしくはデバイスのいずれかを含む分散型コンピューティング環境、その他が含まれる。
【００６３】
本発明の実施形態は、１つもしくは複数のコンピュータもしくは他のデバイスにて実行される、コンピュータ実行可能命令、例えば、プログラムモジュールの一般背景内で説明することができる。一般には、プログラムモジュールには、これに限られるものではないが、特定のタスクを遂行する、又は特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、およびデータ構造が含まれる。本発明のいくつかの態様は、更に、分散コンピューティング環境内で実施することもでき、この場合は、タスクは通信網を通じてリンクされた遠隔処理デバイスにて遂行される。分散コンピューティング環境内においては、プログラムモジュールは、ローカルおよび遠隔の両方の、メモリ記憶装置を含む、コンピュータ記憶媒体内に収容される。
【００６４】
インタフェースは、ソフトウェアアーキテクチャのコンテクストにおいては、ソフトウェアモジュール、コンポーネント、コード部分、もしくはコンピュータ実行可能命令の他のシーケンスを含む。このインタフェースは、例えば、第１のモジュールを含み、第１のモジュールは、第１のモジュールに代わってコンピューティングタスクを遂行するための第２のモジュールにアクセスする。これら第１と第２のモジュールは、一例においては、例えば、オペレーティングシステムによって提供されるようなＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅｓ、アプリケーションプログラミングインタフェース）、（例えば、ピア・ツウ・ピアアプリケーションの通信のための）ＣＯＭ（ｃｏｍｐｏｎｅｎｔ  ｏｂｊｅｃｔ  ｍｏｄｅｌ、コンポーネントオブジェクトモデル）インタフェース、および（例えば、ウェブサービス間の通信のための）ＸＭＩ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ  ｍｅｔａｄａｔａ  ｉｎｔｅｒｃｈａｎｇｅ  ｆｏｒｍａｔ、拡張可能マークアップ言語メタデータインターチェンジフォーマット）を含む。
【００６５】
このインタフェースは、例えば、Ｊ２ＥＥ（Ｊａｖａ（登録商標）  ２  Ｐｌａｔｆｏｒｍ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ）、ＣＯＭ、もしくは分散ＣＯＭ（ＤＣＯＭ）の例におけるようなタイトに結合された同期実装であっても良い。代替として、もしくはこれに加えて、このインタフェースは、例えば、（例えば、シンプルオブジェクトアクセスプロトコルを用いる）ウェブサービスにおけるようなルースに結合された非同期実装であっても良い。一般には、このインタフェースは、以下の特徴、すなわち、タイトに結合された、ルースに結合された、同期の、および非同期の任意の組み合わせを含む。更に、このインタフェースは、標準プロトコル、所有権を有するプロトコル、もしくは標準と所有権を有するプロトコルの任意の組み合わせのいずれにも適合する。
【００６６】
ここに説明されたこれらインタフェースは、全てが単一のインタフェースの部分であることも、あるいは別個のインタフェースとして、もしくは、ここに説明される物の任意の組み合わせとして実装することもできる。これらインタフェースは、機能を提供するために、ローカル的に実行することも、あるいは遠隔的に実行することもできる。更に、これらインタフェースは、ここに示されている、もしくは説明されているこれら機能より多くの追加の機能を含むことも、あるいはこれらより少ない機能のみを含むこともできる。
【００６７】
動作においては、コンピュータ１３０は、図（例えば、図４）に示されるようなコンピュータ実行可能命令を実行することで、本発明の態様を実装する。
【００６８】
ここに示され、説明されている本発明の実施形態における動作の実行の順番又は性能は、特別に断りがない限り、必須ではない。つまり、これら動作は、特に断りがない限り、任意の順番にて遂行することができ、更に、本発明の実施形態は、ここに開示されている動作より多くの追加の動作を含むことも、又はより少数の動作を含むこともできる。例えば、ある特定の動作を、もう一つの動作の前に実行もしくは遂行することも、同時に実行もしくは遂行することも、又は後に実行もしくは遂行することも、本発明のいくつかの態様の範囲内であるものと考慮される。
【００６９】
本発明の実施形態はコンピュータ実行可能命令にて実装される。これらコンピュータ実行可能命令は、１つもしくは複数のコンピュータ実行可能コンポーネントもしくはモジュールに編成される。本発明のいくつかの態様は、任意の数および編成のこのようなコンポーネントもしくはモジュールを用いて実装することができる。例えば、本発明のいくつかの態様は、図面に示され、ここで説明された、特定のコンピュータ実行可能命令、特定のコンポーネント、もしくはモジュールに制限されるものではない。本発明の他のいくつかの実施形態は、図示され、ここで説明されたそれよりも、多くのもしくは少数の機能を有する異なるコンピュータ実行可能命令もしくはコンポーネントを含む。  
【００７０】
本発明の、もしくは本発明の実施形態の、態様の要素の説明において、「ａ」、「ａｎ」、「ｔｈｅ」および「ｓａｉｄ」なる冠詞は、これら要素が、１つもしくは複数個存在することを意味することを意図される。「ｃｏｍｐｒｉｓｉｎｇ」、「ｉｎｃｌｕｄｉｎｇ」、および「ｈａｖｉｎｇ」なる用語は、包含的であることを意図され、リストされている要素以外の追加の要素も存在し得ることを意味する。
【００７１】
本発明の態様の範囲から逸脱することなく、上述の構造、製品、および方法に対して様々な変更を加えることができ、このため、上の説明において含まれており、添付の図面の中に示されている、全ての事項は、解説のためのものであり、制限を意味するものではないことを意図される。
【図面の簡単な説明】
【００７２】
【図１Ａ】本発明の１つの実施形態に従うビジネスプロセスを表現するためのシステムの例示的実施形態を示す略図である。
【図１Ｂ】本発明の１つの実施形態に従うメタモデルを示す略図である。
【図２Ａ】本発明の１つの実施形態に従う定義された語彙すなわち動作的表現を用いてあるビジネスプロセスを関連するメタデータと共に表示する方法を示すブロック図である。
【図２Ｂ】本発明の１つの実施形態に従う定義された語彙すなわち動作的表現を用いてあるビジネスプロセスを関連するメタデータと共に表示する方法を示すブロック図である。
【図３Ａ】本発明の１つの実施形態に従うビジネスプロセスの異なるパースペクティブを示すブロック図である。
【図３Ｂ】本発明の１つの実施形態に従うビジネスプロセスの異なるパースペクティブを示すブロック図である。
【図３Ｃ】本発明の１つの実施形態に従うビジネスプロセスの異なるパースペクティブを示すブロック図である。
【図３Ｄ】本発明の１つの実施形態に従うビジネスプロセスの異なるパースペクティブを示すブロック図である。
【図４】本発明の１つの実施形態に従うビジネスプロセスを表現するための動作を示す例示的流れ図である。
【図５】本発明のいくつかの態様がその上に格納される例示的なコンピュータ可読媒体を示すブロック図である。
【図６】本発明が実装される適当なコンピューティングシステム環境の一例を示すブロック図である。
【図７】本発明の１つの実施形態に従うエンティティ−アクションモデルの実装を、エンティティおよびアクションと関連するスキーマと共に示す略図である。
【図１Ａ】
2009533755.tif 000004
【図１Ｂ】
2009533755.tif 000005
【図２Ａ】
2009533755.tif 000006
【図２Ｂ】
2009533755.tif 000007
【図３Ａ】
2009533755.tif 000008
【図３Ｂ】
2009533755.tif 000009
【図３Ｃ】
2009533755.tif 000010
【図３Ｄ】
2009533755.tif 000011
【図４】
2009533755.tif 000012
【図５】
2009533755.tif 000013
【図６】
2009533755.tif 000014
【図７】
2009533755.tif 000015
【国際調査報告】
2009533755.tif 000016
2009533755.tif 000017