(57)【要約】【課題】ビジネスプロセス定義情報によって示されるビジネスプロセスを実行する際に、実行した業務についての情報に基づいて、業務の実行手順の変更などの制御ができるようにする。【解決手段】業務実行部２００は、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０に基づいて、業務を実行する。実行情報管理部２１０は、業務実行部２００が実行した業務についての情報（実行情報２３０）を記憶する。実行情報解析部２２０は、業務実行部２００から通知された分岐条件情報２８１に基づいて、実行情報管理部２１０が記憶した実行情報２３０を解析し、解析情報２８２を生成する。業務事項部２００は、解析情報２８２に基づいて、業務の実行手順を変更するなどの制御を行う。【選択図】図４
2007279861.tif 000002
【特許請求の範囲】
【請求項１】
情報を記憶する記憶装置と、
情報を処理する処理装置と、
上記処理装置を用いて、業務と上記業務の実行手順とを示すビジネスプロセス定義情報を上記記憶装置に記憶するビジネスプロセス定義記憶部と、
上記処理装置を用いて、上記ビジネスプロセス定義記憶部が記憶したビジネスプロセス定義情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記ビジネスプロセス定義情報によって示される実行手順と、実行した業務についての情報を解析した解析情報とにしたがって、上記ビジネスプロセス定義情報によって示される業務を実行する業務実行部と、
上記処理装置を用いて、上記業務実行部が実行した業務についての情報を、実行情報として上記記憶装置に記憶する実行情報管理部と、
上記処理装置を用いて、上記実行情報管理部が記憶した実行情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記実行情報を解析して、解析情報を生成し、上記処理装置を用いて、生成した上記解析情報を上記業務実行部に通知する実行情報解析部と、
を有することを特徴とするビジネスプロセス管理装置。
【請求項２】
上記業務実行部は、更に、
上記処理装置を用いて、上記業務を実行した実行時刻を測定し、上記処理装置を用いて、測定した上記実行時刻を上記実行情報管理部に通知し、
上記実行情報管理部は、
上記処理装置を用いて、上記業務実行部が通知した実行時刻を取得し、上記処理装置を用いて、取得した上記実行時刻を、実行情報として上記記憶装置に記憶する
ことを特徴とする請求項１に記載のビジネスプロセス管理装置。
【請求項３】
上記ビジネスプロセス定義記憶部は、更に、
上記処理装置を用いて、上記ビジネスプロセス定義情報として、更に、上記業務を実行した実行時刻を測定すべき測定点を示す測定点情報を上記記憶装置に記憶し、
上記業務実行部は、
上記処理装置を用いて、取得した上記ビジネスプロセス定義情報から測定点情報を取得し、上記処理装置を用いて、取得した上記測定点情報によって示される測定点において、上記業務を実行した実行時刻を測定する
ことを特徴とする請求項２に記載のビジネスプロセス管理装置。
【請求項４】
上記業務実行部は、
上記処理装置を用いて、上記業務の実行を開始した時刻と、上記業務の実行を終了した時刻との少なくともいずれかを、実行時刻として測定する
ことを特徴とする請求項２に記載のビジネスプロセス管理装置。
【請求項５】
上記業務実行部は、
上記処理装置を用いて、上記業務を複数回実行する場合に、上記業務を最初に実行した時刻と、上記業務を最後に実行した時刻との少なくともいずれかを、実行時刻として測定する
ことを特徴とする請求項２に記載のビジネスプロセス管理装置。
【請求項６】
上記実行情報解析部は、
上記処理装置を用いて、上記実行情報管理部が記憶した実行時刻に基づいて、複数の実行時刻のうち最先の時刻と複数の実行時刻のうち最後の時刻と複数の実行時刻を平均した時刻との少なくともいずれかを解析実行時刻とし、２つの実行時刻または解析実行時刻の差と２つの実行時刻または解析実行時刻の差の絶対値との少なくともいずれかを処理時間とし、２つの上記処理時間の差と複数の上記処理時間を合計した時間と複数の上記処理時間のうち最短の時間と複数の上記処理時間のうち最長の時間と複数の上記処理時間を平均した時間との少なくともいずれかを解析処理時間とし、上記解析実行時刻と、上記処理時間と、上記解析処理時間との少なくともいずれかを計算して、解析情報とする
ことを特徴とする請求項２に記載のビジネスプロセス管理装置。
【請求項７】
上記業務実行部は、更に、
上記処理装置を用いて、上記実行情報解析部が通知した解析情報を取得し、上記処理装置を用いて、取得した上記解析情報に基づいて、取得した上記ビジネスプロセス定義情報によって示される実行手順を変更する
ことを特徴とする請求項１に記載のビジネスプロセス管理装置。
【請求項８】
上記ビジネスプロセス定義記憶部は、更に、
上記処理装置を用いて、上記ビジネスプロセス定義情報として、更に、上記実行情報解析部が生成した解析情報に基づいて、上記業務の実行手順を変更する条件を示す分岐条件情報を上記記憶装置に記憶し、
上記業務実行部は、
上記処理装置を用いて、取得した上記ビジネスプロセス定義情報から分岐条件情報を取得し、上記処理装置を用いて、上記実行情報解析部が通知した解析情報を取得し、上記処理装置を用いて、取得した解析情報に基づいて、取得した上記分岐条件情報によって示される条件を満たすか否かを判断し、上記処理装置を用いて、判断した結果に基づいて、上記分岐条件情報によって示される実行手順にしたがって上記業務を実行する
ことを特徴とする請求項７に記載のビジネスプロセス管理装置。
【請求項９】
上記実行情報管理部は、
上記処理装置を用いて、上記業務実行部が実行している業務の数を数え、上記処理装置を用いて、数えた上記業務の数を、実行情報として上記記憶装置に記憶する
ことを特徴とする請求項１に記載のビジネスプロセス管理装置。
【請求項１０】
上記業務実行部は、更に、
上記処理装置を用いて、上記業務の実行を開始したこと及び上記業務の実行を終了したことを、実行開始終了情報として上記実行情報管理部に通知し、
上記実行情報管理部は、
上記処理装置を用いて、上記実行情報管理部が通知した実行開始終了情報を取得し、上記処理装置を用いて、取得した上記実行開始終了情報に基づいて、上記業務実行部が実行している業務の数を数える
ことを特徴とする請求項９に記載のビジネスプロセス管理装置。
【請求項１１】
上記業務実行部は、
上記処理装置を用いて、上記業務を実行するアプリケーションプログラムを呼び出すことにより、上記業務を実行する
ことを特徴とする請求項１に記載のビジネスプロセス管理装置。
【請求項１２】
上記業務実行部は、
上記ビジネスプロセス定義情報によって示される一連の業務を、複数実行し、
上記ビジネスプロセス定義情報記憶部は、更に、
上記処理装置を用いて、上記ビジネスプロセス定義情報として、更に、上記業務実行部が実行した業務のうち、どの業務についての実行情報を解析するかを示す解析対象プロセス情報を上記記憶装置に記憶し、
上記実行情報解析部は、
上記処理装置を用いて、上記ビジネスプロセス定義情報記憶部が記憶したビジネスプロセス定義情報のうち、上記解析対象プロセス情報を取得し、
上記処理装置を用いて、取得した上記解析対象プロセス情報によって示される業務についての実行情報を、上記記憶装置から取得し、
上記処理装置を用いて、取得した上記実行情報を解析して、解析情報を生成する
ことを特徴とする請求項１に記載のビジネスプロセス管理装置。
【請求項１３】
上記ビジネスプロセス定義情報記憶部は、
上記処理装置を用いて、上記解析対象プロセス情報として、記憶した複数のビジネスプロセス定義情報のうち、どのビジネスプロセス定義情報によって示される業務についての実行情報を解析するかを示す情報を、上記記憶装置に記憶し、
上記実行情報解析部は、
上記処理装置を用いて、取得した上記解析対象プロセス情報によって示されるビジネスプロセス定義情報によって示される業務についての実行情報を、上記記憶装置から取得する
ことを特徴とする請求項１２に記載のビジネスプロセス管理装置。
【請求項１４】
上記ビジネスプロセス定義情報記憶部は、
上記処理装置を用いて、上記解析対象プロセス情報として、１つのビジネスプロセス定義情報によって示される一連の業務を、上記業務実行部が複数実行した場合に、実行された一連の業務のうち、どの一連の業務に含まれる業務についての実行情報を解析するかを示す情報を、上記記憶装置に記憶し、
上記処理装置を用いて、取得した上記解析対象プロセス情報によって示される一連の業務に含まれる業務についての実行情報を、上記記憶装置から取得する
ことを特徴とする請求項１２に記載のビジネスプロセス管理装置。
【請求項１５】
情報を記憶する記憶装置と、情報を処理する処理装置とを有するビジネスプロセス管理装置が、ビジネスプロセスを管理するビジネスプロセス管理方法において、
上記処理装置が、業務及び上記業務の実行手順を示すビジネスプロセス定義情報を上記記憶装置に記憶するビジネスプロセス定義記憶工程と、
上記処理装置が、上記ビジネスプロセス定義記憶工程で記憶したビジネスプロセス定義情報を上記記憶装置から取得し、上記処理装置が、取得した上記ビジネスプロセス定義情報によって示される実行手順と、実行した業務についての情報を解析した解析情報とにしたがって、上記業務を実行する業務実行工程と、
上記処理装置が、上記解析実行工程で実行した業務についての情報を、実行情報として上記記憶装置に記憶する実行情報管理工程と、
上記処理装置が、上記実行情報管理工程で記憶した実行情報を上記記憶装置から取得し、上記処理装置が、取得した上記実行情報を解析して、解析情報を生成する実行情報解析工程と、
を有することを特徴とするビジネスプロセス管理方法。
【請求項１６】
情報を記憶する記憶装置と、情報を処理する処理装置とを有するコンピュータを、
請求項１に記載のビジネスプロセス管理装置として機能させることを特徴とするビジネスプロセス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ビジネスプロセス管理装置に関する。
【背景技術】
【０００２】
従来、ワークフローなどのビジネスプロセス定義情報に基づいてアプリケーション間の連携を行うシステムでは、プロセスの中の処理にて一定時間を経過した場合に、その後の処理を変更するというものがある。すなわち、タイムアウトによるイベント発生にて、任意の処理を実行する（例えば、特許文献１など）。
【特許文献１】特開平１０−１０５６２２号公報
【特許文献２】特開２００１−０５１８３４号公報
【特許文献３】特開２００４−１２６６８３号公報
【特許文献４】特開２００４−２５８８２３号公報
【特許文献５】特開２００３−１９６４４１号公報
【特許文献６】特開２００３−１９６４４２号公報
【特許文献７】特開２００２−１７５３９４号公報
【特許文献８】特開２００１−１２５９６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
特許文献１の方式では、タイムアウトによるイベントが発生した場合に、その後の処理を変更しているので、それ以外の様々な条件によって処理を変更することはできないという課題がある。
また、あるプロセスの状況によって、他のプロセスの処理を変更することもできないという課題がある。
【０００４】
この発明は、例えば、上記のような課題を解決するためになされたものであり、同一または異なるビジネスプロセスの実行時における様々な情報に基づいて、処理を変更することができるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
この発明にかかるビジネスプロセス管理装置は、
情報を記憶する記憶装置と、
情報を処理する処理装置と、
上記処理装置を用いて、業務と上記業務の実行手順とを示すビジネスプロセス定義情報を上記記憶装置に記憶するビジネスプロセス定義記憶部と、
上記処理装置を用いて、上記ビジネスプロセス定義記憶部が記憶したビジネスプロセス定義情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記ビジネスプロセス定義情報によって示される実行手順と、実行した業務についての情報を解析した解析情報とにしたがって、上記ビジネスプロセス定義情報によって示される業務を実行する業務実行部と、
上記処理装置を用いて、上記業務実行部が実行した業務についての情報を、実行情報として上記記憶装置に記憶する実行情報管理部と、
上記処理装置を用いて、上記実行情報管理部が記憶した実行情報を上記記憶装置から取得し、上記処理装置を用いて、取得した上記実行情報を解析して、解析情報を生成し、上記処理装置を用いて、生成した上記解析情報を上記業務実行部に通知する実行情報解析部と、
を有することを特徴とする。
【発明の効果】
【０００６】
この発明によれば、例えば、業務実行部２００が実行した業務についての情報（実行情報２３０）を実行情報管理部２１０が記憶し、実行情報解析部２２０が実行情報２３０を解析して、解析情報２８２を生成し、生成した解析情報２８２にしたがって、業務実行部２００が業務を実行するので、業務実行部２００が実行した業務についての情報により、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
実施の形態１を、図１〜図２０を用いて説明する。
【０００８】
図１は、この実施の形態におけるビジネスプロセス管理システム１００の全体的な構成の一例を示す概念図である。
【０００９】
ビジネスプロセス管理システム１００は、ビジネスプロセス定義情報１３０によって定義された実行手順にしたがって業務を実行するシステムである。
【００１０】
ビジネスプロセス定義情報１３０は、一連の業務をプロセスとして定義し、互いに関連したプロセスが複数定義された情報である。
例えば、ビジネスプロセス定義情報１３０は、プロセスＡを定義したプロセスＡ定義情報と、プロセスＢを定義にしたプロセスＢ定義情報とを有する。プロセスＡ定義情報は、まず処理ａを実行し、次に処理ｂを実行し、その次に処理ｃを実行し、最後に処理ｄを実行するということを定義する。また、プロセスＢ定義情報は、まず処理ｅを実行し、次に、プロセスＡにおける処理ｂと処理ｃの実行時間にしたがって、ある条件を満たす場合には処理ｆを実行し、条件を満たさない場合には処理ｇを実行するということを定義する。
ビジネスプロセス定義作成装置１２０は、ビジネスプロセス定義情報１３０を、キーボードなどの入力装置から入力し、入力したビジネスプロセス定義情報１３０を、磁気ディスク装置などの記憶装置に記憶する。
【００１１】
ビジネスプロセス管理装置１１０は、ビジネスプロセス定義情報１３０を、磁気ディスク装置などの記憶装置から取得し、取得したビジネスプロセス定義情報１３０にしたがって、業務を実行する。
ビジネスプロセス管理装置１１０は、業務実行部２００、実行情報管理部２１０、実行情報解析部２２０を有する。
【００１２】
業務実行部２００は、アプリケーションプログラム１４０などを呼び出して業務を実行する。
実行情報管理部２１０は、例えば処理ｂを実行した時刻などの実行情報２３０を、磁気ディスク装置などの記憶装置に記憶する。
実行情報解析部２２０は、実行情報管理部２１０が記憶した実行情報２３０に基づいて、処理の分岐条件の判断などに使われる解析情報２８２を生成し、業務実行部２００に通知する。
【００１３】
図２は、この実施の形態におけるビジネスプロセス管理装置１１０及びビジネスプロセス定義作成装置１２０の外観の一例を示す図である。
図２において、ビジネスプロセス管理装置１１０及びビジネスプロセス定義作成装置１２０は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）などの表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。
なお、ビジネスプロセス管理装置１１０は、主として、ＬＡＮ９４２などを介して、ビジネスプロセス定義作成装置１２０などの他のコンピュータとの間で情報を入出力するものであり、プリンタ装置９０６、スキャナ装置９０７、ファクシミリ機９３２、電話器９３１などの周辺機器と接続していなくてもよい。
【００１４】
図３は、この実施の形態におけるビジネスプロセス管理装置１１０及びビジネスプロセス定義作成装置１２０のハードウェア資源の一例を示す図である。
図３において、ビジネスプロセス管理装置１１０及びビジネスプロセス定義作成装置１２０は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１５】
通信ボード９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信ボード９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１６】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示・抽出のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１７】
また、以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
【００１８】
図４は、この実施の形態におけるビジネスプロセス管理装置１１０の機能ブロックの構成の一例を示すブロック構成図である。
ビジネスプロセス管理装置１１０は、ビジネスプロセス定義記憶部２４０、業務実行部２００、実行情報管理部２１０、実行情報解析部２２０を有する。
【００１９】
ビジネスプロセス定義記憶部２４０は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義情報１３０を、磁気ディスク装置９２０などの記憶装置に記憶する。
【００２０】
業務実行部２００（解析実行部ともいう）は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報を、磁気ディスク装置９２０などの記憶装置から取得する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、取得したビジネスプロセス定義情報によって示される実行手順にしたがって、取得したビジネスプロセス定義情報によって示される業務を実行する。
【００２１】
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、その業務の内容にしたがって、業務を実行した実行結果を、例えば、磁気ディスク装置９２０などの記憶装置に記憶し、または、ＣＲＴなどの表示装置９０１やその他の出力装置に出力する。
【００２２】
業務実行部２００は、また、ＣＰＵ９１１などの処理装置を用いて、実行情報２３０を、実行情報管理部２１０に通知する。
ここで、実行情報とは、業務実行部２００が実行した業務についての情報である。実行情報２３０には、例えば、業務実行部２００がある業務を開始した時刻や終了した時刻などがある。
【００２３】
ビジネスプロセス定義情報１３０によって示される実行手順には、所定の条件を満たすか否かによって分岐し、実行手順が変更になる場合がある。
条件分岐がある場合、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、分岐条件を満たすか否かを判断し、判断結果にしたがって、実行手順を変更しながら、業務を実行する。
【００２４】
業務実行部２００が判断する分岐条件には、解析情報２８２に基づいて判断される分岐条件がある。
ここで、解析情報とは、実行情報解析部２２０が実行情報２３０を解析して得た情報である。
【００２５】
解析情報２８２に基づいて分岐条件を判断する場合、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、分岐条件情報２８１を実行情報解析部２２０に通知する。
ここで、分岐条件情報とは、判断すべき分岐条件についての情報である。例えば、判断すべき分岐条件が、ある処理の実行にかかった時間が所定の時間よりも長いか短いかという条件であるとすれば、分岐条件情報は、例えば、その処理の実行にかかった時間の算出を求める内容を示す情報である。
実行情報解析部２２０が、業務実行部２００から通知された分岐条件情報２８１に基づいて解析情報２８２を生成し、生成した解析情報２８２を業務実行部２００に通知する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、実行情報解析部２２０から通知された解析情報２８２を取得する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、取得した解析情報２８２に基づいて、分岐条件を満たすか否かを判断し、判断結果にしたがって、業務を実行する。
【００２６】
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、業務実行部２００から通知された実行情報２３０を取得する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行情報２３０を、例えばファイルやデータベースなどの形式で、磁気ディスク装置９２０などの記憶装置に記憶する。
【００２７】
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、業務実行部２００から通知された分岐条件情報２８１を取得する。
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、取得した分岐条件情報２８１を解読し、解析情報２８２を生成するために必要な実行情報２３０を求める。
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、実行情報管理部２１０が記憶した実行情報２３０のなかから、解析情報２８２を生成するために必要な実行情報２３０を取得する。
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行情報２３０を解析し、解析情報２８２を生成する。
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、生成した解析情報２８２を、業務実行部２００に通知する。
【００２８】
例えば、ある処理の実行にかかった時間を算出する場合であれば、実行情報解析部２２０は、実行情報管理部２１０が記憶した実行情報２３０のなかから、その処理の実行を開始した時刻についての情報と、その処理の実行を終了した時刻についての情報を取得し、２つの時刻の差を計算し、計算結果を解析情報２８２として、業務実行部２００に通知する。
【００２９】
なお、ビジネスプロセス管理装置１１０は、物理的に１つの装置である必要はなく、例えば、業務実行部２００を備えた装置（例えばサーバ）と、実行情報管理部２１０を備えた装置と、実行情報解析部２２０を備えた装置とが、ＬＡＮ９４２やインターネット９４０などのネットワークを介して接続し、互いに協働して動作するものであってもよい。
【００３０】
次に、ビジネスプロセス定義情報について、詳しく説明する。
【００３１】
図５は、この実施の形態におけるビジネスプロセス定義作成装置１２０によるビジネスプロセス定義情報入力処理の流れの一例を示すフローチャート図である。
【００３２】
なお、ビジネスプロセス定義作成装置１２０は、図２及び図３で説明したビジネスプロセス管理装置１１０と同様のハードウェア構成をもつコンピュータなどであってもよいし、他の構成をもつ装置であってもよい。また、ビジネスプロセス定義作成装置１２０は、ビジネスプロセス管理装置１１０と一体の装置であってもよいし、ビジネスプロセス管理装置１１０とは異なる装置であってもよい。
【００３３】
モデル入力工程Ｓ１０１において、ビジネスプロセス定義作成装置１２０は、アプリケーション連携のモデルを作成する。
ここで、アプリケーション連携のモデルとは、アプリケーションプログラム１４０を呼び出すことによって実行される業務を、所定の実行手順にしたがって順序よく実行することにより、全体として１つのビジネスプロセスを実行するため、各業務で呼び出すアプリケーションプログラム１４０や、業務の実行手順を定義したものである。
業務の実行手順には、例えば、逐次実行（ある業務が終了したら、次の業務を開始する）、条件分岐（ある条件を満たすか否かによって、複数の業務のなかから選択した業務を実行する）、並列処理（複数の業務を並行して実行する）、合流（複数の業務が全部終了するのを待つ）などがある。
【００３４】
ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、例えば、アプリケーション連携のモデルを示す図形を、マウス９０３などの入力装置から入力する。あるいは、ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、アプリケーション連携のモデルを示すテキストを、キーボード９０２などの入力装置から入力する。
【００３５】
測定点入力工程Ｓ１０２において、ビジネスプロセス定義作成装置１２０は、測定点を指定する。
ここで、測定点とは、ビジネスプロセスを構成する一連の業務のなかで、ある業務を実行した時刻を測定するところを示すものである。業務の実行には通常ある程度の時間がかかるので、実行を開始した時刻を測定するのか、あるいは、実行を終了した時刻を測定するのかも示す。
【００３６】
ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、例えば、Ｓ１０１で入力したアプリケーション連携のモデルを示す図形やテキストを、ＣＲＴなどの表示装置９０１に表示し、その図形上で測定点を示す場所を、マウス９０３などの入力装置から入力する。
【００３７】
定義情報出力工程Ｓ１０３において、ビジネスプロセス定義作成装置１２０は、ビジネスプロセス定義情報１３０を出力する。
【００３８】
ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ１０１で入力したアプリケーション連携のモデルを示す図形やテキストと、Ｓ１０２で入力した測定点についての情報とに基づいて、ビジネスプロセス定義情報１３０を生成する。
ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、生成したビジネスプロセス定義情報１３０を、磁気ディスク装置９２０などの記憶装置に記憶する。
【００３９】
このように、ユーザがビジネスプロセス定義作成装置１２０を操作することにより、ビジネスプロセス定義情報１３０を作成する。
【００４０】
なお、この例では、業務を実行した時刻を測定して、実行情報とする場合のビジネスプロセス定義情報１３０について説明したが、実行情報は、業務を実行した時刻だけでなく、実行した業務についての他の情報であってもよい。
また、この例では、ビジネスプロセス定義情報１３０において、業務を実行した時刻を測定する測定点を指定したが、ビジネスプロセス定義情報１３０において測定点を指定せず、ビジネスプロセスを構成する一連の業務すべてについて、開始時刻、終了時刻を測定することとしてもよい。
【００４１】
その後、ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、記憶したビジネスプロセス定義情報１３０を、磁気ディスク装置９２０などの記憶装置から取得する。
ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、取得したビジネスプロセス定義情報１３０を、ビジネスプロセス管理装置１１０に通知する。
【００４２】
図６は、この実施の形態におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図である。
ここで、長方形は、サービス呼び出しなどの業務を示す。
【００４３】
プロセスＡは、４つの業務からなる。
１つ目の業務は、アプリケーションプログラムであるアプリケーションＡＰ１を呼び出すことにより、実行する。
２つ目の業務は、アプリケーションＡＰ１による業務の実行が終了した後、アプリケーションＡＰ２を呼び出すことにより、実行する。
３つ目の業務は、アプリケーションＡＰ２による業務の実行が終了した後、アプリケーションＡＰ３を呼び出すことにより、実行する。
４つ目の業務は、アプリケーションＡＰ３による業務の実行が終了した後、アプリケーションＡＰ４を呼び出すことにより、実行する。
アプリケーションＡＰ４による業務の実行が終了すると、プロセスＡ全体が終了する。
【００４４】
ビジネスプロセス定義作成装置１２０は、モデル入力工程Ｓ１０１において、例えば、図６に示した図形を入力する。
【００４５】
図７は、この実施の形態におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図である。
これは、図６のモデルに測定点Ｐ１と測定点Ｐ２とを追加したものである。
【００４６】
測定点Ｐ１は、２つ目の業務の開始時刻、すなわち、アプリケーションＡＰ２を呼び出す直前の時刻を測定するための測定点である。
測定点Ｐ２は、３つ目の業務の終了時刻、すなわち、アプリケーションＡＰ３の業務実行が終わった時刻を測定するための測定点である。
【００４７】
ビジネスプロセス定義作成装置１２０は、測定点入力工程Ｓ１０２において、例えば、Ｓ１０１で入力した図６の図形を表示し、測定点Ｐ１と測定点Ｐ２とについての図形（吹き出し）を入力して、図７の図形を完成させる。
【００４８】
ビジネスプロセス定義作成装置１２０は、定義情報出力工程Ｓ１０３において、Ｓ１０１とＳ１０２とで入力した図形を分析して、ビジネスプロセス定義情報１３０を生成する。
【００４９】
ビジネスプロセス管理装置１１０では、ビジネスプロセス定義記憶部２４０が、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義作成装置１２０から通知されたビジネスプロセス定義情報を取得する。
ビジネスプロセス定義記憶部２４０は、ＣＰＵ９１１などの処理装置を用いて、取得したビジネスプロセス定義情報を、磁気ディスク装置９２０などの記憶装置に記憶する。
【００５０】
図８は、この実施の形態におけるビジネスプロセス定義作成装置１２０が生成し、ビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０の一例を示す図である。
ここに示したビジネスプロセス定義情報１３０は、ビジネスプロセス定義作成装置１２０が、図７に示した図形を分析して生成するものである。
【００５１】
なお、この例では、ＢＰＥＬ（Ｂｉｓｉｎｅｓｓ  Ｐｒｏｃｅｓｓ  Ｅｘｅｃｕｔｉｏｎ  Ｌａｎｇｕａｇｅ）形式を拡張した形式を用いて、ビジネスプロセス定義情報１３０を記述しているが、他の形式で記述したビジネスプロセス定義情報１３０を生成しても構わない。
また、ＢＰＥＬはＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ベースのビジネスプロセス記述言語であるため、この例の記述はＸＭＬ形式となっているが、他の形式であってもかまわない。
【００５２】
また、ビジネスプロセス定義作成装置１２０が、図７のような図形を入力するのではなく、図８のようなテキストを、キーボード９０２などの入力装置から入力してもよい。
【００５３】
ノード「Ｐｒｏｃｅｓｓ」は、１つのビジネスプロセス（一連の業務）を示す。ここでは、プロセスＡについての定義情報として、「ｐｒｏｃ＿Ａ」という名前のノード「Ｐｒｏｃｅｓｓ」を定義している。
ノード「ｓｅｑｕｅｎｃｅ」は、複数の業務を逐次実行することを示す。
ノード「ｉｎｖｏｋｅ」は、属性「ｐａｒｔｎｅｒＬｉｎｋ」によって示されるアプリケーションプログラムを呼び出すことにより、業務を実行することを示す。
ここでは、プロセスＡについての定義情報として、アプリケーションプログラム「ａｐｐ＿ＡＰ１」、アプリケーションプログラム「ａｐｐ＿ＡＰ２」、アプリケーションプログラム「ａｐｐ＿ＡＰ３」、アプリケーションプログラム「ａｐｐ＿ＡＰ４」を順番に呼び出すことを定義している。
それぞれの業務を参照する識別情報として、ノード「ｉｎｖｏｋｅ」には、属性「Ｉｄ」が定義されている。
【００５４】
ノード「ＷａｔｃｈＬｉｓｔ」は、そのビジネスプロセスにおける測定点を示す。
ノード「Ｒｅｆｅｒｅｎｃｅ」は、各測定点についての情報を示す。ここでは、属性「Ｉｄ」の値が「ｉｄ００２」である業務（アプリケーションプログラム「ａｐｐ＿ｂ」の呼び出し）の実行開始（属性「Ｔｙｐｅ」の値が「ｂｅｇｉｎ」）の時刻を測定する測定点を定義し、測定点「ＷＰ１」としている。同様に、属性「Ｉｄ」の値が「ｉｄ００３」である業務（アプリケーションプログラム「ａｐｐ＿ｃ」の呼び出し）の実行終了（属性「Ｔｙｐｅ」の値が「ｅｎｄ」）の時刻を測定する測定点を定義し、測定点「ＷＰ２」としている。
ノード「ＷａｔｃｈＬｉｓｔ」及びその子ノードであるノード「Ｒｅｆｅｒｅｎｃｅ」は、測定点情報の一例である。
【００５５】
図９は、この実施の形態におけるビジネスプロセス定義作成装置１２０によるビジネスプロセス定義情報入力処理の流れの別の例を示すフローチャート図である。
【００５６】
モデル入力工程Ｓ２０１において、ビジネスプロセス定義作成装置１２０は、アプリケーション連携のモデルを作成する。モデル入力工程Ｓ２０１は、図５で説明したモデル入力工程Ｓ１０１と同様である。
【００５７】
分岐条件入力工程Ｓ２０２において、ビジネスプロセス定義作成装置１２０は、分岐条件を指定する。
場合によって実行する業務を変えたい場合には、条件分岐を用いる。ここでは、条件分岐した業務のどれを実行するかを判断するために必要な分岐条件を入力する。
【００５８】
ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、分岐条件を、キーボード９０２などの入力装置から入力する。
このとき、実行情報２３０を解析した解析情報に基づいて判断する分岐条件を入力することができる。
【００５９】
定義情報出力工程Ｓ２０３において、ビジネスプロセス定義作成装置１２０は、ビジネスプロセス定義情報１３０を出力する。定義情報出力工程Ｓ２０３は、図５で説明した定義情報出力工程Ｓ１０３と同様である。
【００６０】
図１０は、この実施の形態におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図である。
ここで、菱形は、条件分岐を示す。
【００６１】
プロセスＢは、３つの業務からなる。
１つ目の業務は、アプリケーションプログラムであるアプリケーションＡＰ５を呼び出すことにより、実行する。
２つ目の業務と３つ目の業務は、アプリケーションＡＰ５による業務の実行が終了した後に実行する。ただし、ある条件を満たす場合には、２つ目の業務を実行し、３つ目の業務を実行しない。条件を満たさない場合には、逆に、３つ目の業務を実行し、２つ目の業務を実行しない。すなわち、条件分岐が存在する。
２つ目の業務は、アプリケーションＡＰ６を呼び出すことにより、実行する。
３つ目の業務は、アプリケーションＡＰ７を呼び出すことにより、実行する。
【００６２】
ビジネスプロセス定義作成装置１２０は、モデル入力工程Ｓ２０１において、例えば、図１０に示した図形を入力する。
【００６３】
この図形だけでは、分岐条件がわからないので、ビジネスプロセスを実行できない。そこで、ビジネスプロセス定義作成装置１２０は、分岐条件入力工程Ｓ２０２において、分岐条件を入力する。
【００６４】
ビジネスプロセス定義作成装置１２０は、定義情報出力工程Ｓ１０３において、Ｓ１０１とＳ１０２とで入力した図形や情報を分析して、ビジネスプロセス定義情報１３０を生成する。
【００６５】
図１１は、この実施の形態におけるビジネスプロセス定義作成装置１２０が生成し、ビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０の一例を示す図である。
ここに示したビジネスプロセス定義情報１３０は、ビジネスプロセス定義作成装置１２０が、図１０に示した図形を分析して生成するものである。
【００６６】
ここで、ノード「ｓｗｉｔｃｈ」は、複数の業務のなかから選択した業務を実行することを示す。
ノード「ｃａｓｅ」は、分岐条件を示し、その分岐条件を満たす場合に、以下の業務（アプリケーションプログラム「ａｐｐ＿ＡＰ６」の呼び出し）を実行することを示す。
ノード「ｏｔｈｒｅｗｉｓｅ」は、ノード「ｃａｓｅ」で示した分岐条件に当てはまらない場合に、以下の業務（アプリケーションプログラム「ａｐｐ＿ＡＰ７」の呼び出し）を実行することを示す。
【００６７】
この例では、ノード「ｃａｓｅ」の属性「ｃｏｎｄｉｔｉｏｎ」の値「ｔｉｍｅ（ｐｒｏｃ＿Ａ．ＷＰ２−ｐｒｏｃ＿Ａ．ＷＰ１）＞１００”が分岐条件を示している。
すなわち、プロセスＡの測定点ＷＰ２の時刻と、プロセスＡの測定点ＷＰ１の時刻との差が１００ミリ秒超である場合に、アプリケーション「ａｐｐ＿ＡＰ６」を呼び出し、それ以外の場合に、アプリケーション「ａｐｐ＿ＡＰ７」を呼び出すというビジネスプロセスを定義している。
属性「ｃｏｎｄｉｔｉｏｎ」の値は、分岐条件情報の一例である。
【００６８】
ここで、プロセスＡの測定点ＷＰ１は、アプリケーション「ａｐｐ＿ＡＰ２」による業務の開始時刻を測定し、プロセスＡの測定点ＷＰ２は、アプリケーション「ａｐｐ＿ＡＰ３」による業務の終了時刻を測定することを示しているので、アプリケーション「ａｐｐ＿ＷＰ２」とアプリケーション「ａｐｐ＿ＷＰ３」との実行時間の合計を、分岐条件に用いている。
【００６９】
なお、この例では、プロセスＢのなかで、プロセスＡの業務についての実行情報を分岐条件に用いているが、自らのビジネスプロセスにおける実行情報を参照することとしてもよい。
【００７０】
図１２は、この実施の形態におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図である。
【００７１】
分岐条件として使用したい処理時間には、図１２に示すように様々なものがある。
例えば、条件分岐がある場合（この例では処理３と処理４）に、どちらかの業務（処理３または処理４）にかかった処理時間に基づいて、条件分岐したい場合がある。
あるいは、並列実行（並行動作）がある場合（この例では処理６と処理７）に、どちらかの業務（処理６または処理７）が終了するまでの処理時間、または、両方の業務（処理６及び処理７）が終了するまでの処理時間に基づいて、条件分岐したい場合がある。
あるいは、繰り返し実行がある場合（この例では処理９）、その業務を最初に実行した時刻、あるいは、その業務を最後に実行した時刻に基づいて、条件分岐したい場合がある。
【００７２】
図１３は、この実施の形態におけるビジネスプロセス定義作成装置１２０が生成し、ビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０の一例を示す図である。
ここに示したビジネスプロセス定義情報１３０は、ビジネスプロセス定義作成装置１２０が、図１２に示した図形を分析して生成するものである。
【００７３】
ここで、ノード「ｆｌｏｗ」は、複数の業務を並列実行することを示す。
ノード「ｗｈｉｌｅ」は、条件を満たす間、業務を繰り返すことを示す。
【００７４】
このように、様々な場面での時間を測定したい場合には、それに対応する測定点を定義しておく。
この例では、測定点「ＷＰ１ｂ」，「ＷＰ２ｅ」，「ＷＰｓｂ」，「ＷＰｓｅ」，「ＷＰ５ｂ」，「ＷＰ６ｅ」，「ＷＰ７ｅ」，「ＷＰ８ｓ」，「ＷＰ９ｓ」，「ＷＰ９ｅ」の１０個の測定点を定義している。
測定点「ＷＰ１ｂ」は、「ｉｄ００１」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ１」を呼び出す業務の開始時刻を測定することを示す。
測定点「ＷＰ２ｅ」は、「ｉｄ００２」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ２」を呼び出す業務の終了時刻を測定することを示す。
測定点「ＷＰｓｂ」は、「ｉｄ１０１」で示される、条件分岐の開始時刻を測定することを示す。
測定点「ＷＰｓｅ」は、「ｉｄ１０１」で示される、条件分岐の終了時刻を測定することを示す。
測定点「ＷＰ５ｂ」は、「ｉｄ００５」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ５」を呼び出す業務の開始時刻を測定することを示す。
測定点「ＷＰ６ｅ」は、「ｉｄ００６」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ６」を呼び出す業務の終了時刻を測定することを示す。
測定点「ＷＰ７ｅ」は、「ｉｄ００７」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ７」を呼び出す業務の終了時刻を測定することを示す。
測定点「ＷＰ８ｓ」は、「ｉｄ００８」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ８」を呼び出す業務の開始時刻を測定することを示す。
測定点「ＷＰ９ｓ」は、「ｉｄ００９」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ９」を呼び出す業務の開始時刻を測定することを示す。
測定点「ＷＰ９ｅ」は、「ｉｄ００９」で示される、アプリケーションプログラム「ａｐｐ＿ＡＰ９」を呼び出す業務の終了時刻を測定することを示す。
【００７５】
図１４は、図１３に示したビジネスプロセス定義情報１３０によって示される測定点において測定した実行時刻についての実行情報２３０を解析して、分岐条件を判断する場合に、ビジネスプロセス定義情報１３０において指定する分岐条件情報の一例を示す図である。
例えば、図１２における処理１の処理時間と処理２の処理時間との合計時間を分岐条件に用いる場合には、ビジネスプロセス定義情報１３０のなかに、分岐条件情報として「ｐｒｏｃ＿Ｃ．ＷＰ２ｅ−ｐｒｏｃＣ．ＷＰ１ｂ」と記述する。この記述は、ビジネスプロセス「ｐｒｏｃ＿Ｃ」の測定点「ＷＰ２ｅ」において測定した実行時刻と、ビジネスプロセス「ｐｒｏｃ＿Ｃ」の測定点「ＷＰ１ｂ」において測定した実行時刻との差（処理時間の一例）を計算して、解析情報とすべきことを示している。
【００７６】
同様に、図１２における処理２の完了時刻から処理３または処理４の完了時刻までの処理時間を分岐条件に用いる場合には、分岐条件情報として「ｐｒｏｃ＿Ｃ．ＷＰｓｅ−ｐｒｏｃ＿Ｃ．ＷＰ２ｅ」と記述する。ここで、処理３と処理４とは、条件分岐により選択的に実行されるので、合流後の測定点「ＷＰｓｅ」において測定した実行時刻と、処理２の終了後の測定点「ＷＰ２ｅ」において測定した実行時刻との差（処理時間の一例）を計算して、解析情報とすべきことを示している。
【００７７】
また、図１２における処理５の処理時間と処理６または処理７の処理時間の合計のうち、長いほうまたは短いほうの時間を分岐条件に用いる場合には、分岐条件情報として「ｍａｘ（ｐｒｏｃ＿Ｃ．ＷＰ６ｅ，ｐｒｏｃ＿Ｃ．ＷＰ７ｅ）−ｐｒｏｃ＿Ｃ．ＷＰ５ｂ」または「ｍｉｎ（ｐｒｏｃ＿Ｃ．ＷＰ６ｅ，ｐｒｏｃ＿Ｃ．ＷＰ７ｅ）−ｐｒｏｃ＿Ｃ．ＷＰ５ｂ」と記述する。ここで、「ｍａｘ（ｐｒｏｃ＿Ｃ．ＷＰ６ｅ，ｐｒｏｃ＿Ｃ．ＷＰ７ｅ）」は、測定点「ＷＰ６ｅ」において測定した測定時刻と、測定点「ＷＰ７ｅ」において測定した測定時刻とのうち、遅いほうの時刻（解析実行時刻の一例）を求めることを示す。「ｍｉｎ（…）」は、逆に早いほうの時刻（解析実行時刻の一例）を求めることを示す。
【００７８】
また、図１２における処理９の処理時間（１回目）を分岐条件に用いる場合には、分岐条件情報として「ｐｒｏｃ＿Ｃ．ＷＰ９ｅ［１］−ｐｒｏｃ＿Ｃ．ＷＰ９ｂ［１］」と記述する。ここで、「ｐｒｏｃ＿Ｃ．ＷＰ９ｅ［１］」は、測定点「ＷＰ９ｅ」において測定した実行時刻のうち、１回目の実行時刻を示す。
同様に、図１２における処理９の処理時間（最新）を分岐条件に用いる場合には、分岐条件情報として「ｐｒｏｃ＿Ｃ．ＷＰ９ｅ［ｌａｓｔ（）］−ｐｒｏｃ＿Ｃ．ＷＰ９ｂ［ｌａｓｔ（）］」と記述する。ここで、「ｌａｓｔ（）」は、その測定点において実行時刻を測定した回数を示し、「ｐｒｏｃ＿Ｃ．ＷＰ９ｅ［ｌａｓｔ（）］」は、測定点「ＷＰ９ｅ」において測定した実行時刻のうち、｛ｌａｓｔ（）｝回目、すなわち、最新の実行時刻を示す。
なお、１つの測定点について複数回実行時刻を測定した場合に、何回目の実行時刻かという記述（「［…］」の部分）がない場合には、最新の実行時刻を示すこととしてもよいし、１回目の実行時刻を示すこととしてもよい。
【００７９】
ビジネスプロセス定義作成装置１２０は、分岐条件入力工程Ｓ２０２において、ＣＰＵ９１１などの処理装置を用いて、以上説明した記述を分岐条件情報として、キーボード９０２などの入力装置から入力してもよい。
あるいは、ビジネスプロセス定義作成装置１２０は、ＣＰＵ９１１などの処理装置を用いて、例えば、図１２のようなビジネスプロセスを示す図形を、ＣＲＴなどの表示装置９０１に表示し、測定すべき処理時間の範囲を、マウス９０３などの入力装置から入力し、入力した情報を分析して、以上説明した記述を分岐条件情報として、生成してもよい。
【００８０】
次に、以上説明したビジネスプロセス定義情報１３０に基づいて、ビジネスプロセス管理装置１１０が、ビジネスプロセスを実行する動作について説明する。
【００８１】
図１５は、この実施の形態におけるビジネスプロセス管理装置１１０によるビジネスプロセス管理処理（ビジネスプロセス管理方法）の全体の流れの一例を示すフローチャート図である。
【００８２】
Ｓ３０１において、業務実行部２００は、ビジネスプロセス定義情報１３０を取得する。
ビジネスプロセス定義記憶部２４０は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義作成装置１２０が通知したビジネスプロセス定義情報１３０を取得する。
ビジネスプロセス定義記憶部２４０は、ＣＰＵ９１１などの処理装置を用いて、取得したビジネスプロセス定義情報１３０を、磁気ディスク装置９２０などの記憶装置に記憶する（ビジネスプロセス定義記憶工程）。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０を、磁気ディスク装置９２０などの記憶装置から取得する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、取得したビジネスプロセス定義情報１３０を分析する。
【００８３】
Ｓ３０２において、業務実行部２００は、開始要求を待つ。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、例えば、ビジネスプロセスを構成する一連の業務の開始を要求する開始要求を、マウス９０３などの入力装置から入力するのを待つ。
あるいは、業務実行部２００は、例えば、アプリケーションプログラム１４０からの開始要求を、例えば、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）やＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）などの各種プロトコルにより通知されるのを待ってもよい。
【００８４】
業務実行部２００が開始要求を受けると、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行を開始する。例えば、業務実行部２００は、ビジネスプロセスをインスタンス化する。
【００８５】
Ｓ３０３において、業務実行部２００は、実行情報管理部２１０に開始を通知する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行を開始したことを、実行情報管理部２１０に通知する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、業務実行部２００からの通知を取得する。
【００８６】
Ｓ３０４において、業務実行部２００は、モデルを解析する。
ここで「モデルを解析する」とは、ビジネスプロセス定義情報１３０によって示される業務手順にしたがって、次に実行すべき処理を決定することである。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義情報１３０によって示される業務手順にしたがって、次に実行すべき処理を決定する。
次に実行すべき処理が実行時刻の測定である場合には、Ｓ３０５へ進む。
次に実行すべき処理が条件分岐による選択実行である場合には、Ｓ３０７へ進む。
次に実行すべき処理がその他の一般的な処理あるいは業務である場合には、Ｓ３１２へ進む。
【００８７】
Ｓ３０５において、業務実行部２００は、測定点の指定があるか否かを判断する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、測定点の指定があるか否かを判断する。
測定点の指定がある場合には、Ｓ３０６へ進む。
測定点の指定がない場合には、Ｓ３１０へ進む。
【００８８】
Ｓ３０６において、業務実行部２００は、実行時刻情報を、実行情報管理部２１０に通知する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、現在の時刻（実行時刻）を測定する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、測定した実行時刻を実行情報２３０として、実行情報管理部２１０に通知する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、業務実行部２００が通知した実行情報を取得する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行情報を、磁気ディスク装置９２０などの記憶装置を用いて記憶する（実行情報管理工程）。
その後、Ｓ３１０へ進む。
【００８９】
Ｓ３０７において、業務実行部２００は、解析情報の指定があるか否かを判断する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、条件分岐のために判断すべき分岐条件を分析し、実行情報２３０を解析した解析情報２８２が必要か否かを判断する。
解析情報２８２が必要な場合には、Ｓ３０８へ進む。
解析情報２８２が必要ない場合には、Ｓ３０９へ進む。
【００９０】
Ｓ３０８において、業務実行部２００は、実行情報解析部２２０が通知した解析情報２８２を取得する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、分岐条件情報２８１を、実行情報解析部２２０に通知する。
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、業務実行部２００が通知した分岐条件情報２８１を取得し、解析情報２８２を生成する（実行情報解析工程）。
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、生成した解析情報２８２を、業務実行部２００に通知する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、実行情報解析部２２０が通知した解析情報２８２を取得する。
【００９１】
Ｓ３０９において、業務実行部２００は、条件判定をする。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、分岐条件を満たすか否かを判断する。
このとき解析情報２８２が必要なら、業務実行部２００は、Ｓ３０８で取得した解析情報２８２に基づいて、分岐条件を満たすか否かを判断する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、判断結果に基づいて業務の実行手順を変更し、次に実行すべき処理を決定する。
【００９２】
Ｓ３１２において、業務実行部２００は、モデルに応じた処理をする。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、例えば、アプリケーションプログラムの呼び出しなどの業務・処理を行う（業務実行工程）。
その後、Ｓ３１０へ進む。
【００９３】
Ｓ３１０において、業務実行部２００は、ビジネスプロセスの実行が終了したか否かを判断する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行が終了したか否かを判断する。
ビジネスプロセスを構成する一連の業務の実行が終了していない場合は、Ｓ３０４に戻る。
ビジネスプロセスを構成する一連の業務の実行が終了した場合は、Ｓ３１１へ進む。
【００９４】
Ｓ３１１において、業務実行部２００は、実行情報管理部２１０に終了を通知する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセスを構成する一連の業務の実行が終了したことを、実行情報管理部２１０に通知する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、業務実行部２００からの通知を取得する。
【００９５】
次に、各処理における動作を、詳しく説明する。
【００９６】
図１６は、この実施の形態におけるビジネスプロセス管理装置１１０による定義情報解析処理の流れの一例を示すフローチャート図である。
定義情報解析処理は、図１５におけるＳ３０１に相当する。
【００９７】
Ｓ５１１において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０を、磁気ディスク装置９２０などの記憶装置から取得する。
【００９８】
Ｓ５１２において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５１１で取得したビジネスプロセス定義情報１３０を解析し、変換する。
この実施の形態におけるビジネスプロセス定義情報１３０は、例えば、図１３に示したように、業務の流れを示す情報（ノード「ｓｅｑｕｅｎｃｅ」）と、測定点を示す測定点情報（ノード「ＷａｔｃｈＬｉｓｔ」）とが分離している。
ビジネスプロセスを構成する一連の業務を実行する場合には、業務を実行する処理の間に、実行時刻を測定する処理を行う必要があるので、処理の順序を整理して、業務を実行する処理の間に、測定点で実行時刻を測定する処理を行うよう、ビジネスプロセス定義情報１３０を変換する。
【００９９】
Ｓ５１３において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５１２で変換したビジネスプロセス定義情報１３１を、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１００】
図１７は、この実施の形態における業務実行部２００による定義情報解析処理により、ビジネスプロセス定義情報１３０がどのように変換されるかの一例を示す図である。
なお、図１７では、ノード間の階層関係がわかりやすように、階層構造形式で表現している。左側のビジネスプロセス定義情報１３０は、図１３に示したビジネスプロセス定義情報１３０に対応する階層構造である。
【０１０１】
右側のビジネスプロセス定義情報１３１は、業務実行部２００が左側のビジネスプロセス定義情報１３０を変換したものである。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス定義情報１３０に含まれる測定点ノード（「ｒｅｆｅｒｅｎｃｅ」）を、時刻測定ノードに変換し、時刻を測定すべき位置に移動させることにより、ビジネスプロセス定義情報１３１を生成する。
【０１０２】
なお、業務実行部２００は、このように事前にビジネスプロセス定義情報１３０を変換するのではなく、業務の実行時に測定点があるか否かを判断して、時刻の測定などをしてもよい。
【０１０３】
図１８は、この実施の形態におけるビジネスプロセス管理装置１１０による時刻測定処理の流れの一例を示すフローチャート図である。
時刻測定処理は、図１５におけるＳ３０６に相当する。
【０１０４】
Ｓ５６１において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、現在の時刻（実行時刻）を測定する。
【０１０５】
Ｓ５６２において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、プロセスＩＤ・測定点ＩＤ・Ｓ５６１で測定した実行時刻についての情報（実行情報２３０）を、実行情報管理部２１０に通知する。
ここで、プロセスＩＤとは、業務実行部２００が実行しているビジネスプロセスを識別するための識別情報である。図１３のビジネスプロセス定義情報１３０で定義されたビジネスプロセスであれば、例えば、「ｐｒｏｃ＿Ｃ」をプロセスＩＤとして用いることができる。
また、測定点ＩＤとは、測定した実行時刻がどの測定点についてのものであるかを識別するための識別情報である。図１３のビジネスプロセス定義情報１３０で定義されたビジネスプロセスであれば、例えば、「ＷＰ１ｂ」、「ＷＰ２ｅ」…などを測定点ＩＤとして用いることができる。
【０１０６】
Ｓ５６３において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５６２で業務実行部２００が通知したプロセスＩＤ・測定点ＩＤ・実行時刻（実行情報２３０）を取得する。
【０１０７】
Ｓ５６４において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５６３で取得したプロセスＩＤ・測定点ＩＤ・実行時刻（実行情報２３０）を、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１０８】
図１９は、この実施の形態における実行情報管理部２１０が記憶する実行時刻情報２３１（実行情報２３０）の一例を示す図である。
【０１０９】
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、プロセス名４１１・測定点ＩＤ４１３・実行時刻４１４を、磁気ディスク装置９２０などの記憶装置に記憶する。
なお、プロセス名４１１は、プロセスＩＤの一例である。
【０１１０】
プロセス名４１１・測定点ＩＤ４１３・実行時刻４１４は、３つで１組の実行時刻情報２３１（実行情報）を構成する。
プロセス名４１１・測定点ＩＤ４１３は、どのビジネスプロセスの、どの測定点について測定した実行時刻４１４であるかを示す識別情報である。
実行時刻４１４は、例えば、月・日・時・分・秒を表わす情報である。
【０１１１】
１つのビジネスプロセスに、複数の測定点がある場合、測定点ＩＤ４１３により、どの測定点について測定した実行時刻４１４であるかを識別できる。
また、異なるビジネスプロセスには、同じＩＤを持つ測定点があってもよいので、その場合は、プロセス名４１１により、どのビジネスプロセスについて測定した実行時刻４１４であるかを識別できる。
また、同じ測定点について複数回、実行時刻４１４を測定した場合には、前の実行時刻情報２３１は消さずにおき、新たに実行時刻情報２３１を追加して記憶すれば、同じプロセス名４１１・同じ測定点ＩＤ４１３の実行時刻情報２３１を複数記憶することができる。これにより、ｎ回目の実行時刻などの情報に基づく条件分岐も可能となる。
その場合、実行時刻情報２３１を記憶するための記憶領域がオーバーフローすることがないよう、実行時刻情報２３１の数の上限を設定しておいて、それを超えた場合には、実行情報管理部２１０が、ＣＰＵ９１１などの処理装置を用いて、古いものから削除していくようにしてもよい。
【０１１２】
図２０は、この実施の形態におけるビジネスプロセス管理装置１１０による条件分岐処理の流れの一例を示すフローチャート図である。
条件分岐処理は、図１５におけるＳ３０７〜Ｓ３０９に相当する。
【０１１３】
Ｓ５７１において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、分岐条件の判断に、実行情報２３０を解析して得た解析情報２８２が必要か否かを判断する。  業務実行部２００は、分岐条件情報２８１に、測定点を示す記述（例えば「ｐｒｏｃ＿Ｃ．ＷＰ１ｂ」など）があるか否かを判断することにより、解析情報２８２が必要か否かを判断する。
解析情報２８２が必要な場合には、Ｓ５７２へ進む。
解析情報２８２が必要ない場合には、Ｓ５７８へ進む。
【０１１４】
Ｓ５７２において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、分岐条件情報２８１を実行情報解析部２２０に通知する。
ここで、実行情報解析部２２０に通知する分岐条件情報２８１は、分岐条件を判断するために必要な解析情報２８２についての情報であり、分岐条件と同一であってもよいし、異なっていてもよい。
例えば、図１１の分岐条件情報２８１は「ｔｉｍｅ（ｐｒｏｃ＿Ａ．ＷＰ２−ｐｒｏｃ＿Ａ．ＷＰ１）＞１００」であるが、これを実行情報解析部２２０に通知してもよい。その場合、実行情報解析部２２０が生成する解析情報２８２は、「真」か「偽」かを示す情報となる。
また、同じ例において、「ｔｉｍｅ（ｐｒｏｃ＿Ａ．ＷＰ２−ｐｒｏｃ＿Ａ．ＷＰ１）」の部分を抽出して、分岐条件情報２８１として実行情報解析部２２０に通知してもよい。その場合、実行情報解析部２２０が生成する解析情報２８２は、処理時間を示す数値の情報なので、業務実行部２００がその数値を「１００」と比較して、分岐条件を満たすか否かを判断することになる。
【０１１５】
Ｓ５７３において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５７２で業務実行部２００が通知した分岐条件情報２８１を取得する。
【０１１６】
Ｓ５７４において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５７３で取得した分岐条件情報２８１に基づいて、解析情報２８２を生成するのに必要な実行情報２３０を判別する。
例えば、図１１の分岐条件情報２８１（「ｔｉｍｅ（ｐｒｏｃ＿Ａ．ＷＰ２−ｐｒｏｃ＿Ａ．ＷＰ１）＞１００」）を通知された場合、ビジネスプロセス「ｐｒｏｃ＿Ａ」の測定点「ＷＰ２」について測定した実行時刻（「ｐｒｏｃ＿Ａ．ＷＰ２」）と、ビジネスプロセス「ｐｒｏｃ＿Ａ」の測定点「ＷＰ１」について測定した実行時刻（「ｐｒｏｃ＿Ａ．ＷＰ１」）とについての実行情報２３０（実行時刻情報２３１）が必要であると、実行情報解析部２２０は判断する。
実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、実行情報管理部２１０が記憶した実行情報２３０のなかで、必要であると判断した実行情報２３０を、磁気ディスク装置９２０などの記憶装置から取得する。
【０１１７】
Ｓ５７５において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５７４で取得した実行情報２３０を解析して、解析情報２８２を生成する。
例えば、図１１の分岐条件情報２８１（「ｔｉｍｅ（ｐｒｏｃ＿Ａ．ＷＰ２−ｐｒｏｃ＿Ａ．ＷＰ１）＞１００」）を通知された場合、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、ビジネスプロセス「ｐｒｏｃ＿Ａ」の測定点「ＷＰ２」について測定した実行時刻と、ビジネスプロセス「ｐｒｏｃ＿Ａ」の測定点「ＷＰ１」について測定した実行時刻との差を計算し、処理時間とする。次に、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、計算した処理時間と「１００」とを比較し、計算した処理時間のほうが「１００」より大きい場合には「真」、「１００」以下の場合には「偽」を内容とする情報を生成し、解析情報２８２とする。
【０１１８】
Ｓ５７６において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５７５で生成した解析情報２８２を、業務実行部２００に通知する。
【０１１９】
Ｓ５７７において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５７６で実行情報解析部２２０が通知した解析情報２８２を取得する。
【０１２０】
Ｓ５７８において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５７７で取得した解析情報２８２や他の情報に基づいて、分岐条件を満たすか否かを判断し、判断結果に基づいて、次に実行する業務を決定する。
例えば、図１１の場合であれば、分岐条件（「ｔｉｍｅ（ｐｒｏｃ＿Ａ．ＷＰ２−ｐｒｏｃ＿Ａ．ＷＰ１）＞１００」）を満たすと判断した場合には、アプリケーションプログラム「ａｐｐ＿ＡＰ６」を呼び出す業務を、次に実行する業務とし、分岐条件を満たさないと判断した場合には、アプリケーションプログラム「ａｐｐ＿ＡＰ７」を呼び出す業務を、次に実行する業務とする。
【０１２１】
実行情報解析部２２０が生成する解析情報２８２は、以上説明したもののほか、例えば、以下のようなものであってもよい。
（１）複数の実行時刻のうち最先の実行時刻（解析実行時刻の一例）
例えば、並列実行される業務のうち、どれか１つが終了した時刻に基づいて、業務の実行手順を変更する場合である。
（２）複数の実行時刻のうち最後の実行時刻（解析実行時刻の一例）
例えば、並列実行される業務のすべてが終了した時刻に基づいて、業務の実行手順を変更する場合である。
（３）複数の実行時刻を平均した実行時刻（解析実行時刻の一例）
例えば、並列実行される業務が終了した時刻の平均に基づいて、業務の実行手順を変更する場合である。
（４）２つの実行時刻または解析実行時刻の差（処理時間の一例）
例えば、ある業務の実行にかかった時間が大きい場合に、業務負荷が高くなっていると判断して、業務の実行手順を変更する場合である。
（５）２つの実行時刻または解析実行時刻の差の絶対値（処理時間の一例）
例えば、並列実行される業務が終了した時刻の差が大きい場合に、業務負荷に偏りがあると判断して、業務の実行手順を変更する場合である。
（６）２つの処理時間の差（解析処理時間の一例）
例えば、他の業務と比較してある業務にかかった時間が大きい場合に、業務負荷が高くなっていると判断して、業務の実行手順を変更する場合である。
（７）２つの処理時間の差の絶対値（解析処理時間の一例）
例えば、並列実行される業務にかかった時間の差が大きい場合に、業務負荷に偏りがあると判断して、業務の実行手順を変更する場合である。
（８）複数の処理時間の合計（解析処理時間の一例）
例えば、別のビジネスプロセスにおいて、同じ人が行う業務にかかった時間を合計することにより、その人の業務負荷を判断して、業務の実行手順を変更する場合である。
（９）複数の処理時間のうち最短の時間（解析処理時間の一例）
例えば、同じ業務を繰り返して実行する場合に、一番速く処理が終わった場合に処理にかかった時間に基づいて、業務の実行手順を変更する場合である。
（１０）複数の処理時間のうち最長の時間（解析処理時間の一例）
例えば、同じ業務を繰り返して実行する場合に、一番時間がかかった場合に処理にかかった時間に基づいて、業務の実行手順を変更する場合である。
（１１）複数の処理時間を平均した時間（解析処理時間の一例）
例えば、同じ業務を繰り返して実行する場合に、かかった時間の平均に基づいて、業務の実行手順を変更する場合である。
【０１２２】
図２１は、この実施の形態におけるビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０における分岐条件情報２８１の記述の一例を示す図である。
この図に示す分岐条件情報２８１を、業務実行部２００から通知されると、実行情報解析部２２０は、通知された分岐条件情報２８１に基づいて、以上説明した解析情報を生成する。
【０１２３】
これにより、業務実行部２００が実行した業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができる。
【０１２４】
次に、以上説明した動作の具体例として、図８に示したビジネスプロセス定義情報１３０によって定義されるビジネスプロセス「ｐｒｏｃ＿Ａ」を実行する場合について説明する。
【０１２５】
まず、業務実行部２００は、図８に示したビジネスプロセス定義情報１３０を読み込み（図１５のＳ３０１。以下同じ）、アプリケーションプログラム１４０からの開始要求待ちをする（Ｓ３０２）。
次に、アプリケーションプログラム１４０からの開始要求がきたら、業務実行部２００は、開始通知（インスタンスのＩＤ，開始時刻など）を実行情報管理部２１０に通知する（Ｓ３０３）。
【０１２６】
次に、業務実行部２００は、ビジネスプロセス定義情報１３０にしたがって、アプリケーションプログラム「ａｐｐ＿ＡＰ１」の呼び出しを実行する（Ｓ３１２）。
【０１２７】
次に、業務実行部２００は、ビジネスプロセス定義情報１３０にしたがって、アプリケーションプログラム「ａｐｐ＿ＡＰ２」を呼び出す。ただし、測定点「ＷＰ１」の指定（開始時）があるので、呼び出しの前に、実行情報管理部２１０に対して、インスタンスのＩＤ、測定点の情報、時刻などを通知する（Ｓ３０６）。その後、業務実行部２００は、アプリケーションプログラム「ａｐｐ＿ＡＰ２」を呼び出す（Ｓ３１２）。
【０１２８】
次に、業務実行部２００は、ビジネスプロセス定義情報１３０にしたがって、アプリケーションプログラム「ａｐｐ＿ＡＰ３」の呼び出しを実行する（Ｓ３１２）。測定点「ＷＰ２」の指定（終了時）があるので、呼び出したアプリケーションプログラム「ａｐｐ＿ＡＰ３」による業務が終了したのち、実行情報管理部２１０に対して、インスタンスのＩＤ、測定点の情報、時刻などを通知する（Ｓ３０６）。
【０１２９】
次に、業務実行部２００は、アプリケーションプログラム「ａｐｐ＿ＡＰ４」を呼び出す（Ｓ３１２）。
【０１３０】
最後に、業務実行部２００は、実行情報管理部２１０に対して、終了通知（インスタンスのＩＤ、終了時刻など）を通知し（Ｓ３１１）、ビジネスプロセスの実行を終了する。
【０１３１】
別の具体例として、図１１に示したビジネスプロセス定義情報１３０によって定義されるビジネスプロセス「ｐｒｏｃ＿Ｂ」を実行する場合について説明する。
【０１３２】
まず、業務実行部２００は、図１１に示したビジネスプロセス定義情報１３０を読み込み（Ｓ３０１）、アプリケーションプログラム１４０からの開始要求待ちをする（Ｓ３０２）。
【０１３３】
次に、アプリケーションプログラム１４０からの開始要求がきたら、業務実行部２００は、開始通知（インスタンスのＩＤ、開始時刻など）を実行情報管理部２１０に通知する（Ｓ３０３）。
【０１３４】
次に、業務実行部２００は、ビジネスプロセス定義情報１３０にしたがって、アプリケーションプログラム「ａｐｐ＿ＡＰ５」の呼び出しを実行する（Ｓ３１２）。
【０１３５】
次に、業務実行部２００は、ビジネスプロセス定義情報１３０にしたがって、条件分岐の処理を実行する。分岐条件情報２８１によって示される分岐条件が、実行情報によって指定されているので、業務実行部２００は、実行情報解析部２２０に対して分岐条件情報２８１を通知し、処理時間の取得要求を行う。実行情報解析部２２０は、実行情報管理部２１０が記憶した実行情報から処理時間の算出に必要な測定点の実行時刻情報を取得し、処理時間を算出して、業務実行部２００に通知する（Ｓ３０８）。
業務実行部２００は、処理時間による条件判定を行い（Ｓ３０９）、判定結果に応じて、アプリケーションプログラム「ａｐｐ＿ＡＰ６」またはアプリケーションプログラム「ａｐｐ＿ＡＰ７」を呼び出す（Ｓ３１２）。
【０１３６】
最後に、業務実行部２００は、実行情報管理部２１０に対して、終了通知（インスタンスのＩＤ、終了時刻など）を通知し（Ｓ３１１）、ビジネスプロセスを終了する。
【０１３７】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が実行した業務についての情報（実行情報２３０）を実行情報管理部２１０が記憶し、実行情報解析部２２０が実行情報２３０を解析して、解析情報２８２を生成し、生成した解析情報２８２にしたがって、業務実行部２００が業務を実行するので、業務実行部２００が実行した業務についての情報により、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１３８】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が実行した業務についての情報として、業務実行部２００が業務を実行した時刻についての情報を、実行情報管理部２１０が記憶するので、業務を実行した時刻に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１３９】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務を実行した時刻を測定する測定点を示す情報（測定点情報）を、ビジネスプロセス定義情報の一部として、ビジネスプロセス定義記憶部２４０が記憶し、業務実行部２００が、測定点情報によって示される測定点において、業務を実行した時刻を測定し、実行情報管理部２１０が記憶するので、測定する必要のない業務を実行した時刻は測定せず、実行情報を記憶するための記憶領域の容量を節約することができるという効果を奏する。
【０１４０】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、業務の実行を開始した時刻を測定して実行時刻とするので、例えば、ある業務の開始から次の業務の開始までにかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４１】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、業務の実行を終了した時刻を測定して実行時刻とするので、例えば、ある業務の終了から次の業務の終了までにかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４２】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、業務の実行を開始した時刻と、業務の実行を終了した時刻とを測定して実行時刻とするので、例えば、ある業務の開始からその業務の終了までにかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４３】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、ある業務を最初に実行した時刻を測定して実行時刻とするので、ある業務を複数回実行する場合に、例えば、その業務を最初に実行するまでにかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４４】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、ある業務を最後に実行した時刻を測定して実行時刻とするので、ある業務を複数回実行する場合に、例えば、その業務を最後に実行してからの経過時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４５】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、ある業務を最初に実行した時刻と、最後に実行した時刻とを測定して実行時刻とするので、ある業務を複数回実行する場合に、例えば、その業務を最初に実行してから最後に実行するまでの時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４６】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の実行時刻のうち最先の時刻を求めて解析実行時刻とし、求めた解析実行時刻を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務のうちどれか１つが終了した時刻に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４７】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の実行時刻のうち最後の時刻を求めて解析実行時刻とし、求めた解析実行時刻を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務のすべてが終了した時刻に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４８】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の実行時刻を平均した時刻を求めて解析実行時刻とし、求めた解析実行時刻を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務が終了した時刻の平均に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１４９】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の実行時刻または解析実行時刻の差を計算して処理時間とし、計算した処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、１または複数の業務の実行にかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５０】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の実行時刻または解析実行時刻の差の絶対値を計算して処理時間とし、計算した処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務の終了時刻の差が大きい場合に、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５１】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、２つの処理時間の差を計算して解析処理時間とし、計算した解析処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、ある業務の実行にかかった時間が、他の業務の実行にかかった時間と比較して大きい場合に、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５２】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の処理時間の合計を計算して解析処理時間とし、計算した解析処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、ある業務の実行にかかった時間と、他の業務の実行にかかった時間との合計に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５３】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の処理時間のうち、最短の時間を求めて解析処理時間とし、求めた解析処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務のうち、一番速く処理が終了した業務にかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５４】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の処理時間のうち、最短の時間を求めて解析処理時間とし、求めた解析処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務のうち、一番速く処理が終了した業務にかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５５】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の処理時間のうち、最長の時間を求めて解析処理時間とし、求めた解析処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務のうち、一番時間がかかった業務にかかった時間に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、複数の処理時間を平均した時間を求めて解析処理時間とし、求めた解析処理時間を解析情報２８２として業務実行部２００に通知するので、例えば、複数の業務にかかった時間の平均に基づいて、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５６】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、実行情報解析部２２０が通知した解析情報２８２に基づいて、ビジネスプロセス定義情報１３０によって示される業務の実行手順を変更するので、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５７】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務の実行手順を変更する条件を示す情報（分岐条件情報２８１）を、ビジネスプロセス定義情報１３０の一部として、ビジネスプロセス定義記憶部２４０が記憶し、業務実行部２００が、分岐条件情報２８１によって示される条件を満たすか否かを判断し、判断結果に基づいて、ビジネスプロセス定義情報１３０によって示される業務の実行手順を変更するので、業務の最適化・効率化を図ることができるという効果を奏する。
【０１５８】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が、業務を実行するアプリケーションプログラム１４０を呼び出すことにより、ビジネスプロセス定義情報１３０によって示される業務を実行するので、多数のアプリケーションプログラム１４０が複雑に連携することによって実行されるビジネスプロセスを実行することができるという効果を奏する。
【０１５９】
この実施の形態におけるビジネスプロセス管理装置１１０がビジネスプロセスを管理するビジネスプロセス管理方法によれば、業務実行部２００が実行した業務についての情報（実行情報２３０）を実行情報管理部２１０が記憶し、実行情報解析部２２０が実行情報２３０を解析して、解析情報２８２を生成し、生成した解析情報２８２にしたがって、業務実行部２００が業務を実行するので、業務実行部２００が実行した業務についての情報により、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１６０】
この実施の形態で説明したビジネスプロセス管理装置１１０は、コンピュータを上記説明したビジネスプロセス管理装置１１０として機能させるプログラムを、コンピュータに実行させることにより、実現することが可能である。
【０１６１】
この実施の形態におけるビジネスプロセス管理装置１１０としてコンピュータを機能させるビジネスプロセス管理プログラムによれば、業務実行部２００が実行した業務についての情報（実行情報２３０）を実行情報管理部２１０が記憶し、実行情報解析部２２０が実行情報２３０を解析して、解析情報２８２を生成し、生成した解析情報２８２にしたがって、業務実行部２００が業務を実行するので、業務実行部２００が実行した業務についての情報により、業務実行部２００が実行する業務を変えることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０１６２】
ここで説明したビジネスプロセス管理装置１１０は、
ビジネスプロセス定義情報１３０の処理フローを解析実行して、外部のアプリケーションプログラム１４０の実行などを制御する解析実行部（業務実行部２００）と、
解析実行部より通知される実行時情報を記録し、要求に応じて必要な実行時情報を抽出する実行情報管理部２１０と、
実行情報管理部２１０より取得した実行時情報を解析して、定義されたビジネスプロセスにおける分岐条件に用いる情報（解析情報２８２）を作成する実行情報解析部２２０と、
を備え、ビジネスプロセス定義を実行している複数のインスタンスに係る実行時情報を分岐条件として参照することを特徴とする。
【０１６３】
ここで説明したビジネスプロセス管理装置１１０は、
複数の業務プロセス定義に基づいてアプリケーションの連携（呼び出し／データ交換）を実施するビジネスプロセス管理装置において、業務プロセスの実行情報を管理する実行情報管理部２１０を持つことを特徴とする。
【０１６４】
ここで説明したビジネスプロセス管理装置１１０は、
実行情報管理部２１０の管理する実行情報２３０を、複数の業務プロセス定義を実行したインスタンスにて共有できることを特徴とする。
【０１６５】
ここで説明したビジネスプロセス管理装置１１０は、
ビジネスプロセス定義情報におけるフロー分岐の条件として、実行情報管理部２１０によって管理される、他プロセスの実行時情報を利用できることを特徴とする。
【０１６６】
ここで説明したビジネスプロセス管理装置１１０は、
実行情報管理部２１０から、他プロセスの実行時情報を取得して条件判定を実施する実行情報解析部２２０を持つことを特徴とする。
【０１６７】
これにより、アプリケーションの実行結果やタイムアウトにより処理の分岐を行うだけでなく、定義されたビジネスプロセスの特定範囲に対する処理時間など計測が必要となるプロセス実行時情報を用いた条件分岐ができる。
【０１６８】
また、ビジネスプロセス定義情報において処理時間などの測定ポイントを指定し、測定した値をビジネスプロセス定義の条件分岐に利用できるビジネスプロセス定義が可能となる。
【０１６９】
これにより、ビジネスプロセス管理装置１１０が備える実行情報管理部２１０が記録したビジネスプロセスのインスタンスの実行情報をビジネスプロセスの条件分岐として利用可能となる。また、実行情報としては、他インスタンスの実行情報を利用することも可能となる。
【０１７０】
実施の形態２．
実施の形態２を、図２２〜図３１を用いて説明する。
この実施の形態におけるビジネスプロセス管理システム１００の全体構成、ビジネスプロセス管理装置１１０のハードウェア構成及びブロック構成は、実施の形態１で説明したものと同様であるので、ここでは説明を省略する。
【０１７１】
図２２は、この実施の形態におけるビジネスプロセス管理装置１１０の動作を概念的に示す概念図である。
【０１７２】
業務実行部２００は、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０によって示される１つのビジネスプロセス（一連の業務）に対して、複数のインスタンスを並行して実行する場合がある。
ここで、インスタンスとは、具体的に実行されるビジネスプロセスのことである。ビジネスプロセス定義情報１３０によって示されるビジネスプロセスは、業務及び業務の実行手順を定義したものであるから、具体的に実行される業務とは離れて、抽象的に存在するものであるのに対し、インスタンスは、その手順にしたがって実行される１つ１つの具体的なビジネスプロセスである。
【０１７３】
例えば、伝票を入力する業務と、入力した伝票を承認する業務との２つの業務からなるビジネスプロセスが、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０により定義されているものとする。
業務実行部２００がビジネスプロセス定義情報１３０にしたがって、業務を実行する。すなわち、まず、伝票を入力する業務を実行し、次に、入力した伝票を承認する業務を実行する。これが１つのインスタンスである。
ここで、入力した伝票が承認される前に、別の伝票を入力する場合がある。これは、同じビジネスプロセス定義情報１３０によって定義されたビジネスプロセスではあるが、先のビジネスプロセスとは異なる別のインスタンスである。
【０１７４】
このように、ビジネスプロセス定義情報１３０によって示される１つのビジネスプロセスに対して、複数のインスタンスを並行して実行する場合がある。
【０１７５】
図２３は、この実施の形態におけるビジネスプロセス管理装置１１０の動作を概念的に示す概念図である。
【０１７６】
ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０によって示されるビジネスプロセスが複数ある場合には、それぞれのビジネスプロセスに対して複数のインスタンスを、業務実行部２００が実行する場合がある。
【０１７７】
例えば、ビジネスプロセスＡについて、業務実行部２００がｎ個のインスタンスを実行し、ビジネスプロセスＢについて、業務実行部２００がｍ個のインスタンスを実行する場合、業務実行部２００は、（ｎ＋ｍ）個のインスタンスを並行して実行する。
【０１７８】
図２４は、この実施の形態における実行情報管理部２１０が記憶する実行時刻情報２３１（実行情報２３０）の一例を示す図である。
なお、実施の形態１で図１９を用いて説明した実行情報２３０と共通する部分については共通する符号を付し、説明を省略する。
【０１７９】
時刻測定処理（図１８）において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、プロセスＩＤとして、プロセス名４１１だけでなく、インスタンスＩＤ４１２を実行情報管理部２１０に通知する（Ｓ５６２）。
ここで、インスタンスＩＤとは、インスタンスを識別するための識別情報である。
インスタンスＩＤは、業務実行部２００が開始要求を受けて、新たなビジネスプロセスの実行を開始するとき（図１５のＳ３０３）に、業務実行部２００が、ＣＰＵ９１１などの処理装置を用いて生成し、磁気ディスク装置９２０などの記憶装置に記憶する。
インスタンスＩＤは、インスタンスごとに異なる値をとる。したがって、インスタンスＩＤを用いることにより、同じビジネスプロセスを実行するインスタンスであっても区別することができる。
【０１８０】
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、実行情報管理部２１０が通知したプロセス名４１１・インスタンスＩＤ４１２・測定点ＩＤ４１３・実行時刻４１４（実行情報２３０）を取得する（Ｓ５６３）。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得したプロセス名４１１・インスタンスＩＤ４１２・測定点ＩＤ４１３・実行時刻４１４（実行情報２３０）を、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１８１】
図２４の例では、ビジネスプロセス「ｐｒｏｃ＿Ａ」のインスタンスとして、インスタンスＩＤ「１２３４」のビジネスプロセスと、インスタンスＩＤ「１３９８」のビジネスプロセスとを、業務実行部２００が実行している。
実行情報管理部２１０は、実行情報２３０としてインスタンスＩＤ４１２を記憶しているので、実行時刻４１４が、どちらのインスタンスについて測定したものであるかを識別できる。
【０１８２】
なお、この例では、業務実行部２００が、時刻測定処理において、プロセスＩＤとして、プロセス名４１１とインスタンスＩＤ４１２とを実行情報管理部２１０に通知しているが、インスタンスＩＤ４１２だけでもよい。別途、プロセス名４１１とインスタンスＩＤ４１２との対応関係を実行情報管理部２１０に通知しておけば、実行情報管理部２１０が、ＣＰＵ９１１などの処理装置を用いて、インスタンスＩＤ４１２からプロセス名４１１を求めることができるからである。
【０１８３】
次に、実行情報管理部２１０が、プロセス名とインスタンスＩＤとの対応を管理する動作について説明する。
【０１８４】
図２５は、この実施の形態における実行情報管理部２１０が記憶する実行業務情報２３２（実行情報２３０）の一例を示す図である。
【０１８５】
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、実行情報２３０として、プロセス名４２１・インスタンスＩＤ４２２・実行中の業務ＩＤ４２３を、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１８６】
プロセス名４２１・インスタンスＩＤ４２２・業務ＩＤ４２３は、３つで１組の実行業務情報２３２（実行情報２３０）を構成する。
【０１８７】
プロセス名４２１・業務ＩＤ４２３は、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０によって定義されているものであり、インスタンスＩＤ４２２によって識別されるインスタンスが、どのビジネスプロセスを実行するものであるか、そのビジネスプロセスのなかで、業務実行部２００が実行している業務はどれか、を示す。
【０１８８】
図２６は、この実施の形態における実行情報管理部２１０が記憶する実行インスタンス数情報２３３（実行情報２３０）の一例を示す図である。
【０１８９】
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、実行情報２３０として、プロセス名４３１・実行中のインスタンス数４３２を、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１９０】
プロセス名４３１・インスタンス数４３２は、２つで１組の実行インスタンス数情報２３３（実行情報２３０）を構成する。
【０１９１】
インスタンス数４３２は、プロセス名４３１によって識別されるビジネスプロセスについて、業務実行部２００が実行中のインスタンスの数を示す。
【０１９２】
図２７は、この実施の形態におけるビジネスプロセス管理装置１１０によるプロセス開始処理の流れの一例を示すフローチャート図である。
プロセス開始処理は、図１５のＳ３０３に相当する。
【０１９３】
Ｓ５３１において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、開始するインスタンスを識別するインスタンスＩＤを生成する。
業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、生成したインスタンスＩＤを、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１９４】
Ｓ５３２において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、開始するビジネスプロセスのプロセス名４２１・Ｓ５３１で生成したインスタンスＩＤ４２２・「プロセス開始」を示す情報（実行開始終了情報の一例）を、実行情報管理部２１０に通知する。
【０１９５】
Ｓ５３３において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５３２で業務実行部２００が通知したプロセス名４２１・インスタンスＩＤ４２２・「プロセス開始」を示す情報を取得する。
【０１９６】
Ｓ５３４において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ５３３で取得したプロセス名４２１・インスタンスＩＤ４２２を、実行業務情報２３２として、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１９７】
Ｓ５３５において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、記憶した実行インスタンス数情報２３３のなかで、Ｓ５３３で取得したプロセス名４２１についての実行インスタンス数情報２３３（プロセス名４３１・インスタンス数４３２）を、磁気ディスク装置９２０などの記憶装置から取得する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行インスタンス数情報のインスタンス数４３２に１を加える。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行インスタンス数情報２３３を新たな実行インスタンス数情報２３３に書き換えて、磁気ディスク装置９２０などの記憶装置に記憶する。
なお、実行情報管理部２１０が、Ｓ５３３で取得したプロセス名４２１についての実行インスタンス数情報２３３を記憶していない場合には、インスタンス数４３２を「１」とした実行インスタンス数情報２３３を、新たに、磁気ディスク装置９２０などの記憶装置に記憶する。
【０１９８】
図２８は、この実施の形態におけるビジネスプロセス管理装置１１０によるプロセス終了処理の流れの一例を示すフローチャート図である。
プロセス終了処理は、図１５のＳ３１１に相当する。
【０１９９】
Ｓ６１１において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、終了するインスタンスのインスタンスＩＤ４２２・「プロセス終了」を示す情報（実行開始終了情報の一例）を、実行情報管理部２１０に通知する。
【０２００】
Ｓ６１２において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６１１で業務実行部２００が通知したインスタンスＩＤ４２２・「プロセス終了」を示す情報を取得する。
【０２０１】
Ｓ６１３において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、記憶した実行業務情報２３２のなかで、Ｓ６１２で取得したインスタンスＩＤ４２２についての実行業務情報２３２（プロセス名４２１・インスタンスＩＤ４２２・業務ＩＤ４２３）を、磁気ディスク装置９２０などの記憶装置から取得する。
【０２０２】
Ｓ６１４において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６１３で取得した実行業務情報２３２を、磁気ディスク装置９２０などの記憶装置から抹消する。
【０２０３】
Ｓ６１５において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、記憶した実行インスタンス数情報２３３のなかで、Ｓ６１３で取得したプロセス名４２１についての実行インスタンス数情報２３３（プロセス名４３１・インスタンス数４３２）を、磁気ディスク装置９２０などの記憶装置から取得する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行インスタンス数情報２３３のインスタンス数４３２から１を減じる。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行インスタンス数情報２３３を新たな実行インスタンス数情報２３３に書き換えて、磁気ディスク装置９２０などの記憶装置に記憶する。
なお、インスタンス数４３２が０になった場合には、実行インスタンス数情報２３３を削除することとしてもよい。
【０２０４】
図２９は、この実施の形態におけるビジネスプロセス管理装置１１０による業務実行処理の流れの一例を示すフローチャート図である。
業務実行処理は、図１５のＳ３１２に相当する。
【０２０５】
Ｓ６２１において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、インスタンスＩＤ４２２・業務ＩＤ４２３・「業務開始」を示す情報（実行開始終了情報の一例）を、実行情報管理部２１０に通知する。
ここで、インスタンスＩＤ４２２は、業務実行部２００が実行しているインスタンスを示す。また、業務ＩＤ４２３は、そのインスタンスのなかで業務実行部２００がこれから実行しようとしている業務を示す。
【０２０６】
Ｓ６２２において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６２１で業務実行部２００が通知したインスタンスＩＤ４２２・業務ＩＤ４２３・「業務開始」を示す情報を取得する。
【０２０７】
Ｓ６２３において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、記憶した実行業務情報２３２のなかで、Ｓ６２２で取得したインスタンスＩＤ４２２についての実行業務情報２３２（プロセス名４２１・インスタンスＩＤ４２２・業務ＩＤ４２３）を、磁気ディスク装置９２０などの記憶装置から取得する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行業務情報２３２の業務ＩＤ４２３に、Ｓ６２２で取得した業務ＩＤ４２３を追加する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行業務情報２３２を、新たな実行業務情報２３２に書き換えて、磁気ディスク装置９２０などの記憶装置に記憶する。
【０２０８】
Ｓ６２４において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、業務を実行する。業務実行部２００は、例えば、ビジネスプロセス定義情報１３０で指定されたアプリケーションプログラム１４０を呼び出すことにより、業務を実行する。
【０２０９】
Ｓ６２５において、業務実行部２００は、ＣＰＵ９１１などの処理装置を用いて、インスタンスＩＤ４２２・業務ＩＤ４２３・「業務終了」を示す情報（実行開始終了情報の一例）を、実行情報管理部２１０に通知する。
ここで、インスタンスＩＤ４２２は、業務実行部２００が実行しているインスタンスを示す。また、業務ＩＤ４２３は、そのインスタンスのなかで業務実行部２００がＳ６２４で実行した業務を示す。
【０２１０】
Ｓ６２６において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６２５で業務実行部２００が通知したインスタンスＩＤ４２２・業務ＩＤ４２３・「業務終了」を示す情報を取得する。
【０２１１】
Ｓ６２７において、実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、記憶した実行業務情報２３２のなかで、Ｓ６２６で取得したインスタンスＩＤ４２２についての実行業務情報２３２（プロセス名４２１・インスタンスＩＤ４２２・業務ＩＤ４２３）を、磁気ディスク装置９２０などの記憶装置から取得する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行業務情報２３２の業務ＩＤ４２３から、Ｓ６２６で取得した業務ＩＤ４２３を削除する。
実行情報管理部２１０は、ＣＰＵ９１１などの処理装置を用いて、取得した実行業務情報２３２を、新たな実行業務情報２３２に書き換えて、磁気ディスク装置９２０などの記憶装置に記憶する。
【０２１２】
次に、分岐条件情報２８１の記述について説明する。
【０２１３】
図３０は、この実施の形態におけるビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０における分岐条件情報２８１の一例を示す図である。
【０２１４】
ビジネスプロセス「ｐｒｏｃ＿Ａ」について、業務実行部２００が、いくつかのインスタンスを並行して実行している場合、プロセス名のあとに「［…］」（インスタンス指定。解析対象プロセス情報の一例）をつけて「ｐｒｏｃ＿Ａ［…］」と記述することにより、実行情報解析部２２０が、どのインスタンスについての実行情報２３０を参照して解析情報２８２を生成するかを指定する。
「ｐｒｏｃ＿Ａ［ｎ］」または「ｐｒｏｃ＿Ａ［ｐｏｓｉｔｉｏｎ（）＝ｎ］」は、ビジネスプロセス「ｐｒｏｃ＿Ａ」のインスタンスのうち、ｎ番目に実行されたインスタンスを示す。
「ｐｒｏｃ＿Ａ［ｌａｓｔ（）］」または「ｐｒｏｃ＿Ａ［ｐｏｓｉｔｉｏｎ（）＝ｌａｓｔ（）］」は、ビジネスプロセス「ｐｒｏｃ＿Ａ」のインスタンスのうち、最後に実行されたインスタンスを示す。
「ｐｒｏｃ＿Ａ［ｌａｓｔ（）−ｎ］」は、ビジネスプロセス「ｐｒｏｃ＿Ａ」のインスタンスのうち、最後から（ｎ＋１）番目に実行されたインスタンスを示す。
「ｐｒｏｃ＿Ａ［ｂｅｆｏｒｅ（）］」は、ビジネスプロセス「ｐｒｏｃ＿Ａ」のインスタンスのうち、呼び出した側のインスタンスが実行を開始した直前に実行されたインスタンスを示す。
「ｐｒｏｃ＿Ａ［＠ｉｄ］」は、ビジネスプロセス「ｐｒｏｃ＿Ａ」のインスタンスのうち、インスタンスＩＤが「ｉｄ」であるインスタンスを示す。
【０２１５】
図３１は、この実施の形態における実行情報解析部２２０による実行情報取得処理の流れの一例を示すフローチャート図である。
実行情報取得処理は、図２０のＳ５７４に相当する。
【０２１６】
Ｓ６４１において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、（図２０のＳ５７３で）取得した分岐条件情報２８１を解析して、プロセス名２９１・インスタンス指定２９２（解析対象プロセス情報の一例）・測定点ＩＤ２９３・測定点指定２９４を取得する。
【０２１７】
例えば、分岐条件情報２８１の一部が「ｐｒｏｃ＿Ａ［ｎ］．ＷＰ１［ｋ］」であれば、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、プロセス名２９１として「ｐｒｏｃ＿Ａ」を、インスタンス指定２９２として「ｎ」を、測定点ＩＤ２９３として「ＷＰ１」を、測定点指定２９４として「ｋ」を取得する。
【０２１８】
Ｓ６４２において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、（図２７のＳ５３４で）実行情報管理部２１０が記憶した実行業務情報２３２のなかで、プロセス名４２１が、Ｓ６４１で取得したプロセス名２９１と一致する実行業務情報２３２を、磁気ディスク装置９２０などの記憶装置から取得する。
【０２１９】
Ｓ６４３において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４２で取得した実行業務情報２３２のなかで、Ｓ６４１で取得したインスタンス指定２９２によって指定された実行業務情報２３２を取得する。
【０２２０】
例えば、インスタンス指定４９２が「ｎ」であれば、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４２で取得した実行業務情報２３２のなかで、ｎ番目の実行業務情報２３２を取得する。
あるいは、インスタンス指定４９２が「ｌａｓｔ（）」であれば、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４２で取得した実行業務情報２３２のなかで、最新の実行業務情報２３２を取得する。
あるいは、インスタンス指定４９２が「＠ｉｄ」であれば、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４２で取得した実行業務情報２３２のなかで、インスタンスＩＤ４２２が「ｉｄ」と一致する実行業務情報２３２を取得する。
【０２２１】
Ｓ６４４において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、実行情報管理部２１０が記憶した実行時刻情報２３１のなかで、プロセス名４１１・インスタンスＩＤ４１２・測定点ＩＤ４１３がそれぞれ、Ｓ６４１で取得したプロセス名２９１・Ｓ６４３で取得した実行業務情報２３２のインスタンスＩＤ４２２・Ｓ６４１で取得した測定点ＩＤ２９３と一致する実行時刻情報２３１を、磁気ディスク装置９２０などの記憶装置から取得する。
【０２２２】
Ｓ６４５において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４４で取得した実行時刻情報２３１のなかで、Ｓ６４１で取得した測定点指定２９４によって指定された実行時刻情報２３１を取得する。
【０２２３】
例えば、測定点指定２９４が「ｋ」であれば、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４４で取得した実行時刻情報２３１のなかで、ｋ番目の実行時刻情報２３１を取得する。
あるいは、測定点指定２９４がなければ、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４４で取得した実行時刻情報２３１のなかで、最新の実行時刻情報２３１を取得する。
【０２２４】
その後、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６４５で取得した実行時刻情報２３１の実行時刻４１４を解析し、解析情報２８２を生成する（図２０のＳ５７５）。
【０２２５】
これにより、ビジネスプロセス定義情報１３０によって定義された同一のビジネスプロセスについて、業務実行部２００が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部２００が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができる。
【０２２６】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が実行情報２３０として、インスタンス（一連の業務）の実行を開始したこと及び終了したことを実行情報管理部２１０に通知するので、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０によって示される同一のビジネスプロセスについて、業務実行部２００が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部２００が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０２２７】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、どの業務についての実行情報２３０を解析するかを示す解析対象プロセス情報に基づいて、解析対象となる実行情報２３０を特定し、実行情報管理部２１０が記憶した実行情報２３０を解析して、解析情報２８２を生成するので、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０によって示される同一のビジネスプロセスについて、業務実行部２００が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部２００が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０２２８】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、どのインスタンス（一連の業務）についての実行情報２３０を解析するかを示す解析対象プロセス情報に基づいて、解析対象となる実行情報２３０を特定し、実行情報管理部２１０が記憶した実行情報２３０を解析して、解析情報２８２を生成するので、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０によって示される同一のビジネスプロセスについて、業務実行部２００が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部２００が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０２２９】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、実行情報解析部２２０が、どのビジネスプロセス定義情報１３０によって示されるビジネスプロセスの業務についての実行情報２３０を解析するかを示す解析対象プロセス情報に基づいて、解析対象となる実行情報２３０を特定し、実行情報管理部２１０が記憶した実行情報２３０を解析して、解析情報２８２を生成するので、ビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０によって示される同一のビジネスプロセスについて、業務実行部２００が複数のインスタンスを実行している場合であっても、同一のあるいは他のビジネスプロセスのインスタンスから、業務実行部２００が実行したインスタンスの業務についての情報に基づいて、業務の実行手順を変更するなどの制御をすることができ、業務の最適化・効率化を図ることができるという効果を奏する。
【０２３０】
これにより、ビジネスプロセス定義情報に基づき、それぞれが独立して動作しているビジネスプロセスインスタンス間で、他のインスタンスの実行情報により条件分岐を行うことができる。
具体的には、複数のビジネスプロセスが実行されている場合に、あるビジネスプロセスの処理で遅延が発生した場合に、別の業務プロセスにおいて代替処理を実施するなどの処理の最適化、効率化を実現することができる。
【０２３１】
また、条件分岐に利用する処理時間などの実行時情報は、他のビジネスプロセス定義を実行しているインスタンスの実行情報を参照できるようにすることで、他インスタンスの実行時情報を利用した条件分岐が可能となる。
【０２３２】
実施の形態３．
実施の形態３を、図３２〜図３６を用いて説明する。
この実施の形態におけるビジネスプロセス管理システム１００の全体構成、ビジネスプロセス管理装置１１０のハードウェア構成及びブロック構成は、実施の形態１で説明したものと同様であるので、ここでは説明を省略する。
【０２３３】
この実施の形態では、実施の形態２で説明した実行インスタンス数情報２３３（実行情報２３０の一例）を利用して、業務の実行手順を変更するなどの制御を行う場合について説明する。
【０２３４】
図３２は、この実施の形態におけるビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報によって示されるビジネスプロセスのモデルの一例を示す図である。
「ＷＦプロセスＡ」は、「起票」により始まり、「吉原聖后」が承認する業務、「ナタリ」が承認する業務を順次実行して、一連の業務を終了する。
「ＷＦプロセスＢ」は、「起票」により始まり、「松本美咲」が承認する業務、「森田準子」が承認する業務を順次実行する。
次に、「ＷＦプロセスＡ」におけるインスタンス数によって条件分岐する。
「ＷＦプロセスＡ」におけるインスタンス数が１００未満の場合、「吉原聖后」が承認する業務、「ナタリ」が承認する業務を順次実行する。
【０２３５】
「ＷＦプロセスＡ」におけるインスタンス数が１００以上の場合、「吉原聖后」か「ナタリ」が他の業務に忙殺されて承認業務を行う暇がない（あるいは出張などで不在である）ため、業務が停滞しているものと推測できる。
その場合、別の承認者が代理承認を行うこととし、「小寺里佳」が承認する業務、「吉田梨沙」が承認する業務を順次実行する。
【０２３６】
最後に「伊藤綾香」が承認する業務を実行して、一連の業務を終了する。
【０２３７】
図３３は、この実施の形態におけるビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０のうち、「ＷＦプロセスＡ」（プロセス名「ＷＦｐｒｏｃ＿Ａ」）を定義した部分の一例を示す図である。
【０２３８】
業務ＩＤ「ｉｄ００１」で示される業務が、「吉原聖后」が承認する業務を示す。
業務ＩＤ「ｉｄ００２」で示される業務が、「ナタリ」が承認する業務を示す。
「ＷＦプロセスＡ」では、この２つの業務を順次実行する。
【０２３９】
図３４は、この実施の形態におけるビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０のうち、「ＷＦプロセスＢ」（プロセス名「ＷＦｐｒｏｃ＿Ｂ」）を定義した部分の一例を示す図である。
【０２４０】
業務ＩＤ「ｉｄ００１」で示される業務が、「松本美咲」が承認する業務を示す。
業務ＩＤ「ｉｄ００２」で示される業務が、「森田準子」が承認する業務を示す。
「ＷＦプロセスＢ」では、この２つの業務を順次実行したのち、分岐条件情報２８１「ｃｏｕｎｔ（ＷＰｐｒｏｃ＿Ａ）＜１００」で示される分岐条件により、条件分岐する。
分岐条件を満たす場合には、業務ＩＤ「ｉｄ００３」で示される業務（「吉原聖后」が承認する業務）と、業務ＩＤ「ｉｄ００４」で示される業務（「ナタリ」が承認する業務）とを順次実行する。
分岐条件を満たさない場合には、業務ＩＤ「ｉｄ００５」で示される業務（「松本美咲」が承認する業務）と、業務ＩＤ「ｉｄ００６」で示される業務（「森田準子」が承認する業務）とを順次実行する。
【０２４１】
最後に、業務ＩＤ「ｉｄ００７」で示される業務（「伊藤綾香」が承認する業務）を実行する。
【０２４２】
次に、図３４に示した分岐条件情報２８１「ｃｏｕｎｔ（ＷＦｐｒｏｃ＿Ａ）＜１００」によって示される分岐条件によって、ビジネスプロセス管理装置１１０が条件分岐する条件分岐処理について説明する。
【０２４３】
図３５は、この実施の形態における実行情報解析部２２０による実行情報取得処理の流れの一例を示すフローチャート図である。
実行情報取得処理は、図２０のＳ５７４に相当する。
【０２４４】
Ｓ６５１において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、（図２０のＳ５７３で）取得した分岐条件情報２８１を解析して、プロセス名２９１を取得する。
例えば、実行情報解析部２２０は、分岐条件情報２８１「ｃｏｕｎｔ（ＷＦｐｒｏｃ＿Ａ）＜１００」から、プロセス名２９１「ＷＦｐｒｏｃ＿Ａ」を取得する。
【０２４５】
Ｓ６５２において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、実行情報管理部２１０が記憶した実行インスタンス数情報２３３のなかで、プロセス名４３１が、Ｓ６５１で取得したプロセス名２９１と一致する実行インスタンス数情報２３３を、磁気ディスク装置９２０などの記憶装置から取得する。
【０２４６】
その後、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６５２で取得した実行インスタンス数情報２３３のインスタンス数４３２を解析し、解析情報２８２を生成する（図２０のＳ５７５）。
【０２４７】
なお、この例では、実行情報管理部２１０が実行開始終了情報に基づいて、インスタンス数４３２を数え、実行インスタンス数情報２３３として、磁気ディスク装置９２０などの記憶装置に記憶しているが、実行情報管理部２１０が実行インスタンス数情報２３３を記憶する代わりに、実行情報解析部２２０が、その都度、インスタンス数を数えることとしてもよい。
【０２４８】
図３６は、この実施の形態における実行情報解析部２２０による実行情報取得処理の流れの別の例を示すフローチャート図である。
【０２４９】
Ｓ６６１において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、（図２０のＳ５７３で）取得した分岐条件情報２８１を解析して、プロセス名２９１を取得する。
【０２５０】
Ｓ６５２において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、実行情報管理部２１０が記憶した実行業務情報２３２のなかで、プロセス名４３１が、Ｓ６５１で取得したプロセス名２９１と一致する実行業務情報２３２を、磁気ディスク装置９２０などの記憶装置から取得する。
【０２５１】
Ｓ６５３において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６５２で取得した実行業務情報２３２の数を数えて、インスタンス数４３２とする。
【０２５２】
この実施の形態におけるビジネスプロセス管理装置によれば、ビジネスプロセス定義情報１３０によって定義される１つのビジネスプロセスについて、業務実行部２００が複数のインスタンス（一連の業務）を実行する場合に、１つのビジネスプロセスに対応するインスタンスの数を数えて、業務の実行手順を変更するなどの制御をすることにより、業務が停滞しているユーザを迂回するよう業務の実行手順を変更することができるので、業務の最適化・効率化を図ることができるという効果を奏する。
【０２５３】
実施の形態４．
実施の形態４を、図３７を用いて説明する。
この実施の形態におけるビジネスプロセス管理システム１００の全体構成、ビジネスプロセス管理装置１１０のハードウェア構成及びブロック構成は、実施の形態１で説明したものと同様であるので、ここでは説明を省略する。
【０２５４】
この実施の形態では、実施の形態２で説明した実行業務情報２３２（実行情報２３０の一例）を利用して、業務の実行手順を変更するなどの制御を行う別の例について説明する。
【０２５５】
実施の形態３では、あるビジネスプロセスのインスタンス数から、業務の停滞を発見し、迂回路を設定することで、業務の最適化・効率化を図る場合について説明した。
しかし、そのビジネスプロセスに複数の業務が含まれている場合、どの業務が原因で業務が停滞しているかはわからない。
【０２５６】
この実施の形態では、あるビジネスプロセスのインスタンスのなかで、特定の業務を実行中のインスタンスの数を数えることにより、業務停滞の原因である業務を判別して、業務の最適化・効率化を図る場合について説明する。
【０２５７】
図３７は、この実施の形態における実行情報解析部２２０による業務カウント処理の流れの一例を示すフローチャート図である。
業務カウント処理は、図２０におけるＳ５７４に相当する。
【０２５８】
特定のビジネスプロセスの特定の業務を実行中のインスタンスの数をカウントすることにより、条件分岐をする場合の分岐条件情報２８１は、例えば、「ｃｏｕｎｔ（ＷＦｐｒｏｃ＿Ａ．ｉｄ００１）」のように記述する。これは、プロセス「ＷＦｐｒｏｃ＿Ａ」の業務「ｉｄ００１」を実行中のインスタンス数を示す。
【０２５９】
Ｓ６７１において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、分岐条件情報２８１を解析し、プロセス名２９１・業務ＩＤ２９５を取得する。
例えば、実行情報解析部２２０は、分岐条件情報２８１「ｃｏｕｎｔ（ＷＦｐｒｏｃ＿Ａ．ｉｄ００１）」から、プロセス名２９１「ＷＦｐｒｏｃ＿Ａ」・業務ＩＤ２９５「ｉｄ００１」を取得する。
【０２６０】
Ｓ６７２において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、実行情報管理部２１０が記憶した実行業務情報２３２のなかで、プロセス名４２１・業務ＩＤ４２３がそれぞれ、Ｓ６７１で取得したプロセス名２９１・業務ＩＤ２９５と一致する実行業務情報２３２を、磁気ディスク装置９２０などの記憶装置から取得する。
【０２６１】
Ｓ６７３において、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６７２で取得した実行業務情報２３２の数を数えて、実行業務数とする。
【０２６２】
その後、実行情報解析部２２０は、ＣＰＵ９１１などの処理装置を用いて、Ｓ６７３で数えた実行業務数を解析し、解析情報２８２を生成する（図２０のＳ５７５）。
【０２６３】
これにより、例えば、図３２の「ＷＦプロセスＡ」の業務が停滞している場合に、「吉原聖后」が承認する業務で停滞しているのか、「ナタリ」が承認する業務で停滞しているのかを判別することができるので、停滞の原因となっている業務だけを迂回するなどの制御が可能となる。
【０２６４】
この実施の形態におけるビジネスプロセス管理装置１１０によれば、業務実行部２００が実行情報管理部２１０に対して実行開始終了情報を通知し、実行情報管理部２１０が実行開始終了情報に基づいて、各インスタンスが実行中の業務を実行業務情報２３２として記憶し、実行情報解析部２２０が実行業務情報２３２に基づいて、実行中の業務の数を数え、業務実行部２００が数えた業務の数に基づいて、業務の実行手順を変更するなどの制御を行うので、業務の最適化・効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【０２６５】
【図１】実施の形態１におけるビジネスプロセス管理システム１００の全体的な構成の一例を示す概念図。
【図２】実施の形態１におけるビジネスプロセス管理装置１１０の外観の一例を示す図。
【図３】実施の形態１におけるビジネスプロセス管理装置１１０のハードウェア資源の一例を示す図。
【図４】実施の形態１におけるビジネスプロセス管理装置１１０の機能ブロックの構成の一例を示すブロック構成図。
【図５】実施の形態１におけるビジネスプロセス定義作成装置１２０によるビジネスプロセス定義情報入力処理の流れの一例を示すフローチャート図。
【図６】実施の形態１におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図。
【図７】実施の形態１におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図。
【図８】実施の形態１におけるビジネスプロセス定義作成装置１２０が生成し、ビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０の一例を示す図。
【図９】実施の形態１におけるビジネスプロセス定義作成装置１２０によるビジネスプロセス定義情報入力処理の流れの別の例を示すフローチャート図。
【図１０】実施の形態１におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図。
【図１１】実施の形態１におけるビジネスプロセス定義作成装置１２０が生成し、ビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０の一例を示す図。
【図１２】実施の形態１におけるビジネスプロセス定義作成装置１２０が入力するビジネスプロセスのモデルの一例を示す図。
【図１３】実施の形態１におけるビジネスプロセス定義作成装置１２０が生成し、ビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０の一例を示す図。
【図１４】実施の形態１におけるビジネスプロセス定義情報１３０において指定する分岐条件情報の一例を示す図。
【図１５】実施の形態１におけるビジネスプロセス管理装置１１０によるビジネスプロセス管理処理（ビジネスプロセス管理方法）の全体の流れの一例を示すフローチャート図。
【図１６】実施の形態１におけるビジネスプロセス管理装置１１０による定義情報解析処理の流れの一例を示すフローチャート図。
【図１７】実施の形態１における業務実行部２００による定義情報解析処理により、ビジネスプロセス定義情報１３０がどのように変換されるかの一例を示す図。
【図１８】実施の形態１におけるビジネスプロセス管理装置１１０による時刻測定処理の流れの一例を示すフローチャート図。
【図１９】実施の形態１における実行情報管理部２１０が記憶する実行時刻情報２３１（実行情報２３０）の一例を示す図。
【図２０】実施の形態１におけるビジネスプロセス管理装置１１０による条件分岐処理の流れの一例を示すフローチャート図。
【図２１】実施の形態１におけるビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０における分岐条件情報２８１の記述の一例を示す図。
【図２２】実施の形態２におけるビジネスプロセス管理装置１１０の動作を概念的に示す概念図。
【図２３】実施の形態２におけるビジネスプロセス管理装置１１０の動作を概念的に示す概念図。
【図２４】実施の形態２における実行情報管理部２１０が記憶する実行時刻情報２３１（実行情報２３０）の一例を示す図。
【図２５】実施の形態２における実行情報管理部２１０が記憶する実行業務情報２３２（実行情報２３０）の一例を示す図。
【図２６】実施の形態２における実行情報管理部２１０が記憶する実行インスタンス数情報２３３（実行情報２３０）の一例を示す図。
【図２７】実施の形態２におけるビジネスプロセス管理装置１１０によるプロセス開始処理の流れの一例を示すフローチャート図。
【図２８】実施の形態２におけるビジネスプロセス管理装置１１０によるプロセス終了処理の流れの一例を示すフローチャート図。
【図２９】実施の形態２におけるビジネスプロセス管理装置１１０による業務実行処理の流れの一例を示すフローチャート図。
【図３０】実施の形態２におけるビジネスプロセス定義記憶部２４０が記憶するビジネスプロセス定義情報１３０における分岐条件情報２８１の一例を示す図。
【図３１】実施の形態２における実行情報解析部２２０による実行情報取得処理の流れの一例を示すフローチャート図。
【図３２】実施の形態３におけるビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報によって示されるビジネスプロセスのモデルの一例を示す図。
【図３３】実施の形態３におけるビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０のうち、「ＷＦプロセスＡ」（プロセス名「ＷＦｐｒｏｃ＿Ａ」）を定義した部分の一例を示す図。
【図３４】実施の形態３におけるビジネスプロセス定義記憶部２４０が記憶したビジネスプロセス定義情報１３０のうち、「ＷＦプロセスＢ」（プロセス名「ＷＦｐｒｏｃ＿Ｂ」）を定義した部分の一例を示す図。
【図３５】実施の形態３における実行情報解析部２２０による実行情報取得処理の流れの一例を示すフローチャート図。
【図３６】実施の形態３における実行情報解析部２２０による実行情報取得処理の流れの別の例を示すフローチャート図。
【図３７】実施の形態４における実行情報解析部２２０による業務カウント処理の流れの一例を示すフローチャート図。
【符号の説明】
【０２６６】
１００  ビジネスプロセス管理システム、１１０  ビジネスプロセス管理装置、１２０  ビジネスプロセス定義作成装置、１３０  ビジネスプロセス定義情報、１４０  アプリケーションプログラム、２００  業務実行部、２１０  実行情報管理部、２２０  実行情報解析部、２３０  実行情報、２３１  実行時刻情報、２３２  実行業務情報、２３３  実行インスタンス数情報、２４０  ビジネスプロセス定義記憶部、２８１  分岐条件情報、２８２  解析情報、２９１  プロセス名、２９２  インスタンス指定、２９３  測定点ＩＤ、２９４  測定点指定、２９５  業務ＩＤ、４１１，４２１，４３１  プロセス名、４１３  測定点ＩＤ、４１４  実行時刻、４１２，４２２  インスタンスＩＤ、４２３  業務ＩＤ、４３２  インスタンス数、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2007279861.tif 000003
【図２】
2007279861.tif 000004
【図３】
2007279861.tif 000005
【図４】
2007279861.tif 000006
【図５】
2007279861.tif 000007
【図６】
2007279861.tif 000008
【図７】
2007279861.tif 000009
【図８】
2007279861.tif 000010
【図９】
2007279861.tif 000011
【図１０】
2007279861.tif 000012
【図１１】
2007279861.tif 000013
【図１２】
2007279861.tif 000014
【図１３】
2007279861.tif 000015
【図１４】
2007279861.tif 000016
【図１５】
2007279861.tif 000017
【図１６】
2007279861.tif 000018
【図１７】
2007279861.tif 000019
【図１８】
2007279861.tif 000020
【図１９】
2007279861.tif 000021
【図２０】
2007279861.tif 000022
【図２１】
2007279861.tif 000023
【図２２】
2007279861.tif 000024
【図２３】
2007279861.tif 000025
【図２４】
2007279861.tif 000026
【図２５】
2007279861.tif 000027
【図２６】
2007279861.tif 000028
【図２７】
2007279861.tif 000029
【図２８】
2007279861.tif 000030
【図２９】
2007279861.tif 000031
【図３０】
2007279861.tif 000032
【図３１】
2007279861.tif 000033
【図３２】
2007279861.tif 000034
【図３３】
2007279861.tif 000035
【図３４】
2007279861.tif 000036
【図３５】
2007279861.tif 000037
【図３６】
2007279861.tif 000038
【図３７】
2007279861.tif 000039