JP2011129150A - ビジネスプロセスの自動化 - Google Patents

ビジネスプロセスの自動化 Download PDF

Info

Publication number
JP2011129150A
JP2011129150A JP2011028234A JP2011028234A JP2011129150A JP 2011129150 A JP2011129150 A JP 2011129150A JP 2011028234 A JP2011028234 A JP 2011028234A JP 2011028234 A JP2011028234 A JP 2011028234A JP 2011129150 A JP2011129150 A JP 2011129150A
Authority
JP
Japan
Prior art keywords
business
rules
flows
workflow
business logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2011028234A
Other languages
English (en)
Inventor
Subhra Bose
サブーラ ボーズ
Steve Scimone
スティーブ シモーネ
Nallan Sriraman
ナラン スリラマン
Ziyang Duan
ツーヤン デュアン
Arthur Bernstein
アーサー バーンスタイン
Philip Lewis
フィリップ ルーイス
Radu Grosu
ラデュ グロス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Reuters America LLC
Original Assignee
Reuters America LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Reuters America LLC filed Critical Reuters America LLC
Publication of JP2011129150A publication Critical patent/JP2011129150A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】組織および/または個人の中および間のビジネスプロセスが自動化されるシステムおよび方法の提供。
【解決手段】XMLおよびウェブ・サービス標準に基づいた標準型サービス指向ビジネスプロセス自動化アーキテクチャを使用して、組織および/または個人の中および間のビジネスプロセスが自動化されるシステムおよび方法が説明される。ビジネスプロセスの実行フレームワークも説明される。更なる局面は、ビジネスプロセス仕様をビジネス・フロー、ビジネス規則、およびビジネス状態へ解体する分解方法論を含む。ビジネス・フロー、規則、および状態は宣言型言語で定義され、フロー、規則、および状態エンジンの間のインタラクション、協力、および調整、ならびにフレームワーク内のビジネスプロセス実行モデルを含む。
【選択図】図9

Description

1 関連出願情報
本出願は、2003年6月12日に出願されたSubhra Bose, Steve Scimone, Nallan Sriraman, Arthur Bernstein, Philip C. Lewis, Radu Grosu, Ziyang Duanへの「ビジネスプロセスの自動化(Business Process Automation)」と題する米国仮出願第60/477,757号への優先権を主張する。この出願の内容は、参照してその全体を本明細書に組み入れられる。
2 発明の分野
本発明の局面は、ソフトウェアおよびビジネス・アプリケーションに関する。更に具体的には、本発明の局面は自動化ビジネス・アプリケーションに関する。
3 発明の背景
ビジネスプロセスは、幾つかのビジネス目的を達成するため、具体的ビジネス規則に従ったビジネス活動を共同して実行することである。ファイナンシャルサービスおよび他のビジネスは、ビジネスプロセスのリエンジニアリングに多大の努力を投入し、コストを低減して効率を改善してきた。最近のコンピュータおよび情報技術の急速な進歩に助けられて、伝統的に手作業で実行されていたファイナンシャルサービスおよび他の産業の複雑なビジネスプロセスを、現在では自動化できる。これは多くの新しいチャレンジをもたらす。即ち、1)ビジネスプロセスは容易に作成され、展開され、更新される必要があること、2)ビジネスプロセスは相互運用可能に構築されて、異なった組織および部門はビジネスプロセスを一緒に統合できること、3)ビジネスプロセスの正しさおよびセキュリティは保証される必要があること、4)ビジネスプロセスの管理および再使用性を容易にするツールが必要であることである。
XMLは、ワールド・ワイド・ウェブのデータ表現および交換の新しい標準として出現した。様々な異種システムの間で相互運用性を容易にするため、ますます多くのアプリケーションがXMLに基づいて作られてきた。XMLスキーマは、半構造化データ・タイプをXMLで指定する標準になってきた。半構造化データ・タイプ、およびそれらの関係データとの関係を理解する上で、多くの作業が行われた。ウェブ・サービス・プロトコル、例えばSOAP、WSDL、およびUDDIは、サービスのユビキタスな相互運用性を提供し、ビジネスプロセスにおける高度分散サービスの調整を可能にする。クエリーおよび更新能力を有するXMLデータ記憶装置を提供するため、ネイティブXMLデータベースが市場に出現している。
ワークフローは当技術分野において公知であり、システム・コンポーネントから制御論理を分離して制御論理を高レベルで指定する方法を提供する。ワークフロー管理連合によれば、ワークフローはビジネスプロセスの計算モデルである。ワークフロー・システムは、元来、オフィスの自動化のために開発された。それらのシステムは、単純な仕事、例えば文書処理およびファイル共有を標的としている。こうして、人々はビジネスプロセスをモデル化する更に複雑な業務ワークフローを考察するようになってきた。原子性および隔絶性が緩和された業務モデルに基礎を有する様々な拡張業務モデルは、データベース業務から継承された素晴らしい理論的フレームワークを有する。しかし、商用システムの中に実装される業務モデルはほとんどない。ワークフロー・モデルは、それらを一般化し、はるかに広い機能を提供し、複雑なビジネスプロセスに対処する更に適切なフレームワークである。過去数年の間、多くの商用システムが開発された。例えば、TibcoのBPM、MicrosoftのBizTalk、IBMのExotica/FlowMarkなどである。多くの研究試作品が作り出された。例えば、ConTractおよびMentorなどである。多くの公式的方法が、ワークフローのモデリングおよび実行のために提案された。即ち、事象代数学、状態図、ペトリ・ネット、時相論理、業務論理などである。ワークフローをウェブ・サービスのインタラクションとして定義およびモデル化するXML型標準が提案された。例えばBPML、WSCL、WSCI、BPEL4WSなどである。
規則エンジンも、数年の間開発されてきた。現在、IBM、Microsoft、iLog、Blazesoftその他によって提供される幾つかの標準および商用システムが存在する。規則エンジンは規則定義を消費し、異なったタイプの規則、例えば確認規則、ビジネス方針規則、およびビジネス決定を実行することができる。異なったタイプの規則エンジンも存在する。例えば推論エンジンおよびデシジョン・トリー・エンジンである。ビジネスプロセスは、多くの場合、多数のビジネス規則を含む。大部分のプログラミング環境は、データまたは手順のために設計されているから、規則の集合として書かれたビジネス仕様に直面する場合、開発者はややこしい問題に直面する。規則はデータで表現することはできず、規則を手順的にコーディングすることは「スパゲティコード」へ導く。更に、宣言型形態を取り、理解するのに容易な規則の当初の論理構造はコード内で失われ、デバッグが困難となり、必要となる場合の更新がほとんど不可能である。規則を記述するため、幾つかの標準が出現している。1つのそのような標準、即ちRuleMLは、XMLマークアップ、形式的意味論、および効率的実現方法を使用する規則の標準的ウェブ言語である。RuleMLは、誘導規則から変換規則および反応規則まで、全体の規則スペクトルをカバーする。したがって、RuleMLは、ウェブ存在論の中のクエリーおよび推論、ウェブ存在論の間のマッピング、およびワークフロー、サービス、およびエージェントのダイナミックなウェブ動作を指定することができる。
状態機械は、反応システムをモデル化するために広く使用されてきた。当初の有限状態機械は、Statechartのように、階層および並行性を表現するように拡張された。意味論を定義し、状態機械に基づくモデリング・ツールを作るため、多くの作業が行われた。ソフトウェア設計言語およびツール、例えばUML、ROOM、およびSTATE-MATEが、状態機械の変形を使用した。これらの技術が存在しても、ビジネスプロセスの自動化および管理には、依然として問題が残っている。
4 要約
本発明の局面は、ビジネスプロセスの自動化および管理における上記の問題の少なくとも1つを解決するフレームワークおよび方法を提供する。このフレームワークにおいて、ビジネスプロセスは、フロー、規則、および状態機械の統合としてモデル化されてよい。相互運用性を提供する基礎として、XMLおよびウェブ・サービス標準が使用されてよい。ビジネスプロセスおよびそのコンポーネントを高レベルで指定するため、標準ベースの宣言型言語が使用されてよい。指定は形式的論理モデルに基づいて行われてよく、正しさを保証するため自動検証およびモデル・チェック方法を展開することができる。意味論は形式的に定義されてよく、意味論ベースの検証およびワークフロー合成方法が提供される。
本発明の局面は、フロー、規則、および状態エンジンの向上した使用を提案する。ビジネスプロセスは、ビジネスプロセス内の制御、外部化されたビジネス規則、およびビジネス・エンティティの状態を表す宣言型言語、例えばXMLで指定される。指定の関連部分は、フロー、規則、および状態エンジンで実行される。これらのエンジンの各々は、本発明の少なくとも1つの局面で説明される実行環境へ具体的計算局面を提供する。
ビジネスプロセスの主要な成分を宣言型構文論で記述する能力は、ビジネス要件と技術実装と間のインピーダンス不整合を低減する。本明細書で説明される方法論は、ビジネス系および技術系の人々の思考プロセスへ、設計の要件分析から実装までの均一構造をもたらす。この方法論によるビジネスプロセス・アプリケーションの作成は、開発者を強制してインフラストラクチャ・コードよりもビジネス・アプリケーション論理に集中させる。フレームワークは、設計パターンおよび例外処理の集合を固く守ることによって、ビジネスプロセス実行中の信頼性を提供する。フレームワークは、更に、再使用可能なビジネス活動の在庫を作り出す能力を提供する。この在庫は進化するにつれて、アプリケーション開発時間を著しく低減する。
ビジネスプロセスの自動化に関連する前述の問題の観点から、本発明の少なくとも1つの局面は、XMLおよびSOAP、WSDL、WSIL、UDDI、およびBPEL4WSを非限定的に含むウェブ・サービス標準に基づく標準型サービス指向ビジネスプロセス自動化アーキテクチャを使用して、組織および/または個人の中および間のビジネスプロセスが自動化されることのできるシステムおよび方法を提供する。本発明の少なくとも1つの局面は、ビジネスプロセスの実行フレームワークをさらに含む。ビジネスプロセスは、単純および複雑な機械および人間のワークフロー、ビジネス規則の評価、ビジネス・エンティティのライフサイクル管理、および既存アプリケーションとの統合に関連するファイナンシャル・ビジネスプロセス・アプリケーションを含むが、それに限定されるわけではない。
更に、本発明の少なくとも1つの局面は、ビジネスプロセス仕様のためにビジネス・フロー、ビジネス規則、およびビジネス状態への分解方法論を提供する。ビジネス・フロー、規則、および状態は、標準または特注XML型言語を非限定的に含む宣言型言語で定義される。本発明の少なくとも1つの局面は、宣言型構文論で記述されたビジネス・フロー、規則、および状態を、商用および/または特別作成のフロー、規則、および状態エンジンで実行時に実行するシステムおよび方法を含む。本発明の少なくとも1つの局面は、フロー、規則、および状態エンジンの間のインタラクション、協力、および調整、ならびにフレームワーク内のビジネスプロセス実行モデルを含む。
本発明の更に他の局面において、ビジネスプロセス記述は、所定の分類法の集合に従って分類される。これは、分類法カテゴリー内の所与の名前について、更にビジネスプロセスが与えられると、それが指すカテゴリーおよび名前について、ビジネスプロセス定義をサーチするメカニズムを含む。本発明の少なくとも1つの局面は、レジストリ、ディスカバリ、モニタ、サービス水準合意(SLA)管理、およびSLAの自立的履行を含むフレームワーク内で実行しているビジネスプロセスの管理をさらに含む。
他の局面において、本発明はビジネスプロセスおよびそれらのコンポーネントの意味論を定義する形式的メカニズムを提供する。これは、厳密な数学モデルによってサポートされて事前条件および事後条件を非限定的に含むアサーションの構文論でビジネスプロセス指定を注釈することによって行われてよく、したがって設計時および実行時に意味論の正しさを自動的に検証することができる。本発明の少なくとも1つの局面は、設計時および実行時にビジネスプロセスの意味論的正しさを自動的に検証および保証するメカニズムを含む。システムは、ビジネスプロセスの宣言型指定の意味論的チェックおよびモデル・チェックによって正しさを達成する。
更に、本発明の少なくとも1つの局面は、意味論的に定義可能なビジネス活動またはタスクのライブラリを構築する方法を提供することである。これは、意味論的に定義可能なたコンポーネントのライブラリおよび新しいワークフローのビジネス目的に基づき、ビジネスプロセスの中で、または横断して、例外フローを非限定的に含む新しいワークフローを自動的に構築することを可能にする。本発明の少なくとも1つの局面は、そのような自動的ワークフローを生成するアルゴリズムを含む。
本発明のなお更なる局面は、ビジネスプロセス・アプリケーションのビジネス論理とプレゼンテーション論理との間を疎結合する方法を提供することである。
本発明の局面に従ったフロー、規則、および状態、ならびにそれらの間のインタラクションの論理的表現を提供する。 本発明の局面に従った取引ワークフローの例を提供する。 本発明の局面に従ったポートフォリオ検索の例を提供する。 本発明の局面に従ったビジネスプロセス定義言語のグラフ表現を提供する。 本発明の局面に従ったコーポレート動作ワークフローの一部分を形成するタスク・ライブラリの例を提供する。 本発明の局面に従ったシーケンスの構成体のグラフ表現を提供する。 本発明の局面に従ったスイッチの構成体のグラフ表現を提供する。 本発明の局面に従ったループの構成体のグラフ表現を提供する。 本発明の局面に従ったユビキタス計算環境におけるビジネスプロセス管理のグラフ表現を提供する。 本発明の局面に従ったビジネスプロセス実行フレームワークにおけるモデル・チェックの例を提供する。
6 詳細な説明
本発明の局面は、組織および/または個人の中および間のビジネスプロセスが、XMLおよび非限定的にSOAP、WSDL、WSIL、UDDI、およびBPEL4WSを含むウェブ・サービス標準に基づいた標準型サービス指向ビジネスプロセス自動化アーキテクチャを使用して自動化されるシステムおよび方法に関連する。本発明の少なくとも1つの局面は、ビジネスプロセスの実行フレームワークをさらに含む。ビジネスプロセスは、単純および複雑な機械および人間のワークフロー、ビジネス規則の評価、ビジネス・エンティティのライフサイクル管理、および既存のアプリケーションとの統合に関連するファイナンシャル・ビジネスプロセス・アプリケーションを含むが、それに限定されるわけではない。本発明の局面は、ビジネスプロセス仕様をビジネス・フロー、ビジネス規則、およびビジネス状態へ解体する分解方法論にさらに関連する。ビジネス・フロー、規則、および状態は、宣言型言語で定義され、フロー、規則、および状態エンジンと、フレームワーク内のビジネスプロセス実行モデルとの間のインタラクション、協力、および調整を含む。
本明細書で説明される様々なビジネス・フロー、規則、および状態は、コンピュータ読み取り可能メディアに存在してよい。このメディアは、取り外し可能メディア、固定メディア、光学および磁気記憶装置などを含むが、これらに限定されるわけではない。例えば、本発明の局面は、ホスト・コンピュータまたはコンピューティング・ネットワークまたはクライアント側コンピュータに常駐してよい。
以下の説明は、読者を助けるため次のように分割される。
6.1 フロー、規則、および状態(FRS)へのビジネスプロセスの分解
6.2 BPDおよび成分フロー、規則、および状態の分類法
6.3 BPIの宣言型仕様
6.3.1 フロー仕様
6.3.2 動作の意味論
6.3.3 ワークフロー内の異なった点におけるアサーション
6.4 BPI実行フレームワーク
6.4.1 フロー、規則、および状態エンジン
6.4.2 BPIフロー、規則、および状態の間の調整
6.4.3 BPIの管理
6.5 ビジネスプロセス・ワークフローの正しさ
6.5.1 ワークフローを自動的に注釈する
6.5.2 ワークフローの正しさを自動的に検証する
6.6 ビジネスプロセスのモデル・チェック
6.6.1 モデル・チェックのアプローチ
6.6.2 設計時のモデル・チェック
6.6.3 実行時のモニタリング
6.7 ビジネス・ワークフローの自動的合成
6.8 BPIフレームワーク型アプリケーション(可能な例であるが、これらに限定されるわけではない)
6.8.1 コーポレート動作管理
6.8.2 市場データ、ポートフォリオ、および遵守アプリケーションとの発注管理システムの統合
6.8.3 データ管理システム
次のセクションは、本発明の局面に従って使用されてよい例示的スキーマおよび例示的インスタンスに関連する。
7 スキーマおよび例示的インスタンス
7.1 スキーマ1:BPDLスキーマ
7.2 交渉プロセスの具体的データ・モデルのXMLスキーマ仕様
7.3 交渉データ・モデルのインスタンス
7.4 高レベル・データ・モデルの例
6.1 フロー、規則、および状態(FRS)へのビジネスプロセスの分解
ビジネスプロセス管理(BPM)は、ビジネスの世界で益々重要になっている。会社は、コストを低減し効率を改善するためビジネスプロセスを自動化しようと試みている。更に、会社は、高速で変化する市場の挑戦に立ち向かうため、新しいプロセスを迅速に統合して既存のプロセスに適合化する能力を必要としている。
ビジネスプロセスは、簡単に言えば、或るビジネス目的を達成するため、具体的ビジネス規則に従った活動の共同実行である。活動とは、コンピュータ・システムによって自動的に実行されるか、人間によって手作業で実行される作業の単位である。コンピュータまたはコンピュータ・人間のインタラクションによって実行される活動が、本明細書で考察される。次の2つの例は、或る典型的なビジネスプロセスを示す。
例1(図2):この例は2人の取引業者AおよびBの間の交渉プロセスを示す。このプロセスのビジネス目的は、取引上の合意に達し、次に確認プロセスを介して取引を決済することである。プロセスは、取引業者AがBとコンタクトして提案を行う(例えば、1000株の株式Aを或る価格で売る)場合に開始する。もしBが提案を受け入れ、反対提案を行うならば、AおよびBは、1人の当事者が取引を中止するか相互の合意に達するまで、交渉を開始する。もし合意に達すれば、取引は確認および決済される。もし2人の取引業者が同じ金融支店に属していれば、決済を直ちに行うことができる。そうでなければ、各々の当事者は取引を別々に決済しなければならない。
例2(図3):この例において、ファイナンシャル・アドバイザは、顧客名で顧客のポートフォリオ情報を検索したい。ファイナンシャル・アドバイザは、まず顧客データベースをサーチするため顧客名をタイプする。サーチ規準とマッチする名前を有する各々の顧客の要約情報が、グリッド・ビューにリストされる。もしただ1人の顧客がリストされるならば、そのポートフォリオ情報が検索されて自動的に提示される。そうでなければ、アドバイザは1人の顧客をリストから選択し、その顧客のポートフォリオ情報の提示を要求する。
ビジネスプロセス管理システムは、自動化ビジネスプロセスを設計、展開、および管理する能力を提供する。それは、所与の活動をビルディング・ブロックとして使用し、所与のビジネス規則に従ってビジネスプロセスを設計するツールを提供する。それは、組織の中でビジネスプロセスを展開および管理するファシリティを提供する。更に、それは、ビジネスプロセスの実行を制御し、実行中に活動を調整するフレームワークを提供する。
ビジネスプロセスは益々複雑になっており、より分散した異種の環境で、自動化およびスチームライン化したビジネスプロセスの必要性が大きくなっている。ビジネスプロセスに含まれる活動は、一般的に、組織内の異なったグループからの活動または異なった組織にわたる活動を含む。それらの活動は、おそらく、異なったコンピュータ言語で実現され、異なったプラットフォーム上で実行され、異なったプロトコルを使用してインタラクションを行う。これらの活動の間の調整、およびビジネスプロセスにおけるそれら活動の追跡は困難な問題である。
最近、ウェブ・サービスの広範な採用は、全世界相互運用コンポーネント・モデルの約束を達成し始めた。具体的には、それは、ビジネスプロセス管理における再使用可能性および言語/プラットフォーム独立性を可能にする。異なった言語および異なったプラットフォームで実現されるコンポーネントは、相互運用性を達成するためウェブ・サービスとしてパッケージされることができる。XML型ウェブ・サービス言語(例えば、SOAP、WSDL、UDDI)は、実現方法をインタフェースから切り離す。その結果、組織は、理論的に、最良品種のウェブ・サービスをビルディング・ブロックとして使用し、全体のソリューションを作り出すことができる。ウェブ・サービス標準は、「生産準備完了」の程度まで成熟し、受け入れが増加するにつれて発展し続けている。企業アプリケーション統合(EAI)およびビジネス対ビジネスおよびビジネス対消費者のインタラクション(B2B/B2C)を達成するため、企業の中で使用されるウェブ・サービスは、ますます多くなってきている。
しかし、ウェブ・サービスの技術的成熟とは対照的に、ウェブ・サービスの編成によってビジネスプロセス管理を可能にするツールは、比較的に原始状態のままである。現実世界のビジネスプロセスを、どのようにしてウェブ・サービスおよびメッセージ・フローの集合体として表現するか。大部分の場合、熟練した統合者が「マスタ・アプリケーション」を作り出す。マスタ・アプリケーションはコンポーネント・ウェブ・サービスを適切な順序で呼び出し、それらウェブ・サービスによって使用されたキー値を追跡し、結果を集積し、その他のことを行う。この「ビジネス論理をコーディングする」アプローチは、当座のビジネス要件を成功裏に満たすことができる意味で働くが、コンポーネント・モデルの利益をテコ入れすることはできない。即ち、「製品化されたソリューション」ではなく、そのような「ポイント・ソリューション」が作り出される場合、ビジネス意味論における繰り返しパターンは、繰り返し機能のようには容易に再使用され得ない。それらの繰り返しパターンは、多くの場合、次のソリューションが現れるように新しくコーディングされる必要がある。更に悪いことに、再使用性を取得する努力の中で、ビジネス意味論的考慮がウェブ・サービス自身の中へプッシュされる傾向があり、コンポーネント・モデルを崩壊させ、ウェブ・サービスの再使用可能性を低減させる。より高いレベルのビジネス抽象概念をモデル化する十分な手段がないと、ビジネスプロセスのフロー、データ、および規則に関連づけられたIPRは失われる。
本発明の少なくとも1つの局面は、既存のウェブ・サービス標準に基づいたビジネスプロセス管理フレームワークである。ビジネスプロセス・インスタンス(BPI)の用語は、任意レベルの細分性を有し、ビジネス・フロー、規則、および状態を含む自動化ビジネスプロセスとして定義される。より大きなビジネスプロセスの自動化を表すため、複数のBPIを階層へ組織化することができる。ビジネスプロセス・インスタンスの定義はBPDと呼ばれる。本発明の少なくとも1つの局面は、非伝統的方式でビジネスプロセス定義(BPD)を作り出す方法論を含み、ビジネスプロセス・インスタンス(BPI)を実行するフレームワークを含む。本発明の少なくとも1つの局面は、XML型言語のビジネスプロセス定義言語(BPDL)を含み、ビジネスプロセスを宣言型で指定する。BPI仕様は、ビジネスプロセスがどのように実行されるかを定義するだけでなく、プロセス実行の正確な「意味」、即ちプロセスが何を行うように想定されているかを定義する。言い換えれば、ビジネスプロセスの意味論は、その実行時の動作に加えて、形式的に定義される。BPIフレームワークと呼ばれるビジネスプロセス管理フレームワークは、ビジネスプロセスを定義、展開、管理、および実行するツール、コンポーネント、および環境を提供する。
BPIは、活動およびデータ・エンティティを、そのビルディング・ブロックとして使用する。全ての活動はウェブ・サービス・インタフェースをWSDLで公開し、したがってウェブ・サービスとして取り扱われることが仮定される。データ・エンティティは、XMLスキーマによってモデル化されるXML文書としてアクセスされ得る。BPDLは、ビジネスプロセスを3つのコンポーネント、即ちフロー、規則、および状態へ分解することによってビジネスプロセスを記述する。フローは、活動の間の制御論理およびデータ・フローを定義する。規則は決定方針を定義し、状態は状態遷移モデルとの関係でビジネス・データ・エンティティの正規の動作を定義する。
BPIを作り出す場合、ビジネスプロセスの平明な英語記述が、その成分ビジネス・フロー、規則、および状態へ分解される。第1レベルの分解は、Unified Modeling Language(UML)または類似の表記法で構造化英語および図式を組み合わせることである。UMLシーケンス図式および活動図式は、ビジネスプロセスの活動の間の実行順序および論理依存情報を捕捉し、したがってBPDフロー仕様の基礎を形成する。UML状態図式は、ビジネス・エンティティの状態遷移を捕捉し、BPD状態モデルの基礎を形成する。規則は、一般的に、フロー内の決定点または状態図式内の状態遷移に関連づけられる。規則は、フローまたは状態から分離される。なぜなら、第1に、規則は変わるかもしれないが、フローまたは状態モデルの一般的構造は同一に保たれるからである。第2に、同じ規則が異なった状況で使用されるかもしれない。第3に、ビジネス規則を外在化し、ビジネス規則を変える権能をビジネス・ユーザに与えることが可能になる。したがって、フロー、規則、および状態は、BPDLの宣言型形式で別々に指定される。
BPDフロー仕様言語はBPEL4WSに基づく。BPEL4WSはウェブ・サービス編成プロトコルまたはワークフローを定義するXML型標準である。WSDLおよびBPEL4WS言語は拡張され、ウェブ・サービス操作およびBPEL4WSワークフロー上で形式的意味論を注釈することができる。
XML型ビジネス規則言語(BRL)は、様々なタイプのビジネス規則の言語中立記述として使用される。
XML型状態機械言語のStateMLは、異なったビジネス・エンティティの状態遷移モデルを指定するために使用される。
BPD仕様は、フロー、規則、および状態の仕様を直接には含まない。その代わりに、BPD仕様は或るレベルの回り道を追加することによって、それらの定義を参照する。次の記載は、取引交渉プロセスにおけるBPD仕様の簡単な例である。
Figure 2011129150
6.2 BPDおよび成分フロー、規則、および状態の分類法
BPIは、コンポーネント指向ソフトウェア開発におけるコンポーネントと類似している。コンポーネント指向ソフトウェア開発の欠点の1つは、膨大な数のコンポーネントが相互に重複し、それを避ける中央コンポーネント・リポジトリまたはコンポーネント関連情報が存在しないことである。ウェブ・サービス・パラダイムにおいて、この問題はUDDIの概念によって解決される。UDDIは、ウェブ・サービスに関するメタ情報のリポジトリとして使用され得る。BPIはウェブ・サービスとして開示されるから、BPIの場合にも同じ手法が有効である。BPDLによるBPI定義は、BPIおよびその成分フロー、規則、および状態の分類情報を含む。BPIの分類法は、図4で示されるように、BPDL文書のノードとして捕捉される。
6.3 BPIの宣言型仕様
ビジネス要件が本発明者らの3つの主要なコンポーネント・カテゴリへ適切に分解されると、XML型ビジネスプロセス定義言語であるBPDLを介して、要件をBPD文書の合成集合として表現することができる。BPDLのW3Cスタイルのスキーマがスキーマ1で示され、図4でグラフとして表される。
BPDLはルート要素<BPD>の下に主要な要素、即ち<Flows>、<RuleSets>、<StateModels>、<Entities>、<SubBPDs>、および<Views>を含む。本発明者らは、BPD内のフロー、規則、および状態モデルの場所を既に説明した。ビューは、他の要素が再使用可能バックエンド能力を提供する同じやり方で再使用可能GUI能力を提供する。エンティティは、ビジネスプロセスに関連したXMLスキーマに基づいて、名前の付いたビジネス・エンティティを指す。サブBPIは、個々のコンポーネントが再使用される同じ方法で、既存のBPIが再使用されることを可能にする。これら主要な要素の各々は一つまたは複数の部分要素を含む。部分要素は、部分要素の共通集合の使用を介して親集合物の単一インスタンスを示す。スキーマ1で捕捉されるスキーマを有するこの集合は、主要な要素の実行時および設計時調整に必要な情報を提供する。これらの共通要素は、更にBPD要素自身へ適用され、したがって他のBPDは階層様式でそれを参照してよい。
BPD要素は、更に、サーチを容易にする分類法情報を保持する要素を含む。BPDの適切な分類法的分類は、ビジネスプロセス再使用の値を取得するため絶対に必要である。分類法的要素は、確立された用語辞書に関してBPIの機能および目的を識別するデータを含む。BPDが分類法的タグと一緒にBPDリポジトリに記憶される場合、BPI設計ツールは、この情報を解析して、或るタイプのビジネスプロセスを探索している開発者の利用に供することができる。
共通の部分要素の集合の中で、1つはBPI設計ツールによって排他的に使用され、他の2つは主としてBPI実行時エンジンによって使用される。前者のカテゴリとして<Description>がある。これは要素および注釈特徴の目的を普通の書き方で要約したものである。この要約は、BPIコンポーネント・リポジトリ内のコンポーネントをブラウズする場合、開発者へ表示される。他の2つの要素は、コンポーネントの解決および呼び出し手段を提供する。<URI>は、具体的コンポーネントの一意のリソース識別子を指定して、BPIエンジンがそれを特定して呼び出すことができるようにする。これは、BPDLがコンポーネント自身について詳細を提供せず、それらを一緒に結合する方法だけを提供するという全体的見解に沿ったものである。もし<URI>が結合される部分を指定すれば、<Name>要素が結合を行う糸である。<Name>はBPI名をコンポーネントへ与え、それによって他のBPI準備完了コンポーネントは、それを参照することができる。これらの名前は、BPDの中、および階層BPD集合の大きいコンテキストの中で、一意に解決可能でなければならない。
BPIフレームワークは、2つの基本的概念の使用によってフロー、規則、および状態の調整統合を可能にする。第1の概念は、相互抽象呼び出しである。これは、フロー、規則、および状態エンジンが、BPIフレームワークへ渡された指名参照を介して相互を呼び出す能力を意味する。確かに、フロー、規則、および/または状態がBPI技術を利用しないで一緒に結合されることは可能である。例えば、フローは規則を呼び出して、どのフロー・パスを取るかを決定することができる。規則は、偽と評価すれば状態遷移を要求することができる。状態遷移はフローの実行をトリガして、遷移の複雑なログを提供することができる。しかし、この直接参照ストラテジの欠点は、調整が静的で、具体的参照がフロー、規則、および状態機械の中へ組み込まれることである。BPIはこの関係を抽象化し、BPI準備完了フロー、規則、および状態機械は、アドレスではなくBPI名によって相互を参照する。もし本発明者らが、所与のBPIを記述するBPDL文書を見るとすれば、本発明者らは次のようなエントリを見ると考えられる。
Figure 2011129150
直接呼び出しの例として、もしフローが上記の規則集合を呼び出す必要があれば、フローは「http://fauxuri.reuters.com/crm/client/categorize.asmx」を呼び出す命令を含む必要があると考えられる。後で規則集合の他のより複雑なバージョンが「http://fauxuri.reuters.com/crm/client/new-categorize.asmx」で利用可能になった場合、それを利用するためフロー自身が変更されなければならない。しかし、BPIフレームワークでは、規則集合を直接呼び出さず、その代わりに規則集合「主要クライアント規則」の呼び出しをBPIエンジンに要求することによって、それが避けられる。新しい規則集合を利用するためには、フローへの変更は必要でなく、BPDL文書の変更が必要なだけである。
第2の概念は、フロー、規則、および状態機械の間の相互データ・アクセス可能性である。全ては、実行している間、ビジネス・データの同じコピーを参照、評価、および修正できなければならない。この重要性は明白であると考えられる。即ち、もしビジネスプロセスの過程で、例えばフロー・エンジンが特定のデータ部分を修正するならば、例えば規則エンジンへの後の呼び出しは、規則を正しく評価するため、その変更に気づく必要がある。データの管理を助けるため、BPIは「エンティティ」という構成体を使用し、ビジネスプロセスからデータを分離する。原始的フローが行うように特定のロケーションからデータを要求するのではなく、BPI準備完了フローはBPDL記述エンティティからデータを要求する。BPIフレームワークは、データのライフサイクルを管理する状態機械の能力をテコ入れする。こうして、エンティティは、その具体化、状態進行、および破壊を提供するため状態機械へ関連づけられる。
相互抽象呼び出しおよび相互データ・アクセスが、フロー、規則、および状態のBPDL記述集合の間に、使用可能であるが柔軟な接続を提供することによって、BPDLは、ビジネス要件の論理集合を具体化する明記目的を十分に充足することができる。更に、BPDLは階層であることができ、指名フローが指名規則を呼び出す同じ方式で、BPDL内で指名により相互を参照することができる。したがって、個々のBPIは一緒に積層および配列され、より高次のBPIを形成し、より大きなビジネスプロセスを自動化する。
指名された参照は、プロセスおよびエンティティの実行時解決を可能にするだけでなく、設計時依存分析を可能にする。コンポーネントがBPDへ追加されるにつれて、BPI設計者は、そのコンポーネントが、どのような他の指名フロー、規則、状態機械、およびエンティティを参照するかを示し、未解決の参照が残らなくなるまで、他のコンポーネントをBPIに関連づけることを命ずることができる。指名コンポーネントへの全ての内部参照がBPDL文書内のBPI指名に対して検証されると、設計者は実行時の首尾一貫性を保証する。
BPIフレームワークの真の美点は、これらの特徴を使用して、ビジネス要件が意図された方法でビジネス要件の本質を捕捉し、単一実装技術の制約の中へビジネス要件を埋没させないことである。フローとして最良に表現されたプロセスは、おそらく規則として最良に具体化された他のプロセスと同じように、各々が一緒に働く能力を犠牲にするがない。それによって、それらの要件を充足するために使用されるコンポーネントの選択を、後で最小のコストで変更することが可能になる。ビジネス要件と技術実装との間のインピーダンスを増加し、それらの要件の後続展開コストを減少することによって、BPIフレームワークは、ビジネス・ソリューションを構築する場合の新しい成熟度を可能にする。
6.3.1 フロー仕様
ビジネスプロセスは、或るビジネス目的を達成するため共同して活動を実行する幾つかのアクタ、即ち人間またはコンピュータ・サービスを含む。活動間の制御論理およびデータ・フローは、一般的に、コントローラによって調整される。ビジネスプロセスの制御およびデータ・フロー論理は、例1(図2)および例2(図3)のようにグラフで示すことができる。
ビジネスプロセスの制御フローおよびデータ・フローは、ワークフロー仕様言語で定義され得る。もし本発明者らが、WSDLによって記述されることのできるウェブ・サービスとして各々のタスクをモデル化すれば、ウェブ・サービス編成言語、例えばBPEL4WSが、ビジネスプロセスのワークフローを定義するために使用される。
本発明者らは、BPEL4WSからの次の構成体が、ワークフローを構築するために使用されると仮定する。注意すべきは、BPDフロー仕様のベースとしてBPEL4WSが使用されるが、他のワークフローまたはウェブ・サービスをベースとする仕様も、類似の意味論の構成体をベースとするのであれば使用できることである。
呼び出し
操作は、値をパラメータへ割り当てることによって、ウェブ・サービスまたは他のワークフローを呼び出す。
Figure 2011129150
タスクの呼び出しは、BPEL4WSにおけるようなウェブ・サービスの呼び出しとは異なる。WSDL内のウェブ・サービス・エンドポイントは、メッセージ渡しに基づいており、定義された意味論を有さない。タスクは意味論およびパラメータ集合を有する。
割り当て
値をロケーションへ割り当てる。
<assign>
<from>...</from>
<to>...</to>
</assign>
障害のシグナリング
<throw>名前</throw>
終了
実行を終了する。
<terminate/>
待機
或る時間量だけ待機する。
<wait time=""/>
何もしない
空の操作は何もしない。
<empty/>
構造化された活動
単純な活動は、複雑な活動を作るため組み立てられてよい。複雑な活動を構築するため、次のコンストラクタ(constructor)を使用することができる。ワークフロー状態が幾つかの正しさの規準を満足させることを保証するため、各々の活動または活動ブロックの前または後にアサーションを追加してよい。
シーケンシャル・コンストラクタ
シーケンシャル・コンストラクタは、幾つかの活動ブロックを順次に実行する。
<sequential>
<!-activity block 1-->
<!-activity block 2-->
... ...
</sequential>
同時コンストラクタ
同時コンストラクタは、幾つかの活動ブロックを同時に実行する。全ての同時の活動が終了した場合、コンストラクタは終了する。同時コンストラクタを指定するため、フロー要素が使用される。リンクは、活動ブロック間の依存を定義する。
<flow>
activity blocks
<links>?
<link name="ncname">+
</links>
</flow>
分岐コンストラクタ
分岐コンストラクタは幾つかの活動ブロックの1つを実行する。そのブロックが終了した場合、コンストラクタは終了する。条件は、各々のブロックについてアサーションとして指定される。条件が真へ評価された場合のみ、ブロックを開始することができる。もし複数の条件が真へ評価されるならば、複数のブロックを選択して開始することができる。この場合、ブロックは、真の条件を有するブロックの中から非決定論的に選択される。
Figure 2011129150
whileコンストラクタ
whileコンストラクタは、保護条件が真である間、ループ内の活動ブロックを実行する。それは、条件が偽へ評価されるまで、活動ブロックの実行を反復する。
<while>
<condition>
<formula>...</formula>
</condition>
<activity>...</activity>
</while>
レース・コンストラクタ
レース・コンストラクタは幾つのタスクを同時に開始するが、最初に終了したタスクのみが効果を有する。他の活動ブロックは打ち切られる。
<race>
activity blocks
</race>
例外処理コンストラクタ
例外条件はグローバル条件として指定され、サブフローとしてのハンドラが条件を処理する。条件が真になった場合、同時に実行していたサブフローは停止され、ハンドラが実行される。次にハンドラは、新しい例外を外側ブロックへ投げることができる。未処理の例外は外側ブロックへ自動的に投げられる。これは、上記の例で示されるように、サブフロー内の任意のタスクから生成される障害または例外事象を処理する構造化方法を提供する。ワークフロー仕様で例外状況を指定するため、本発明者らは次の表記法を使用する。
<catch>
<condition>
...
</condition>
<activity>
...
</activity>
</catch>
事象
事象は、タイマが時間切れになったか、外部メッセージがワークフロー・コントローラによって受け取られたために生成される。
<event>
<name>
...
</name>
<type>
...
</type>
</event>
ピック
どの事象が最初に起こったかに依存して、実行する1つのパスを選択する。
<pick>
<OnEvent>
<name>...</name>
<activity>
...
</activity>
</OnEvent>
</pick>
6.3.2 動作の意味論
次のセクションは、ビジネスプロセス・フレームワーク内の動作の意味論を説明する。
6.3.2.1 SemanticLの紹介
ワークフローの意味論を形式的に指定するため、数学モデルが展開される。モデルに基づいた宣言型言語であるSemanticLが、BPIフローの意味論を形式的に指定するために設計される。
ビジネスプロセスのBPD仕様において、フローはXML型のワークフロー言語を使用して宣言型で指定される。多くのワークフロー仕様言語が既に提案された。例えば、BPEL4WS、WSCLなどである。BPD内のフロー記述言語としてBPEL4WSが選択される。それらの言語は、ビジネスプロセスの制御フロー論理を記述するのに十分である。しかし、意味論または正確な「意味」を記述する方法を提供するものはなかった。したがって、正しさはシステムによって自動的に保証されず、手作業のテストに依存する。
SemanticLは、他のワークフロー仕様言語であることを意味するものではなく、ワークフロー仕様を注釈して、ワークフローおよびそれらのコンポーネントの意味論を形式的に定義するために使用される言語であることを意味する。SemanticLは厳格な数学モデルに基づいており、設計時および実行時に意味論的正しさを自動的に検証することができる。更に、新しいワークフローの、意味論的によく定義されたコンポーネントおよびビジネス目的のライブラリに基づいて、新しいワークフローを自動的に構築することができる。
6.3.2.2 ワークフロー意味論を記述する形式的モデル
形式的ワークフロー・モデルが説明される。ワークフローの意味論は、モデルに基づいて正確に定義されることができる。このモデルにおいて、ワークフロー仕様は、論理表現および推論を容易にするため高レベルで抽象化される。抽象化されたワークフロー仕様は、A-BPDと呼ばれる。A-BPDは4タプル、即ち<ワークフロー・データベース、タスク・ライブラリ、ワークフロー>として定義される。各々の用語の定義およびBPDフローへの関係は、後で説明される。
定義
領域、変数、および定数:
領域は同じタイプのオブジェクトの有限集合である。例えば、D={1,2,...,100}は1から100までの整数の領域を表す。Aはその値を特定の領域から取る。例えば、x∈Dは領域Dの変数xを定義する。定数は、領域上の面白い値である。例えば、10はDの中の定数であり、真、偽はブールという領域の定数である。
述語:
述語はオブジェクトの或る特性またはオブジェクトの関係を主張する。述語はP(x1,x2,...,xk)の形式である。パラメータの数および各々のパラメータのタイプは、各々の述語について事前に定義されている。どのパラメータを取らない述語は、真または偽へ評価されるシンボルとして表現され得る。もしPが述語であれば、
P∈{T,F}
である。
述語は、ワークフローの現在の状態を特性化するために使用される。例えば、コンタクト済みは、交渉ワークフローの中の述語である。それは、もし取引業者AがBと成功裏にコンタクトしたのであれば真へ評価され、そうでなければ偽へ評価される。
リテラル:リテラルは述語であるか、述語の否定である。
リテラル:={述語|¬述語}
ワークフロー・データベース:
ワークフローを作り上げている述語の集合は、ワークフロー・データベースを形成する。ワークフロー・データベースはBPDL内の抽象的データ・モデルへ直接関係づけられる。抽象的データ・モデル内の葉要素は、ワークフロー・データベース内の述語に対応する。述語は全てのタスクからグローバルに見ることができる。例えば、次に掲げるものは交渉の例におけるワークフロー・データベースである。
{コンタクト済み, 受け入れ済み, 新指値_A, 新指値_B, 中断_A, 中断_B, 合意済み_A, 合意済み_B, 確認済み_A, 確認済み_B, 決済済み_A, 決済済み_B, 取引なし, 同一支店}
式:
式は、所与のワークフロー・データベースに基づく整合一次論理式である。具体的には、
1.述語は式である。
2.もしP,Qが式であれば、P∨Q、P∧Q は式である。
3.もしPが式であれば、¬Pは式である。
4.もしPが式であり、xが変数であれば、∀(x)Pおよび∃(x)Pは式である。
タスク:
タスクはワークフローのビルディング・ブロックである。単純タスクは、ACID特性を満足させる原子的動作を実行するタスクである。複雑タスクは、サブワークフローのような他のタスクを含み、したがって原子的でない。2つの複雑タスクが同時に実行している場合、それらの活動は任意の仕方で交錯する。本発明者らは最初に干渉がないことを仮定し、後でこの問題へ戻ることにする。
単純タスクTは{P}T{Q}によって記述される。PはTの事前条件である。Tは、それが開始した場合、Pが真である場合、かつ、その場合に限り、正しく実行する。簡単にするため、リテラルの合接形式でのみPを考える。
P:=∧(リテラル)
Tを幾つかの異なった状態で開始できる場合、
{P1∨P2}T{Q}
Tをタスクの集合と見ることができる。
{P1}T1{Q},{P2}T2{Q}
QはTの事後条件である。タスクTは幾つかの可能な終了状態を有することができ、それが終了した場合、1つが非決定論的に選択される。Qは(S1∧Q1)∨(S2∧Q2),...,∨(Sn∧Qn) の形式である。ここでQiはリテラルの合接であり、S1,S2,...,Snはワークフロー・コントローラによって観察可能なステータス変数である。Tが終了する場合、S1,S2,...,Snの1つのみが真であり、タスクによって非決定論的に選択される。簡単にするため、本発明者らは(S1∧Q1)∨(S2∧Q2),...,∨(Sn∧Qn)をQ1,Q2,...,Qnで表す。
例えば、交渉_Aというタスクは、次のように記述される。
{新指値_B∨中断_A}交渉_A{(新指値_A∧¬新指値_B),合意済み_A,取引なし}
タスクの定義はフレーム意味論に従う。フレーム意味論とは、タスクの実行が、事後条件の中で言及された述語だけに影響を及ぼすことを意味する。形式的には、フレーム意味論は結果関数によって定義され得る。
P'はTが開始する場合のワークフロー状態であり、P'⇒Pは真であり、Tが終了する場合、結果(P',Qi) は真である。ここで、
結果(P',Qi)=(P'/Qi)∧Qiであり、(P'/Qi)は、Qiで指名された全ての述語が削除されたPである。
結果(P',Q1),結果(P',Q2),...,結果(P',Qn)は、Tが終了する場合の全ての可能なワークフロー状態を定義する。
または、Tが終了する状態から逆方向に推論することができる。Tが終了する場合、Q'が真であると仮定する。ここで、Q⇒Q'、
剰余(Q',Qi)=∧(Q'-Qi)、ここでQ'-QiはQ'およびQiにおけるリテラル集合の集合差である。
P∧剰余(Q',Q1)∧剰余(Q',Q1),...,∧剰余(Q',Q1)は、Tが開始する場合満足されなければならない。
タスクのBPDL仕様は、抽象的データ・モデルとワークフロー・データベースの間の関係に従ってA-BPD仕様へ容易に変換され得る。
ワークフロー仕様:
ワークフローは次の形式で指定される。
{P1,P2,P3,...Pn}WF{Q1,Q2,Q3,...Qn}
ここで、P1,P2,...Pnはリテラルの合接であって相互に排他的である。Q1,Q2,...,Qnは次の形式である。
[(S11∧Q11)∨(S12∧Q12)∨...)],[(S21∧Q21)∨(S22∧Q22)∨...],...[(Sn1∧Qn1)∨(Sn2∧Qn2)∨...]
これは、WFが開始する場合、WFの事前条件の1つが真でなければならず、もしP1が真であれば、Q1が事後条件であることを意味する。以下同様である。
タスクは、ただ1つの事前条件および事後条件のペアを有する点で、ワークフロー仕様の特別のケースである。
ワークフローは、ワークフロー・コンストラクタを使用してタスクから構築される。もし完全な構築が与えられると、ワークフローのフレーム意味論を引き出すことができ、ワークフローをタスクとして処理することができる。
ワークフロー・コンストラクタの意味論
ワークフロー仕様の中で、次のコンストラクタが許される。
タスク
もしワークフローが状態PにあってタスクT1が実行されるならば、次の推論規則が存在する。
Figure 2011129150
逆方向から推論する場合、
Figure 2011129150
シーケンシャル
シーケンシャル・コンストラクタは、2つのタスクが順次に実行することを指定する。SEQ[T1,T2]は、T1が実行され、次にT2が実行されることを意味する。シーケンシャル・コンストラクタについて、次の推論規則が存在する。
Figure 2011129150
AND
コンストラクタのAND[T1,T2]は、2つのタスクが同時に実行することを指定する。もし干渉が存在しなければ、ANDコンストラクタについて次の推論規則が存在する。
Figure 2011129150
OR
コンストラクタのOR[T1,T2,C]は、もしCが真であれば、T1が実行され、そうでなければ、T2が実行されることを指定する。次の推論規則が存在する。
Figure 2011129150
レース
レース・コンストラクタのレース[T1,T2]は、2つのタスクが同時に実行することを指定する。しかし、終了した最初のタスクがコミットし、他のタスクは打ち切られる。
Figure 2011129150
ループ
ループ・コンストラクタのループ[T1,C]は、Cが真になるまで、T1が反復して実行されることを指定する。ここで、Cは整合式である。ここで問題にするループは、ループ本体T1が少なくとも1回実行される意味で、反復ループである。反復ループおよびORコンストラクタを使用して、whileループを容易に構築することができる。
ループ条件CおよびタスクT1の双方が論理式として指定されることに起因して、ループ・コンストラクタは、一般的なプログラミング言語のループよりも強力でない。その理由は、ループ本体が何回実行されようとも、ループ・コンストラクタの開始点に達した場合、ワークフロー状態は常に同じだからである。ループ不変式は単純にP1∧Cである。ループ・コンストラクタの意味論は、T1が幾つかの非決定論的出力を有するものと仮定して、T1が所望の出力を与えるまでT1を再試行することである。
Figure 2011129150
整合ループの必要条件は、ループの事後条件が矛盾を有さないことである。
¬C∧Q1≠偽
これは、たまたまループ終了の必要条件である。もしT1の出力が公平性の特性を満足させると仮定すれば、条件は更に十分条件である。
事象およびピック
事象は特殊なタスクである。事象は外部からワークフロー・コントローラへ送られるメッセージである。ワークフロー・コントローラは、いつ事象が起こるかについて制御を有さない。しかし、ワークフロー・コントローラは、それに登録された事象を認識し、それに応答する。例えば、新しいワークフロー・インスタンスを開始するか、事象の生起を待機している待機ワークフローを継続する。事象は事前条件を真として有するタスクとして指定され得る。
{真}E{Q}
ワークフロー仕様の中で事象を使用することはできない。その代わりに、ワークフローが或る事象の生起を待機していることを指定するため、ピックと呼ばれるコンストラクタが使用される。ピックは、一つまたは複数の受け取り節を有することができる。どの事象が最初に起こるかに依存して、1つのブロックがピックアップされて実行される。
待機事象の1つが最終的に起こると仮定すれば、ピック・コンストラクタの意味論は、レースの意味論に類似している。
Figure 2011129150
6.3.2.3 動作の意味論
データ・モデル
データ・モデルは、ビジネス・アプリケーションまたは関連ビジネス・アプリケーションの集合の基礎をなすデータ・スキーマを定義する。更に、タスクおよびワークフローの意味論が定義される抽象的データ・モデルを記述する。
データ・モデルは、XMLスキーマに基づく半構造化データ・タイプとして定義される。XMLスキーマに基づく多くの企業標準、例えばFpMLおよびNewsMLが存在する。それらは多くのアプリケーションの基礎を形成する。
BPDLは、具体的データ・モデルおよび抽象的データ・モデル両方の表記法を提供する。具体的データ・モデルは、ワークフロー・コントローラが実行時に使用する実際のデータ・モデルであり、抽象的データ・モデルは、意味論的な仕様、検証、およびシミュレーション目的に必要な或る高レベル情報のみを指定する。
具体的データ・モデル
具体的データ・モデルは、ワークフローの実行に必要なデータ・スキーマを定義する。
例えば、交渉プロセスのデータ・モデルは、7.2で示されるようにXMLスキーマ形式で定義され得る。これはFPML標準の拡張バージョンと考えることができる。交渉データ・モデルのインスタンスは7.3に例示される。
抽象的データ・モデル
抽象的データ・モデルは、具体的データ・モデルの上にある抽象的層である。それは、タスクおよびワークフローの事前および事後条件を指定するために使用される特性を定義する。例えば、確認済みと呼ばれる述語は、取引業者のために定義される。もし取引業者の取引が既に確認されていれば、確認済みは真であり、そうでなければ偽である。
<property name="confirmed"
expression="(negotiation/CurrentBid/bitter/confirmed=yes)or
(negotiation/CurrentBid/listener/confirmed=yes)"/>
特性は、ブールまたは整数値へ評価される具体的データ・モデル上のXPATH表現として定義される。例えば、確認済みは、少なくとも1人の取引業者が確認済み状態へ達したものとして定義される。例は7.4で示される。
タスクおよびタスク・ライブラリ
タスクはワークフロー・プロセスのビルディング・ブロックである。タスクは、一般的に、WSDLとのウェブ・サービス・インタフェースとして指定される。タスクの意味論は、事前および事後条件の形式で指定される。
タスクは事前条件の集合を有する。事前条件は、タスクが実行を開始する場合満足されなければならない。事前および事後条件は、抽象的データ・モデル上のブール表現である。タスクの実行本体は、ワークフロー・エンジンの外側にあるアプリケーションであるか(単純タスク)、サブワークフローである(複雑タスク)。
要求
要求は、タスクの事前条件を指定する。それは1つまたは幾つかの要求要素を有することができる。各々の要求要素は、式要素の集合を有する。式要素は、抽象的データ・モデル上のブールXPath表現である。要求要素は、全ての含まれた式要素が真である場合、かつ、その場合に限り満足される。少なくとも1つの要求要素が、タスクの実行を開始する前に満足されなければならない。
<requires>
<require>
<formula>negotiation/SingleConfirm
</formula>
</require>
</requires>
保証
保証要素は、タスクの事後条件を指定する。要求要素と同じく、各々の保証も式要素の集合を有する。タスクが成功裏に終了する場合、保証要素の1つだけが出力として選択され、ワークフロー・データはそれに従って更新されたことが保証され、XPath式は真へ評価される。更に、保証の中で明白に指定されたフィールドのみがタスクによって影響を受け、抽象的データ・モデル内の他のフィールドは変更されない。
<guarantees>
<guarantee>
<formula>negotiation/DoubleConfirm=true
</formula>
</guarantee>
<guarantees>
例外
例外は、タスクの例外的事後条件をXPath表現として指定する。それは保証仕様と類似している。唯一の差異は、タスクが失敗するか異常として出る場合の可能な出力を定義することである。
<exceptions>
<exception>
<formula>negotiation/timeout</formula>
</exception>
<exceptions>
6.3.2.4 ワークフローの意味論
要求および保証
タスク仕様と類似した仕方で、ワークフロー仕様は要求、保証、および例外を有することができる。これらはタスク仕様の場合と同じである。
コンストラクタ
コンストラクタは、一般的に、BPEL4WS内の構文論に従い、本発明者らはコンストラクタをアサーションで注釈する方法を提供する。
<assert>
<formula>抽象的データ・モデル上のXPath表現</formula>
</assert>
6.3.3 ワークフロー内の異なった点におけるアサーション
6.4 BPI実行フレームワーク
以下のセクションはBPI実行フレームワークを説明する。
6.4.1 フロー、規則、および状態エンジン
BPI実行フレームワークは3つのコア・コンポーネント、即ち、フロー・エンジン、規則エンジン、および状態エンジンを有する。3つのエンジンは相互にインタラクションを行い、ビジネスプロセスの実行中に既存の領域サービスを呼び出す。
領域サービスは、領域特定機能をウェブ・サービスとして提供する。例えば、顧客関係管理サービスは、顧客関係の管理に関連する機能、例えば顧客情報の検索、顧客ディレクトリのサーチなどを提供する。領域サービスは、新しいアプリケーションへ統合できるビルディング・ブロックを提供する。
フロー・エンジンは、所与のワークフロー仕様に従ってBPEL4WSプログラムの形式でウェブ・サービスを編成する。ワークフローがフロー・エンジンで展開される場合、そのフローの一意のエントリ・ポイントがウェブ・サービスとして作り出される。メッセージが対応するエントリ・ポイントで受け取られる場合、フロー実行の新しいインスタンスが作り出されて開始される。実行中、フローは領域特定機能を実行するため領域サービスを呼び出し、規則を評価するため規則エンジンを呼び出し、状態のクエリーまたは遷移を要求するため状態エンジンを呼び出してよい。フローはウェブ・サービスとして展開されるから、それらのフローは他のフローによって呼び出され得る。
状態エンジンは、状態機械モデルに基づいてビジネス・オブジェクト・ライフサイクルを管理する。状態エンジンは、実行時に、ビジネス・オブジェクト・インスタンスの状態データおよびユーザ定義データを制御する。それらのデータは、状態エンジンの外部では更新され得ない。状態機械モデルは、正規の状態、状態間の遷移、およびビジネス・オブジェクトの遷移に関連づけられた操作を定義する。実行時において、状態機械の新しいインスタンスは、作成要求が受け取られた場合モデルに従って作り出される。状態機械インスタンス上の遷移の要求が受け取られた場合、状態エンジンは、最初に、要求された遷移が動作可能であるかを検証する。もし動作可能であれば、状態データは、それに従って更新され、関連の操作、例えばユーザ・データの更新またはウェブ・サービスの呼び出しが実行される。状態エンジンは、全ての状態機械モデルについて単一のウェブ・サービス・インタフェースを有する。
規則エンジンは複雑なビジネス規則を評価し、可能性として、どのような規則が真へ評価されるかに依存して幾つかの動作を実行することができる。ビジネス規則は宣言型言語、例えばRuleMLで指定される。実行時において、規則エンジンは要求時にデータ集合上の規則集合を評価する。状態エンジンと同じく、規則エンジンは全ての規則評価要求について単一のウェブ・サービス・インタフェースをエキスポートする。
6.4.2 BPIフロー、規則、および状態の間の調整
ビジネスプロセスの実行は、フロー、規則、および状態が相互に調整およびインタラクションを行うことを要求する。しかし、フロー、規則、および状態のエンジンは、独立に実行することができる。それらはウェブ・サービス・インタフェースを介して疎結合される。図1は、それらのインタフェース間の論理関係を示す。グラフ内の矢印付き実線は、異なったインタフェース間の呼び出し関係を示し、破線はデータ・フロー関係を示す。
各々のフローは、それ自身の一意のウェブ・サービス・インタフェースを有する。例えば、F1は、インタフェースIフロー1を有し、F2はインタフェースIフロー2を有し、かつF3はインタフェースIフロー3を有する。規則エンジンは単一のインタフェースを有する。R1、R2、およびR3を評価する要求は、全て同じインタフェースを通過する。状態エンジンも単一のインタフェースを有する。全ての状態インスタンス上のクエリーまたは更新は、そのインタフェースを介して要求される。
フローの実行中に、規則の評価を行うため規則エンジンを呼び出し、状態の遷移およびデータの更新を行うため状態エンジンを呼び出すことができる。規則エンジンは、幾つかの規則評価の結果によってトリガされるままに、フローを開始するか、状態エンジンを呼び出すことができる。状態エンジンは、規則エンジンを呼び出すか、もし遷移が成功裏に実行されたのであればフローを開始することができる。三者の相互呼び出し可能性は、図1の矢印L1、L2、L3によって示される。
ビジネス・オブジェクト・データは状態機械によって保護され、状態機械を介してのみ書き込みまたは更新が可能である。この保証は、データが正当な状態に維持され、正当な遷移によってのみ変更され得ることを保証する。フローおよび規則は、保護されていないデータ上で動作することができ、保護されたデータ上では読み出し専用動作を実行することができる。任意に、パフォーマンスを改善するため、保護されたデータを読み出し専用データ記憶装置へ複製することができる。
6.4.3 BPIの管理
BPIがユビキタス計算環境で展開されるにつれて、BPIの管理が不可欠となる。BPI管理はレジストリ、ディスカバリ、モニタ、サービス水準合意(SLA)管理、および違反が生じた場合のSLA自立履行(管理BPIおよびエンドポイント解決)から構成される。以下のセクションは、これら局面の各々を詳細に説明する。図9は、BPI管理の図式表現を提供する。ここで注意すべき点は、BPIの管理がビジネスプロセスであり、管理BPIと呼ばれるBPIを使用することによって自動化されることである。
6.4.3.1 BPIレジストリ:
BPIレジストリは3つの部分から構成される。第1はBPIのエンドポイント(論理的または物理的)であり、第2はSLA合意であり、第3は分類法である。この情報を記憶するため、中央または連合レジストリが必要である。BPIの意味論は次のとおりである。即ち、BPIの各々およびその成分(フロー、規則、および状態)は抽象的インタフェースへマップされる。抽象的インタフェースの各々は、実行時エンドポイントの一つまたは複数のインスタンスを有する。実行時インスタンスの各々は、様々なSLA、構成、および分類法が定義されるインスタンス・データを有する。任意の永続的記憶装置をBPIレジストリとして使用することができる。以下のパラグラフは、UDDIをBPIレジストリとしてどのように使用できるかを説明する。
6.4.3.2 UDDIを使用するBPIレジストリ:
・BPIの各々およびその成分は、UDDI tモデルへマップされる。
・BPIおよびその成分の記述は、UDDI概説文書へマップされる。
・SLA合意、構成、および分類法は、UDDIインスタンス・データへマップされる。
・BPI分類法は、UDDI分類法へマップされる。
6.4.3.3 BPIディスカバリ
BPIが、レジストリ(前述した)に記憶された構成に基づいて展開された後、展開とレジストリが同期しないリスクが常に存在する。なぜなら、それらは切り離される性質を有するからである。この問題はは、BPIエンドポイントへのトラフィックをモニタし、レジストリを同期するか、環境で実行しているルージュBPIを識別する能力をBPIアドミニストレータへフィードバックすることによって解決される。
6.4.3.4 BPIモニタ
BPIエンドポイントはSOAPエンドポイントであるから、メッセージはSLAの様々な特性についてリアルタイムまたは近リアルタイムでモニタされる(パフォーマンスを理由として)。違反が起こった場合、モニタリング・エージェントは、適切な動作を取るように「管理BPI」に通知する。
6.4.3.5 管理BPI
管理BPIは、SLA違反(前述した)を受け取ってSLA履行の決定を行う特殊BPIである。最も単純な例を挙げると、特定のフロー・サービスが能力の80%に達した場合、BPIモニタは管理BPIに通知し、管理BPIはBPIレジストリの中の構成を調整して、最初のフロー・サービスがSLAを維持できるまで、フロー・サービスへの後続の呼び出しが、エンドポイント解決サービスを使用して異なったエンドポイントへ回送されるようにする。管理BPIは、更に、「SLA許容および維持管理」を提供して、動揺に基づくフィードバックを回避する。
6.4.3.6 エンドポイント解決サービス
BPI実行時に、全てのBPI成分は、エンドポイントを必要とする場合、インタフェース、SLA、および分類に基づいてBPIレジストリに質問し、呼び出される必要があるエンドポイントを取得する。これは、エンドポイントのダイナミック・ディスカバリを提供し、SLAを履行するため管理BPIによって実行される構成調整に基づいてBPI呼び出しを再回送する能力を提供する。
6.5 ビジネスプロセス・ワークフローの正しさ
ワークフローが開始した場合ワークフローの事前条件が真であると仮定して、もしワークフロー要件の事後条件がワークフロー仕様によって真であると主張されるならば、ワークフローは所与の要件に従って正しい。
タスクの意味論およびワークフロー・コンストラクタの推論規則に基づいて、コンパイル時にワークフローの正しさを検証することができる。
6.5.1 ワークフローを自動的に注釈する
もしワークフローの事前条件が与えられると、各々のタスクの事前および事後条件が与えられたと仮定して、全ての実行ポイントで、そのポイントで何が真であるべきかについて、ワークフローを自動的に注釈することができる。
自動注釈のアルゴリズムは2つのパラメータを取る。即ち、ワークフローWおよびワークフローの事前条件P、およびWの注釈バージョンである出力W'である。
アルゴリズム:自動注釈(W,P):W'
1.もしWがタスク{P1}T1{Q1}であれば、タスク規則を適用する。
Figure 2011129150
2.もしWがコンストラクタW=CON(T1,T2,...)で構成されていれば、対応するコンストラクタ規則を適用し、繰り返してT1、T2、...を注釈する。
6.5.2 ワークフローの正しさを自動的に検証する
最初に、ワークフローを注釈する。次に、もしアサーションが次ぎのタスクの事前条件を暗黙に意味していなければ、そのポイントでエラーが存在する。次のタスクの事前条件が満足されないので、ワークフローは誤っており、したがってそのポイントで開始され得ない。
もし最後のアサーションがワークフローの事後条件を暗黙に意味しなければ、ワークフローは事前に定義された事後条件を満足させないから、ワークフローは誤っている。
6.6 ビジネスプロセスのモデル・チェック
モデル・チェックは、システム実装が、その要件仕様を満足させるかどうかを形式的に検証する。企業および大学は、様々なソフトウェアおよびハードウェア・システムのモデル・チェック方法論および自動検証ツールを開発してきた。しかし、ビジネスプロセスおよびアプリケーションに適用されるものは非常に少ない。なぜなら、それらが複雑で形式的仕様を欠如しているためである。
BPIはビジネスプロセスを抽象化し、それをフロー、規則、および状態として形式的に記述する方法を提供する。フローおよび状態仕様の正しさは、モデル・チェック手法を使用して検証され得る。これに基づいて、BPIフレームワークは、ビジネスプロセスの正しさをモデル・チェックするアプローチを提案する。BPIモデル・チェック・ツールは、フローおよび状態仕様をシステム実装として取り、それらを、オリジナルのビジネス要件から自動的に引き出されたシステム要件仕様の集合に対してチェックする。それは、設計時および実行時の双方で、正しさを補強するために使用され得る。
モデル・チェックは、次の局面で意味論に基づく検証とは異なる。第1に、モデル・チェックは観察的トレース意味論、即ち可能なプロセス実行における観察可能状態シーケンスに基づく。しかし、意味論に基づく検証は、活動およびフローの形式的意味論に基づく。第2に、前者は、時間的特性、例えば、AはBの前に起こらなければならない、Aは最終的に起こるだろう、デッドロックは存在しない、などを検証するために使用され得る。しかし、後者は、そのような特性を検証するためには使用され得ない。第3に、前者はシステム実行の全体の状態空間を探求する必要があるが、後者はシステム仕様上の形式演繹法に基づく。
BPIモデル・チェック・ツールは、次の目的を達成する助けとなる。即ち、設計時の正しさのチェック、実行時の正しさの補強、およびセキュリティ確保である。セキュリティは分散環境で特に重要である。モデル・チェックの観点からは、セキュリティ問題は、言語ベース手法によって処理され得る信頼性問題のサブセットである。本発明者らのモデル・チェック・ツールは、情報フローのセキュリティ方針を保護し、したがって機密性を保証する。
6.6.1 モデル・チェックのアプローチ
本発明者らのモデル・チェック・アプローチは、抽象的状態機械モデルに基づいている。仕様は、最初に抽象的状態機械モデルへ変換され、次にモデル・チェックされる。方法論は図10に要約される。
6.6.2 設計時のモデル・チェック
第1のステップは、システム実装および要件仕様を形式的に定義することである。これらの双方はビジネス要件から引き出される。ビジネスプロセスの要件から、BPIによってBPEL4WSでフローを指定し、StateMLに関して状態モデルを指定することができる。StateMLは階層的状態機械モデルに基礎を有する。それらの手順は、図10の破線矢印で示される。更に、ビジネス要件は、時相論理の形式で時間的述語として抽象化および形式化される。時間的述語の集合は、システムが観察しなければならない時間的制約を指定する。この手順は図10の矢印gで示される。
第2のステップは、本発明者らの階層的状態機械モデルの中でフローおよび状態を定義することである。なぜなら、モデル・チェック手法は、階層的状態機械モデルに基づいているからである。BPEL4WS仕様は、StateMLへ変換される。StateMLはBPI状態およびモデル・チェック両方の状態仕様言語として役立つ。変換を自動的に行うアルゴリズムが展開される。この手順は図10の矢印aによって示される。
第3のステップは、階層的状態機械および時間的述語の双方を抽象的状態機械へマップすることによってシステムおよび要件仕様を抽象化することである。このステップが必要な理由は、オリジナルの仕様が、あまりに多くの状態、更には無限の状態空間を有するかもしれないからである。そのような状態機械でのモデル・チェックは、状態の急増問題に出会うと考えられる。抽象化はオリジナル仕様の状態空間を単純化する。この手順は、図10の矢印cおよびdで示される。
第4のステップは、抽象的状態機械をモデル・チェックすることである。結果は、状態機械モデルを更に洗練するために使用される。ステップ3および4は、抽象的状態機械が成功裏にモデル・チェックされるまで反復して実行される。この手順は、図10の矢印b、eおよびfで示される。
抽象化とモデル・チェックには2つの接近方法が存在する。即ち、反例誘導法と最弱事前条件誘導法である。
簡単にいえば、反例誘導抽象化は次の手順に従う。
1.最初に、要件に述語を含むようにE0をセットする。
2.次のステップを反復して実行する。
a. 具体的モデルをEiで抽象化する。
b. 抽象的モデルをモデル・チェックする。もし答えがイエスであれば、終了する。
c. もし答えがノーであれば、具体的モデルをシミュレートし、問題を起こした新しい述語Fiを発見する。
d. Ei+1:=Fi合併Eiとし、i:=i+1として、次の反復へ進む。
最弱事前条件誘導抽象化は、次のように要約される。
1.具体的モデルへ要件述語を適用する。
2.ステップ1の述語に基づいて各々の状態の最弱事前条件を逆方向に計算する。
3.全ての述語が計算された具体的モデルを抽象化する。
4.抽象的モデルをモデル・チェックし、もし答えがイエスであれば、終了する。
5.もし答えがノーであれば、抽象化を修正し、モデル・チェックを再実行する。
6.6.3 実行時のモニタリング
実行時のモニタリングは、実行しているプロセスの正しさを保証する。プロセスは設計時に検証されが、実行時モニタリングが依然として必要である。その理由は、a)幾つかの特性が、抽象化のために設計時に検証可能でないかもしれず、b)幾つかの活動が、望ましくない実行時特性であってインタフェースで指定されない特性を有するかもしれず、c)多くのパフォーマンスおよびセキュリティ方針が実行時に保証されなければならないからである。
実行時モニタは、時間的述語として形式的に定義された安全特性要件に基づいて自動的に組み立てられる。モニタは、実行時に、モニタされるシステムと並列に実行し、安全特性の任意の違反を検出する。一度、違反が検出されると、モニタは現在のプロセス実行を中断し、誤り処理手順を開始する。
セキュリティは、言語ベースの手法によって確保される。仕様の中の各々のデータ項目は、セキュリティ・レベルを示すセキュア・タイプのタグ、例えば高または低に関連づけられる。各々のプログラム・ブロックはセキュリティ・コンテキストに関連づけらる。モデル・チェッカはタイプ推論分析を実行して、情報フローがブロックおよびデータ項目のタグ値と整合するかを確かめる。例えば、低とタグされたデータ項目への全ての割り当ては、低値から引き出されるか、低コンテキストの中で起こる。
6.7 ビジネス・ワークフローの自動的合成
ワークフロー要件は、ワークフローの事前条件および期待事後条件を指定する。正しいワークフロー仕様は、もし存在すれば、所与のタスク・ライブラリの意味論に基づいて見出される望みがある。
問題は、もしタスク・ライブラリおよびワークフロー要件が与えられると、正しいワークフロー仕様が自動的に生成されることである。
問題を例示するため、図5で説明されたタスク・ライブラリが存在すると仮定する。タスクは、コーポレート動作ワークフローを構築するために使用されるコンポーネントである。
タスクを任意的に接続できないことは容易に分かる。なぜなら、1つのタスクの事後条件は、他のタスクの事前条件を満足させないかもしれないからである。ワークフロー構成体を使用し、どのようにしてタスクを正しく接続するかの基本的規則の集合が存在する。
シーケンス:
タスクまたはワークフローAの事後条件が、タスクまたはワークフローBの事前条件を暗黙に意味すると仮定すると、AおよびBはシーケンス構造として構成され得る。例は図6で示される。
分岐:
もしタスクAの出力がタスクBの事前条件を部分的にのみ暗黙に意味するならば、Aからの幾つかの出力ケースは、AおよびBのシーケンスを単純に形成することによっては処理されない。処理されないAからの出力は、懸垂エッジと呼ばれる。もし懸垂エッジの条件が他のタスクの事前条件を暗黙に意味するならば、異なったタスクによって異なったケースを処理するように分岐を形成する必要がある。もしAからの全ての可能なケースをカバーするようなタスクの集合を見出すことができれば、正しい分岐構成体を形成することができる。例は図7で示される。
ループ:
時には、パス上の幾つかのタスクへ懸垂エッジをフィードバックし、ループを形成することによって、懸垂エッジを固定することができる。これは、条件が満足されるまでループ内でサブワークフローを再試行することを意味する。例は図8で示される。
例外:
例外は特殊出力エッジである。したがってそれらは分岐と同じ方法で処理され得る。唯一の差異は、多くの場合、ワークフローが或るエラー状態にあり、エラー・ハンドラによって別個に処理されなければならないことを、例外が暗黙に意味することである。更に、同じ例外が異なったタスクによって生成されるかもしれず、それら例外のグループに対して単一のハンドラを使用することができる。ブロック内の例外を処理するため、分岐を作り出す代わりにキャッチ・ステートメントが作り出される。
サブフロー:
より大きなワークフローを形成するため、合成されたワークフローをコンポーネントとして使用することができる。
構築規則に基づいて、全ての可能なワークフローをタスク・ライブラリから構築することができる。しかし、数は天文学的になり、それらの全てがビジネス目的を満足させるわけではない。所与のビジネス目的を満足させる正しいワークフローを見つけるため、アルゴリズムが必要である。
ビジネス目的は、ワークフローの事前条件および事後条件に関して指定される。ワークフローが開始した場合事前条件が真であると仮定すれば、ワークフローが終了した場合事後条件が真になるように、ワークフローを生成する必要がある。
問題を扱いやすくするため、問題の特殊ケースのアルゴリズムが最初に構築され、特殊ケースに基づいて、より一般的なアルゴリズムが作り上げられる。
ケース1:
タスクは事前条件で肯定的述語のみを有し、事後条件で単一の出力を有する。
タスク・ライブラリは、次の仮定を満足させる。
1.タスク事前条件は、肯定的述語の合接である。
2.変数割り当てまたは変数上の条件は許されない。
3.タスク・ライブラリは、順位づけの仮定に従う(下記を参照)
4.最初、全ての述語の値は真か偽である。ワークフロー・ジェネレータによって実際の値を仮定することはできない。生成されたワークフローは、全ての可能なケースで正しく働かなければならない。(ワークフローの事前条件は与えられない。)
順位づけ:
述語の集合PSの上で部分的順序関係<を定義することができ、タスク・ライブラリTSは次の意味で部分的順序<を尊重する。
a. $\mathcal{T}$内の任意のタスク$T$について、Tの事後条件の中に肯定的述語q_0が存在する。q_0は一次出力と呼ばれる。Tの事前条件の中の任意の述語pおよびTの事後条件の中の非一次述語qについて、次の関係が存在する。
b. p<q_0, q<q_0
c. $T$の事前および事後条件の中の述語は、$q_0$よりも高い順位を有さない。タスクは複数の一次出力を有することができる。
d. 全ての述語は、少なくとも1つのタスクの一次出力である。
パス:
パスはタスクのシーケンスである。最初のタスクの事前条件が満足されたと仮定すると、パスの中の全てのタスクを逐次の順序で正しく実行することができる。
定理:
順位づけ仮定を満足させるタスク・ライブラリが与えられたと仮定すれば、次のことが得られる。
各々の述語pについて、Path(p)のパスが存在する。Path(p)はpを真にし、pはPath(p)の最後のタスクの一次出力である。
a. もしPath(p)をサブワークフローとして見るならば、pはサブワークフローの一次出力である。
b. $p$よりも高い順位を有する述語は、パスの中に現れない。
c. 属性閉包の表記法を使用して、述語を実現するパスを計算することができる。
アルゴリズム:
ライブラリTLを与えられるならば、ライブラリCL(TL)の属性閉包を構築することによって各々の具体的述語についてワークフローを見つけよ。
閉包は、真にすることのできる全ての述語である。各々の述語$p$は、Path(p)に属するパス属性に関連づけられる。
ケース2:許可条件
ケースは、上記のセクションと同じ仮定に従うが、条件を処理する仮定を追加する。
追加の仮定:
タスクの事前条件は、肯定的述語の合接であるか、単一変数上の条件、例えば$x>0$であるか、双方の組み合わせである。
a. 事後条件の中の述語は、gen(x)の形式であってよい。もしタスクの事後条件がgen(x)を有するならば、gen(x)は一次出力でなければならず、そのタスクの唯一の一次出力でなければならない。
b. 変数xは、ワークフローが開始する場合割り当てられない。即ち、最初はgen(x)=偽である。
c. gen(x)およびx(x>0)上の条件は同じ順位を有する。
パス:
パスはタスクのシーケンスである。可能性として、タスクの幾つかの前に変数上の条件が存在する。もし最初のタスクの事前条件が満足されると、タスクが開始した場合タスクに先行する条件が真であると仮定して、パスの中のタスクは逐次の順序で正しく実行される。
Path(p)は、最後のタスクの一次出力(したがって、パスの一次出力)としてのpを有するパスである。もしパス上に条件が存在しないならば、パスは完全パスである。そうでなければ、パスは不完全パスである。パスに沿った全ての条件の合接は、パスの条件である。
仮定を満足させるタスク・ライブラリが与えられるならば、
各々の述語pについて、少なくとも1つのパスPath(p)が存在する。Path(p)は不完全であることができる。
gen(x)を生成するタスクは、パスの中でせいぜい1回現れるだけでよい。
タスク・ライブラリの中の全ての変数X={x_1, x_2, ..., x_n}について、変数順位の部分的順序を保つ全順序へgen(x_1), ..., gen(x_n)をソートすることができる。もしパスに沿った条件C(x_1), C(x_2), \1dots, C(x_k)を有するpを実現する不完全パスが存在すれば、各々の変数をせいぜい1回生成するpを実現する不完全パスが存在し、パスにおける条件の同じ集合が所与の全順序で注釈される。
各々の変数x_iについて、それを生成する1つだけのタスクが必要である。
属性閉包アルゴリズム:
各々の対等な集合のために、変数の順序に従って不完全パスを見つけるだけでよい。これは、閉包アルゴリズムへ次の規則を追加することによって達成される。
アルゴリズム:
属性閉包を作り上げることによって、全ての不完全パスを構築する。
アルゴリズム:
閉包からワークフローを構築する。
ケース3:事後条件における複数の一次出力
追加の仮定:
タスクは複数の出力を有することができ、その各々は前のセクションで指定されたように述語の合接である。もしタスクTが複数の出力を有すれば、各々の出力は1つだけの一次述語を有する。更に、もしp_i,p_jがTの出力の一次述語であれば、Rank(p_i)はRank(p_j)よりも高くなく、または低くない。
ケース4:複数の出力および否定を許可する
順位の定義を拡張する:
a. 述語は、前のセクションと同じように部分的順序で配列することができ、順位の概念は述語の否定へ拡張される。
b. Rank(p)=Rank(ノットp)
c. Rank(p)=Rank(q), pノットq → p=ノットq
述語およびその否定は同じ順位を有し、それは2つのリテラルが同じ順位を有する唯一の場合である。
モデルは、事前条件における或る制限否定形式および複数出力を許可するように拡張される。
6.8 BPIフレームワーク型アプリケーション(可能な例であるが、これらに限定されるわけではない)
BPIフレームワークは、広範囲のビジネスプロセスの自動化で使用可能である。ビジネスプロセスの自動化は次のファイナンシャルサービス・ワークフローを含むが、それに限定されるわけではない。
6.8.1 コーポレート動作管理
保管財産管理組織におけるコーポレート動作ビジネスプロセスの管理は、ビジネス・フロー、規則、および状態管理の複雑な組み合わせを必要とする。コーポレート動作ワークフローは、独立モジュールとしての7つのステージ、例えばデータの捕捉、事象の証明、権利の付与、通知、意思決定、請求書の転記、および決済を含む。それはBPIフレームワーク上で展開され、データ・モデルおよび外部システムとのインタフェースについて企業標準、例えばMDDL、SWIFT MT564/5を使用する。
6.8.2 市場データ、ポートフォリオ、および遵守アプリケーションと発注管理システムとの統合
伝統的発注管理システムは、他のファイナンシャル・システム、例えば市場データ、ポートフォリオ、および遵守アプリケーションへ良好に統合されない、BPIフレームワークは、統合ワークフローを自動化する適切な方法を提供する。
6.8.3 データ管理システム
ファイナンシャル・データの正確なリポジトリ(多くの場合、「ゴールド・コピー」として知られる)を作り出すことは、複雑な自動化および人間のワークフローを必要とする。伝統的に、これらのビジネス・ワークフローおよび規則は、特注プログラムとして実現される。その場合、市場の要求に基づいてビジネス論理を変更する能力は、費用のかかる遅いプロセスである。BPIフレームワークは、これらのビジネスプロセスを自動化する方法を提供する。この場合、システムの残りへ大きなインパクトを与えることなく、要求に従ってビジネス規則を変更することができる。
7 スキーマおよび例示的インスタンス
7.1 スキーマ1:BPDLスキーマ
Figure 2011129150
Figure 2011129150
7.2 交渉プロセスの具体的データ・モデルのXMLスキーマ仕様
Figure 2011129150
7.3 交渉データ・モデルのインスタンス
Figure 2011129150
7.4 高レベル・データ・モデルの例
Figure 2011129150
本発明の局面が本発明の例示的態様に関して説明された。当業者は、この開示のレビューから、添付された特許請求の範囲および精神内の多数の他の態様、修正、および変形を思いつくと考えられる。
TOC
ビジネスプロセスの自動化・・・・・・・・・・・・・・・・・・・・・・・・・・・1
1 発明の分野・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1
2 発明の背景・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 1
3 要約・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 3
4 図面の簡単な説明・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 5
5 詳細な説明・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ 6
5.1 フロー、規則、および状態(FRS)へのビジネスプロセスの分解・・・・・・・8
5.2 BPDおよび成分フロー、規則、および状態の分類法・・・・・・・・・・・・・13
5.3 BPIの宣言型仕様・・・・・・・・・・・・・・・・・・・・・・・・・・・・13
5.3.2 動作の意味論・・・・・・・・・・・・・・・・・・・・・・・・・・・21
5.3.3 ワークフロー内の異なった点におけるアサーション・・・・・・・・・・32
5.4 BPI実行フレームワーク・・・・・・・・・・・・・・・・・・・・・・・・・32
5.4.1 フロー、規則、および状態エンジン・・・・・・・・・・・・・・・・・32
5.4.2 BPIフロー、規則、および状態の間の調整・・・・・・・・・・・・・・・33
5.4.3 BPIの管理・・・・・・・・・・・・・・・・・・・・・・・・・・・・・34
5.5 ビジネスプロセス・ワークフローの正しさ・・・・・・・・・・・・・・・・36
5.5.1 ワークフローを自動的に注釈する・・・・・・・・・・・・・・・・・・36
5.5.2 ワークフローの正しさを自動的に検証する・・・・・・・・・・・・・・37
5.6 ビジネスプロセスのモデル・チェック・・・・・・・・・・・・・・・・・・37
5.6.1 モデル・チェックのアプローチ・・・・・・・・・・・・・・・・・・・38
5.6.2 設計時のモデル・チェック・・・・・・・・・・・・・・・・・・・・・38
5.6.3 実行時のモニタリング・・・・・・・・・・・・・・・・・・・・・・・40
5.7 ビジネス・ワークフローの自動的合成・・・・・・・・・・・・・・・・・・40
5.8 BPIフレームワーク型アプリケーション(可能な例であるが、これらに限定されるわけではない)・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・45
5.8.1 コーポレート動作管理・・・・・・・・・・・・・・・・・・・・・・・45
5.8.2 市場データ、ポートフォリオ、および遵守アプリケーションとの発注管理システムの統合・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・45
5.8.3 データ管理システム・・・・・・・・・・・・・・・・・・・・・・・・45
6 スキーマおよび例示的インスタンス・・・・・・・・・・・・・・・・・・・・・47
6.1 スキーマ1:BPDLスキーマ・・・・・・・・・・・・・・・・・・・・・・・・47
6.2 交渉プロセスの具体的データ・モデルのXMLスキーマ仕様・・・・・・・・・・49
6.3 交渉データ・モデルのインスタンス・・・・・・・・・・・・・・・・・・・50
6.4 高レベル・データ・モデルの例・・・・・・・・・・・・・・・・・・・・・51
7 特許請求の範囲・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・52
9 発明の背景
ビジネス機能を自動化するプロセスおよびシステムが説明される。

Claims (25)

  1. 宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システムであって、
    フロー、規則、および状態をさらに含むプロセス記述を含み、
    フローがビジネス機能間の制御フローを表し、状態がビジネス・エンティティについて法的状態遷移を表し、かつ規則が、外部形式でビジネス・エンティティへ強制されるビジネス規則および方針を表す
    自動ワークフロー・システム。
  2. 各々のタスクが事前条件および事後条件を有し、所望の事前条件および事後条件が実行前に自動的に設計されるタスク・ライブラリをさらに含む、
    請求項1記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  3. フロー、規則、および状態を調整するコーディネータ
    をさらに含む、請求項1記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  4. 複数の当事者によって使用され、当事者の1人が、他の関係者のために信頼された第三者として動作して、かつプロトコルの正しさを保証すること、設計時および実行時の双方で全てのインタラクションの記録を維持すること、および他の関係者のために幾つかの活動をワークフローの一部分として実行することを含むサービスを実行する、請求項1記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  5. 宣言型言語がXMLである、請求項1記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  6. 宣言型言語がWSDLである、請求項1記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  7. ワークフローがアサーションを更に含み、アサーションがワークフロー内のその点でシステムの事前条件および事後条件を記述する、請求項1記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  8. 実行が正しいことを確実にするため、システムが実行する実行時にアサーションがチェックされる、請求項7記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  9. アサーションが指定される設計の前に設計の正しさを証明するため事前条件のアサーションが使用される、請求項7記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  10. ワークフローの終わりで設計の正しさを証明するため事後条件のアサーションが使用される、請求項7記載の宣言型言語を使用してビジネス論理を実行する自動ワークフロー・システム。
  11. ウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システムであって、
    プロセス記述を含み、プロセス記述が、フロー、規則、および状態を更に含み、フローがビジネス機能間の制御フローを表し、状態がビジネス・エンティティの法的状態遷移を表し、かつ規則が制御フローに影響を与えて1つの状態から他の状態への状態遷移を起こさせる自動ワークフロー・システム。
  12. タスクのライブラリをさらに含み、各々のタスクが事前条件および事後条件を有し、所望の事前条件および事後条件が実行前に自動的に設計される、
    請求項11記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  13. フロー、規則、および状態を調整するコーディネータ
    をさらに含む、請求項11記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  14. 複数の当事者によって使用され、当事者の1人が他の関係者のために信頼された第三者として動作して、かつプロトコルの正しさを保証すること、設計時および実行時の双方で全てのインタラクションの記録を維持すること、および他の関係者のために幾つかの活動をワークフローの一部分として実行することを含むサービスを実行する、請求項11記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  15. ウェブ・ベース・トランスポート・プロトコルがhttpである、請求項11記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  16. ウェブ・ベース・トランスポート・プロトコルがhttpsである、請求項11記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  17. ワークフローが、アサーションを更に含み、アサーションがワークフロー内のその点でシステムの事前条件および事後条件を記述する、請求項11記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  18. 実行が正しいことを確実にするため、システムが実行する実行時にアサーションがチェックされる、請求項17記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  19. アサーションが指定された設計の前に設計の正しさを証明するため事前条件アサーションが使用される、
    請求項17記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  20. ワークフローの終わりで設計の正しさを証明するため事後条件のアサーションが使用される、
    請求項17記載のウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システム。
  21. 宣言型言語を使用してビジネス論理を実行するシステムであって、
    フロー、規則、および状態を記憶するメディアを含むプロセス記述を記憶する手段であって、フローがビジネス機能間の制御フローを表し、状態がビジネス・エンティティの法的状態遷移を表し、かつ規則が外部形式でビジネス・エンティティに強制されるビジネス規則および方針を表す手段と、
    前記プロセスを実行する手段と
    を含むシステム。
  22. 宣言型言語を使用してビジネス論理を実行するプロセスであって、
    フロー、規則、および状態を記憶するメディアを含むプロセス記述を記憶し、フローがビジネス機能間の制御フローを表し、状態がビジネス・エンティティの法的状態遷移を表し、かつ規則が外部形式でビジネス・エンティティへ強制されるビジネス規則および方針を表す段階;および
    前記プロセスを実行する段階を含むプロセス。
  23. ウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行する自動ワークフロー・システムであって、
    フロー、規則、および状態を記憶するメディアを含むプロセス記述を記憶する手段であって、フローがビジネス機能間の制御フローを表し、状態がビジネス・エンティティの法的状態遷移を表し、かつ規則が外部形式でビジネス・エンティティへ強制されるビジネス規則および方針を表す手段と、
    前記プロセスを実行する手段と
    を含むシステム。
  24. ウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行するプロセスであって、
    フロー、規則、および状態を記憶するメディアを含むプロセス記述を記憶し、フローがビジネス機能間の制御フローを表し、状態がビジネス・エンティティの法的状態遷移を表し、かつ規則が外部形式でビジネス・エンティティへ強制されるビジネス規則および方針を表す段階;および
    前記プロセスを実行する段階を含むプロセス。
  25. ウェブ・ベース・トランスポート・プロトコルを使用してビジネス論理を実行するプログラムを記憶するコンピュータ読み取り可能メディアであって、前記プログラムが、
    フロー、規則、および状態を記憶するメディアを含むプロセス記述を記憶し、フローがビジネス機能間の制御フローを表し、状態がビジネス・エンティティの法的状態遷移を表し、かつ規則が外部形式でビジネス・エンティティへ強制されるビジネス規則および方針を表す段階;および
    前記プロセスを実行する段階を有するメディア。
JP2011028234A 2003-06-12 2011-02-14 ビジネスプロセスの自動化 Pending JP2011129150A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47775703P 2003-06-12 2003-06-12
US60/477,757 2003-06-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2006533674A Division JP2007516510A (ja) 2003-06-12 2004-06-10 ビジネスプロセスの自動化

Publications (1)

Publication Number Publication Date
JP2011129150A true JP2011129150A (ja) 2011-06-30

Family

ID=33539071

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2006533674A Withdrawn JP2007516510A (ja) 2003-06-12 2004-06-10 ビジネスプロセスの自動化
JP2011028234A Pending JP2011129150A (ja) 2003-06-12 2011-02-14 ビジネスプロセスの自動化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2006533674A Withdrawn JP2007516510A (ja) 2003-06-12 2004-06-10 ビジネスプロセスの自動化

Country Status (5)

Country Link
US (1) US8332864B2 (ja)
EP (1) EP1639458A4 (ja)
JP (2) JP2007516510A (ja)
CA (1) CA2528996C (ja)
WO (1) WO2004114061A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021048604A1 (en) * 2019-09-12 2021-03-18 George Anto System and method for creating workflow of a task

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496500B2 (en) * 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US20060009991A1 (en) * 2004-05-25 2006-01-12 Jun-Jang Jeng Method and apparatus for using meta-rules to support dynamic rule-based business systems
US7584161B2 (en) * 2004-09-15 2009-09-01 Contextware, Inc. Software system for managing information in context
US20060074714A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Workflow tracking based on profiles
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US7805324B2 (en) 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8170901B2 (en) 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
JP2006221352A (ja) * 2005-02-09 2006-08-24 Ntt Data Corp 異常系プロセス自動生成方法および異常系プロセス自動生成プログラム
US7496887B2 (en) 2005-03-01 2009-02-24 International Business Machines Corporation Integration of data management operations into a workflow system
US20060287875A1 (en) * 2005-06-20 2006-12-21 Reddy Uttam M Integrated customer assessment diagnostic tool
US7693861B2 (en) 2005-06-28 2010-04-06 Microsoft Corporation Schematization of establishing relationships between applications
JP2007018406A (ja) * 2005-07-11 2007-01-25 Fujitsu Ltd ワークフローシステム、ワークフロー管理方法及びプログラム
US20070038492A1 (en) * 2005-08-12 2007-02-15 Microsoft Corporation Model for process and workflows
US7499906B2 (en) 2005-09-05 2009-03-03 International Business Machines Corporation Method and apparatus for optimization in workflow management systems
US7818714B2 (en) * 2005-09-15 2010-10-19 Microsoft Corporation Integration of process and workflows into a business application framework
US7921165B2 (en) * 2005-11-30 2011-04-05 Microsoft Corporation Retaining mail for availability after relay
US8024405B2 (en) * 2006-03-30 2011-09-20 Microsoft Corporation Declarative model for concurrency-control across lightweight threads
US7739135B2 (en) * 2006-03-30 2010-06-15 Microsoft Corporation Asynchronous fault handling in process-centric programs
US8069439B2 (en) * 2006-03-30 2011-11-29 Microsoft Corporation Framework for modeling continuations in workflows
US20080005155A1 (en) * 2006-04-11 2008-01-03 University Of Southern California System and Method for Generating a Service Oriented Data Composition Architecture for Integrated Asset Management
US20070244910A1 (en) * 2006-04-12 2007-10-18 Microsoft Corporation Business process meta-model
KR20090071596A (ko) * 2006-09-20 2009-07-01 내셔널 아이씨티 오스트레일리아 리미티드 모델 검사를 병용하기 위한 전이 시스템 생성 방법
US8250583B2 (en) 2006-12-04 2012-08-21 International Business Machines Corporation Workflow processing system and method with federated database system support
US20080140826A1 (en) * 2006-12-08 2008-06-12 Microsoft Corporation Monitoring and controlling electronic message distribution
ATE519155T1 (de) * 2006-12-21 2011-08-15 Software Ag Verfahren zur ausführung von in einer prozessbeschreibungssprache definierten aufgaben
US20080163224A1 (en) * 2006-12-29 2008-07-03 Frank Joachim H Modeling interrupts in a business process
US7954008B2 (en) * 2007-01-15 2011-05-31 Microsoft Corporation Objective assessment of application crashes from a customer environment
US20090138415A1 (en) * 2007-11-02 2009-05-28 James Justin Lancaster Automated research systems and methods for researching systems
US20080184231A1 (en) * 2007-01-31 2008-07-31 Alexander Dreiling Method and system for analyzing process models
JP5151541B2 (ja) * 2007-03-19 2013-02-27 株式会社リコー タスク管理装置、タスク管理方法、及びタスク管理プログラム
US20080255892A1 (en) * 2007-04-11 2008-10-16 The University Of Southern California System and Method for Oil Production Forecasting and Optimization in a Model-Based Framework
JP5234720B2 (ja) * 2007-04-26 2013-07-10 日本電信電話株式会社 プロセスモデル作成装置、方法及びそのプログラム
US20080270201A1 (en) * 2007-04-30 2008-10-30 International Business Machines Corporation Method and system for modeling services in a service-oriented business
JP4870024B2 (ja) * 2007-05-22 2012-02-08 日立アイ・エヌ・エス・ソフトウェア株式会社 業務プロセス構築支援システム、業務プロセス構築支援方法、及び業務プロセス構築支援プログラム
US8407669B2 (en) * 2007-07-25 2013-03-26 Oracle International Corporation Device based software authorizations for software asset management
US8423955B2 (en) * 2007-08-31 2013-04-16 Red Hat, Inc. Method and apparatus for supporting multiple business process languages in BPM
US9058571B2 (en) * 2007-08-31 2015-06-16 Red Hat, Inc. Tool for automated transformation of a business process definition into a web application package
US8914804B2 (en) 2007-09-12 2014-12-16 Red Hat, Inc. Handling queues associated with web services of business processes
US20090089759A1 (en) * 2007-10-02 2009-04-02 Fujitsu Limited System and Method for Providing Symbolic Execution Engine for Validating Web Applications
US8209359B2 (en) * 2007-10-06 2012-06-26 International Business Machines Corporation Generating BPEL control flows
US8196126B2 (en) * 2007-10-29 2012-06-05 Sap Ag Methods and systems for dynamically generating and optimizing code for business rules
US8340999B2 (en) * 2007-11-27 2012-12-25 International Business Machines Corporation Automatic generation of executable components from business process models
US8954952B2 (en) * 2007-11-30 2015-02-10 Red Hat, Inc. Portable business process deployment model across different application servers
JP4973738B2 (ja) * 2008-02-07 2012-07-11 富士通株式会社 業務フロー処理プログラム、方法及び装置
WO2009104276A1 (ja) * 2008-02-22 2009-08-27 富士通株式会社 業務フロー処理プログラム、方法及び装置
JP5181771B2 (ja) * 2008-03-27 2013-04-10 富士通株式会社 プロセス情報構造化支援方法,プロセス情報構造化支援システム,プロセス情報構造化支援プログラムおよび情報処理装置
US20090271439A1 (en) * 2008-04-23 2009-10-29 John Hack Systems to implement business processes in computing environment
US8478715B2 (en) 2008-05-16 2013-07-02 Microsoft Corporation Extending OLAP navigation employing analytic workflows
US8402439B2 (en) * 2008-06-27 2013-03-19 Microsoft Corporation Program analysis as constraint solving
US20100083171A1 (en) * 2008-09-30 2010-04-01 International Business Machines Corporation Automatically generating user interfaces in a trading partner collaboration management environment
US8301627B2 (en) * 2008-09-30 2012-10-30 International Business Machines Corporation Automatic determination of selective message caching to support rules in a trading partner collaboration management environment
US8255875B2 (en) * 2008-09-30 2012-08-28 Rockwell Automation Technologies, Inc. Application builder for industrial automation
US20100082358A1 (en) * 2008-09-30 2010-04-01 International Business Machines Corporation Generation of formal specifications of trading partner agreements
US20100162208A1 (en) * 2008-12-19 2010-06-24 International Business Machines Corporation Modeling tool builder - graphical editor construction
US20100161524A1 (en) * 2008-12-19 2010-06-24 International Business Machines Corporation Method and system for identifying graphical model semantics
JP2010218411A (ja) * 2009-03-18 2010-09-30 Toshiba Tec Corp Webサービス提供装置及び提供方法
JP5379526B2 (ja) * 2009-03-19 2013-12-25 東芝テック株式会社 Webサービステスト支援装置及びプログラム
US8332365B2 (en) 2009-03-31 2012-12-11 Amazon Technologies, Inc. Cloning and recovery of data volumes
US9207984B2 (en) 2009-03-31 2015-12-08 Amazon Technologies, Inc. Monitoring and automatic scaling of data volumes
US8713060B2 (en) 2009-03-31 2014-04-29 Amazon Technologies, Inc. Control service for relational data management
US9705888B2 (en) 2009-03-31 2017-07-11 Amazon Technologies, Inc. Managing security groups for data instances
JP5188463B2 (ja) * 2009-06-22 2013-04-24 日本電信電話株式会社 シナリオチェックシステム、シナリオチェック装置及びシナリオチェック方法
US9582776B2 (en) * 2009-10-09 2017-02-28 Oracle International Corporation Methods and systems for providing a comprehensive view of it assets as self service inquiry/update transactions
US20110087604A1 (en) * 2009-10-09 2011-04-14 Oracle International Corporation Micro-blogging for enterprise resources planning (erp)
US8074107B2 (en) 2009-10-26 2011-12-06 Amazon Technologies, Inc. Failover and recovery for replicated data instances
US8676753B2 (en) 2009-10-26 2014-03-18 Amazon Technologies, Inc. Monitoring of replicated data instances
US20110145783A1 (en) * 2009-12-16 2011-06-16 Infosys Technologies Limited System and method for representing and validating functional requirements of a software system
US20110161391A1 (en) * 2009-12-30 2011-06-30 Nelson Araujo Federated distributed workflow scheduler
US20110184782A1 (en) * 2010-01-27 2011-07-28 CALM Energy, Inc. Methods and a system for implementing business process management for long-term execution processes
US9904898B2 (en) * 2010-03-05 2018-02-27 Oracle International Corporation Distributed order orchestration system with rules engine
US20110218921A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Notify/inquire fulfillment systems before processing change requests for adjusting long running order management fulfillment processes in a distributed order orchestration system
US9269075B2 (en) * 2010-03-05 2016-02-23 Oracle International Corporation Distributed order orchestration system for adjusting long running order management fulfillment processes with delta attributes
US20110218925A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Change management framework in distributed order orchestration system
US20110218926A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Saving order process state for adjusting long running order management fulfillment processes in a distributed order orchestration system
US10395205B2 (en) * 2010-03-05 2019-08-27 Oracle International Corporation Cost of change for adjusting long running order management fulfillment processes for a distributed order orchestration system
US10789562B2 (en) * 2010-03-05 2020-09-29 Oracle International Corporation Compensation patterns for adjusting long running order management fulfillment processes in an distributed order orchestration system
US10061464B2 (en) 2010-03-05 2018-08-28 Oracle International Corporation Distributed order orchestration system with rollback checkpoints for adjusting long running order management fulfillment processes
US20110218923A1 (en) * 2010-03-05 2011-09-08 Oracle International Corporation Task layer service patterns for adjusting long running order management fulfillment processes for a distributed order orchestration system
US8656364B1 (en) * 2010-04-12 2014-02-18 Parasoft Corporation System and method for enforcement of business rules using static analysis
US20110307904A1 (en) * 2010-06-14 2011-12-15 James Malnati Method and apparatus for automation language extension
US9658901B2 (en) 2010-11-12 2017-05-23 Oracle International Corporation Event-based orchestration in distributed order orchestration system
US9886455B1 (en) 2011-02-16 2018-02-06 Lattice Engines, Inc. Digital data processing systems and methods for searching across user accounts
US9547876B2 (en) 2011-02-16 2017-01-17 Lattice Engines, Inc. Digital data processing systems and methods for searching and communicating via a social network
US20120278125A1 (en) * 2011-04-29 2012-11-01 Verizon Patent And Licensing Inc. Method and system for assessing process management tools
US9317341B2 (en) * 2011-05-24 2016-04-19 Microsoft Technology Licensing, Llc. Dynamic attribute resolution for orchestrated management
US9659266B2 (en) 2011-07-14 2017-05-23 International Business Machines Corporation Enterprise intelligence (‘EI’) management in an EI framework
US9646278B2 (en) * 2011-07-14 2017-05-09 International Business Machines Corporation Decomposing a process model in an enterprise intelligence (‘EI’) framework
US9639815B2 (en) * 2011-07-14 2017-05-02 International Business Machines Corporation Managing processes in an enterprise intelligence (‘EI’) assembly of an EI framework
US20130111430A1 (en) * 2011-10-27 2013-05-02 Yin Wang Providing goods or services
US9286583B2 (en) 2011-12-05 2016-03-15 International Business Machines Corporation Integrating mind mapping technology with case modeling
US8869107B2 (en) 2012-01-12 2014-10-21 Microsoft Corporation Declarative dynamic control flow in continuation-based runtime
US10552769B2 (en) 2012-01-27 2020-02-04 Oracle International Corporation Status management framework in a distributed order orchestration system
US8751567B2 (en) 2012-02-09 2014-06-10 Oracle International Corporation Quantify and measure micro-blogging for enterprise resources planning (ERP)
US9672560B2 (en) 2012-06-28 2017-06-06 Oracle International Corporation Distributed order orchestration system that transforms sales products to fulfillment products
JP5190903B1 (ja) * 2012-09-05 2013-04-24 晃治 平野 シナリオ作成支援装置、シナリオ作成支援プログラム及び記憶媒体
US9588634B1 (en) * 2012-12-20 2017-03-07 Amdocs Development Limited Software solution framework system, method, and computer program for allowing interaction with business and technical aspects of a software application
US8893101B2 (en) * 2012-12-21 2014-11-18 International Business Machines Corporation Hybrid dependency analysis using dynamic and static analyses
US9262737B2 (en) * 2012-12-28 2016-02-16 International Business Machines Corporation Intelligent cloning of a business object graph
FR3001819A1 (fr) * 2013-02-06 2014-08-08 Umolelo Dispositif de gestion de l'information en flux tire
US9317814B2 (en) 2013-03-21 2016-04-19 International Business Machines Corporation Automatically generating an ontology and axioms from a business-process model
US20140343982A1 (en) * 2013-05-14 2014-11-20 Landmark Graphics Corporation Methods and systems related to workflow mentoring
US10430812B2 (en) * 2013-05-23 2019-10-01 Oracle International Corporation Retail sales forecast system with promotional cross-item effects prediction
CN105556504A (zh) * 2013-06-24 2016-05-04 惠普发展公司,有限责任合伙企业 从物理流生成逻辑表示
US9324025B2 (en) 2013-06-27 2016-04-26 International Business Machines Corporation Automating natural-language interactions between an expert system and a user
US20150019284A1 (en) * 2013-07-09 2015-01-15 International Business Machines Corporation Dynamically modifying business processes based on real-time events
US9513885B2 (en) 2013-08-22 2016-12-06 Peter Warren Web application development platform with relationship modeling
US10229224B2 (en) 2013-09-19 2019-03-12 Infosys Limited Systems and methods for selecting process element variants in business processes
US9639830B2 (en) * 2014-03-10 2017-05-02 Aliaswire, Inc. Methods, systems, and devices to dynamically customize electronic bill presentment and payment workflows
US10504075B2 (en) 2014-03-10 2019-12-10 Aliaswire, Inc. Methods, systems, and devices to dynamically customize electronic bill presentment and payment workflows
GB201417262D0 (en) * 2014-09-30 2014-11-12 Bizagi Group Contextual workflow management
US10147066B2 (en) * 2014-10-02 2018-12-04 Bank Of America Corporation Business process framework
US11423343B2 (en) * 2015-03-25 2022-08-23 Kyndryl, Inc. Dynamic construction of cloud services
US10521209B2 (en) 2015-05-12 2019-12-31 Phase Change Software Llc Machine-based normalization of machine instructions
US11017342B2 (en) * 2015-08-31 2021-05-25 Micro Focus Llc Generating a combined entity workflow
US10430234B2 (en) 2016-02-16 2019-10-01 Red Hat, Inc. Thread coordination in a rule engine using a state machine
US10394640B2 (en) * 2016-02-25 2019-08-27 Infineon Technologies Austria Ag Requirement runtime monitor using temporal logic or a regular expression
US10699232B1 (en) * 2016-03-10 2020-06-30 Amdocs Development Limited System, method, and computer program for resolving production business issues associated with a software product
US10528367B1 (en) * 2016-09-02 2020-01-07 Intuit Inc. Execution of workflows in distributed systems
US10628803B1 (en) * 2016-10-03 2020-04-21 EMC IP Holding Company LLC Dial home optimizer
CN106408272B (zh) * 2016-10-26 2019-05-21 金航数码科技有限责任公司 一种基于分布式部署的跨系统流程引擎协作系统及方法
CN109039683A (zh) * 2017-06-09 2018-12-18 中兴通讯股份有限公司 一种业务编排方法和系统
US10817406B2 (en) * 2018-03-30 2020-10-27 Ab Initio Technology Llc Debugging an executable control flow graph that specifies control flow
US10783061B2 (en) * 2018-06-22 2020-09-22 Microsoft Technology Licensing, Llc Reducing likelihood of cycles in user interface testing
US11215961B2 (en) * 2019-08-30 2022-01-04 Tata Consultancy Services Limited System and method of declarative modeling of a process for automation
US11379260B2 (en) * 2019-09-04 2022-07-05 Oracle International Corporation Automated semantic tagging
CN110807587B (zh) * 2019-10-31 2023-08-15 神州数码融信软件有限公司 流程模型安全性验证方法及装置
CN111142867B (zh) * 2019-12-31 2024-04-02 谷云科技(广州)有限责任公司 微服务架构下的服务可视化编排系统及方法
US11694141B2 (en) * 2020-03-27 2023-07-04 Robert Bosch Gmbh On-demand workflow combination and variant generation
US20220230112A1 (en) * 2021-01-21 2022-07-21 Intuit Inc. Methods and systems for workflow automation
CN112860454B (zh) * 2021-02-05 2024-04-19 百果园技术(新加坡)有限公司 业务处理系统及方法
US20230325156A1 (en) * 2022-04-08 2023-10-12 Red Hat, Inc. Cross-validating files to facilitate code generation
US20230385730A1 (en) * 2022-05-24 2023-11-30 Red Hat, Inc. Segmenting processes into stand-alone services

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04355855A (ja) * 1991-03-22 1992-12-09 Internatl Business Mach Corp <Ibm> 汎用データストリーム・パーザ
JPH1027203A (ja) * 1996-07-12 1998-01-27 Toshiba Corp 業務支援システムおよび業務支援方法
JP2001184200A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd アプリケーションフレームワーク生成方法および装置およびアプリケーションフレームワーク生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003050904A (ja) * 2001-08-07 2003-02-21 Ns Solutions Corp 情報処理装置、情報処理システム、業務フロー支援方法、記憶媒体、及びプログラム
JP2003091416A (ja) * 2001-09-17 2003-03-28 Toshiba Corp 業務アプリケーションシステムの機能構成定義方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7448046B2 (en) * 2000-09-07 2008-11-04 Aspen Technology, Inc. Computer system for providing a collaborative workflow environment
JP3803707B2 (ja) * 2000-12-28 2006-08-02 フューチャーシステムコンサルティング株式会社 フレームワークシステム
JP2002366352A (ja) 2001-06-11 2002-12-20 It Forest Corp Webアプリケーション開発支援装置
CN1545674A (zh) 2001-07-06 2004-11-10 商业处理策略对象
US20030090514A1 (en) * 2001-10-23 2003-05-15 Cole Douglas J. Business process user interface generation system and method
US20030187743A1 (en) * 2002-02-07 2003-10-02 International Business Machines Corp. Method and system for process brokering and content integration for collaborative business process management
US20040216039A1 (en) * 2003-04-25 2004-10-28 Kathleen Lane Automated method and collaborative process related to legal and regulatory requirements for document creation and document records management
CN1826610A (zh) * 2003-05-07 2006-08-30 Sap股份有限公司 包括带协作过程引擎的特设型工作流结构化处理的面向终端用户的工作流方法
US20050096959A1 (en) * 2003-10-31 2005-05-05 Microsoft Corporation Rule engine method and system
US7454469B2 (en) * 2003-12-22 2008-11-18 International Business Machines Corporation Method and system for instant messaging Bots specification using state transition methodology and XML

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04355855A (ja) * 1991-03-22 1992-12-09 Internatl Business Mach Corp <Ibm> 汎用データストリーム・パーザ
JPH1027203A (ja) * 1996-07-12 1998-01-27 Toshiba Corp 業務支援システムおよび業務支援方法
JP2001184200A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd アプリケーションフレームワーク生成方法および装置およびアプリケーションフレームワーク生成プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2003050904A (ja) * 2001-08-07 2003-02-21 Ns Solutions Corp 情報処理装置、情報処理システム、業務フロー支援方法、記憶媒体、及びプログラム
JP2003091416A (ja) * 2001-09-17 2003-03-28 Toshiba Corp 業務アプリケーションシステムの機能構成定義方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021048604A1 (en) * 2019-09-12 2021-03-18 George Anto System and method for creating workflow of a task

Also Published As

Publication number Publication date
CA2528996A1 (en) 2004-12-29
JP2007516510A (ja) 2007-06-21
EP1639458A4 (en) 2010-05-05
US8332864B2 (en) 2012-12-11
US20080320486A1 (en) 2008-12-25
WO2004114061A3 (en) 2005-12-15
WO2004114061A2 (en) 2004-12-29
EP1639458A2 (en) 2006-03-29
CA2528996C (en) 2016-10-11

Similar Documents

Publication Publication Date Title
CA2528996C (en) Business process automation
Kheldoun et al. Formal verification of complex business processes based on high-level Petri nets
Verma et al. The METEOR-S approach for configuring and executing dynamic web processes
Cichocki et al. Workflow and process automation: concepts and technology
EP2065799A1 (en) Annotation of models for model-driven engineering
Tolosana‐Calasanz et al. Adaptive exception handling for scientific workflows
Qian Software architecture and design illuminated
Molnár et al. Formal approach to modeling of modern information systems
Wei et al. Deriving artefact-centric interfaces for overloaded web services
Daosabah et al. Dynamic composition of services: An overview of approaches led by the context and intent of the user
Fang et al. Dynamic support for BPEL process instance adaptation
Li et al. Flows and views for scalable scientific process integration
Farahbod Extending and refining an abstract operational semantics of the web services architecture for the business process execution language
Loiret et al. An aspect-oriented framework for weaving domain-specific concerns into component-based systems
Luo Knowledge sharing, coordinated exception handling, and intelligent problem solving for cross-organizational business processes
Roman et al. Semantic Web Services–Approaches and Perspectives
Li Towards a resilient service oriented computing based on ad-hoc web service compositions in dynamic environments
Alhaj Automatic Derivation of Performance Models in the Context of Model-Driven SOA
Cao et al. An event view specification approach for Supporting Service process collaboration
Alodib Creation, integrating and deployment of diagnoser for web services
Capelli et al. MODEL-BASED TECHNIQUES FOR THE DESIGN OF MODERN SOFTWARE SYSTEMS
De Souza Neto A methodology for building service-oriented applications in the presence of non-functional properties
Xiao Meta-rule enhanced interoperation of rules and processes for achieving dynamic inter-organizational collaboration
Milanović Modeling rule-driven service oriented architecture
ZERNADJI Pattern-based Approach for Quality Integration in Service-based Systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110303

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121004

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121010

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121105

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121108

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121129

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130717

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131011

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131017

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140312