以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるワークフローシステムの構成例を示す図である。図1に示されるワークフローシステム1において、一以上の業務端末30、ワークフロー管理装置20、及びワークフロー抽出装置10等は、LAN(Local Area Network)又はインターネット等のネットワークを介して通信可能に接続されている。
業務端末30は、ワークフローシステム1のユーザが操作する情報処理端末である。業務端末30の一例として、PC(Personal Computer)、タブレット型端末、スマートフォン、携帯電話、又はPDA(Personal Digital Assistance)等が挙げられる。
ワークフロー管理装置20は、各種のワークフローの定義情報を記憶し、業務端末30より要求されたワークフローの定義情報に基づいて、当該ワークフローを実現するための処理手順を実行するコンピュータである。本実施の形態において、「ワークフロー」とは、何かしらの業務プロセスに対して情報処理システム上にて実行される一連の業務処理をいう。一つのワークフローは、一以上のアクティビティを構成要素とする。アクティビティは、ワークフロー内の作業単位である。但し、実際の業務における複数の作業が一つのアクティビティとして定義されてもよい。すなわち、アクティビティとして定義される作業単位は、ワークフローの設計者等の任意である。例えば、アクティビティは操作画面、すなわち、人による操作と対応することが多い。しかし、例えば、送金のワークフローにおいて、振込元の口座に送金金額以上の預金があるかをチェックする「残高確認」や振込先の口座が存在するかの確認する「口座照会」等、人の操作が関与しない処理がアクティビティとされてもよい。
ワークフロー抽出装置10は、ワークフロー管理装置20からの要求に応じ、複数のワークフローの中から利用価値が相対的に高いワークフロー(以下、「推奨フロー」という。)を抽出する。1回の抽出処理において、推奨フローの抽出元となるワークフローの母集団は、或る標準フローをカスタマイズして作成された複数のワークフローである。標準フローとは、或る業務に関して最初に定義された既定のワークフローをいう。標準フローをカスタマイズしたワークフローは、例えば、或るユーザが、個人的に標準フローの一部をカスタマイズすることにより作成される。
図2は、ワークフローのカスタマイズの例を示す図である。図2において、(1)は、資料作成業務に関する標準フローの定義を示す図である。当該標準フローは、資料作成アクティビティとレビューアクティビティとの二つのアクティビティを含む。すなわち、図2では、ワークフローを構成する各アクティビティが円によって表現され、アクティビティの実行順に従って当該円が線分等によって接続されている。以下、図2に示される形式によってワークフローの定義を示す図を、「フロー図」という。
一方、(2)は、(1)の標準フローをカスタマイズして作成されたカスタムフローのフロー図である。当該カスタムフローでは、標準フローの資料作成アクティビティが、調査アクティビティ、日本語版資料作成アクティビティ、日本語版レビューアクティビティ、及び英訳アクティビティに細分化されている。換言すれば、当該カスタムフローでは、資料作成アクティビティが、調査アクティビティ、日本語版資料作成アクティビティ、日本語版レビューアクティビティ、及び英訳アクティビティに置き換えられている。
このように、標準フローのカスタマイズは、例えば、アクティビティ単位で行われる。標準フローの一部のアクティビティの削除、一部のアクティビティの入れ替え、又は標準フローへのアクティビティの追加等が、カスタマイズの一例として挙げられる。
以下、標準フローと、カスタムフローとの関係を、便宜上、親子関係という。標準フローが親フローであり、カスタムフローが子フローである。一つの親フローに対し、複数の子フローが定義されてよい。親子関係を有するワークフローというとき、一つの標準フローと、当該標準フローに対する一部又は全部のカスタムフローの集合をいう。また、同一の親フローを有する子フロー群を、「兄弟フロー」という。
なお、標準フローと、カスタムフローとは、対象とする業務及び目的に関しては共通するが、各ワークフローを実行した場合の目的の達成度合いは異なる可能性が高い。カスタムフローは、目的の達成度合いを高めるために作成される可能性が高いからである。目的とは、ワークフローが適用される業務の目的である。目的の達成度合いとは、当該業務の目的の達成度合いである。以下、目的の達成度合いを示す指標を「目的達成度」という。
目的達成度について、具体例に基づいて説明する。例えば、PC(Personal Computer)の貸し出しを受けるワークフローが、図3に示されるように定義されていたとする。
図3は、貸出フローの例を示す図である。図3に示される貸出フローは、貸出申請アクティビティ、承認アクティビティ、及び貸出処理アクティビティの順で作業が行われるワークフローである。貸出申請アクティビティでは、PCの貸し出しの希望者によって、貸し出しの申請が行われる。承認アクティビティでは、承認者によって貸し出しの申請に関して承認又は却下が行われる。承認が行われた場合に、貸出処理アクティビティが実行される。貸出処理アクティビティでは、承認の内容に応じた貸出処理が行われる。
このような貸出フローに関する目的達成度は、例えば、貸出台数によって表すことができる。例えば、貸出台数が50台であった場合、目的達成度は50として表現できる。また、貸出台数が100台である場合、目的達成度は100として表現できる。または、貸出の希望台数に対する貸出台数の割合によって、目的達成度が表現されてもよい。
仮に、貸出フローに対してカスタムフローが存在し、当該カスタムフローを実行した場合の方が、目的達成度が高くなる傾向にある場合、当該カスタムフローの方が、利用価値が高いといえる。そこで、本実施の形態では、目的達成度を、ワークフローの利用価値の高さを測る指標として利用する。
ところで、上記において、「希望台数」や「貸出台数」は、貸出フローにおいて使用されるパラメタである。パラメタは、ワークフローの属性項目であるともいえる。
例えば、貸出フローにおいて使用されるパラメタとしては、「希望台数」や「貸出台数」の他に、図4に示されるようなものが考えられる。
図4は、貸出フローのパラメタの例を示す図である。図4では、貸出フローにおいて使用されるパラメタごとに、パラメタ名と、各アクティビティにおける各パラメタの値の更新例とが示されている。
図4に示される貸出フローでは、「帳票番号」、「従業員番号」、「貸出開始日」、「貸出日数」、「希望台数」、及び「貸出台数」等のパラメタが使用される。このうち、「貸出台数」を参照することで、貸出フローの目的達成度を判定することができる。すなわち、ワークフローの目的達成度を判定するためには、ワークフロー内で使用されるパラメタを参照すればよいことになる。但し、コンピュータは、パラメタ名のみで各パラメタの意味を知ることはできない。例えば、コンピュータは、パラメタ名に基づいて、直接的に、いずれのパラメタが目的達成度に関連が深いかを知ることはできない。図4の例では、目的達成度に関連するパラメタは「貸出台数」であるが、コンピュータから見るとワークフロー内で使用される複数のパラメタのうちの一つに過ぎない。後述されるように、ワークフロー抽出装置10は、目的達成度に関連が深いパラメタ(以下、「関連パラメタ」という。)を推定し、各カスタムフローの終了時の当該関連パラメタの値等に基づいて推奨フローを抽出する。
なお、ワークフロー管理装置20及びワークフロー抽出装置10のそれぞれの機能は、一つのコンピュータに実装されてもよい。例えば、業務端末30内に、ワークフロー管理装置20の機能及びワークフロー抽出装置10の機能の少なくともいずれか一方が実装されてもよい。
また、ワークフローシステム1は、例えば、BPM(Business Process Management)システムの一部又は全部を構成してもよい。
図5は、本発明の実施の形態におけるワークフロー抽出装置のハードウェア構成例を示す図である。図5のワークフロー抽出装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
ワークフロー抽出装置10での処理を実現するプログラムは、記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってワークフロー抽出装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
なお、記録媒体101の一例としては、CD−ROM、DVDディスク、又はUSBメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置102の一例としては、HDD(Hard Disk Drive)又はフラッシュメモリ等が挙げられる。記録媒体101及び補助記憶装置102のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
図6は、本発明の実施の形態におけるワークフロー管理装置及びワークフロー抽出装置の機能構成例を示す図である。
図6において、ワークフロー管理装置20は、UI部21及びワークフロー制御部22等を有する。これら各部は、ワークフロー管理装置20にインストールされた一以上のプログラムがワークフロー管理装置20のCPUに実行させる処理により実現される。ワークフロー管理装置20は、また、ワークフロー定義記憶部23を利用する。ワークフロー定義記憶部23は、ワークフロー管理装置20が有する補助記憶装置、又はワークフロー管理装置20にネットワークを介して接続される記憶装置等を用いて実現可能である。
UI部21は、ユーザより指示入力を受け付けるための情報の送信や、指示入力おいて要求された情報等に関して、業務端末30への送信等を実行する。ワークフロー制御部22は、実行対象とされたワークフローの定義情報に基づいて、当該ワークフローを実現するための処理を実行する。以下、ワークフローの定義情報を、「ワークフロー定義」という。ワークフロー定義記憶部23は、各ワークフローの識別子に対応付けて、ワークフロー定義を記憶する。ワークフロー定義記憶部23はまた、ワークフロー間の親子関係を示す情報も記憶する。例えば、親フローに対応付けて、当該親フローに対する各子フローの識別子が親子関係を示す情報として記憶される。各子フローに対応付けて、当該子フローに対する親フローの識別子が親子関係を示す情報として記憶されてもよい。以下、各ワークフローの識別子を、「フローID」という。
ワークフロー抽出装置10は、要求受信部11、記録部12、抽出部13、及び応答返信部14等を有する。これら各部は、ワークフロー抽出装置10にインストールされた一以上のプログラムが、CPU104に実行させる処理により実現される。ワークフロー抽出装置10は、また、パラメタ値記憶部15、更新情報記憶部16、及び計算用テーブル記憶部17等を利用する。これら各記憶部は、補助記憶装置102、又はワークフロー抽出装置10にネットワークを介して接続される記憶装置等を用いて実現可能である。
要求受信部11は、ワークフロー管理装置20からの要求を受信する。例えば、ワークフローの実行結果の記録要求、又はワークフローの抽出要求等が、ワークフロー管理装置20からの要求の一例である。ワークフローの実行結果の記録要求は、或るワークフローの実行が終了した際にワークフロー管理装置20より送信される。ワークフローの抽出要求は、これからワークフローを実行する際に、実行対象とするワークフローをユーザに推奨又は提示するために、ワークフロー管理装置20より送信される。
なお、ワークフローの実行結果とは、当該ワークフローに関して、ワークフロー管理装置20によって実際に実行された一連のアクティビティの集合であり、一つのワークフローの定義に関して、複数発生しうる。具体的には、一つのワークフローの定義の実行回数分だけ、ワークフローの実行結果は発生する。
図7は、ワークフローの定義と実行結果との関係を示す図である。図7において、定義Dsは、送金業務のワークフロー(以下、「送金フロー」という。)の定義である。定義Dsによれば、送金フローは、「ログイン」、「振込元口座指定」、「振込先口座指定」、「金額指定」、「残高確認」、「送金実行」、「実行結果の確認」、「キャンセル」、及び「ログアウト」等のアクティビティを含む。
一方、実行結果Rs1及びRs2は、送金フローに関して、「ログイン」、「振込元口座指定」、「振込先口座指定」、「金額指定」、「残高確認」、「送金実行」、「実行結果の確認」、及び「ログアウト」等のアクティビティが実行された結果である。但し、実行結果Rs1及びRs2では、ログインユーザ名、振込元口座、振込先口座、及び金額等のパラメタの値が相互に異なる。
また、実行結果Rs3は、送金フローに関して、「ログイン」、「振込元口座指定」、「振込先口座指定」、「金額指定」、及び「キャンセル」等のアクティビティが実行された結果である。すなわち、実行結果Rs3は、送金が途中でキャンセルされた実行結果の例である。
このように、同一の定義Dsに基づいて、複数の実行結果が発生する。また、各実行結果では、同一のパラメタに対する値が異なりうる。なお、本実施の形態において、単に「ワークフロー」というとき、ワークフローの定義を意味する。
記録部12は、ワークフローの実行結果の記録要求が受信された場合に、当該実行結果の内容、及び当該実行結果の内容に基づく情報等をパラメタ値記憶部15又は更新情報記憶部16に記録する。
図8は、或るワークフローの1回の実行結果の内容及び記録される情報の一例を示す図である。図8では、ワークフローW1が実行された例が示されている。ワークフローW1は、アクティビティ1〜3の3つのアクティビティを含み、アクティビティ1〜3の順で各アクティビティが実行されるワークフローである。
図8には、ワークフローW1の実行結果の内容を示す情報として、パラメタ値情報V1が示されている。パラメタ値情報V1は、アクティビティごとに、ワークフローW1が使用する各パラメタに関して、当該アクティビティの実行後の値を含む。図8の例では、ワークフローW1は、パラメタ1及び2を使用する例が示されている。なお、パラメタ1の初期値は0であり、パラメタ2の初期値は50であるとする。アクティビティ1では、いずれのパラメタも更新されていない。アクティビティ2では、パラメタ1の値が30に更新されている。アクティビティ3では、パラメタ2の値が60に更新されている。このように、実行結果の記録要求に含まれているワークフローの実行結果には、当該ワークフローを構成するアクティビティごとに、当該アクティビティを実行後の各パラメタの値が含まれている。パラメタ値情報V1のうち、ワークフロー終了時の各パラメタ値は、ワークフローW1のフローIDに対応付けられて、パラメタ値記憶部15に記憶される。すなわち、パラメタ値記憶部15は、各ワークフローの実行結果ごとに、当該ワークフローの終了時の各パラメタ値を記憶する。ワークフロー終了時のパラメタ値とは、ワークフローの最後のアクティビティの実行後のパラメタの値である。
図8において、更新情報U1は、パラメタ値情報V1に関して、アクティビティごとに、各パラメタの更新の有無を示す情報である。「0」は更新が無いことを示し、「1」は更新が有ることを示す。アクティビティ1は、いずれのパラメタも更新していないため、パラメタ1及びパラメタ2の双方に関して0が付与されている。アクティビティ2は、パラメタ1を更新しているため、パラメタ1に1が付与されている。アクティビティ3は、パラメタ2を更新しているため、パラメタ2に1が付与されている。
更新情報U1は、パラメタ値情報V1に基づいて記録部12によって生成され、ワークフローW1のフローIDに対応付けられて、更新情報記憶部16に記録される。すなわち、更新情報記憶部16は、各ワークフローの実行結果ごとに、当該ワークフローを構成する各アクティビティによる各パラメタの更新の有無を記憶する。
抽出部13は、ワークフローの抽出要求が受信された場合に、当該抽出要求に指定された標準フローを親とする兄弟フローの中から、推奨フローを抽出する。抽出部13による推奨フローの抽出処理は、関連パラメタの特定処理、関連パラメタに基づく推奨フローの抽出処理といった二つの処理に大別される。
関連パラメタの特定処理では、親フロー又は子フロー群が有するパラメタの中から、目的達成度に対する関連が相対的に強い、又は目的達成度に対する影響が相対的に大きいと推定されるパラメタが関連パラメタとして抽出される。
推奨フローの抽出処理では、各子フローの過去の実行結果における関連パラメタの値に基づいて、子フロー群の中から推奨フローが抽出される。
以上の各処理を実行するため、抽出部13は、パラメタ除外部131、更新頻度算出部132、更新頻度差分算出部133、関連パラメタ特定部134、関連パラメタ平均算出部135、及び推奨フロー選択部136等を有する。このうち、パラメタ除外部131、更新頻度算出部132、更新頻度差分算出部133、及び関連パラメタ特定部134は、関連パラメタの特定手順を実行する。また、関連パラメタ平均算出部135及び推奨フロー選択部136は、推奨フローの抽出手順を実行する。
パラメタ除外部131は、標準フロー及び各カスタムフローが使用するパラメタの中から、関連パラメタではない可能性の高いパラメタを、関連パラメタの候補から除外する。したがって、更新頻度算出部132以降において処理対象とされるパラメタは、パラメタ除外部131によって除外されなかったパラメタである。
更新頻度算出部132は、標準フロー及び各カスタムフローの各アクティビティに関して、各パラメタの更新頻度を算出する。更新頻度とは、ワークフローの実行回数に対して、各アクティビティにおいてパラメタが更新される頻度又は割合をいう。
図9は、一つのワークフローに関する更新頻度の算出例を示す図である。図9の(1)は、或る一つのワークフローの3回分の実行結果に関して、更新情報記憶部16に記憶される情報の一例である。当該情報より、当該ワークフローは、アクティビティ1〜3の3つのアクティビティを含み、パラメタ1及び2の2つのパラメタを使用することが分かる。
図9の(2)は、(1)の情報に基づく更新頻度の算出結果である。例えば、アクティビティ1に関してパラメタ1の更新情報は、実行結果1〜3の順に、0、0、0である。この場合、アクティビティ1に関するパラメタ1更新頻度は、(0+0+0)÷3=0として算出される。また、アクティビティ1に関してパラメタ2の更新情報は、実行結果1〜3の順に、0、1、1である。この場合、アクティビティ1に関するパラメタ2更新頻度は、(0+1+1)÷3≒0.66として算出される。他のアクティビティに関する各パラメタに関しても、同様の演算処理によって更新頻度が算出される。
なお、図9では、一つのワークフローに関する更新頻度の算出例を示したが、上記したように、更新頻度算出部132は、標準フロー及び各カスタムフローの各アクティビティに関して更新頻度を算出する。標準フロー及び各カスタムフローの各アクティビティに関して更新頻度が算出されることにより、標準フロー及び各カスタムフローのアクティビティごとに、各パラメタの更新頻度が把握される。
更新頻度差分算出部133及び関連パラメタ特定部134は、各パラメタの中で、標準フローに関する更新頻度と、複数のカスタムフローに関する更新頻度との差分が相対的に大きいパラメタを関連パラメタとして特定する処理の一例を実行する。なお、同趣旨の目的が達成可能であれば、更新頻度差分算出部133及び関連パラメタ特定部134によって実行される処理は、後述において説明される処理と異なっていてもよい。
具体的には、更新頻度差分算出部133は、各カスタムフローのアクティビティごとに、当該アクティビティの更新頻度と、標準フローにおいて当該アクティビティに対応するアクティビティの更新頻度との差分を算出する。当該アクティビティに対応するアクティビティとは、当該アクティビティと同一のアクティビティをいう。
図10は、更新頻度の差分の算出例を示す図である。図10において、(1)は、標準フローと、カスタム1及びカスタム2の2つのカスタムフローの各アクティビティに関する各パラメタの更新頻度の算出結果の例である。
(2)は、2つのカスタムフローのそれぞれのアクティビティごとの更新頻度の差分の算出結果の例である。例えば、(1)に示されるように、「カスタム1」のアクティビティ1に関して、パラメタ2の更新頻度は、0.65である。一方、標準フローのアクティビティ1に関して、パラメタ2の更新頻度は、0.66である。したがって、「カスタム1」のアクティビティ1に関して、パラメタ2の更新頻度の差分は、0.65−0.66=0.01である。
関連パラメタ特定部134は、標準フロー及び各カスタムフローが使用するパラメタの中から、関連パラメタを特定する。すなわち、更新頻度差分算出部133によって、更新頻度の差分が算出されることにより、各カスタムフローのアクティビティごとに、いずれのパラメタの更新頻度が、カスタマイズによって大きく変化したかが把握される。換言すれば、各カスタムフローのアクティビティごとに、いずれのパラメタが、カスタマイズによる影響を大きく受けているかが把握される。カスタマイズによる影響を大きく受けているパラメタが、関連パラメタである。したがって、関連パラメタ特定部134は、図10の(2)に示される情報に基づいて、更新頻度の差分が大きいパラメタを、関連パラメタとして特定する。詳細な特定方法については後述されるが、図10の(2)の場合、パラメタ2が、関連パラメタとして特定される。
関連パラメタ平均算出部135は、ワークフローごとに、当該ワークフローの実行結果における、ワークフロー終了時の各パラメタ値の平均値を算出する。
図11は、ワークフロー終了時の各パラメタ値の平均値の算出例を示す図である。図11において、(1)は、パラメタ値記憶部15が記憶する情報の一例を示したものである。
(2)は、ワークフローごとの、ワークフロー終了時の各パラメタ値の平均値の算出例である。例えば、標準フローのパラメタ1に関しては、標準フローの全ての実行結果の終了時のパラメタ1の値の総和を、実行結果の数(すなわち、標準フローの実行回数)で除することにより、平均値が算出される。他のパラメタ及び他のワークフローについても同様である。
推奨フロー選択部136は、関連パラメタについて、カスタムフローごとに、当該カスタムフローの終了時の各パラメタ値の平均値と、標準フローの終了時の各パラメタ値の平均値との差分を算出する。推奨フロー選択部136は、当該差分が相対的に大きいカスタムフローを選択する。選択されたカスタムフローが推奨フローである。
図12は、各カスタムフローと標準フローとのワークフロー終了時のパラメタ値の差分の算出例を示す図である。図12では、パラメタ2が関連パラメタである場合の例が示されている。また、図12の算出結果は、図11の(2)に基づく。すなわち、「カスタム1」のパラメタ2に関する標準フローとの差分は、63.9−59.8=4.1である。また、「カスタム2」のパラメタ2に関する標準フローとの差分は、61.7−59.8=1.9である。
当該差分が相対的に大きいのは、「カスタム1」である。したがって、「カスタム1」が推奨フローとして抽出される。
すなわち、カスタマイズは、ワークフローの利用価値を高めるために行われるものであると考えられる。本実施の形態において各ワークフローの利用価値は、目的達成度によって比較される。目的達成度は、関連パラメタの値に基づく指標である。したがって、利用価値が相対的に高いカスタムフローは、他のカスタムフローと比較して、標準フローに対する関連パラメタの値の変化が大きいと考えられる。そこで、本実施の形態では、各ワークフローの終了時における関連パラメタの値に関して、標準フローとの差分が最大であるカスタムフローが、推奨フローとして選択される。
応答返信部14は、抽出部13による推奨フローの抽出結果を含む応答を、ワークフロー管理装置20に返信する。
以下、ワークフロー抽出装置10が実行する処理手順について説明する。処理手順の説明においては、図13に示されるワークフローが、標準フローの具体例として用いられる。
図13は、処理手順の説明に用いられる標準フローの具体例を示す図である。図13に示されるように、標準フローWdは、アクティビティ1〜3の3つのアクティビティを含む。また、標準フローWdは、パラメタ1〜3の3つのパラメタを使用する。各パラメタの初期値は、0である。
また、標準フローWdのカスタムフローの具体例としては、図15に示されるものが用いられる。図15は、処理手順の説明に用いられるカスタムフローの具体例を示す図である。図15には、標準フローWdのカスタムフローの一例として、カスタムフローWc1、Wc2、及びWc3が示されている。各カスタムフローにおいて、白抜きの円は、標準アクティビティWdにも含まれているアクティビティを示し、黒塗りの円は、当該カスタムフローで追加されたアクティビティを示す。
具体的には、カスタムフローWc1では、アクティビティ1とアクティビティ2との間にカスタムアクティビティ1が追加されている。カスタムフローWc2では、アクティビティ2とアクティビティ3との間にカスタムアクティビティ2が追加されている。カスタムフローWc3では、アクティビティ1とアクティビティ2との間にカスタムアクティビティ3が追加されている。
図14は、ワークフロー抽出装置が実行する処理手順の一例を説明するためのフローチャートである。
ステップS11において、要求受信部11は、ワークフロー管理装置20からのワークフローの実行結果の記録要求、又はワークフローの抽出要求の受信を待機する。いずれかの要求が受信されると、抽出部13は、要求の内容に応じて処理を分岐させる(S12)。例えば、標準アクティビティWdの実行結果の記録要求が受信された場合、記録部12は、実行結果の記録要求に指定されているパラメタ値情報の一部をパラメタ値記憶部15に記録する(S13)。
図16は、標準アクティビティの実行結果の記録要求に指定されているパラメタ値情報の例を示す図である。図16は、標準フローWdの実行結果の記録要求が受信された場合に対応している。したがって、パラメタ値情報には、標準フローWdに含まれているアクティビティ1〜3ごとに、当該アクティビティにおける各パラメタの更新後の値が含まれている。
なお、図16において標準フローWdを示すフロー図は、各アクティビティと、当該アクティビティにおける更新後の各パラメタの値との対応を示すために便宜上記載されたものである。実際には、例えば、アクティビティの識別子(以下、「アクティビティID」という。)ごとに、当該アクティビティにおける更新後の各パラメタの値が記録要求に指定されている。また、実行結果に係るワークフローのフローIDも、記録要求に指定されている。
また、図17は、パラメタ値記憶部におけるパラメタ値の記憶例を示す図である。図17に示されるように、パラメタ値記憶部15は、ワークフローの実行結果の識別子(以下、「実行結果ID」という。)ごとに、当該実行結果に係るワークフローのフローID、及び当該ワークフローの終了時の各パラメタ値を記憶する。なお、図17において、「実行結果1」は、実行結果IDに相当し、「標準」は、フローIDに相当する。なお、図17は、図16に示されるパラメタ値情報のうち、標準フローWdの終了時のパラメタ値、すなわち、アクティビティ3に対するパラメタ値が記録された状態を示す。
続いて、記録部12は、実行結果の記録要求に指定されているパラメタ値情報に基づく更新情報を、更新情報記憶部16に記録する(S14)。
図18は、更新情報記憶部における更新情報の記憶例を示す図である。図18に示されるように、更新情報記憶部16は、ワークフローの実行結果及びアクティビティごとに、各パラメタの更新の有無を記憶する。更新の有無の表現形式は、図8において説明した通りである。なお、記録部12は、最初のアクティビティであるアクティビティ1については、アクティビティ1の更新後の各パラメタ値を、各パラメタの初期値を比較することにより、更新の有無を判定する。2番目以降のアクティビティについては、当該アクティビティの更新後の各パラメタ値を、直前のアクティビティの更新後の各パラメタ値と比較することにより、更新の有無を判定する。なお、図18は、図16に示されるパラメタ値情報に基づいて記録される更新情報を示す。
また、ステップS11において、図19に示されるようなパラメタ値情報が指定された、カスタムフローWc1の実行結果の記録要求が更に受信されたとする。
図19は、カスタムアクティビティの実行結果の記録要求に指定されているパラメタ値情報の例を示す図である。図19の構成は、図16と同様であるため、図19の詳細な説明については省略する。なお、カスタムフローWc1は、カスタムアクティビティ1を含むため、パラメタ値情報には、カスタムアクティビティ1による各パラメタの更新後の値も含まれる。
図19に示されるパラメタ値情報に基づいて、図17及び図18に示したパラメタ値記憶部15又は更新情報記憶部16は、図20又は図21に示されるように更新される。
図20は、パラメタ値記憶部の更新例を示す図である。図20に示されるパラメタ値記憶部15には、図17に示したパラメタ値記憶部15に対して、実行結果IDが「実行結果2」である2行目のレコードが追加されている。2行目のレコードには、図19に示したパラメタ値情報のうち、カスタムフローWc1の終了時の各パラメタ値が記憶されている。
図21は、更新情報記憶部の更新例を示す図である。図21に示される更新情報記憶部16には、図18に示した更新情報記憶部16に対して、実行結果IDが「実行結果2」であり、フローIDが「カスタム1」である4行分のレコードが追加されている。これらのレコードには、図19に示したパラメタ値情報に基づく更新情報が記憶されている。
一方、ワークフローの抽出要求が受信された場合、抽出部13は、推奨フローの抽出処理を実行する(S15)。なお、ワークフローの抽出要求には、例えば、カスタムフローの抽出対象とする標準フローのフローIDが指定されている。以下、ワークフローの抽出要求にフローIDが指定されている標準フローを、「基準フロー」という。本実施の形態では、標準フローWdが基準フローとなる。続いて、応答返信部14は、抽出された推奨フローを示す情報を含む応答を、ワークフロー管理装置20に返信する(S16)。例えば、推奨フローを示す情報の一例として、推奨フローのフローIDが挙げられる。
ステップS14又はS16の終了後、次の要求の受信が待機される(S11)。
続いて、ステップS15の詳細について説明する。図22は、推奨フローの抽出処理の処理手順の一例を示す図である。
ステップS101において、抽出部13は、基準フローに対するカスタムフローのレコードがパラメタ値記憶部15に記憶されているか否かを判定する。すなわち、当該カスタムフローのフローIDを含むレコードが、パラメタ値記憶部15に記憶されているか否かが判定される。
基準フローに対するカスタムフローの特定方法は、所定のものに限定されない。例えば、抽出部13が、基準フローのフローIDを指定して、ワークフロー管理装置20に対して当該フローIDに係る標準フローのカスタムフローのフローIDの一覧を問い合わせてもよい。または、各ワークフローの親子関係を示す情報が、ワークフロー抽出装置10に記憶されていてもよい。更に、ワークフローの抽出要求に、基準フローのフローIDのみならず、基準フローに対する各カスタムフローのフローIDが指定されていてもよい。
なお、ワークフローの抽出要求が受信された時点において、パラメタ値記憶部15の状態は、図23に示される通りであるとする。
図23は、推奨フロー抽出時のパラメタ値記憶部の状態の一例を示す図である。図23のパラメタ値記憶部15には、実行結果1〜32に関するパラメタ値情報が記憶されている。実行結果1〜32のそれぞれは、標準フローWd、又はカスタムフローWc1〜Wc3のいずれかの実行結果である。
基準フローに対するカスタムフローのレコードがパラメタ値記憶部15に記憶されていない場合(S102でNo)、抽出可能な推奨フローは存在しないため抽出処理は終了する。
図23の例では、基準フローに対するカスタムフローのレコードがパラメタ値記憶部15に記憶されているため(S102でYes)、ステップS103に進む。ステップS103において、抽出部13は、関連パラメタの特定処理を実行する。続いて、抽出部13は、関連パラメタに基づく推奨フローの抽出処理を実行する(S104)。
続いて、ステップS103の詳細について説明する。図24は、関連パラメタの特定処理の処理手順の一例を説明するためのフローチャートである。
ステップS111において、パラメタ除外部131は、ワークフローの抽出要求(以下、単に「抽出要求」という。)に指定されたフローIDに係る標準フロー及び当該標準フローのカスタムフローに対応するパラメタ属性テーブル171を、計算用テーブル記憶部17に生成する。
図25は、パラメタ属性テーブルの構成例を示す図である。パラメタ属性テーブル171は、ワークフローの抽出要求に指定された標準フローWd及び標準フローWdのカスタムフローが使用するパラメタ(以下、「使用パラメタ」という。)ごとに、パラメタ名及びパラメタ属性を記憶するテーブルである。
パラメタ属性とは、関連パラメタの特定処理における、各パラメタの扱いを示す情報をいう。本実施の形態では、「通常」、「除外」、「候補」、又は「関連」が、パラメタ属性の値となりうる。
「通常」は、特別な扱いをされないことを示す。「除外」は、関連パラメタの候補から除外されることを示す。「候補」は、関連パラメタの候補からの除外基準に当てはまる場合であっても、関連パラメタの候補から除外されないことを示す。「関連」は、関連パラメタとされることを示す。
ステップS111の段階では、新たに生成されたパラメタ属性テーブル171に、各使用パラメタのパラメタ名が記録される。また、図25に示されるように、各使用パラメタのパラメタ属性の初期値として「通常」が記録される。
続いて、パラメタ除外部131は、抽出要求に指定されうる、パラメタ属性情報を当該抽出要求より抽出する(S112)。パラメタ属性情報とは、一部又は全部の使用パラメタに関してパラメタ属性が指定された情報をいう。すなわち、本実施の形態では、ワークフロー管理装置20によって、一部又は全部の使用パラメタに関してパラメタ属性が指定されうる。例えば、パラメタ属性情報は、ワークフロー管理装置20が、一部又は全部の使用パラメタの意味を知っている場合に、抽出要求に指定されうる。したがって、パラメタ属性情報は、必ずしも抽出要求に指定されるとは限らない。
抽出要求からパラメタ属性情報が抽出された場合(S113でYes)、パラメタ除外部131は、パラメタ属性情報の内容に基づいて、パラメタ属性テーブル171を更新する(S114)。例えば、「除外」、「候補」、又は「関連」が指定されているパラメタが有れば、当該パラメタに関して、パラメタ属性テーブル171におけるパラメタ属性の値が、「除外」、「候補」、又は「関連」に更新される。
続いて、パラメタ除外部131は、パラメタ属性テーブル171において、パラメタ属性の値が「関連」であるパラメタの有無を判定する(S115)。該当するパラメタが有る場合(S115でYes)、図24の処理は終了する。すなわち、該当するパラメタが関連パラメタとして特定される。
該当するパラメタが無い場合(S115でNo)、パラメタ除外部131は、各使用パラメタに関して、関連パラメタとしての適格性の判定処理を実行する(S116)。当該適格性の判定処理では、一部のパラメタが、関連パラメタの候補から除外されうる。
続いて、抽出部13は、更新情報記憶部16が記憶する情報に基づいて、関連パラメタの特定処理を実行する(S117)。ステップS117は、関連パラメタの候補から除外されなかった使用パラメタに関して実行される。
続いて、ステップS116の詳細について説明する。図26は、関連パラメタとしての適格性の判定処理の処理手順の一例を説明するためのフローチャートである。ステップS121以降は、使用パラメタ(パラメタ1〜3)ごとのループ処理である。当該ループ処理において処理対象とされているパラメタを、「対象パラメタ」という。
ステップS121において、パラメタ除外部131は、パラメタ属性テーブル171を参照し、対象パラメタのパラメタ属性が「通常」であるか否かを判定する。対象パラメタのパラメタ属性が「通常」でない場合(S121でNo)、対象パラメタについては、ステップS122及びS123は実行されない。
対象パラメタのパラメタ属性が「通常」である場合(S121でYes)、パラメタ除外部131は、パラメタ値記憶部15(図23)における、対象パラメタの値の偏りを算出する(S122)。例えば、対象パラメタがパラメタ1である場合、標準フローWd及び各カスタムフローに跨って、パラメタ1の値の偏りが算出される。すなわち、図23の例では、「パラメタ1」の列に記憶されている値(101、102、・・・、131、132)の偏りが算出される。
続いて、パラメタ除外部131は、算出された偏りが一様分布である場合、又は一つの値に集中している場合(すなわち、一意である場合)、対象パラメタに関して、パラメタ属性テーブル171におけるパラメタ属性の値を「除外」に更新する(S123)。すなわち、例えば、実行結果順に連番であるパラメタは、対象パラメタは、単なるシーケンス番号である可能性が高い。また、一つの値に集中している場合、対象パラメタは、定数又は固定値である可能性が高い。このようなパラメタは、目的達成度に関連を有している可能性が低いと考えられる。そこで、偏りが一様分布である場合、又は一つの値に集中している場合、対象パラメタは、関連パラメタの候補から除外される。
なお、偏りの算出方法については公知の任意の方法が用いられてよい。例えば、パラメタ値の出現回数が全て等しければ一様分布と判定してもよいし、Iδ指数を求めて指数が1未満であれば一様分布であると判定してもよい。
本実施の形態では、図26の終了時において、パラメタ属性テーブル171の状態は、図27に示されるように更新されている。
図27は、パラメタ属性テーブルの更新例を示す図である。図23に示されるように、パラメタ1の値は一様分布である。したがって、図27に示されるように、パラメタ1のパラメタ属性は、「除外」に更新されている。なお、以降において処理対象とされる使用パラメタは、パラメタ属性が「除外」以外のパラメタである。以下、パラメタ属性が「除外」以外の使用パラメタを、「候補パラメタ」という。
続いて、図24のステップS117の詳細について説明する。図28は、更新情報に基づく関連パラメタの特定処理の処理手順の一例を説明するためのフローチャートである。
ステップS131において、更新頻度算出部132は、標準フローWd及び各カスタムフローWc1〜Wc3の各アクティビティに関して、更新情報記憶部16に記憶されている情報に基づいて、各候補パラメタの更新頻度を算出する。すなわち、標準フローWd及び各カスタムフローWc1〜Wc3のそれぞれに関して、図9を用いて説明した処理が実行される。算出結果は、更新頻度テーブル172に記録される。更新頻度テーブル172は、例えば、計算用テーブル記憶部17に生成される。
例えば、図23のパラメタ値記憶部15に対応する更新情報記憶部16は、図29に示される通りであるとする。図29は、推奨フロー抽出時の更新情報記憶部の状態の一例を示す図である。図29に示される更新情報記憶部16の構成については、図18において説明した通りである。図29では、複数の実行結果に関して更新情報が記憶されている点が、図18と異なる。
例えば、ステップS131では、図29に示される更新情報記憶部16に基づいて、図30に示される更新頻度テーブル172が生成される。
図30は、更新頻度テーブルの具体例を示す図である。図30に示されるように、更新頻度テーブル172は、標準フローWd及びカスタムフローWc1〜Wc3のそれぞれのアクティビティごとに、各パラメタの更新頻度を記憶するテーブルである。
続いて、更新頻度差分算出部133は、更新頻度テーブル172を参照して、カスタムフローWc1〜Wc3のそれぞれのアクティビティごとに、当該アクティビティの各候補パラメタの更新頻度と、標準フローWdにおいて当該アクティビティに対応するアクティビティの各候補パラメタの更新頻度との差分を算出する(S132)。すなわち、カスタムフローWc1〜Wc3のそれぞれに関して、図10を用いて説明した処理が実行される。算出結果は、更新頻度差分テーブル173に記録される。更新頻度差分テーブル173は、例えば、計算用テーブル記憶部17に生成される。
例えば、ステップS132では、図30の更新頻度テーブル172に基づいて、図31に示される更新頻度差分テーブル173が生成される。
図31は、更新頻度差分テーブルの構成例を示す図である。図31に示されるように、更新頻度差分テーブル173は、カスタムフローWc1〜Wc2のそれぞれのアクティビティごとに、当該アクティビティの各候補パラメタの更新頻度と、標準フローWdにおいて当該アクティビティに対応するアクティビティの各候補パラメタの更新頻度との差分を記憶するテーブルである。本実施の形態において、パラメタ1は候補パラメタから除外されたため、図31では、パラメタ2及び3に関して更新頻度の差分が示されている。
続いて、関連パラメタ特定部134は、カスタムフローごとに、当該カスタムフローのカスタムアクティビティより前のアクティビティに関する更新頻度の差分を、更新頻度差分テーブル173より削除する(S133)。
図32は、カスタムアクティビティより前のアクティビティに関する更新頻度の差分の削除例を示す図である。図32において、(1)は、削除前の更新頻度差分テーブル173であり、(2)は、削除後の更新頻度差分テーブル173である。(2)において、カスタムフローWc1(「カスタム1」)に関しては、カスタムアクティビティ1より前のアクティビティ1(図15参照)に関するレコードが削除されている。また、カスタムフローWc2(「カスタム2」)に関しては、カスタムアクティビティ2より前のアクティビティ1及び2(図15参照)に関するレコードが削除されている。また、カスタムフローWc3(「カスタム3」)に関しては、カスタムアクティビティ3より前のアクティビティ1(図15参照)に関するレコードが削除されている。該当するレコードが削除されることにより、以降の処理では、各カスタムフローにおいて、カスタムアクティビティ以降のアクティビティが処理対象とされる。
なお、ステップS133は必ずしも実行されなくてもよい。また、ステップS131の時点から、カスタムフローWc1〜Wc3のそれぞれについて、カスタムアクティビティ以降のアクティビティのみが処理対象とされてもよい。その場合、ステップS133は実行されなくてもよい。
続いて、関連パラメタ特定部134は、ステップS133において削除されなかった更新頻度の差分に基づいて、関連パラメタを特定する(S134)。すなわち、カスタムアクティビティ以降のアクティビティに関する更新頻度の差分に基づいて、関連パラメタが特定される。通常、カスタムフローにおいて、標準フローに対して変化が生じるのは、カスタムアクティビティ以降であると考えられる。したがって、カスタムアクティビティ以降のアクティビティに関する更新頻度の差分が処理対象とされることにより、標準フローに対して変化が生じる部分について、各カスタムアクティビティを比較することができる。
続いて、ステップS131の詳細について説明する。図33は、各ワークフローの各アクティビティに関する各候補パラメタの更新頻度の算出処理の処理手順の一例を説明するためのフローチャートである。図33では、三つのループが入れ子となっている。一番外側のループは、標準フローWd及びカスタムフローWc1〜Wc3ごとのループxである。ループxにおいて処理対象とされているワークフローを、「フロー(x)」という。ループxの一つ内側のループは、フロー(x)に含まれるアクティビティごとのループyである。ループyにおいて処理対象とされているアクティビティを、「アクティビティ(y)」という。最も内側のループは、使用パラメタごとのループzである。ループzにおいて処理対象とされているパラメタを、「パラメタ(z)」という。
ループxにおいて、標準フローWd及びカスタムフローWc1〜Wc3のうちの一つがフロー(x)とされると、更新頻度算出部132は、フロー(x)に対応するレコード群Xを、更新情報記憶部16(図29)より抽出する(S141)。例えば、標準フローWdがフロー(x)である場合、フローIDが「標準」であるレコード群Xが、図29に示される更新情報記憶部16より抽出される。
続いて、ループyにおいて、フロー(x)に含まれるアクティビティのうちの一つがアクティビティ(y)とされると、更新頻度算出部132は、アクティビティ(y)に対応するレコード群Yを、レコード群Xより抽出する(S142)。
続いて、ループzにおいて、使用パラメタのうちの一つがパラメタ(z)とされると、更新頻度算出部132は、パラメタ(z)のパラメタ属性の値が「除外」であるか否かを、パラメタ属性テーブル171(図27)を参照して判定する(S143)。パラメタ(z)のパラメタ属性の値が「除外」でない場合(S143でYes)、更新頻度算出部132は、パラメタ(z)に関して、レコード群Yに含まれる各レコードに対して記憶されている値(「1」又は「0」)の総和を算出する(S144)。
続いて、更新頻度算出部132は、算出された総和を、レコード群Yに含まれるレコード数によって除することにより、パラメタ(z)の更新頻度を算出する(S145)。続いて、更新頻度算出部132は、算出された更新頻度を、更新頻度テーブル172(図30)において、フロー(x)及びアクティビティ(y)に対応するレコードの、パラメタ(z)に対応する項目に記録する(S146)。
一方、パラメタ(z)のパラメタ属性の値が「除外」である場合(S143でNo)、ステップS144〜S146は実行されない。
上記の処理が、各ワークフローの各アクティビティの各使用パラメタに関して実行されることにより、図30に示される更新頻度テーブル172が完成する。
続いて、図28のステップS132の詳細について説明する。図34は、各カスタムフローの各候補パラメタの更新頻度と標準フローの各候補パラメタの更新頻度との差分の算出処理の一例を説明するためのフローチャートである。図34では、三つのループが入れ子となっている。一番外側のループは、カスタムフローWc1〜Wc3ごとのループxである。ループxにおいて処理対象とされているカスタムフローを、「カスタムフロー(x)」という。ループxの一つ内側のループは、カスタムフロー(x)に含まれるアクティビティごとのループyである。ループyにおいて処理対象とされているアクティビティを、「アクティビティ(y)」という。最も内側のループは、候補パラメタごとのループzである。ループzにおいて処理対象とされているパラメタを、「パラメタ(z)」という。
ループxにおいて、カスタムフローWc1〜Wc3のうちの一つがカスタムフロー(x)とされると、更新頻度差分算出部133は、カスタムフロー(x)に対応するレコード群Xを、更新頻度テーブル172(図30)より抽出する(S151)。例えば、カスタムフローWc1がカスタムフロー(x)である場合、フローIDが「カスタム1」であるレコード群Xが、図30に示される更新頻度テーブル172より抽出される。
続いて、ループyにおいて、カスタムフロー(x)に含まれるアクティビティのうちの一つがアクティビティ(y)とされると、更新頻度差分算出部133は、アクティビティ(y)に対応するレコードY1を、レコード群Xより抽出する(S152)。続いて、更新頻度差分算出部133は、標準フローWdに関して、アクティビティ(y)に対応するレコードY2を、更新頻度テーブル172(図30)より抽出する(S153)。例えば、アクティビティ1がアクティビティ(y)である場合、標準フローのアクティビティ1に対するレコードが、レコードY2として抽出される。なお、アクティビティ(y)が、カスタムアクティビティである場合、標準フローには対応するアクティビティは無い。したがって、この場合、ステップS153では、レコードY2は抽出されない。
続いて、ループzにおいて、候補パラメタのうちの一つがパラメタ(z)とされると、更新頻度差分算出部133は、レコードY1におけるパラメタ(z)の更新頻度から、レコードY2におけるパラメタ(z)の更新頻度を減算する(S154)。減算結果が、更新頻度の差分である。なお、レコードY2が抽出されていない場合、レコードY1におけるパラメタ(z)の更新頻度が、そのままステップS154の更新頻度の差分となる。
続いて、更新頻度差分算出部133は、算出された更新頻度の差分を、更新頻度差分テーブル173(図31)において、カスタムフロー(x)及びアクティビティ(y)に対応するレコードの、パラメタ(z)に対応する項目に記録する(S155)。
上記の処理が、各カスタムワークフローの各アクティビティの各候補パラメタに関して実行されることで、図31に示される更新頻度差分テーブル173が完成する。
続いて、図28のステップS133の詳細について説明する。図35は、カスタムアクティビティより前のアクティビティに関する更新頻度の差分の削除処理の一例を説明するためのフローチャートである。図35では、二つのループが入れ子となっている。外側のループは、カスタムフローWc1〜Wc3ごとのループxである。ループxにおいて処理対象とされているカスタムフローを、「カスタムフロー(x)」という。内側のループは、カスタムフロー(x)に含まれるアクティビティごとのループyである。ループyにおいて処理対象とされているアクティビティを、「アクティビティ(y)」という。
ループxにおいて、カスタムフローWc1〜Wc3のうちの一つがカスタムフロー(x)とされると、関連パラメタ特定部134は、カスタムフロー(x)に対応するレコード群Xを、更新頻度差分テーブル173(図31)より抽出する(S161)。
続いて、ループyにおいて、カスタムフロー(x)に含まれるアクティビティのうちの一つがアクティビティ(y)とされると、関連パラメタ特定部134は、アクティビティ(y)に対応するレコードY1を、レコード群Xより抽出する(S162)。続いて、関連パラメタ特定部134は、アクティビティ(y)が、カスタムフロー(x)におけるいずれかのカスタムアクティビティより前に実行されるアクティビティであるか否かを判定する(S163)。各アクティビティの実行順序については、更新頻度差分テーブル173を参照することにより判定されてもよい。本実施の形態において、更新頻度差分テーブル173には、アクティビティの実行順にレコードが記憶されるからである。又は、フロー(x)の定義がワークフロー管理装置20より取得され、当該定義に基づいて、アクティビティ(y)といずれかのカスタムアクティビティとの前後関係が判定されてもよい。
アクティビティ(y)が、いずれかのカスタムアクティビティより前に実行されるアクティビティである場合(S163でYes)、関連パラメタ特定部134は、レコードY1を、更新頻度差分テーブル173より削除する(S164)。一方、アクティビティ(y)が、カスタムアクティビティである場合、又はカスタムアクティビティより後に実行されるアクティビティである場合(S163でNo)、ステップS164は実行されない。
上記の処理が、各カスタムワークフローの各アクティビティに関して実行されることで、更新頻度差分テーブル173は、図32の(2)に示されるように更新される。
続いて、図28のステップS134の詳細について説明する。図36は、更新頻度の差分に基づく関連パラメタの特定処理の処理手順の一例を説明するためのフローチャートである。
ステップS171において、関連パラメタ特定部134は、アクティビティ単位の更新頻度の差分の絶対値の平均を算出する(S171)。
図37は、アクティビティ単位の更新頻度の差分の絶対値の平均の算出例を示す図である。図37において、(1)は、図32の(2)の更新頻度差分テーブル173を、アクティビティを基準としてソートしたものである。図37の(2)は、アクティビティ単位の更新頻度の差分の平均の算出結果が記録される平均更新頻度差分テーブル174である。平均更新頻度差分テーブル174は、例えば、計算用テーブル記憶部17に生成される。
図37では、アクティビティ2に関するパラメタ3と、アクティビティ3に関するパラメタ2とに関して、更新頻度の差分の絶対値の平均の算出例が示されている。例えば、前者に関しては、全てのカスタムフローのアクティビティ2に関してパラメタ3の更新頻度の差分として記憶されている値の絶対値の平均が算出される。また、後者に関しては、全てのカスタムフローのアクティビティ3に関してパラメタ2の更新頻度の差分として記憶されている値の絶対値の平均が算出される。すなわち、アクティビティ単位の更新頻度の差分の平均とは、同一のアクティビティごとの、各候補パラメタの更新頻度の差分の絶対値の平均をいう。以下、更新頻度の差分の絶対値の平均を、「平均更新頻度差分」という。
続いて、関連パラメタ特定部134は、候補パラメタごとに、平均更新頻度差分の総和を算出する(S172)。
図38は、候補パラメタごとの平均更新頻度差分の総和の算出例を示す図である。図38では、パラメタ3に関して、平均更新頻度差分の総和の算出例が示されている。図38に示されるように、パラメタ3に関して、全てのアクティビティに対して平均更新頻度差分テーブル174に記憶されている平均更新頻度差分の総和が算出される。パラメタ2についても、同様に、平均更新頻度差分の総和が算出される。図38に示されるように、算出結果は、平均更新頻度差分総和テーブル175に記録される。平均更新頻度差分総和テーブル175は、例えば、計算用テーブル記憶部17に生成される。
続いて、関連パラメタ特定部134は、平均更新頻度差分総和テーブル175に記憶されている平均更新頻度差分の総和が最大である候補パラメタに関して、パラメタ属性テーブル171に記憶されているパラメタ属性の値を「関連」に更新する(S173)。
図39は、パラメタ属性テーブルの第二の更新例を示す図である。図38の例では、パラメタ3に対する値が最大である。したがって、図39では、パラメタ3のパラメタ属性が「関連」に更新された例が示されている。パラメタ属性が「関連」に更新されたということは、当該パラメタが、関連パラメタとして特定されたことを意味する。なお、パラメタ属性が「関連」に更新されるパラメタは、平均更新頻度差分の総和が最大であるパラメタに限定されなくてもよい。例えば、平均更新頻度差分の総和が上位からN番目若しくは上位M割に含まれる一以上のパラメタ、又は当該総和が所定値以上である一以上のパラメタに関して、パラメタ属性が「関連」に更新されてもよい。すなわち、関連パラメタとして特定されるパラメタは、複数であってもよい。
続いて、図36のステップS171の詳細について説明する。図40は、アクティビティ単位の平均更新頻度差分の算出処理の処理手順の一例を説明するためのフローチャートである。図40では、二つのループが入れ子となっている。外側のループは、カスタムフローWc1〜Wc3に含まれるアクティビティ単位のループyである。複数のカスタムフローにおいて共通するアクティビティ(アクティビティ1〜3等)ごとに、1回のループ処理が実行される。すなわち、同じアクティビティに関して、カスタムフローごとにループ処理は実行されない。ループyにおいて処理対象とされているアクティビティを、「アクティビティ(y)」という。内側のループは、候補パラメタごとのループzである。ループzにおいて処理対象とされているパラメタを、「パラメタ(z)」という。
ループyにおいて、いずれかのアクティビティがアクティビティ(y)とされると、関連パラメタ特定部134は、アクティビティ(y)に対応するレコード群Yを、更新頻度差分テーブル173(図31)より抽出する(S181)。抽出元は、特定のカスタムフローのレコードに限定されない。
続いて、ループzにおいて、いずれかの候補パラメタがパラメタ(z)とされると、関連パラメタ特定部134は、レコード群Yに含まれている各レコードに記憶されている、パラメタ(z)に対応する更新頻度の差分の総和を算出する(S182)。続いて、関連パラメタ特定部134は、算出された総和を、レコード群Yのレコード数によって除することにより、パラメタ(z)に関して、平均更新頻度差分を算出する(S183)。続いて、関連パラメタ特定部134は、算出された平均更新頻度差分を、平均更新頻度差分テーブル174(図37(2))において、アクティビティ(y)に対応するレコードの、パラメタ(z)の項目に記録する(S184)。
上記の処理が、各アクティビティ及び各候補パラメタについて実行されることにより、図37の(2)に示される平均更新頻度差分テーブル174が完成する。
なお、図37(2)に示される、各平均更新頻度差分の計算例を、以下に示す。
アクティビティ2のパラメタ2の平均更新頻度差分の計算例
(カスタム1+カスタム3)/2=(0+0)/2=0
アクティビティ2のパラメタ3の平均更新頻度差分の計算例
(カスタム1+カスタム3)/2=(0.2+0.7)/2=0.45
アクティビティ3のパラメタ2の平均更新頻度差分の計算例
(カスタム1+カスタム2+カスタム3)/3=(0.1+0+0.1)/3=0.07
アクティビティ3のパラメタ3の平均更新頻度差分の計算例
(カスタム1+カスタム2+カスタム3)/3=(0+0+0)/3=0
カスタムアクティビティ1のパラメタ2の平均更新頻度差分の計算例
(カスタム1)/1=0/1=0
カスタムアクティビティ1のパラメタ3の平均更新頻度差分の計算例
(カスタム1)/1=0/1=0
カスタムアクティビティ2のパラメタ2の平均更新頻度差分の計算例
(カスタム2)/1=0/1=0
カスタムアクティビティ2のパラメタ3の平均更新頻度差分の計算例
(カスタム2)/1=0.3/1=0.3
カスタムアクティビティ3のパラメタ2の平均更新頻度差分の計算例
(カスタム3)/1=0/1=0
カスタムアクティビティ3のパラメタ3の平均更新頻度差分の計算例
(カスタム3)/1=0.9/1=0.9
続いて、図36のステップS172の詳細について説明する。図41は、候補パラメタごとの平均更新頻度差分の総和の算出処理の処理手順の一例を説明するためのフローチャートである。図41では、二つのループが入れ子となっている。外側のループは、候補パラメタごと、すなわち、平均更新頻度差分テーブル174における列ごとのループzである。ループzにおいて処理対象とされているパラメタを「パラメタ(z)」という。内側のループは、アクティビティごと、すなわち、更新頻度差分テーブル173における行ごとのループyである。ループyにおいて処理対象とされているアクティビティを「アクティビティ(y)」という。
ループzにおいて、いずれかの候補パラメタがパラメタ(z)とされると、関連パラメタ特定部134は、パラメタ(z)に関して平均更新頻度差分の総和を記憶するための変数Sの値を0に初期化する(S191)。
続いて、ループzにおいて、いずれかのアクティビティがアクティビティ(y)とされると、関連パラメタ特定部134は、平均更新頻度差分テーブル174(図38)において、アクティビティ(y)に対するパラメタ(z)の値を変数Sに加算する(S192)。ステップS192が、平均更新頻度差分テーブル174における全てのアクティビティ(すなわち、全てのレコード)に関して行われると、関連パラメタ特定部134は、変数Sの値を、平均更新頻度差分総和テーブル175(図38)において、パラメタ(z)に対応する項目に記録する(S193)。
上記の処理が、全ての候補パラメタについて実行されことにより、図38に示される平均更新頻度差分総和テーブル175が完成する。
なお、図38に示される、各平均更新頻度の差分の計算例を、以下に示す。
パラメタ2の平均更新頻度の差分の計算例
アクティビティ2+アクティビティ3+カスタムアクティビティ1+カスタムアクティビティ2+カスタムアクティビティ3=0+0.07+0+0+0=0.07
パラメタ3の平均更新頻度の差分の計算例
アクティビティ2+アクティビティ3+カスタムアクティビティ1+カスタムアクティビティ2+カスタムアクティビティ3=0.45+0+0+0.3+0.9=1.65
以上で、図26のステップS103における、関連パラメタの特定処理に関する説明は終了する。続いて、図26のステップS104の詳細について説明する。
図42は、関連パラメタに基づく推奨フローの抽出処理の処理手順の一例を説明するためのフローチャートである。
ステップS201において、関連パラメタ平均算出部135は、標準フローWd及びカスタムフローWc1〜Wc3のそれぞれごとに、パラメタ値記憶部15(図23)に記憶されている関連パラメタの値の平均値を算出する。算出結果は、関連パラメタ平均値テーブル176に記録される。関連パラメタ平均値テーブル176は、例えば、計算用テーブル記憶部17に生成される。なお、関連パラメタ平均算出部135は、例えば、パラメタ属性テーブル171において、パラメタ属性が「関連」であるパラメタを、関連パラメタであると判断する。
図43は、関連パラメタ平均値テーブルの構成例を示す図である。図43に示されるように、関連パラメタ平均値テーブル176は、標準フローWd及びカスタムフローWc1〜Wc3のそれぞれごとに、パラメタ値記憶部15に実行結果ごとに記憶されている関連パラメタの値の平均値を記憶する。当該平均値は、一つの実行結果あたりのパラメタの値であるともいえる。本実施の形態では、パラメタ3が関連パラメタであるため、パラメタ3の平均値が記憶された例が示されている。
続いて、推奨フロー選択部136は、カスタムフローWc1〜Wc3のそれぞれの関連パラメタの平均値と、標準フローWdの関連パラメタの平均値との差分を算出する(S202)。
図44は、各カスタムフローの関連パラメタの平均値と標準フローの関連パラメタの平均値との差分の算出例を示す図である。図44では、カスタムフローWc3(「カスタム3」)に関する差分の算出例が示されている。算出結果は、関連パラメタ平均値差分テーブル177に記録される。関連パラメタ平均値差分テーブル177は、例えば、計算用テーブル記憶部17に生成される。
続いて、推奨フロー選択部136は、関連パラメタ平均値差分テーブル177が記憶する差分値に基づいて、推奨フローを選択する(S203)。後述されるように、差分がプラス方向に最大となるカスタムフロー、マイナス方向に最大となるカスタムフロー、又は差分の絶対値が最大となるカスタムフローが、推奨フローとして選択される。
ここで選択された推奨フローを示す情報が、図14のステップS16において、ワークフロー管理装置20に返信される。但し、例えば、関連パラメタ平均値差分テーブル177の内容が、ワークフロー管理装置20に返信されるようにしてもよい。または、関連パラメタ平均値差分テーブル177に記憶されている差分値に基づいてカスタムフローがソートされた結果が、ワークフロー管理装置20に返信されるようにしてもよい。この場合、ワークフロー管理装置20は、返信された情報を業務端末30に転送し、いずれのワークフローを実行するかをユーザに選択させるようにしてもよい。
続いて、図42のステップS201の詳細について説明する。図45は、ワークフローごとの関連パラメタの平均値の算出処理の処理手順の一例を説明するためのフローチャートである。図45におけるループxは、標準フローWd及びカスタムフローWc1〜Wc3ごとのループである。ループxにおいて処理対象とされているワークフローを、「フロー(x)」という。
ループxにおいて、関連パラメタ平均算出部135は、フロー(x)に対応するレコード群Xを、パラメタ値記憶部15(図23)より抽出する(S211)。例えば、標準フローWdが、フロー(x)である場合、フローIDが「標準」であるレコード群Xが、パラメタ値記憶部15より抽出される。
続いて、関連パラメタ平均算出部135は、レコード群Xに含まれる各レコードの関連パラメタの値の総和を算出する(S212)。続いて、関連パラメタ平均算出部135は、算出された総和を、レコード群Xに含まれるレコードの数で除することにより、関連パラメタの値の平均値を算出する(S213)。
続いて、関連パラメタ平均算出部135は、算出された平均値を、関連パラメタ平均値テーブル176(図43)において、フロー(x)に対応するレコードに記録する(S214)。
上記の処理が、各ワークフローに関して実行されることにより、図43に示される関連パラメタ平均値テーブル176が完成する。
続いて、図42のステップS202の詳細について説明する。図46は、各カスタムフローの関連パラメタの平均値と標準フローの関連パラメタの平均値との差分の算出処理の処理手順の一例を説明するためのフローチャートである。図46におけるループxは、カスタムフローWc1〜Wc3ごとのループである。ループxにおいて処理対象とされているカスタムフローを、「カスタムフロー(x)」という。
ループxにおいて、推奨フロー選択部136は、カスタムフロー(x)の関連パラメタの平均値から、標準フローWdの関連パラメタの平均値を減算することにより、二つの平均値の差分を算出する(S221)。なお、二つの平均値は、関連パラメタ平均値テーブル176(図43)より取得される。
続いて、推奨フロー選択部136は、差分の算出結果を、関連パラメタ平均値差分テーブル177(図44)において、カスタムフロー(x)に対応するレコードに記録する(S222)。
上記の処理が、各カスタムフローに関して実行されることにより、図44に示される関連パラメタ平均値差分テーブル177が完成する。
続いて、図42のステップS203の詳細について説明する。図47は、関連パラメタの差分に基づく推奨フローの選択処理の処理手順の第一の例を説明するためのフローチャートである。
ステップS231において、推奨フロー選択部136は、変数minus_max及び変数plus_maxのそれぞれに対し、初期値として0を代入する。変数minus_maxは、関連パラメタ平均値差分テーブル177(図44)に記憶されている差分値(以下、単に「差分値」という。)のうち、マイナス方向に最大である値を記憶するための変数である。変数plus_maxは、差分値のうち、プラス方向に最大である値を記憶するための変数である。
続いて、推奨フロー選択部136は、ループxを実行する。ループxは、関連パラメタ平均値差分テーブル177(図44)におけるカスタムフローごとのループである。ループxにおいて処理対象とされているカスタムフローを、「カスタムフロー(x)」という。
ループxにおいて、推奨フロー選択部136は、カスタムフロー(x)の差分値が0以上であるか否かを判定する(S232)。当該差分値が0以上である場合(S232でYes)、推奨フロー選択部136は、当該差分値と変数plus_maxとを比較する(S233)。当該差分値の方が大きい場合(S233でYes)、推奨フロー選択部136は、変数plus_maxに当該差分値を代入する(S234)。
一方、当該差分値が0未満である場合(S232でNo)、推奨フロー選択部136は、当該差分値と変数minus_maxとを比較する(S235)。当該差分値の方が小さい場合(S235でYes)、推奨フロー選択部136は、変数minus_maxに当該差分値を代入する(S236)。
ループxが終了すると、推奨フロー選択部136は、変数plus_max又は変数minus_maxに差分値が一致するカスタムフローを、推奨フローとして選択する(S237)。
すなわち、図47の処理は、差分値がプラス方向に最大となるカスタムフロー、又は差分値がマイナス方向に最大となるカスタムフローを、推奨フローとして選択する場合の処理手順の一例を示すものである。なお、プラス方向又はマイナス方向における差分値が、上位N個のカスタムフローが推奨フローとして選択されてもよい。
また、図48は、関連パラメタの差分に基づく推奨フローの選択処理の処理手順の第二の例を説明するためのフローチャートである。
ステップS241において、推奨フロー選択部136は、変数maxに、初期値として0を代入する。変数maxは、関連パラメタ平均値差分テーブル177(図44)に記憶されている差分値(以下、単に「差分値」という。)のうち、絶対値が最大である値を記憶するための変数である。
続いて、推奨フロー選択部136は、ループxを実行する。ループxは、関連パラメタ平均値差分テーブル177(図44)におけるカスタムフローごとのループである。ループxにおいて処理対象とされているカスタムフローを、「カスタムフロー(x)」という。
ループxにおいて、推奨フロー選択部136は、カスタムフロー(x)の差分値の絶対値と変数maxとを比較する(S242)。当該差分値の絶対値の方が大きい場合(S243でYes)、推奨フロー選択部136は、変数maxに当該差分値の絶対値を代入する(S243)。
ループxが終了すると、推奨フロー選択部136は、差分値の絶対値が変数maxに一致するカスタムフローを、推奨フローとして選択する(S244)。
すなわち、図47の処理は、差分値の絶対値が最大となるカスタムフローを、推奨フローとして選択する場合の処理手順の一例を示すものである。なお、差分値の絶対値が、上位N個のカスタムフローが推奨フローとして選択されてもよい。
ところで、上記では、ワークフロー管理装置20からのワークフローの抽出要求にパラメタ属性情報が指定されている場合については、具体例は示されていない。そこで、以下に、ワークフローの抽出要求にパラメタ属性情報が指定されている場合の具体例を示す。なお、処理対象となるワークフローは、上記と同様に、標準フローWd及びカスタムフローWc1〜Wc3である。また、推奨フロー抽出時におけるパラメタ値記憶部15及び更新情報記憶部16の状態は、図23又は図29に示される通りであるとする。したがって、上記と共通する点についての説明は省略する。
例えば、図24のステップS112において、図49に示されるようなパラメタ属性情報が抽出される。
図49は、ワークフローの抽出要求に指定されるパラメタ属性情報の例を示す図である。図49では、パラメタ1に関して「候補」が指定されている例が示されている。
したがって、パラメタ除外部131は、ステップS114において、パラメタ属性情報の内容に基づいて、パラメタ属性テーブル171を、図50に示されるように更新する(S114)。
図50は、パラメタ属性情報に基づくパラメタ属性テーブルの更新例を示す図である。図50では、図49に示されるパラメタ属性情報に基づいて、パラメタ1のパラメタ属性が「候補」に更新された例が示されている。
したがって、図26のステップS123において、パラメタ1のパラメタ属性に関して、「除外」への更新は行われない。よって、図33の処理において、パラメタ1に関してもステップS144〜S146が実行される。その結果、図33の処理によって生成される更新頻度テーブル172は、例えば、図51に示される通りとなる。
図51は、更新頻度テーブルの第二の具体例を示す図である。図51に示される更新頻度テーブル172には、パラメタ1に関しても、更新頻度の算出結果が記憶されている。
図34の処理においては、図51に示される更新頻度テーブル172に基づいて、図52に示されるような更新頻度差分テーブル173が生成される。
図52は、更新頻度差分テーブルの第二の具体例を示す図である。図52に示されるように、パラメタ1に関しても、更新頻度の差分が算出される。
図35の処理によって、各カスタムフローに関してカスタムアクティビティより前のレコードが削除されることにより、図52に示される更新頻度差分テーブル173は、図53に示されるように更新される。
図53は、カスタムアクティビティより前のアクティビティに関する更新頻度の差分の第二の削除例を示す図である。図53において削除されたレコードは、図32に示した例と同じである。
図53に示される更新頻度差分テーブル173に基づいて、図40の処理が実行されることにより、アクティビティ単位の平均更新頻度差分が算出され、図54に示されるような平均更新頻度差分テーブル174が生成される。
図54は、平均更新頻度差分テーブルの第二の具体例を示す図である。図54に示される平均更新頻度差分テーブル174には、パラメタ1に関しても、平均更新頻度差分が記憶される。
図54に示される平均更新頻度差分テーブル174に基づいて、図41の処理が実行されることにより、候補パラメタごとの平均更新頻度差分の総和が算出され、図55に示されるような平均更新頻度差分総和テーブル175が生成される。
図55は、平均更新頻度差分総和テーブルの第二の具体例を示す図である。図54に示される平均更新頻度差分総和テーブル175には、パラメタ1に関しても、平均更新頻度差分の総和が記憶される。
図54に示される平均更新頻度差分総和テーブル175に基づいて、図36のステップS173が実行されることにより、パラメタ3に関して、パラメタ属性テーブル171のパラメタ属性の値が「関連」に更新される。その結果、パラメタ属性テーブル171の状態は、図56に示されるようになる。
図56は、平均更新頻度差分総和テーブルの第二の具体例に基づくパラメタ属性テーブルの更新例を示す図である。図56に示されるパラメタ属性テーブル171では、パラメタ3のパラメタ属性が「関連」に更新されている。
その結果、図22のステップS104では、パラメタ3が関連パラメタとされて、推奨フローの抽出処理が実行される。したがって、既に示した具体例と同様の処理が実行される。
上述したように、本実施の形態では、目的達成度に関連の深い関連パラメタが特定され、関連パラメタに関して標準フローとの差分が相対的に大きいカスタムフローが、推奨フローとして抽出される。関連パラメタに関して標準フローとの差分が相対的に大きいカスタムフローは、目標達成度の変化が相対的に大きくなる傾向にあるカスタムフローである可能性が高い。したがって、本実施の形態によれば、同じ目的を達成しようとするカスタムフローの中から、利用価値の高いカスタムフローを抽出できる可能性を高めることができる。
利用価値の高いカスタムフローが抽出されることで、ユーザの業務プロセスの品質が向上を期待することもできる。例えば、営業活動に対する業務プロセスに対するワークフローについて、標準のフローを使用した場合の売上平均単価が1000万円で、カスタムフローを使用した場合の売上平均単価が1200万円であったとする。営業部員が20人いて、カスタマイズした一人しかカスタムフローを使用しない場合、部員全員の平均売上金額の合計は2億200万円になる。一方、当該カスタムフローが推奨フローとして抽出され、部員全員が当該カスタムフローを使用した場合、部員全員の平均売上金額の合計は2億4000万円となる。その結果、当該カスタムフローが抽出されない場合に比べて、3800万円の売上向上につながる。
なお、標準フローとカスタムフローとの関係は相対的なものである。したがって、或るカスタムフローを更にカスタマイズしたカスタムフローの集合に関して、本実施の形態が適用されてもよい。
なお、本実施の形態において、更新情報記憶部16は、第一の記憶部の一例である。パラメタ値記憶部15は、第二の記憶部の一例である。更新頻度算出部132は、算出部の一例である。関連パラメタ平均算出部135及び推奨フロー選択部136は、第二の抽出部の一例である。更新頻度差分算出部133及び関連パラメタ特定部134は、第一の抽出部の一例である。
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
以上の説明に関し、更に以下の項を開示する。
(付記1)
コンピュータに、
第一のワークフローと、それぞれが前記第一のワークフローに一以上のアクティビティが追加された複数の第二のワークフローとが使用する複数のパラメタのそれぞれについて、前記第一のワークフロー及び前記第二のワークフローのそれぞれの実行結果ごとの、該ワークフローの各アクティビティによる更新の有無に基づいて、前記ワークフローごとに、各アクティビティによる更新頻度を算出し、
前記複数のパラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記複数のパラメタより第一のパラメタを抽出し、
前記第一のワークフローの終了時の前記第一のパラメタの値と、前記複数の第二のワークフローのそれぞれの終了時の前記第一のパラメタの値との差分に基づき、前記複数の第二のワークフローの中からいずれかの前記第二のワークフローを抽出する、
処理を実行させることを特徴とするワークフロー抽出プログラム。
(付記2)
前記第一のパラメタを抽出する処理は、前記複数の第二のワークフローにおいて追加されたアクティビティ以降のアクティビティにおける、前記複数のパラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記複数のパラメタより前記第一のパラメタを抽出する付記1記載のワークフロー抽出プログラム。
(付記3)
前記第一のパラメタを抽出する処理は、前記複数のパラメタの中で、前記第一のワークフローの実行結果ごとの終了時の値と、前記複数の第二のワークフローそれぞれの実行結果ごとの終了時の値とが一様分布又は一意であるパラメタ以外の前記パラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記第一のパラメタを抽出する付記1又は2記載のワークフロー抽出プログラム。
(付記4)
前記第一のパラメタを抽出する処理は、
前記複数のパラメタのそれぞれに関して、前記第一のワークフローのアクティビティによる前記更新頻度と、前記複数の第二のワークフローのそれぞれのアクティビティによる前記更新頻度との差分を算出し、
前記複数の第二のワークフローのそれぞれにおいて、同一のアクティビティごとに、前記各パラメタについて、前記差分の平均値を算出し、
前記パラメタごとに、前記差分の平均値の総和を算出し、
前記総和が最大のパラメタを前記第一のパラメタとして特定する付記1乃至3いずれか一項記載のワークフロー抽出プログラム。
(付記5)
コンピュータが、
第一のワークフローと、それぞれが前記第一のワークフローに一以上のアクティビティが追加された複数の第二のワークフローとが使用する複数のパラメタのそれぞれについて、前記第一のワークフロー及び前記第二のワークフローのそれぞれの実行結果ごとの、該ワークフローの各アクティビティによる更新の有無に基づいて、前記ワークフローごとに、各アクティビティによる更新頻度を算出し、
前記複数のパラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記複数のパラメタより第一のパラメタを抽出し、
前記第一のワークフローの終了時の前記第一のパラメタの値と、前記複数の第二のワークフローのそれぞれの終了時の前記第一のパラメタの値との差分に基づき、前記複数の第二のワークフローの中からいずれかの前記第二のワークフローを抽出する、
処理を実行することを特徴とするワークフロー抽出方法。
(付記6)
前記第一のパラメタを抽出する処理は、前記複数の第二のワークフローにおいて追加されたアクティビティ以降のアクティビティにおける、前記複数のパラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記複数のパラメタより前記第一のパラメタを抽出する付記5記載のワークフロー抽出方法。
(付記7)
前記第一のパラメタを抽出する処理は、前記複数のパラメタの中で、前記第一のワークフローの実行結果ごとの終了時の値と、前記複数の第二のワークフローそれぞれの実行結果ごとの終了時の値とが一様分布又は一意であるパラメタ以外の前記パラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記第一のパラメタを抽出する付記5又は6記載のワークフロー抽出方法。
(付記8)
前記第一のパラメタを抽出する処理は、
前記複数のパラメタのそれぞれに関して、前記第一のワークフローのアクティビティによる前記更新頻度と、前記複数の第二のワークフローのそれぞれのアクティビティによる前記更新頻度との差分を算出し、
前記複数の第二のワークフローのそれぞれにおいて、同一のアクティビティごとに、前記各パラメタについて、前記差分の平均値を算出し、
前記パラメタごとに、前記差分の平均値の総和を算出し、
前記総和が最大のパラメタを前記第一のパラメタとして特定する付記5乃至7いずれか一項記載のワークフロー抽出方法。
(付記9)
第一のワークフローと、それぞれが前記第一のワークフローに一以上のアクティビティが追加された複数の第二のワークフローとが使用する複数のパラメタのそれぞれについて、前記第一のワークフロー及び前記第二のワークフローのそれぞれの実行結果ごとの、該ワークフローの各アクティビティによる更新の有無に基づいて、前記ワークフローごとに、各アクティビティによる更新頻度を算出する算出部と、
前記複数のパラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記複数のパラメタより前記第一のパラメタを抽出する第一の抽出部と、
前記第一のワークフローの終了時の前記第一のパラメタの値と、前記複数の第二のワークフローのそれぞれの終了時の前記第一のパラメタの値との差分に基づき、前記複数の第二のワークフローの中からいずれかの前記第二のワークフローを抽出する第二の抽出部とを有することを特徴とするワークフロー抽出装置。
(付記10)
前記第一の抽出部は、前記複数の第二のワークフローにおいて追加されたアクティビティ以降のアクティビティにおける、前記複数のパラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記複数のパラメタより前記第一のパラメタを抽出する付記9記載のワークフロー抽出装置。
(付記11)
前記第一の抽出部は、前記複数のパラメタの中で、前記第一のワークフローの実行結果ごとの終了時の値と、前記複数の第二のワークフローそれぞれの実行結果ごとの終了時の値とが一様分布又は一意であるパラメタ以外の前記パラメタのそれぞれに関する、前記第一のワークフローにおける更新頻度と、前記複数の第二のワークフローにおける更新頻度との差分に基づき、前記第一のパラメタを抽出する付記9又は10記載のワークフロー抽出装置。
(付記12)
前記第一の抽出部は、
前記複数のパラメタのそれぞれに関して、前記第一のワークフローのアクティビティによる前記更新頻度と、前記複数の第二のワークフローのそれぞれのアクティビティによる前記更新頻度との差分を算出し、
前記複数の第二のワークフローのそれぞれにおいて、同一のアクティビティごとに、前記各パラメタについて、前記差分の平均値を算出し、
前記パラメタごとに、前記差分の平均値の総和を算出し、
前記総和が最大のパラメタを前記第一のパラメタとして特定する付記9乃至11いずれか一項記載のワークフロー抽出装置。