(57)【要約】【課題】業務システムによって得られたシステムレベルの処理の実行履歴を業務レベルの処理の実行履歴に変換すること。【解決手段】業務レベルの処理毎に当該処理中に上位業務システムおよび下位業務システムで行われるシステムレベルの処理によって発生するイベントの発生規則であるイベントパターンを記述したイベントパターン定義を基に、上位業務システムにおける所定の変換対象案件に対応するイベント列からイベントパターン遷移モデルを作成し（ｓ２，ｓ３，ｓ４）、前記作成したイベントパターン遷移モデルに対して、下位業務システムにおける前記所定の変換対象案件に対応するイベント列の生成コストが最小となる状態列を算出し（ｓ５，ｓ６）、前記イベントパターン遷移モデル、下位業務システムのイベント列および状態列を基に業務レベルの処理の業務履歴を作成する（ｓ７）。【選択図】図１８
2008217656.tif 000002
【特許請求の範囲】
【請求項１】
処理の進め方を表した業務プロセスに合わせて処理の実行を支援する業務システムを用いて業務を行った際に当該業務システムによって得られたシステムレベルの処理の実行履歴を業務レベルの処理の実行履歴に変換する方法であって、
業務システムのうち業務担当者が直接操作する業務システムである上位業務システムで行われたシステムレベルの個々の処理の実行履歴であるイベントを、少なくともその種別、処理の対象となった案件およびその発生順序を識別可能な形式で保持する上位業務システム履歴データベースと、業務システムのうち前記上位業務システムから呼び出される業務システムである下位業務システムで行われたシステムレベルの個々の処理の実行履歴であるイベントを、少なくともその種別、処理の対象となった案件およびその発生順序を識別可能な形式で保持する下位業務システム履歴データベースと、業務レベルの処理毎に当該処理中に上位業務システムおよび下位業務システムで行われるシステムレベルの処理によって発生するイベントの発生規則であるイベントパターンを記述したイベントパターン定義を少なくとも保持する業務システム知識データベースとを備えたコンピュータを用い、
当該コンピュータは、
業務システム知識データベースに保持されたイベントパターン定義を基に、上位業務システム履歴データベースに保持された上位業務システムにおける所定の変換対象案件に対応するイベント列から、イベントパターン間の遷移モデルを作成するイベントパターン遷移モデル作成工程と、
前記作成したイベントパターン遷移モデルに対して、下位業務システム履歴データベースに保持された下位業務システムにおける前記所定の変換対象案件に対応するイベント列の生成コストが最小となる状態列を算出する最小コスト状態列算出工程と、
前記イベントパターン遷移モデル、下位業務システムのイベント列および状態列を基に業務レベルの処理の実行履歴を作成する業務履歴作成・保存工程とを実行する
ことを特徴とする処理履歴変換方法。
【請求項２】
イベントパターン遷移モデル作成工程は、
業務システム知識データベースに保持されたイベントパターン定義から、上位業務システム履歴データベースに保持された上位業務システムにおける所定の変換対象案件に対応するイベント列の一部と合致する候補を特定し、そのイベントパターンを作成するイベントパターン作成工程と、
業務システム知識データベースに保持されたイベントパターン遷移コスト定義を基に、前記作成したイベントパターン間の遷移の可否とコストを設定する遷移可否・コスト設定工程と、
業務システム知識データベースに保持されたイベントパターン定義を基に、前記作成したイベントパターンのうち、その定義において下位業務システムで発生するイベントの種別と順序が明確に指定されているイベントパターンをイベント遷移モデルに置き換えるイベントパターン置換工程とからなる
ことを特徴とする請求項１記載の処理履歴変換方法。
【請求項３】
最小コスト状態列算出工程は、
下位業務システムのイベント列の生成過程を、離散的な時刻カウンタｔが１増加する度に、前記作成したイベントパターン遷移モデルに従ってイベントパターン間を遷移し、その度に遷移先のイベントパターン定義に従ってイベントが発生したとみなして、下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されるように各時刻ｔにおいてどのイベントパターンからどのイベントを出力したかという状態を求める
ことを特徴とする請求項１記載の処理履歴変換方法。
【請求項４】
下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されるように各時刻ｔにおいてどのイベントパターンからどのイベントを出力したかという状態を求める際に、前記設定されたイベントパターン間の遷移コストおよび各イベントパターンにおけるイベント発生コストを利用して、また、上位業務システム履歴データベースおよび下位業務システム履歴データベースにイベント発生時刻が記録されている場合はそのイベント発生時刻と下位業務システムのイベントをイベントパターンに割り当てることで決まる上位業務システムおよび下位業務システムのイベントの前後関係とから決定されるコストも利用して、各状態列に対して下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されたときのコストを算出し、そのコストが最小となる状態列を選択する
ことを特徴とする請求項３記載の処理履歴変換方法。
【請求項５】
下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されたときのコストが最小となる状態列を選択する際に、動的計画法を利用して漸化的にコストの最小値とそれを与える状態列を求める
ことを特徴とする請求項４記載の処理履歴変換方法。
【請求項６】
処理の進め方を表した業務プロセスに合わせて処理の実行を支援する業務システムを用いて業務を行った際に当該業務システムによって得られたシステムレベルの処理の実行履歴を業務レベルの処理の実行履歴に変換する装置であって、
業務システムのうち業務担当者が直接操作する業務システムである上位業務システムで行われたシステムレベルの個々の処理の実行履歴であるイベントを、少なくともその種別、処理の対象となった案件およびその発生順序を識別可能な形式で保持する上位業務システム履歴データベースと、
業務システムのうち前記上位業務システムから呼び出される業務システムである下位業務システムで行われたシステムレベルの個々の処理の実行履歴であるイベントを、少なくともその種別、処理の対象となった案件およびその発生順序を識別可能な形式で保持する下位業務システム履歴データベースと、
業務レベルの処理毎に当該処理中に上位業務システムおよび下位業務システムで行われるシステムレベルの処理によって発生するイベントの発生規則であるイベントパターンを記述したイベントパターン定義を少なくとも保持する業務システム知識データベースと、
業務システム知識データベースに保持されたイベントパターン定義を基に、上位業務システム履歴データベースに保持された上位業務システムにおける所定の変換対象案件に対応するイベント列から、イベントパターン間の遷移モデルを作成するイベントパターン遷移モデル作成手段と、
前記作成したイベントパターン遷移モデルに対して、下位業務システム履歴データベースに保持された下位業務システムにおける前記所定の変換対象案件に対応するイベント列の生成コストが最小となる状態列を算出する最小コスト状態列算出手段と、
前記イベントパターン遷移モデル、下位業務システムのイベント列および状態列を基に業務レベルの処理の実行履歴を作成する業務履歴作成・保存手段とを備えた
ことを特徴とする処理履歴変換装置。
【請求項７】
イベントパターン遷移モデル作成手段は、
業務システム知識データベースに保持されたイベントパターン定義から、上位業務システム履歴データベースに保持された上位業務システムにおける所定の変換対象案件に対応するイベント列の一部と合致する候補を特定し、そのイベントパターンを作成するイベントパターン作成部と、
業務システム知識データベースに保持されたイベントパターン遷移コスト定義を基に、前記作成したイベントパターン間の遷移の可否とコストを設定する遷移可否・コスト設定部と、
業務システム知識データベースに保持されたイベントパターン定義を基に、前記作成したイベントパターンのうち、その定義において下位業務システムで発生するイベントの種別と順序が明確に指定されているイベントパターンをイベント遷移モデルに置き換えるイベントパターン置換部とからなる
ことを特徴とする請求項６記載の処理履歴変換装置。
【請求項８】
下位業務システムのイベント列の生成過程を、離散的な時刻カウンタｔが１増加する度に、前記作成したイベントパターン遷移モデルに従ってイベントパターン間を遷移し、その度に遷移先のイベントパターン定義に従ってイベントが発生したとみなして、下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されるように各時刻ｔにおいてどのイベントパターンからどのイベントを出力したかという状態を求める最小コスト状態列算出手段を備えた
ことを特徴とする請求項６記載の処理履歴変換装置。
【請求項９】
下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されるように各時刻ｔにおいてどのイベントパターンからどのイベントを出力したかという状態を求める際に、前記設定されたイベントパターン間の遷移コストおよび各イベントパターンにおけるイベント発生コストを利用して、また、上位業務システム履歴データベースおよび下位業務システム履歴データベースにイベント発生時刻が記録されている場合はそのイベント発生時刻と下位業務システムのイベントをイベントパターンに割り当てることで決まる上位業務システムおよび下位業務システムのイベントの前後関係とから決定されるコストも利用して、各状態列に対して下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されたときのコストを算出し、そのコストが最小となる状態列を選択する
ことを特徴とする請求項８記載の処理履歴変換装置。
【請求項１０】
下位業務システムにおける所定の変換対象案件に対応するイベント列が生成されたときのコストが最小となる状態列を選択する際に、動的計画法を利用して漸化的にコストの最小値とそれを与える状態列を求める
ことを特徴とする請求項９記載の処理履歴変換装置。
【請求項１１】
コンピュータを、請求項６乃至１０いずれか記載の処理履歴変換装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務システムを用いて業務を行った際に該業務システム上に自動的に残される履歴を利用して、計算機により業務分析を支援する技術に関する。
【背景技術】
【０００２】
企業では、顧客からの注文や社内での決裁、他企業への発注といった案件に対する、見積書の作成や在庫確認、納品日の通知などの様々な処理を行う業務を効率的に行うため、２以上の処理の進め方を表した業務プロセスを作成し、それに合わせて計算機等を利用して個々の処理の実行を支援する業務システムが構築・利用されている。
【０００３】
業務プロセスを常に適切な状態に保ち、また業務システムの有効利用により業務効率を上げるため、業務プロセス管理（Business Process Management：ＢＰＭ）の重要性が認識されている。ＢＰＭでは、現状の業務の状況を把握し、問題点を分析し、その解決案を複数考えた上で、効果的な解決案を選択して実際の業務や業務システムに反映する。ＢＰＭにより大きな効果を得るためには、業務や業務を取り巻く環境の変化に追随できるように、適切な時期に業務と業務システムへフィードバックする必要があり、そのためにはこれらのステップを短期間で継続的に繰り返し実施できなければならない。
【０００４】
しかし、現状の業務状況の把握や問題点の分析といった業務分析は通常、業務担当部署における観察や業務管理者、業務担当者へのインタビューによって行われる。これにはコンサルタントや複数の部署の業務管理者が現場に赴かなければならず、また大勢の現場の業務担当者が協力する必要がある。そのため多くの労力と時間がかかり、ＢＰＭを困難なものにしている。またインタビューされる業務担当者は、それぞれの担当する処理の現状と問題点については良く把握している反面、複数の業務担当者の協働によって実現されている業務プロセス全体に関する問題意識は業務担当者毎に異なることが多く、現場でのインタビューにより客観的な分析を行うことは難しい。
【０００５】
［従来の技術］
従来より、業務分析にかかる労力と時間の削減を目的として、業務システム上に残される業務実行時の履歴から、業務分析を支援する製品や手法が提案されている。業務システムの処理の実行履歴は、実際に行われた処理の実態に即した情報であり、定量的かつ明確に実際の業務の状況を把握し、問題点を分析する上で有益な情報が含まれる。また、業務システムの処理の実行履歴は自動的に蓄積され、人の稼動を必要としない。
【０００６】
近年では、ワークフロー技術を用いて構築された業務システムで行われる業務において、案件の滞積や例外的案件の放置など、発生している問題に対して迅速に対応するため、処理の実施状況や実績をリアルタイムに監視する手法およびツールとしてBusiness Activity Monitering（ＢＡＭ）が知られるようになってきている。また、ワークフロー技術を用いた業務システムだけでなく、分散する複数の業務システムのデータベース中のデータや、それらから出力される実行履歴を活用して、より良い意思決定へとつなげるBusiness Intelligence（ＢＩ）も注目されている。その実現のため、複数の業務システムから得られるデータの形式を変換し、大規模なデータベースに一元的に蓄積し、包括的に分析するためのアーキテクチャも提案されている（非特許文献１，２参照）。多くのＢＡＭやＢＩツールには、ＯＬＡＰやデータマイニング技術が含まれており、データを集計し、平均、分散などの統計値、それらの間の相関関係を求め、グラフや表として分析結果を提示することができる。
【０００７】
また、業務システム履歴の分析手法として、現状の業務状況の把握を支援する手法（非特許文献３，特許文献１参照）や問題点の分析を支援する手法（非特許文献４参照）も検討されている。これらの業務システム履歴の分析手法では、業務システムの履歴において個々の処理の実行履歴が出現する回数や時間間隔を集計する、あるいは処理の実行履歴が出現する順番を調べ、その頻度を算出することで、頻発しているエラーや実行時間の長い処理の特定、あるいは業務における処理の進め方（業務プロセス）の推定、業務プロセスと業務効率の関連性の評価などを実現している。これにより、分析の対象となる業務システム履歴中の処理の実行履歴がそのまま「顧客情報登録」、「在庫確認」、「工事発注」、「納期回答」などの業務レベルの処理に対応している場合には、容易に現状の業務状況の把握や問題点の分析が可能となる。
【特許文献１】特開２００６−３３８２７４号公報
【非特許文献１】M. Sayal, F. Casati, M. C. Shan, and U. Dayal, “Business Process Cockpit”, Proc. of the 28th Intl. Conf. on Very Large Data Bases, pp.880-883, 2002
【非特許文献２】J.-J. Jeng, J. Schiefer and H. Chang, “An Agent-Based Architecture for Analyzing Business Processes of Real-Time Enterprises”, Proc. of the 7th IEEE Intl. Conf. on Enterprise Distributed Object Computing, pp.86-97, 2003
【非特許文献３】宮川慎吾、小笠原志朗、田山健一、丸山勉、山村哲哉、“ワークフロー適用ＯＳＳの履歴情報を活用した光アクセス設備業務のＢＰＲの検討”、信学技報、Vol.2004、No.46、pp.1-6、2004
【非特許文献４】小笠原志朗、増田健、山村哲哉、“ＯＳＳの実行履歴を活用した業務プロセスの問題点分析方法の検討”、信学技報、Vol.2006、No.34、pp.113-118、2006
【非特許文献５】土川公雄、井上晃、増田健、小笠原志朗、山村哲哉、“ＢＰＲの目的に応じたシステムログ情報モデルの検討”、信学技報、Vol.2006、No.357、pp.65-70、2006
【発明の開示】
【発明が解決しようとする課題】
【０００８】
＜システムレベルの処理履歴を使用した分析の課題＞
多くの業務システムでは、開発コスト低減と品質向上のため、「ＤＢ検索」、「メッセージ送信」などの粒度が細かく、汎用的な機能を実現するシステムレベルの処理をコンポーネントとして用意し、それらを様々に組み合わせることで「顧客情報登録」、「注文取消」といった業務レベルの処理を実現している。同一のシステムレベルの処理が、業務レベルでの複数の異なる処理で再利用されることも多い。トラブルシューティングやデバッグの目的で出力される業務システムの履歴には、「顧客情報登録」、「注文取消」などの業務レベルの処理の実行履歴ではなく、システムレベルの処理の実行履歴（イベント）が残されるため、個々のイベントを単独で見ても、業務レベルでどのような処理が行われたかを特定することは困難である。その結果、図１に示すように、例えばイベントの出現回数を集計しても業務レベルでの処理が何回行われたかを把握できるとは限らず、また、イベントをその発生順序に従って並べたイベント列から業務プロセスを推定しても業務システムの挙動が表現されてしまい、そこから業務レベルの処理の進め方を把握することは難しい。そのため、システムレベルの処理の履歴を業務レベルの処理の履歴に変換し、その結果を対象として集計や業務プロセス推定などの履歴分析を行う必要がある。
【０００９】
＜複数の業務システム履歴を利用する場合の課題＞
企業で利用される大規模な業務システムは、多くの業務担当者が同時に作業を行えるようにするため、サーバー・クライアント方式を用いている場合が多い。さらに、市場の需要変化や、新技術の出現に迅速に対応するため、サーバ側の業務システムも、１個の巨大な業務システムで全ての処理を実現するのではなく、顧客管理、サービス管理などの業務の階層の違いや、品質保証、料金請求のような機能の違いに分けて業務システムを構築し、それらを連携して多様な業務レベルの処理を実現している。業務担当者が業務を行う際には、自分の担当部署に配備された業務システムを利用するが、その業務システムは、サーバ側の業務システムや、他の業務システムを呼び出すことで、業務担当者に要求された処理を実現する。
【００１０】
このような構成になっている場合、図２に示すように、業務担当者が直接利用する業務システムを上位（図中ではSys1）、そこから呼び出される業務システムを下位（図中ではSys2）とすると、上位の業務システムの履歴は、下位の業務システムの履歴よりも業務レベルの処理の履歴に近く、そのまま履歴分析を行うことでＢＰＭに有効な結果を得られることが期待できる。しかし、上位の業務システムの履歴には下位の業務システムを呼び出して実現した処理の詳細な情報が残されておらず、処理の成否やその原因も考慮した分析を行うためには、下位の業務システムの各イベントが、上位の業務システムのどのイベントと同じ処理で発生したものであるかを関連付ける必要がある。
【００１１】
また、異なる業務システムに分散して蓄積された履歴を利用する際には、それらを関連付ける前提として、同じ案件に関するイベントを特定し、イベント発生順に並べられる必要がある。しかし、業務システム毎に異なる案件ＩＤで案件を管理していたり、上位の業務システムと下位の業務システムのイベントの発生時刻について、それらが履歴に含まれていない、それらの最小単位が粗過ぎる、あるいは上位と下位の業務システムの時刻がずれているなど（イベント発生時刻の不確実性）の理由により、案件の識別、イベントの発生順序を容易に決定ができない場合がある。
【００１２】
業務システムの開発時には、業務分析の用途に応じて蓄積する履歴を決定するための指針が提案されている（非特許文献５参照）。この指針に従い、業務システム間で案件ＩＤを流通する、時刻やその出力形式を合わせるなどの方法により、抜本的に解決することが望ましい。しかし、実際には、改造コストや運用上の制約によりすぐには解決できない一方で、その時点で入手できる履歴から可能な限りの分析結果が求められることも多い。
【００１３】
＜本発明が解決する課題の範囲と方針＞
≪課題の範囲≫
本発明は、業務担当者に近い上位の業務システムと、そこから呼び出される下位の業務システムとの履歴を業務分析に利用する場合を対象として、両方のシステムレベルの処理の履歴から業務レベルの処理の履歴を得る方法および装置に関するものである。ここで、上位の業務システムと下位の業務システムは、実際には同一の業務システムの端末とサーバであっても構わないし、同一の業務システムのサーバ内における、異なる階層の処理を行うソフトウェア部品であっても構わない。
【００１４】
なお、イベント発生時刻のずれや時刻が利用できない場合などのイベント発生時刻の不確実性については考慮するが、業務システム毎に案件が異なる案件ＩＤで管理されている場合については扱わない。これは、業務システム毎に異なる案件ＩＤを使用し、かつそれらの対応表を履歴分析に利用できない場合、例えばアクセス系設備選定業務であれば各案件でどの設備が利用されるか、顧客は誰であるか、という情報から対応付けられる可能性はあるが、その方法は対象とする業務および業務システムがどのような情報を管理しているかに大きく依存し、一般化が困難なためである。
【００１５】
また、同じ業務システムでは同じ案件に対する処理を同時に行うことはないものとする。これは問題の簡易化のためであるが、並列に実行可能な業務レベルの処理があっても、実際の業務ではそれらが同時に行われることはほとんどないため、現実的な仮定である。
【００１６】
≪方針≫
業務システムの履歴は、システムレベルの処理の実行履歴（イベント）の羅列であり、異なる業務システムのイベント間では実際の発生順序も不確実であるが、業務システムの仕様書に描かれたシーケンス図を参考に、上位の業務システムが提供する機能（≒業務レベルの処理）と、その機能を実現するために行われるシステムレベルの処理や、下位の業務システムでの処理の関係を把握できれば、図３に示すように、人手でイベントを実際の発生順に並び替えるとともに、業務レベルの処理に相当するイベント列を特定できる。しかし、業務分析では個々の案件の業務状況だけでなく、多くの案件に共通する傾向の把握が求められるため、大量の業務システム履歴を対象として分析する必要があり、それら全てに対して人手で業務レベルの処理に相当するイベント列を特定することは困難である。
【００１７】
本発明では、以下のようにすることで、業務システムの仕様書のシーケンス図の情報を利用して、システムレベルの処理履歴から業務レベルの処理に相当するイベント列を自動的に特定し、業務レベルの処理履歴に変換することを目指す。
【００１８】
(I) 分析者が、仕様書のシーケンス図の情報を利用して、各業務レベルの処理の実行中に、上位および下位の業務システムでどのようなシステムレベルの処理がどのように実行されるのかを調査し、それを記述したイベントパターン定義を作成する。
【００１９】
(II)分析対象である上位および下位の業務システム履歴の中から、定義された業務レベルの処理に相当するイベントパターンに合致するイベント列を特定する（イベントのイベントパターンへの割り当て、イベントパターンの抽出）。
【００２０】
＜業務レベルの処理に相当するイベント列の特定手法の要件＞
≪イベントパターンの定義に関する要件≫
業務システムの仕様書は大規模であることが多い。一方、業務システムの履歴分析に多くの時間、労力を費やすことは、業務分析に業務システム履歴を利用する本来の目的と反する。そのため、対象となる業務システムの仕様書を網羅的に調査し、業務レベルの各処理に対応する完璧なイベントパターン定義をそれぞれ用意するのではなく、仕様書の概要からでもある程度の履歴分析が行える必要がある。
【００２１】
特に下位の業務システムで実行される処理やその順番は、業務レベルの処理が同じであっても、個々の案件や業務状況の違いに応じて多様になり得る。そのため、実際の業務で発生する全てのイベントパターンに対応できるように、1 個の業務レベルの処理に対して、下位の業務システムのイベントとその順序を明確に指定したイベントパターン定義を多数用意しておくことは困難である。仕様書の概要から得られる情報からすると不確実な要素を多く含む履歴に対応できるようにするため、下位の業務システムで発生するイベントやその順序を明確にせずにイベントパターンを定義し、イベントパターンを抽出できる必要がある。
【００２２】
≪イベントパターンの抽出に関する要件≫
単純に、上位および下位の業務システムのイベントを履歴中のイベント発生時刻順に並べ、そのイベント列に対して、ある一定の順序で各イベントパターン定義と合致する部分の特定を行ったのでは、必ずしも適切にイベントパターンが抽出されるとは限らない。例えば、図４に示す例では、どのようなイベント列に対しても常に適切にイベントパターンを抽出できるような、イベントパターン定義の調査順序が存在しない。従って、イベント列とイベントパターン定義との局所的な合致、非合致の判断だけではなく、なるべく多くのイベントが、定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるようにする必要がある。
【００２３】
また、同じ業務システム履歴中のイベント同士は、たとえイベント発生時刻が記録されていなくてもイベントが記録されている順序を実際の発生順序とみなして良いが、上位および下位の業務システム履歴において、イベント発生時刻が不確実である場合には、イベントを履歴中のイベント発生時刻順に並べても実際の発生順にできない。定義された業務レベルの処理に相当する適当なイベントパターンと合致するように、記録されているイベント発生時刻の不確実さの範囲でイベントの順序を適宜入れ替える必要がある。上位の業務システムのイベント列の長さをＩ、下位の業務システムのイベント列の長さをＪとすると、上位と下位の業務システムのイベントの並び替え方は最大I+JＣJ＝（Ｉ＋Ｊ）！／（Ｉ！Ｊ！）通りになる。その各々の場合に対してイベントパターンの抽出を行い、最も適切にイベントをイベントパターンに割り当てられる並び替え方と割り当て方を求めることは、現実には不可能である。より現実的な計算量でイベント発生時刻の不確実性に対応できる必要がある。
【課題を解決するための手段】
【００２４】
＜概要＞
下位の業務システムで発生するイベントやその順序を明確に指定せずにイベントパターンを定義し、イベントパターンを抽出できるようにするため、本発明ではイベントパターンの定義において、発生するイベントとその順序を明確に指定するのとは別に、発生するイベントの順序を指定せず、どのようなイベントが発生し得るかのみの指定も行えるようにする。また、どのようなイベントが発生し得るかの指定も、可／否という決定論的なものではなく、そのイベントパターンにおける各イベント種別の発生のし難さをコストとして与え、イベントパターンの抽出時に利用することで、実際の業務で発生する様々なイベント列に対して、イベントパターン定義と合致する部分を特定できるようにする。
【００２５】
本発明において、分析対象である上位および下位の業務システム履歴の中から、業務レベルの処理に相当するイベントパターン定義に合致するイベント列を特定する方法の概略を図５に示す。
【００２６】
本発明では、なるべく多くのイベントが、定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるようにするため、まず上位の業務システムのイベント列を基に候補となるイベントパターン定義を特定し、イベントパターン間の遷移モデルを自動的に作成する。その後、イベント列の生成過程を「離散的な時刻カウンタｔが１増加する度に、イベントパターン遷移モデルに従ってイベントパターン間を遷移し、その度に遷移先のイベントパターンの定義に従って、下位の業務システムのイベントが発生した」と考え、下位の業務システムのイベント列が生成されるように、各時刻ｔにおける状態（どのイベントパターンからどのイベントを出力したか）を求める。
【００２７】
求められた状態をその時刻順に並べた状態列から、下位の業務システムのイベントがどのイベントパターンに割り当てられたかが分かる。また、イベントパターン定義や、そのイベントパターンが上位の業務システムのイベント列のどの部分に由来するのか、ということから、上位の業務システムのどのイベントがそのイベントパターンに割り当てられたのか、上位および下位の業務システムの発生順序がどうなっているのか、も分かる。この結果、イベントパターンとして定義された業務レベルの処理に相当するイベント列を特定できる。
【００２８】
分析対象の下位の業務システムのイベント列を生成する状態列は複数存在し得るが、イベントパターンによってイベント発生コストが異なれば、状態列毎にイベント列の生成コストが異なり、イベントのイベントパターンへの割り当て方を評価できる。さらに定義された業務レベルの処理に相当するイベントパターンに割り当てられないイベントの発生コストを高く設定し、イベント列の生成コストが最小となる状態列を求めることで、イベント列とイベントパターン定義との局所的な合致、非合致にとらわれず、最も多くのイベントが、定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるようなイベントのイベントパターンへの割り当て方が得られる。
【００２９】
なお、各イベントパターンから各イベントが発生するコストとしては、イベントの発生時刻を全く利用できない場合には、そのイベントパターンの定義において分析者によって指定されたコストを用いる。イベントの発生時刻を利用できる場合には、それに加えて、イベントをイベントパターンに割り当てることで決定されるイベントの並び順と、履歴中のイベント発生時刻順が逆転することに対するコストを付加する。但し、このコストを算出する関数は、分析者が指定するものとする。
【００３０】
どちらの場合にもコスト最小の状態列を求める計算は動的計画法により実現できるため、現実的な計算量でイベントパターンを抽出でき、イベント発生時刻の不確実性にも対応できる。
【００３１】
＜詳細な説明＞
本発明では、図６，７，８，９に示すような、イベントパターン定義やその他のパラメータの定義を事前に分析者が作成する。また、上位および下位の業務システム履歴のイベント列において、業務レベルの処理に相当するイベントパターン定義と合致する部分を特定するため、以下の処理を行う。
【００３２】
（ＳＴＥＰ１）
上位の業務システムのイベント列を基に、業務レベルの処理に相当するイベントパターン定義のうち候補となるものを特定する。
【００３３】
（ＳＴＥＰ２）
特定されたイベントパターン間の遷移の可否とコストを設定する。
【００３４】
（ＳＴＥＰ３）
下位の業務システムで発生するイベントとその順序が定義で明確に指定されているイベントパターンに対して、イベントパターンをイベント遷移モデルで置換する。
【００３５】
（ＳＴＥＰ４）
作成されたイベントパターン遷移モデルにおいて、下位の業務システムのイベント列の生成コストが最小となる状態列を求める。
【００３６】
以下ではイベントパターンやその他の定義内容について説明するとともに、各ステップでの処理を明らかにする。
【００３７】
≪候補となるイベントパターン定義の特定≫
本発明の概要で述べたように、上位の業務システムのイベント列を基に、候補となるイベントパターン定義を特定するためには、各イベントパターン定義が上位の業務システムのどのようなイベント列に対して候補となるか、を判定するための適合条件が必要である。ここで、上位の業務システムのイベント列の単純な走査によって候補となるイベントパターン定義を特定できることが望ましい。また、業務レベルの処理に相当する様々な種類のイベントパターンを定義できる必要がある。
【００３８】
本発明では、上位の業務システムのｉ−１番目のイベントａi-1またはｉ番目のイベントａiのみから、候補となるイベントパターン定義を特定できるようにする。そのため、上位の業務システムにおける最大で２個のイベントと、下位の業務システムにおける任意の個数のイベントとによってイベントパターンの最小単位（プリミティブイベントパターン）を構成し、イベントパターンの最初と最後に出現すべき上位の業務システムのイベント種別に関する条件によって適合条件を記述する。図１０は、本発明で使用する４個のプリミティブイベントパターンの種別と、イベントａi-1とａiから候補となるプリミティブイベントパターン定義を特定する方法を示したものである。
【００３９】
業務レベルの処理に相当するイベントパターンが複雑で、１個のプリミティブイベントパターンでは表現できない場合には、パターン種別１〜３のプリミティブパターンの組合せとして扱う。図１１は、複雑なイベントパターンを、複数個のプリミティブイベントパターンの組合せとして定義する方法を示したものである。業務レベルの１個の処理に相当するイベントパターンを複数個のプリミティブイベントパターンに分解して定義する場合には、上位の業務システムのイベントを共有するものとする。また、複雑なイベントパターンを、複数個のプリミティブイベントパターンの組合せとして扱うために、業務レベルの処理に相当するイベントパターンの一部となるプリミティブイベントパターンの定義では、さらに以下を指定する。
【００４０】
・業務処理定義ＩＤ
どの業務レベルの処理に相当するイベントパターンの一部であるかを表す識別子。
【００４１】
・業務処理開始フラグ
業務レベルの処理に相当するイベントパターンの最初になり得るか、つまり異なる業務処理定義ＩＤを有するプリミティブイベントパターンから遷移し得るかを表すフラグ。
【００４２】
・業務処理終了フラグ
業務レベルの処理に相当するイベントパターンの最後になり得るか、つまり異なる業務処理定義ＩＤを有するプリミティブイベントパターンへ遷移し得るかを表すフラグ。
【００４３】
これらは、イベントパターン間の遷移の可否やコストの設定を行う際には、他のイベントパターン間の遷移と区別するのに使用し、業務レベルの１個の処理に相当するイベントパターンの一部であるプリミティブイベントパターンがコスト最小の状態列の中に散発的に出現するのを防ぐ。また、コストが最小となる状態列を求めた後、各イベントを業務レベルの処理に対応付ける際には、同じ業務処理定義ＩＤを有する一連のプリミティブイベントパターンに割り当てられたイベントをまとめて扱うことで、業務レベルの処理への対応付けを容易にする。
【００４４】
以上のようにイベントパターンを定義しておくことで、上位の業務システムのイベント列ａ1，…，ａIに対して、それを単純に走査し、イベントａi-1とａiに挟まれる区間ｉ（１≦ｉ≦Ｉ＋１）毎に候補となるイベントパターン定義Ｐを特定し、イベントパターンｐを作成することができる。
【００４５】
なお、区間ｉにおいて候補となるイベントパターン定義の中にパターン種別１のイベントパターン定義が１個もなく、またパターン種別２、パターン種別３のイベントパターン定義がそれぞれ１個も候補にない場合には、パターン種別２または３のうちで欠けているパターン種別のダミーのイベントパターンを作成する。ダミーのイベントパターンの定義は、業務レベルの処理に相当するイベントパターンの定義と同様、分析者が事前に作成する。このとき、ダミーのイベントパターンの定義においては、業務レベルの処理に相当するどのイベントパターンの定義よりも、イベントパターンの生成コストおよび下位の業務システムの各イベント種別の発生コストを高く設定する。ダミーのイベントパターンを用意することにより、どのイベントも必ず分析者が定義した業務レベルの処理に相当するイベントパターンまたはダミーのイベントパターンに割り当てることができ、かつダミーのイベントパターンの場合には、高いコストを与えられる。これにより、コスト最小の状態列を求めることで、できる限り多くのイベントが定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるような割り当て方を結果として得る上で役に立つ。
【００４６】
また、特殊なイベントパターンとして、初期イベントパターンと終端イベントパターンを用意する。初期イベントパターンは区間１の前（区間０）にあり、どの種別のイベントも発生しない（イベント発生コストが∞）。終端イベントパターンは区間Ｉ＋１の後（区間Ｉ＋２）にあり、与えられたイベントを全て発生し終わったことを表す特殊な終端イベントをコスト０で発生し、それ以外の種別のイベントは発生しない（イベント発生コストが∞）。
【００４７】
以下では、初期イベントパターンと終了イベントパターン以外に生成されたイベントパターンの総数をＫとし、各イベントパターンに重複しないように１〜Ｋの番号を割り当て、また初期イベントパターンには０を、終端イベントパターンにはＫ＋１を割り当てる。そしてｋ番目のイベントパターンをｐkのように表す。
【００４８】
≪イベントパターン間の遷移の可否とコストの設定≫
−遷移可否の設定−
本発明では同じ業務システムで同じ案件に対する処理を同時に行うことはないことを仮定している。従って、イベントパターン間の遷移は以下の規則を満たす必要がある。
【００４９】
［規則１］  異なるイベントパターンに割り当てられるイベントが入り混じることはない。
【００５０】
また、システムレベルの処理は、ある業務レベルの処理を行った際に実行され、実行履歴が出力される。そのため、１個のイベントが、業務レベルの処理に相当する複数のイベントパターンに割り当てられることはない。同様に、分析者によって定義されている業務レベルの処理に相当するイベントパターン、ダミーのもののいずれにも割り当てられないイベントはない。従って、以下の規則も満たす必要がある。
【００５１】
［規則２］  どのイベントもちょうど１個のイベントパターンに割り当てられる。但し、２個のイベントパターンが同じ業務処理定義ＩＤを有し、業務レベルの同じ処理に相当するイベントパターンの一部を構成するプリミティブイベントパターンである場合には、上位の業務システムの１個のイベントは、それら２個のプリミティブイベントパターンに割り当てられる。
【００５２】
その結果、遷移元と遷移先のイベントパターンの組合せ、それらが属する区間によって、遷移が不可能なものが存在する。例えば、下位の業務システムのイベントｂjが区間ｉに属するパターン種別３のイベントパターンｐkに割り当てられ、イベントｂj+1が区間ｉに属するパターン種別２のイベントパターンｐk'に割り当てられたとすると、イベントｂjとａiはイベントパターンｐkに割り当てられ、イベントａi-1とｂj+1はイベントパターンｐk'に割り当てられることになる。しかしイベントの発生順はａi-1，ｂj，ｂj+1，ａiとなっているため規則１に反する。そのため、同じ区間内ではパターン種別３のイベントパターンからパターン種別２のイベントパターンへの遷移はできない。
【００５３】
また、イベントｂjが区間ｉに属するパターン種別１のイベントパターンｐkに割り当てられ、イベントｂj+1が区間ｉ＋１に属するパターン種別２のイベントパターンｐk'に割り当てられたとすると、イベントａi-1，ｂj，ａiはイベントパターンｐkに割り当てられ、イベントａiとｂj+1はイベントパターンｐk'に割り当てられることになる。イベントａiがｐkとｐk'の２個のイベントパターンに割り当てられることになり、ｐkとｐk'が同じ業務処理定義ＩＤをもたない場合、規則２に反する。そのため、パターン種別１のイベントパターンから、直後の区間のパターン種別２のイベントパターンへの遷移は原則、できない。同様にして遷移の可否を判定した結果を図１２に示す。
【００５４】
なお、初期イベントパターンからは区間１に属するパターン種別３，４のイベントパターンと、区間２に属するパターン種別１，２のイベントパターンに遷移可能である。終端イベントパターンへは、区間Ｉ＋１に属するパターン種別２，４のイベントパターンと、区間Ｉに属するパターン種別１，３のイベントパターン、および自身から遷移可能である。
【００５５】
また、業務処理定義ＩＤが指定されているイベントパターンにおいては、業務処理開始フラグがＦＡＬＳＥの場合には、同じ業務処理定義ＩＤを有し、上位の業務システムのイベントを共有するようなイベントパターン以外からの遷移は不可能と設定する。同様に、業務処理終了フラグがＦＡＬＳＥの場合には、同じ業務処理定義ＩＤを有し、上位の業務システムのイベントを共有するようなイベントパターン以外への遷移は不可能と設定する。業務レベルの１個の処理に相当するイベントパターンを構成する複数のプリミティブイベントパターン間の遷移は、図１２における「△２」「△１，２」の遷移に限られる。
【００５６】
−遷移コストの設定−
イベントパターンは業務レベルの処理に相当する。分析対象となる業務や業務システムよって、どの処理の後にどの処理がどの程度の頻度で行われるかが決まる。それに対応して、遷移元のイベントパターン定義と遷移先のイベントパターン定義の組合せ毎に遷移のコストを指定できる場合には、各イベントパターン定義毎にそのイベントパターンが生起するコストと、各イベントパターン定義の組合せ毎にそのイベントパターン間の遷移が起こるコストとの両方を指定する。遷移コストを設定する際には、その定義に基づいてイベントパターンの各組合せに対して遷移コストを設定する。
【００５７】
一方、遷移元のイベントパターン定義と遷移先のイベントパターン定義の組合せ毎に遷移のコストを指定するのが煩雑である、あるいは適切に指定するためには事前に実際の業務状況全体を把握している必要があり、本発明を利用する段階では困難な場合には、各イベントパターン定義毎にそのイベントパターンが生起するコストのみを指定する。遷移コストを設定する際には、どのイベントパターンから遷移してくる場合であっても、遷移先のイベントパターンが生起するコストをその定義から調べ、遷移のコストとして設定する。
【００５８】
但し、どちらの方法で遷移コストを設定する場合であっても、初期イベントパターン、終端イベントパターンの生起コストはともに０とする。
【００５９】
また、複数のプリミティブイベントパターンが組み合わさって業務レベルの１個の処理に相当するイベントパターンを構成する場合に対応するため、定義において〔業務処理定義ＩＤ〕に同じ値（Ｑとする）が指定されているイベントパターン間では遷移コストを通常よりも小さくする。どの程度小さくするかは、業務処理Ｑの定義の〔業務処理内遷移係数〕に指定されている値によって決まる。図１２において、「△２」または「△１，２」となっている遷移が、複数のプリミティブイベントパターンが組み合わさって業務レベルの１個の処理に相当するイベントパターンを構成する場合であるので、元の遷移コストに業務処理内遷移係数を乗じた値を設定する。
【００６０】
分析者がイベントパターン定義においてその生起コストを指定する際には、以下のことを考慮する必要がある。つまりイベントパターンＡとイベントパターンＢにおいて、イベントパターンＡの方が適合条件が厳しく、またイベントパターンＡにおいて小さいコストで発生する下位の業務システムのイベント種別が少数に限定されており、イベントパターンＡに合致するイベント列は必ずイベントパターンＢにも合致するような場合、イベントパターンＡの生起コストの方を小さく指定する。なぜならばイベントパターンＢの生起コストを小さく指定すると、どちらのイベントパターンにも合致するイベント列は全てイベントパターンＢとみなされてしまい、イベントパターンＡと合致するイベント列が全くなくなってしまうためである。
【００６１】
≪イベントパターンの置換≫
下位の業務システムで発生するイベントとその順序が定義で明確に指定されているイベントパターンに対しては、イベントパターン遷移モデルに下位の業務システムのイベントが発生する順序を反映させる必要がある。そのため、図１３に示すように、イベントパターンを下位の業務システムのイベントの遷移モデルで置換する。
【００６２】
置換されるイベントパターンｐkに関係する遷移は、以下のように変更する。
【００６３】
・他のイベントパターンからｐkへの遷移は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］において開始から遷移可能と指定されているイベントへの遷移に置き換える。
【００６４】
・ｐkから他のイベントパターンへの遷移は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］において終了へ遷移可能と指定されているイベントからの遷移に置き換える。
【００６５】
・ｐkからｐkへの遷移は削除する。
【００６６】
置換後のイベントｃn'からｃnへの遷移の可否は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］に従って設定する。併せてｃn'からｃnへの遷移コストは、以下のように算出し、設定する。
【００６７】
・ｃn'からｃnへの遷移が可能な場合には、以下のようにする。
【００６８】
−ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］にｃn'からｃnへの遷移コストの値が指定されている場合には、その値とする。
【００６９】
−ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］にｃn'からｃnへの遷移コストの値が指定されていない場合には、イベントパターン間の遷移可否とコストの設定で説明した方法によって算出されるｐkからｐkへの遷移コストの値とする。
【００７０】
・ｃn'からｃnへの遷移が不可能な場合には、∞とする。
【００７１】
なお、遷移モデル中の各イベントｃnでは、置換されるイベントパターンｐkの定義の〔イベント遷移モデル〕の［イベント定義］において、ｃnのイベント種別で指定されたイベントが、その発生コストで指定されたコストに従って発生するものとし、それ以外のイベント種別のイベントが発生するコストは∞とする。
【００７２】
イベントパターンをイベント遷移モデルに置換することにより、発生するイベントとその順序を部分的に考慮して、イベントのイベントパターンへの割り当て方を求めることが可能になる。
【００７３】
≪イベント列生成コストが最小の状態列の算出≫
下位の業務システムのイベント列の生成過程を「０を初期値とする離散的な時刻カウンタｔが１ずつ増加する度にイベントパターン遷移モデルに従ってイベントパターン間を遷移し、下位の業務システムのイベントが１個発生する」と考える。またイベントパターン遷移モデルにおいて、時刻ｔにおけるイベントパターンをｐktとする。但し、ここではイベントパターンの置換によって遷移モデル中に存在するイベントについても、他の種別のイベントを発生しないイベントパターンとして扱う。また、これらイベントパターンのうち、初期イベントパターンと終端イベントパターンを除いたものの総数をＫとし、重複しないように１〜Ｋの番号が割り当てられており、初期イベントパターンには０が、終端イベントパターンにはＫ＋１が割り当てられているとする。
【００７４】
ここで、遷移の度に下位の業務システムの何らかのイベントが必ず発生するとすると、上位の業務システムでは処理が実行されるが下位の業務システムでの処理が実行されない場合に対応できない。そこで各イベントパターンでは特殊なイベントであるな「空イベント（記号εで表す）」の発生を許容する。なお、空イベントの発生コストも、各イベントパターンの定義を作成する際に分析者が指定する。
【００７５】
空イベントの発生を許容する場合には、そのときのイベントパターンだけでなく、時刻ｔにおいて下位の業務システムのイベント列ｂ1，…，ｂJのうち何個目までが発生したかも様々な場合があるので、それをｊtで表す。時刻ｔにおける状態は（ｋt，ｊt）で表され、状態列によって上位と下位の業務システムのイベントがどのイベントパターンに割り当てられるかが表される。
【００７６】
空イベントは、あるイベントパターンで１回発生しても２回以上発生しても、イベントのイベントパターンへの割り当て方としては同じであり、空イベントの発生回数が多いほど遷移とイベント発生の回数が多くなり、コストが増える。従って、コストが最小となるイベントのイベントパターンへの割り当て方を求める場合には、ｐ1からｐKの各イベントパターンにおいて最大でも１回の空イベントしか発生しないような状態列が全て網羅される範囲で考えれば良い。全体での空イベントの発生回数は、全てのイベントパターンに遷移することが可能であったとしても、１個のイベントパターンで分析対象の下位の業務システムのイベントを全て発生し（所要時間Ｊ）、その後、残りのＫ−１個全てのイベントパターンを遷移しながら空イベントを発生し（同Ｋ−１）、最後に終端イベントパターンに遷移して終端イベントを発生する（同１）場合に最大なので、時刻Ｔ＝Ｊ＋Ｋでイベント列全てと終端イベントを出力してｐK+1にいる状態列の中からコスト最小のものを求める。
【００７７】
なお、Ｔ−１以前に下位の業務システムのイベントを全て発生し、ｐK+1に遷移可能なイベントパターンに到達するような状態列も存在するが、それらはその後Ｔになるまでコスト０でｐK+1に繰り返し遷移し、終端イベントを発生し続ける状態列として扱えるので、長さＴで最終状態が（Ｋ＋１，Ｊ）である状態列のみを対象として良い。
【００７８】
−状態列に対するコストの計算式−
イベントパターンｐk'からｐkへの遷移コストは一般的にはｋ’とｋの関数であるのでｇ（ｋ’，ｋ）とする。ｇ（ｋ’，ｋ）の値はイベントパターン遷移モデルにおいてｐk'からｐkへの遷移に設定されたコストとする。
【００７９】
イベントパターンｐkにおいて１回の遷移でｂj'+1，…，ｂjが発生するコストはｐk毎のｊ’とｊの関数であるのでｈk（ｊ’，ｊ）とする。ｈk（ｊ’，ｊ）の値は以下のように算出する。
【００８０】
・ｊ’＜ｊ−１またはｊ’＞ｊのときには、時刻ｔが１増加するときに発生するイベントは空イベントを含めてちょうど１個であり、イベント列を逆に発生することもないため、ｈk（ｊ’，ｊ）＝∞とする。
【００８１】
・ｊ’＝ｊのときには、新たにイベントを発生しなかったことを意味するので、以下のように算出する。
【００８２】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントではない場合には、ｐkの定義の〔イベント発生コスト〕に指定された空イベントの発生コストφk（ε）とする。
【００８３】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントｃnである場合には、以下のようにする。
【００８４】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別が空イベントεである場合には、ｃnの発生コストに指定された値とする。
【００８５】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別が空イベントεでない場合には、∞とする。
【００８６】
・ｊ’＝ｊ−１のときには、新たにイベントｂjを発生したことを意味するので、ｐkの属する区間をｉk、上位の業務システムのイベントａiの発生時刻をτ'i、下位の業務システムのイベントｂjの発生時刻をτ"jとしてｈk（ｊ’，ｊ）＝φk（ｂj）＋ψf（τ'ik-1，τ"j）＋ψb（τ"j，τ'ik）で算出する。
【００８７】
φk（ｂj）は以下のように算出する。
【００８８】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントではない場合には、ｐkの定義の〔イベント発生コスト〕に指定されたｂjのイベント種別の発生コストとする。
【００８９】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントｃnである場合には、以下のようにする。
【００９０】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別がｂjのイベント種別と同じ場合には、ｃnの発生コストに指定された値とする。
【００９１】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別がｂjのイベント種別と異なる場合には、∞とする。
【００９２】
ψf（τ'ik-1，τ"j）は以下のように算出する。
【００９３】
−τ'ik-1とτ"jの両方が使用できる場合には、時刻逆転コスト定義に指定された関数ψfを用いて算出する。
【００９４】
−τ'ik-1またはτ"jが使用できない場合には０とする。
【００９５】
ψb（τ"j，τ'ik）も同様である。
【００９６】
状態（ｋ1，ｊ1），…，（ｋt-1，ｊt-1）を経て時刻ｔにおいて状態（ｋ，ｊ）に到達するコストをｆt（ｋ1，…，ｋt-1，ｋt＝ｋ，ｊ1，…，ｊt-1，ｊt＝ｊ） で表すと、以下の式で表される。
【００９７】
【数１】
2008217656.tif 000003
【００９８】
但し、ｋ0＝０，ｊ0＝０である。
【００９９】
−コスト最小の状態列の求め方−
求めたいのはｆT（ｋ1，…，ｋT-1，ｋT＝Ｋ＋１，ｊ1，…，ｊT-1，ｊT＝Ｊ）を最小にする状態列である。ｋ1，…，ｋT-1にそれぞれ１〜Ｋ＋１の値、ｊ1，…，ｊT-1にそれぞれ０〜Ｊの値を割り当てて、全ての状態列について（１）式に従ってコストを計算し、コストが最小となる状態列を求めようとすると、計算量が（Ｊ＋１）T-1（Ｋ ＋１）T-1となってしまい、現実的には不可能である。
【０１００】
しかしｆt（ｋ1，…，ｋt-1，ｋt＝ｋ，ｊ1，…，ｊt-1，ｊt＝ｊ）の最小値はｋ，ｊの関数であり、それを
【０１０１】
【数２】
2008217656.tif 000004
【０１０２】
（但し、以下、明細書中では、「ｆt（ｋ，ｊ）」というように、「＾」を「 （アンダーライン）」で代用するものとする。）、最小値を与える１〜ｔ−１の状態列の最後の状態（ｔ−１における状態）をｘt-1（ｋ，ｊ）とすると、
【０１０３】
【数３】
2008217656.tif 000005
【０１０４】
【数４】
2008217656.tif 000006
【０１０５】
と表され、動的計画法により効率的に計算できる。ｆ1（ｋ，ｊ）＝ｇ（０，ｋ）＋ｈk（０，ｊ）とすることで、漸化的にｆT（Ｋ＋１，Ｊ）を求めることができる。またｆT（Ｋ＋１，Ｊ）を実現する時刻ｔにおける状態を（ｋt，ｊt）とすると、（ｋt-1，ｊt-1）＝ｘt-1（ｋt，ｊt）なので、ｋT＝Ｋ＋１，ｊT＝Ｊとすることで、最小値を与える状態列をｔの大きいものから順に求めることができる。
【０１０６】
図式的には、図１４に示すようにｊ，ｋ，ｔを３軸とする３次元の格子内において、各状態（ｋt，ｊt）を格子点、遷移コストとイベント発生コストを格子点間の移動コストとみなし、最小のコストでｔ＝０上の（０，０）からｔ＝Ｔ上の（Ｋ＋１，Ｊ）に到達する経路を求めることに相当する。
【０１０７】
なお、このコスト最小の状態列を求めるのに必要な最悪の計算量は、ｆt（ｋ，ｊ）を求めるのにｋt-1，ｊt-1の値を１〜Ｋ＋１、０〜Ｊの間で変化させて計算するのに（Ｊ＋１）（Ｋ＋１）、ｆt（ｋ，ｊ）のｋ，ｊを同様に変化させて時刻ｔにおける全ての状態における最小値を求めるのに（Ｊ＋１）（Ｋ＋１）、これを時刻１〜Ｔ（但し、Ｔ＝Ｊ＋Ｋ）について行うとすると、およそ（Ｊ＋１）2（Ｋ＋１）2（Ｊ＋Ｋ）となる。イベントパターン遷移モデル中のイベントパターンの数は、イベントパターン定義（Ｍ個とする）が十分にあり、ダミーが必要ないとすると、最大で（Ｉ＋１）Ｍとなるので、（Ｊ＋１）2（（Ｉ＋１）Ｍ＋１）2（Ｊ＋（Ｉ＋１）Ｍ）である。
【発明の効果】
【０１０８】
業務システムの仕様書に含まれるシーケンス図の情報を利用して、業務レベルの処理に相当するシステムレベルの処理の実行履歴（イベント）のパターンの定義を分析者が作成し、イベント列からそれら定義された業務システムレベルの処理に相当するイベントパターンと合致する部分を特定すること（イベントパターンの抽出）により、業務システムのシステムレベルの処理の履歴を、業務レベルの処理の履歴に変換できるようになる。
【０１０９】
業務担当者が直接利用する上位の業務システムと、そこから呼び出される下位の業務システムのシステムレベルの処理の履歴を業務レベルの処理の履歴へ変換する場合には、イベントパターンを抽出する上で、以下の（１）〜（３）を行うことにより、なるべく多くのイベントが、分析者によって定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるようになる。つまり、業務レベルの処理に相当するイベント列をより適切に特定できるようになる。また、上位と下位の業務システムのイベントの発生時刻について、それらが履歴に含まれていない、それらの最小単位が粗過ぎる、あるいは上位と下位の業務システムの時刻がずれているなどの理由により、上位および下位の業務システムのイベントの実際の発生順序が履歴中のイベント発生時刻からはわからない場合であっても、以下の（１）〜（３）を行うことにより、なるべく多くのイベントが、分析者によって定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるような、上位と下位の業務システムのイベントの発生順序も、同時に得られるようになる。
【０１１０】
（１）上位の業務システムのイベント列を基に候補となるイベントパターン定義を特定し、イベントパターン間の遷移モデルを自動的に作成する。
【０１１１】
（２）イベント列の生成過程を「離散的な時刻カウンタｔが１増加する度に、イベントパターン遷移モデルに従ってイベントパターン間を遷移し、その度に遷移先のイベントパターンのイベント発生コストに従って、下位の業務システムのイベントが発生した」と考え、下位の業務システムのイベント列が生成されるように、各時刻ｔにおける状態（どのイベントパターンからどのイベントを出力したか）を求める。
【０１１２】
（３）イベントパターン定義の各組合せに対する遷移コスト、各イベントパターンにおける下位の業務システムの各イベント種別の発生コストを分析者が指定しておき、それらに基づき、分析対象の下位の業務システムのイベント列を生成する状態列に対して、イベント列の生成コストを算出、評価できるようにし、それら状態列の中から、イベント列の生成コストが最小となるものを選択する。
【０１１３】
イベントパターンを定義する上で、発生するイベントとその順序を明確に指定する定義方法だけでなく、イベントの発生順序を指定せず、どのようなイベントが発生し得るかのみを指定する定義方法を提供し、上記（１）〜（３）によって下位の業務システムのイベント列の生成コストが最小となる状態列を求めることで、各イベントパターンで発生する下位の業務システムのイベントの種別や順序が不確かな状況でも、イベントパターンを定義し、イベントパターンを抽出できるようになる。その結果、分析対象の業務システムの仕様書を網羅的に調査し、完璧なイベントパターン定義を多数用意しなくても、仕様書の概要の情報を基に、システムレベルの処理の履歴を業務レベルの処理の履歴へ変換できるようになり、業務システム履歴を利用した業務分析にかかる時間、労力を削減できるようになる。
【０１１４】
上記（３）のイベント列生成コストが最小となる状態列を算出する上で、動的計画法を利用することにより、現実的な計算量で効率的に、上位と下位の業務システムのイベントの発生順序の決定と、イベントパターンの抽出を行えるようになる。
【０１１５】
また、上位および下位の業務システムのイベントの発生時刻について、それらの最小単位が粗過ぎる、あるいは上位と下位の業務システムの時刻がずれているなどの理由により、上位と下位の業務システムのイベントの実際の発生順序が履歴中のイベント発生時刻から確実ではないがある程度わかる場合には、イベントをイベントパターンに割り当てることで決定されるイベントの並び順と、履歴中のイベント発生時刻順が逆転することに対して、分析者が指定した方法に従って算出したコストをイベントパターンからのイベント発生コストに加えた上で、イベント列生成コストが最小となる状態列を求めることにより、履歴中のイベント発生時刻も考慮しつつ、なるべく多くのイベントが、定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるような、イベントの発生順序と割り当て方を求められるようになる。
【０１１６】
上記を実現する本発明により、上位と下位の業務システムのシステムレベルの処理の実行履歴を関連付けることで、業務レベルの処理の履歴に近い上位の業務システムの履歴に対する分析を行いつつ、上位の業務システムの履歴には残されていない、下位の業務システムを呼び出して実現した処理の成否やその原因といった詳細な情報も利用した分析が可能になる。
【０１１７】
また、システムレベルの履歴から業務レベルの履歴を得られることにより、業務レベルの履歴を対象として、従来の業務システム履歴の分析手法を適用した分析を行えるようになる。それにより、業務システムの履歴をもとに、現状の業務の状況の把握、問題点の分析を的確に行えるようになる。その結果、迅速で継続的なＢＰＭが可能になり、業務プロセスを最適な状態に保つことが容易になる。
【発明を実施するための最良の形態】
【０１１８】
＜発明装置の構成＞
図１５は本発明の、システムレベルの処理履歴を業務レベルの処理履歴に変換する装置の実施の形態の一例、ここでは周知のコンピュータ（計算機）上に実現された例を示すもので、図中、１は上位業務システム履歴データベース、２は下位業務システム履歴データベース、３は業務システム知識データベース、４は業務履歴データベース、５は上位業務システム履歴記憶手段、６は下位業務システム履歴記憶手段、７はイベントパターン定義記憶手段、８はイベントパターン遷移モデル記憶手段、９は状態列記憶手段、１０は業務システム知識定義部、１１は履歴取得部、１２はイベントパターン遷移モデル作成部、１３は最小コスト状態列算出部、１４は業務履歴作成・保存部である。
【０１１９】
ここで、上位業務システム履歴データベース１、下位業務システム履歴データベース２、業務システム知識データベース３および業務履歴データベース４は、永続的にデータを保持する計算機内のハードディスクに記憶されているファイルまたはそのファイルからの読み書きを制御するデータベースマネジメントシステムである。
【０１２０】
また、上位業務システム履歴記憶手段５、下位業務システム履歴記憶手段６、イベントパターン定義記憶手段７、イベントパターン遷移モデル記憶手段８および状態列記憶手段９は、変換処理の途中で一時的に処理結果を保持するための計算機内のメモリである。
【０１２１】
また、業務システム知識定義部１０は、変換処理に必要な項目を分析者が指定するための計算機内の演算装置で実行されるプログラムであり、履歴取得部１１、イベントパターン遷移モデル作成部１２、最小コスト状態列算出部１３および業務履歴作成・保存部１４は、変換処理を行うための計算機内の演算装置で実行されるプログラムである。
【０１２２】
これらが同じ計算機内にあるか、あるいはネットワークを介して複数の計算機内にあるかについては、本発明では限定しない。
【０１２３】
以下、各構成要素の役割と処理内容の詳細について説明する。
【０１２４】
≪上位業務システム履歴データベース≫
上位業務システム履歴データベース１は、データベースまたはファイルに、各案件に対して上位の業務システムで行われたシステムレベルの処理の実行履歴（イベント）を、処理の対象となった案件と、イベントの発生順序がわかるように保持する。図１６は、上位業務システム履歴データベースが保持する内容の一例を示すものである。
【０１２５】
上位業務システム履歴データベース１には、各イベントを識別するための識別子（イベントＩＤ）が存在するものとする。イベントＩＤは、例えばイベントの案件ＩＤとイベント種別とイベント発生時刻との組合せ、というように、履歴に含まれる複数の項目の組合せで表現されるものでも良い。また、イベントの発生時刻はあってもなくても良いが、ない場合でも、イベントの並び順が発生順と同じである、あるいはイベントＩＤ順が発生順と同じ、というように、上位の業務システム履歴においてはイベントの発生順序がわかるものとする。
【０１２６】
≪下位業務システム履歴データベース≫
下位業務システム履歴データベース２は、データベースまたはファイルに、各案件に対して下位の業務システムで行われたシステムレベルの処理の実行履歴（イベント）を、上位業務システム履歴データベース１の場合と同様に保持する。
【０１２７】
≪業務システム知識データベース≫
業務システム知識データベース３は、データベースまたはファイルに、変換処理に必要な項目を保持する。ここで、変換処理に必要な項目とは、図６に示したイベントパターン定義、図７に示したイベントパターン遷移コスト定義、図８に示した業務処理定義、図９に示した時刻逆転コスト定義である。
【０１２８】
−イベントパターン定義−
業務レベルの１個の処理に相当するイベントパターンの定義、その一部を構成するイベントパターンの定義、およびどのイベントパターン定義も適合しない場合に使用される、ダミーのイベントパターンの定義が存在する。なお、いずれのイベントパターンの定義も分析者が作成する。定義方法としては、イベントパターン内で発生する下位の業務システムのイベントの種別と発生順序の両方を明確に指定する場合と、イベントの種別のみ明確に定義し、発生順序は無視する場合との、２通りの定義方法が存在する。
【０１２９】
以下、定義で指定される項目について説明する。なお、イベントパターン内で発生する下位の業務システムのイベントの発生順序を明確に指定する場合に以下で説明する〔イベント遷移モデル〕が指定され、指定しない場合に以下で説明する〔イベント発生コスト〕が指定される。それ以外の項目は、どちらの定義方法でも指定される。
【０１３０】
〔イベントパターン定義ＩＤ〕
各イベントパターン定義に一意な文字列または数値である。イベントパターン定義で記述されるイベントパターンが、業務レベルの処理に相当する場合には、業務レベルの処理名などをつける。
【０１３１】
〔適合条件〕
適合条件は、イベントパターンの最初に出現する上位の業務システムのイベント種別（開始イベント種別）と、最後に出現する上位の業務システムのイベント種別（終了イベント種別）に関する条件の記述である。これは単に開始イベント種別と終了イベント種別の記述であっても良いし、「開始イベント種別と終了イベント種別が等しい」などの、比較演算子や論理演算子を用いた記述であっても良い。
【０１３２】
〔業務処理定義ＩＤ〕
業務レベルの１個の処理に相当するイベントパターンを、複数個のプリミティブイベントパターンの組合せとして扱う場合に、イベントパターン定義で記述されるイベントパターンが、業務レベルのどの処理に相当するイベントパターンの一部であるかを表す識別子で、業務処理定義において業務処理定義ＩＤとして指定されている文字列または整数値である。値が指定されていなくても良い。
【０１３３】
〔業務処理開始フラグ〕
業務レベルの１個の処理に相当するイベントパターンを、複数個のプリミティブイベントパターンの組合せとして扱う場合に、イベントパターン定義で記述されるイベントパターンが、業務レベルの処理に相当するイベントパターンの最初の部分になり得るかどうかを表すフラグで、ＴＲＵＥ／ＦＡＬＳＥのいずれかの値である。〔業務処理定義ＩＤ〕の値が指定されていない場合には、業務処理開始フラグの値も指定されていなくて良い。
【０１３４】
〔業務処理終了フラグ〕
業務レベルの１個の処理に相当するイベントパターンを、複数個のプリミティブイベントパターンの組合せとして扱う場合に、イベントパターン定義で記述されるイベントパターンが、業務レベルの処理に相当するイベントパターンの最後の部分になり得るかどうかを表すフラグで、ＴＲＵＥ／ＦＡＬＳＥのいずれかの値である。〔業務処理定義ＩＤ〕の値が指定されていない場合には、業務処理終了フラグの値も指定されていなくて良い。
【０１３５】
〔イベントパターン生起コスト〕
イベントパターンで記述されるイベントパターンが生起するコストであり、０以上の数値である。
【０１３６】
〔イベント遷移モデル〕
イベントパターン定義で記述されるイベントパターンにおいて発生する、下位の業務システムのイベントの生成に関する記述で、［イベント定義］と［イベント遷移可否・コスト］からなる。
【０１３７】
［イベント定義］は、イベントパターン定義で記述されるイベントパターンにおいて発生するイベント（イベント名）とその種別、その発生コストであり、発生コストは０以上の数値である。
【０１３８】
［イベント遷移可否・コスト］は、イベントパターン定義で記述されるイベントパターンにおいて、［イベント定義］で定義されたイベントの各組合せの遷移の可否またはコストであり、遷移の可否は○／×のフラグ、遷移のコストは０以上の数値である。遷移のコストは指定されていなくても良い。
【０１３９】
〔イベント発生コスト〕
イベントパターン定義で記述されるイベントパターンにおいて発生する、下位の業務システムのイベントの種別とその発生コストであり、０以上の数値である。
【０１４０】
−イベントパターン遷移コスト定義−
イベントパターン定義の各組合せに関する遷移のコストであり、０以上の数値である。これは指定されなくても良い。
【０１４１】
−業務処理定義−
〔業務処理定義ＩＤ〕
各業務処理定義に一意な文字列または数値である。業務レベルの処理名などをつける。
【０１４２】
〔業務処理内遷移係数〕
定義の〔業務処理定義ＩＤ〕で指定される値が同じイベントパターン間での遷移コストの割引率を表すものであり、０以上の数値である。
【０１４３】
−時刻逆転コスト定義−
上位と下位の業務システムのイベント発生時刻の２個を引数にとり、イベントの発生順序と履歴中のイベント発生時刻順との逆転に対するコストを算出するための関数の記述である。記述内容としてより具体的には、予め本発明装置に組み込まれた時刻逆転コスト計算用関数の名称とそのパラメータ、あるいは分析者が独自に作成した、時刻逆転コストを計算するためのライブラリまたはプログラムを本発明装置から呼び出すための記述、などであるが、本発明ではその方法については特に限定しない。
【０１４４】
≪業務履歴データベース≫
業務履歴データベース３は、データベースまたはファイルに、各案件に対してどのような業務レベルの処理がどのような順序で実行されたかを保持するとともに、各業務レベルの処理に対応するイベントパターン、その定義、並びにそのイベントパターンに含まれる上位および下位の業務システムのイベントを関連付けて保持する。図１７は、業務履歴データベースが保持する内容の例である。なお本発明では、上記内容を保持するためのファイルの記述形式あるいはデータベースのスキーマについては特に限定しない。
【０１４５】
≪業務システム知識定義部≫
業務システム知識定義部１０は、業務システム知識データベース３が保持する内容を分析者が指定するための機能を提供する。より具体的な実現方法としては、業務システム知識データベース３がファイルである場合にはそのファイルに必要な項目を記述するためのエディタ、あるいはデータベースであるためには必要な項目を登録するためのデータベースクライアントソフトウェアであるが、本発明では特に限定しない。
【０１４６】
≪履歴取得部≫
履歴取得部１１は、分析者から分析対象とする案件のＩＤのリストを受け取り、そのリストに含まれる案件について、上位および下位の業務システムの履歴を上位業務システム履歴データベース１、下位業務システム履歴データベース２から案件毎に読み込み、それぞれ上位業務システム履歴記憶手段５、下位業務システム履歴記憶手段６に記憶させる。
【０１４７】
≪イベントパターン遷移モデル作成部≫
イベントパターン遷移モデル作成部１２は、イベントパターン遷移モデルに含まれるイベントパターンを作成するイベントパターン作成部１２１と、イベントパターン間の遷移の可否やコストを設定する遷移可否・コスト設定部１２２と、下位の業務システムのイベントの発生順序が定義において明確に指定されているイベントパターンを、イベント遷移モデルに置換するイベントパターン置換部１２３とからなる。
【０１４８】
以下、イベントパターン作成部１２１、遷移可否・コスト設定部１２２、イベントパターン置換部１２３の役割と処理内容の詳細について説明する。なお以下では特に明記していないが、処理結果は全てイベントパターン遷移モデル記憶手段８に記憶させるものとする。
【０１４９】
−イベントパターン作成部−
イベントパターン遷移モデル作成部１２内のイベントパターン作成部１２１では、候補となるイベントパターン定義を特定し、そのイベントパターンを作成し、イベントパターン遷移モデル記憶手段８に記憶させる。
【０１５０】
そのため、上位業務システム履歴記憶手段５に記憶されている上位業務システムのイベント列ａ1，…，ａIを順に走査し、１≦ｉ≦Ｉ＋１の各ｉ毎に区間ｉを作成し、イベントａi-1とａiを関連付ける。併せて各イベントパターン定義Ｐそれぞれについて、その〔適合条件〕がａi-1とａiのイベント種別と合致するかどうかを調べ、合致するならばそのイベントパターンを区間ｉ内に作成し、その定義に関連付ける。但し、区間ｉにおいて全てのイベントパターン定義を調べ終わった段階でパターン種別１のイベントパターンがない場合、区間ｉ内にパターン種別２のイベントパターンがなければパターン種別２のダミーのイベントパターンを、区間ｉ内にパターン種別３のイベントパターンがなければパターン種別３のダミーのイベントパターンを区間ｉに作成し、それぞれのダミーのイベントパターン定義と関連付ける。また、区間０を作成し、区間０内に初期イベントパターンを作成する。さらに、区間Ｉ＋２を作成し、区間Ｉ＋２内に終端イベントパターンを作成する。
【０１５１】
−遷移可否・コスト設定部−
イベントパターン遷移モデル作成部１２内の遷移可否・コスト設定部１２２では、イベントパターン間の遷移の可否とコストを設定する。
【０１５２】
そのため、イベントパターン遷移モデル記憶手段８に記憶されているイベントパターンの組（ｐk'，ｐk）それぞれについて、図１２に従ってｐk'からｐkへの遷移の可否を設定する。併せて遷移コストｇ（ｋ’，ｋ）を以下のように算出し、設定する。
【０１５３】
・ｐk'からｐkへの遷移が可能であれば以下のように算出する。
【０１５４】
−イベントパターン遷移コスト定義にｐk'からｐkへの遷移コストの値が指定されている場合には、その値とする。
【０１５５】
−イベントパターン遷移コスト定義にｐk'からｐkへの遷移コストの値が指定されていない場合には、遷移先のｐkの定義の〔イベント生起コスト〕で指定されている値とする。
【０１５６】
どちらの場合にも、ｐk'とｐkの定義の〔業務処理定義ＩＤ〕で指定されている値が同じ（Ｑとする）で、ｐk'からｐkへの遷移が図１２の「△２」「△１，２」に相当する場合には、上述の方法で算出された遷移コストに、業務処理Ｑの定義の〔業務処理内遷移係数〕で指定された値を乗じた値を、最終的な遷移コストとする。
【０１５７】
・ｐk'からｐkへの遷移が不可能であれば∞とする。
【０１５８】
−イベントパターン置換部−
イベントパターン遷移モデル作成部１２内のイベントパターン置換部１２３では、下位の業務システムのイベントの発生順序が定義において明確に指定されているイベントパターンを、イベント遷移モデルに置換する。
【０１５９】
そのため、下位の業務システムのイベントの発生順序が定義において明確に指定されているイベントパターンｐkそれぞれについて、ｐkの内部に、ｐkの定義の〔イベント遷移モデル〕の［イベント定義］に含まれるイベントを作成する。
【０１６０】
置換されるイベントパターンｐkに関係する遷移は、以下のように変更する。
【０１６１】
・他のイベントパターンからｐkへの遷移は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］において開始から遷移可能と指定されているイベントへの遷移に置き換える。
【０１６２】
・ｐkから他のイベントパターンへの遷移は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］において終了へ遷移可能と指定されているイベントからの遷移に置き換える。
【０１６３】
・ｐkからｐkへの遷移は削除する。
【０１６４】
置換後のイベントｃn'からｃnへの遷移の可否は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］に従って設定する。併せてｃn'からｃnへの遷移コストは、以下のように算出し、設定する。
【０１６５】
・ｃn'からｃnへの遷移が可能な場合には、以下のようにする。
【０１６６】
−ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］にｃn'からｃnへの遷移コストの値が指定されている場合には、その値とする。
【０１６７】
−ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］にｃn'からｃnへの遷移コストの値が指定されていない場合には、遷移可否・コスト設定部１２２においてイベントパターンｐkからｐkへの遷移に対して算出されるｇ（ｋ，ｋ）の値とする。
【０１６８】
・ｃn'からｃnへの遷移が不可能な場合には、∞とする。
【０１６９】
≪最小コスト状態列算出部≫
ここでは、イベントパターンの置換によって遷移モデル中に存在するイベントについても、他の種別のイベントを発生しないイベントパターンとして扱う。また、これらイベントパターンのうち、初期イベントパターンと終端イベントパターンを除いたものの総数をＫとし、重複しないように１〜Ｋの番号が割り当てられており、初期イベントパターンには０が、終端イベントパターンにはＫ＋１が割り当てられているとする。
【０１７０】
最小コスト状態列算出部１３は、業務システム知識データベース３から時刻逆転コスト定義を読み込み、イベントパターン遷移モデル記憶手段８に記憶されているイベントパターン遷移モデルと、下位業務システム履歴記憶手段６に記憶されている下位の業務システムのイベント列を基にして、下位の業務システムのイベント列の生成コストが最小となる状態列を求め、状態列記憶手段９に記憶させる。
【０１７１】
そのため、ｆ1（ｋ，ｊ）＝ｇ（０，ｋ）＋ｈk（０，ｊ）と設定した上で、２≦ｔ≦Ｔ（但し、Ｔ＝Ｊ＋ＫでＪは下位の業務システムのイベントの総数）を満たすｔと、０≦ｊ≦Ｊと満たすｊ、１≦ｋ≦Ｋ＋１を満たすｋの組合せそれぞれについて、漸化式（２）（３）によりｆt（ｋ，ｊ）とｘt-1（ｋ，ｊ）を求める。
【０１７２】
ｆt（ｋ，ｊ）とｘt-1（ｋ，ｊ）は具体的には、０≦ｊ’≦Ｊと１≦ｋ’≦Ｋ＋１を満たす（ｋ’，ｊ’）それぞれについて、ｆt-1（ｋ’，ｊ’）＋ｇ（ｋ’，ｋ）＋ｈk（ｊ’，ｊ）を算出し、その中で最小の値をｆt（ｋ，ｊ）、そのときの（ｋ’，ｊ’）をｘt-1（ｋ，ｊ）とする。ｆt-1（ｋ’，ｊ’）はｔ−１に対して算出されたものを使用する。ｇ（ｋ’，ｋ）はイベントパターン遷移モデル記憶手段８に記憶されたイベントパターン遷移モデルにおいて、ｐk'からｐkへの遷移に設定されたコストの値を使用する。ｈk（ｊ’，ｊ）は以下のように算出する。
【０１７３】
・ｊ’＜ｊ−１またはｊ’＞ｊのときにはｈk（ｊ’，ｊ）＝∞とする。
【０１７４】
・ｊ’＝ｊのときには以下のように算出する。
【０１７５】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントではない場合には、ｐkの定義の〔イベント発生コスト〕に指定された空イベントεの発生コストφk（ε）とする。
【０１７６】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントｃnである場合には、以下のようにする。
【０１７７】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別が空イベントεである場合には、ｃnの発生コストに指定された値とする。
【０１７８】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別が空イベントεでない場合には、∞とする。
【０１７９】
・ｊ’＝ｊ−１のときには、ｐkの属する区間をｉk、上位の業務システムのイベントａiの発生時刻をτ'i、下位の業務システムのイベントｂjの発生時刻をτ"jとしてｈk（ｊ’，ｊ）＝φk（ｂj）＋ψf（τ'ik-1，τ"j）＋ψb（τ"j，τ'ik）で算出する。
【０１８０】
φk（ｂj）は以下のように算出する。
【０１８１】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントではない場合には、ｐkの定義の〔イベント発生コスト〕に指定されたｂjのイベント種別の発生コストとする。
【０１８２】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントｃnである場合には、以下のようにする。
【０１８３】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別がｂjのイベント種別と同じ場合には、ｃnの発生コストに指定された値とする。
【０１８４】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別がｂjのイベント種別と異なる場合には、∞とする。
【０１８５】
ψf（τ'ik-1，τ"j）は以下のように算出する。
【０１８６】
−τ'ik-1とτ"jの両方が使用できる場合には、時刻逆転コスト定義に指定された関数ψfを用いて算出する。時刻逆転コスト定義に記述された内容に基づき、予め本発明装置に組み込まれた時刻逆転コスト計算用関数とそのパラメータに基づいて算出されるか、あるいは分析者が独自に作成した、時刻逆転コストを計算するためのライブラリまたはプログラムを本発明装置から呼び出して算出されるが、本発明ではその方法については特に限定しない。
【０１８７】
−τ'ik-1またはτ"j が使用できない場合には０とする。
【０１８８】
ψb（τ"j，τ'ik ）も同様である。
【０１８９】
また、ｆT（Ｋ＋１，Ｊ）とｘT-1（Ｋ＋１，Ｊ）を求めた後、（ｋT，ｊT）＝（Ｋ＋１，Ｊ）として、漸化式（３）により、下位の業務システムのイベント列を最小のコストで生成する状態列の、各時刻ｔにおける状態（ｋt，ｊt）を求め、状態列記憶手段９に記憶させる。
【０１９０】
［業務履歴作成・保存部］
業務履歴作成・保存部１４は、状態列記憶手段９に記憶された状態列、イベントパターン遷移モデル記憶手段８に記憶されたイベントパターン遷移モデル、下位業務システム記憶手段６に記憶された下位の業務システムのイベント列を基に業務履歴を作成し、業務履歴データベース４に保存する。
【０１９１】
そのため、状態列から、時刻ｔにおける各状態（ｋ，ｊ）＝（ｋt，ｊt）でどのイベントパターンから下位の業務システムの何番目のイベントが出力されたかを求め、イベントパターンと下位の業務システムのイベントを関連付ける。各状態でどのイベントパターンにあるか（ｐ[ｔ]とする）は、以下の規則に従って決定する。
【０１９２】
・イベントパターン遷移モデル中のｐkが、イベントパターンの置換によって存在するイベントではない場合、ｐkとする。
【０１９３】
・イベントパターン遷移モデル中のｐkが、イベントパターンの置換によって存在するイベントである場合、置換前のイベントパターンとする。
【０１９４】
下位の業務システムの何番目のイベントが出力されたか（ｂ[ｔ]とする）は、以下の規則に従って決定する。
【０１９５】
・時刻ｔ−１においてｊ番目までのイベント列を生成し、時刻ｔにおいてもｊ番目までのイベント列を生成しているのなら、時刻ｔでは空イベントεを発生したとみなす。但し、ｊ＝Ｊの場合には、終端イベントを発生したとみなす。
【０１９６】
・時刻ｔ−１においてｊ−１番目までのイベント列を生成し、時刻ｔにおいてｊ番目までのイベント列を生成しているのなら、時刻ｔではｊ番目のイベントｂjを発生したとみなす。
【０１９７】
また、イベントパターンと下位の業務システムのイベントを関連付けたものに対して、イベントパターン遷移モデルを利用してｐ[ｔ]が属する区間ｉを求めるとともに、ｐ[ｔ]に関連付けられたイベントパターン定義を利用して、上位の業務システムのイベントａi-1，ａiを発生したイベントパターンを決定し、関連付ける。これは以下の規則に従って行う。
【０１９８】
・ｐ[ｔ]がパターン種別１のとき、ａi-1とａiの両方がｐ[ｔ]から発生したとみなす。
【０１９９】
・ｐ[ｔ]がパターン種別２のとき、ａi-1のみがｐ[ｔ]から発生したとみなす。
【０２００】
・ｐ[ｔ]がパターン種別３のとき、ａiのみがｐ[ｔ]から発生したとみなす。
【０２０１】
・ｐ[ｔ]がパターン種別４のとき、ａi-1とａiのどちらもｐ[ｔ]以外から発生したとみなす。
【０２０２】
さらに、イベントパターンｐ[ｔ]が表す業務レベルの処理の実行履歴を作成し、ｐ[ｔ]に関連付ける。これは以下のように行う。
【０２０３】
・ｐ[ｔ−１]からｐ[ｔ]への遷移が図１２の「△２」「△１，２」に相当する場合には、ｐ[ｔ−１]に関連付けられた業務レベルの処理の実行履歴を、イベントパターンｐ[ｔ]とも関連付ける。
【０２０４】
・ｐ[ｔ−１]からｐ[ｔ]への遷移が図１２の「△２」「△１，２」に相当しない場合には、以下のようにする。
【０２０５】
−イベントパターンｐ[ｔ]の定義において〔業務処理定義ＩＤ〕の値が指定されている場合には、〔業務処理定義ＩＤ〕の値を名称として業務レベルの処理の実行履歴を作成し、ｐ[ｔ]と関連付ける。
【０２０６】
−イベントパターンｐ[ｔ]の定義において〔業務処理定義ＩＤ〕の値が指定されていない場合には、〔イベントパターン定義ＩＤ〕の値を名称として業務レベルの処理の実行履歴を作成し、ｐ[ｔ]と関連付ける。
【０２０７】
以上によって得られた結果を、オーダＩＤとともに業務履歴データベース４に保存する。
【０２０８】
上記の構成よりなる本発明の装置は、次のａ．〜ｅ．を特徴とする。
【０２０９】
ａ．業務システムの仕様書に含まれるシーケンス図の情報を利用して、業務レベルの処理に相当するシステムレベルの処理の実行履歴（イベント）のパターンの定義を分析者が作成し、イベント列からそれら定義された業務レベルの処理に相当するイベントパターンと合致する部分を特定すること（イベントパターンの抽出）で、業務システムのシステムレベルの処理の履歴を、業務レベルの処理の履歴に変換すること。
【０２１０】
ｂ．業務担当者が直接利用する上位の業務システムの履歴と、そこから呼び出される下位の業務システムの履歴から、上位と下位の業務システムのイベントを関連付け、業務レベルの処理の履歴へ変換する際に、なるべく多くのイベントが、分析者によって定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるようにするため、以下の（１）〜（３）のようにすること。また、上位と下位の業務システムのイベントの発生時刻について、それらが履歴に含まれていない、それらの最小単位が粗過ぎる、あるいは上位と下位の業務システムの時刻がずれているなどの理由により、上位と下位の業務システムのイベントの実際の発生順序が履歴中のイベント発生時刻からはわからない場合であっても、なるべく多くのイベントが、分析者によって定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるような、上位と下位の業務システムのイベントの発生順序を求めるため、以下の（１）〜（３）のようにすること。
【０２１１】
（１）上位の業務システムのイベント列をもとに候補となるイベントパターン定義を特定し、イベントパターン間の遷移モデルを自動的に作成すること。
【０２１２】
（２）イベント列の生成過程を「離散的な時刻カウンタｔが１増加する度に、イベントパターン遷移モデルに従ってイベントパターン間を遷移し、その度に遷移先のイベントパターンの定義に従って、下位の業務システムのイベントが発生した」と考え、下位の業務システムのイベント列が生成されるように、各時刻ｔにおける状態（どのイベントパターンからどのイベントを出力したか）を求めること。
【０２１３】
（３）イベントパターン定義の各組合せに対する遷移コスト、各イベントパターンにおける下位の業務システムの各イベント種別の発生コストを分析者が指定しておき、それらに基づき、分析対象の下位の業務システムのイベント列を生成する状態列に対して、イベント列の生成コストを算出、評価できるようにし、それら状態列の中から、イベント列の生成コストが最小となるものを選択すること。
【０２１４】
ｃ．イベントパターンを定義する上で、発生する業務システムのイベントの種別や順序が不確かな状況でも、イベントパターンを定義し、イベントパターンを抽出できるようにするため、発生するイベントとその順序を明確に指定する方法だけでなく、イベントの発生順序を指定せず、どのようなイベントが発生し得るかのみを指定する定義方法を提供し、上記（１）〜（３）によって下位の業務システムのイベント列の生成コストが最小となる状態列を求めること。
【０２１５】
ｄ．上記（３）のイベント列の生成コストが最小となる状態列を効率的に求めるため、動的計画法を利用すること。
【０２１６】
ｅ．上位と下位の業務システムのイベントの発生時刻について、それらの最小単位が粗過ぎる、あるいは上位と下位の業務システムの時刻がずれているなどの理由により、上位と下位の業務システムのイベントの実際の発生順序が履歴中のイベント発生時刻から、確実ではないがある程度わかる場合に、履歴中のイベント発生時刻も考慮しつつ、なるべく多くのイベントが、定義された業務レベルの処理に相当する適切なイベントパターンに割り当てられるような、イベントの発生順序と割り当て方を求められるようにするため、イベントをイベントパターンに割り当てることで決定されるイベントの並び順と、履歴中のイベント発生時刻順が逆転することに対して、分析者が指定した方法に従って算出したコストをイベントパターンからのイベント発生コストに加えた上で、イベント列生成コストが最小となる状態列を求めること。
【０２１７】
＜発明方法の処理手順＞
上位および下位の業務システムのシステムレベルの履歴を業務レベルの履歴に変換する本発明では、本発明を利用する前に、事前準備として上位業務システム履歴データベース１、下位業務システム履歴データベース２、業務システム知識データベース３を用意する。
【０２１８】
その後、本発明を利用する際に、処理対象の履歴の取得、イベントパターン遷移モデルの作成、イベント列発生コストが最小となる状態列の算出、業務履歴の作成と保存が、この順で実行される。
【０２１９】
本発明を利用する際の処理のフローを図１８に示す。また、事前準備、処理対象の履歴の取得、イベントパターン遷移モデルの作成、イベント列発生コストが最小となる状態列の算出、業務履歴の作成と保存の処理の詳細について以下で説明する。
【０２２０】
≪事前準備≫
本発明では、予め、上位業務システム履歴データベース１および下位業務システム履歴データベース２に、業務分析に使用する上位および下位の業務システムのシステムレベルの履歴が保存されているものとする。
【０２２１】
またその履歴を用いて業務分析を行う分析者は、本発明が実現するシステムレベルの履歴から業務レベルの履歴への変換を行う前に、上位および下位の業務システムの仕様書に含まれるシーケンス図の情報を利用して、業務システム知識定義部１０においてイベントパターン定義、イベントパターン遷移コスト定義、業務処理定義を作成し、それらを業務システム知識データベース３に保存する。さらに分析者は、本発明が実現するシステムレベルの履歴から業務レベルの履歴への変換を行う前に、上位業務システム履歴データベース１、下位業務システム履歴データベース２に保存されている履歴を閲覧するなどして、業務システム知識定義部１０において時刻逆転コスト定義を作成し、それを業務システム知識データベース３に保存する。
【０２２２】
≪処理対象の履歴の取得≫
分析者は、本発明が実現するシステムレベルの履歴から業務レベルの履歴への変換を行う際に、分析対象とする案件のＩＤのリストを履歴取得部１１に与える（ｓ１）。
【０２２３】
履歴取得部１１は、与えられた案件ＩＤのリストに含まれる案件について、上位および下位の業務システムの履歴を上位業務システム履歴データベース１および下位業務システム履歴データベース２から案件毎に読み込み、それぞれ上位業務システム履歴記憶手段５および下位業務システム履歴記憶手段６に記憶させる（ｓ２）。
【０２２４】
≪イベントパターン遷移モデルの作成≫
次に、イベントパターン遷移モデル作成部１２が、業務システム知識データベース３から、イベントパターン定義、イベントパターン遷移コスト定義、業務処理定義を読み込む。イベントパターン定義は、後で下位の業務システムのイベント列を最小のコストで生成する状態列を求めたり、業務履歴を作成したりする際にも参照できるように、イベントパターン定義記憶手段７に記憶させる（ｓ３）。この処理は図１８に示すように、各案件毎にシステムレベルの処理の履歴を業務レベルの処理の履歴へ変換する処理を開始する前に１回だけ行っておけば良い。
【０２２５】
続いて上位業務システム履歴記憶手段５に記憶されている上位の業務システムのイベント列を基にして、イベントパターンの作成、遷移可否・コストの設定、イベントパターンの置換を順に実行することで、図５に示すようなイベントパターン遷移モデルを作成し、イベントパターン遷移モデル記憶手段に記憶させる（ｓ４）。
【０２２６】
この処理のフローを図１９に示す。またイベントパターンの作成、遷移可否・コストの設定、イベントパターンの置換の処理の詳細について以下で説明する。なお以下では特に明記していないが、処理結果は全てイベントパターン遷移モデル記憶手段８に記憶させるものとする。
【０２２７】
−イベントパターンの作成−
イベントパターン遷移モデル作成部１２内のイベントパターン作成部１２１において、候補となるイベントパターン定義を特定し、そのイベントパターンを作成する（ｓ４１）。
【０２２８】
そのためまず、上位業務システム履歴記憶手段５に記憶されている上位業務システムのイベント列ａ1，…，ａIを順に走査し、１≦ｉ≦Ｉ＋１の各ｉ毎に区間ｉを作成し、イベントａi-1とａiを関連付ける。併せて各イベントパターン定義Ｐそれぞれについて、その〔適合条件〕がａi-1とａiのイベント種別と合致するかどうかを調べ、合致するならばそのイベントパターンを区間ｉ内に作成し、その定義に関連付ける。但し、区間ｉにおいて全てのイベントパターン定義を調べ終わった段階でパターン種別１のイベントパターンがない場合、区間ｉ内にパターン種別２のイベントパターンがなければパターン種別２のダミーのイベントパターンを、区間ｉ内にパターン種別３のイベントパターンがなければパターン種別３のダミーのイベントパターンを区間ｉに作成し、それぞれのダミーのイベントパターン定義と関連付ける。
【０２２９】
次に、区間０を作成し、区間０内に初期イベントパターンを作成する。また、区間Ｉ＋２を作成し、区間Ｉ＋２内に終端イベントパターンを作成する。
【０２３０】
この処理のフローを図２０に示す。
【０２３１】
−遷移可否・コストの設定−
イベントパターン遷移モデル作成部１２内の遷移可否・コスト設定部１２２において、イベントパターン間の遷移の可否とコストを設定する（ｓ４２）。
【０２３２】
そのためまず、イベントパターン遷移モデル記憶手段８に記憶されているイベントパターンの組（ｐk'，ｐk）それぞれについて、図１２に従ってｐk'からｐkへの遷移の可否を設定する。併せて遷移コストｇ（ｋ’，ｋ）を以下のように算出し、設定する。
【０２３３】
・ｐk'からｐkへの遷移が可能であれば以下のように算出する。
【０２３４】
−イベントパターン遷移コスト定義にｐk'からｐkへの遷移コストの値が指定されている場合には、その値とする。
【０２３５】
−イベントパターン遷移コスト定義にｐk'からｐkへの遷移コストの値が指定されていない場合には、遷移先のｐkの定義の〔イベント生起コスト〕で指定されている値とする。
【０２３６】
どちらの場合にも、ｐk'とｐkの定義の〔業務処理定義ＩＤ〕で指定されている値が同じ（Ｑとする）で、ｐk'からｐkへの遷移が図１２の「△２」「△１，２」に相当する場合には、上述の方法で算出された遷移コストに、業務処理Ｑの定義の〔業務処理内遷移係数〕で指定された値を乗じた値を、最終的な遷移コストとする。
【０２３７】
・ｐk'からｐkへの遷移が不可能であれば∞とする。
【０２３８】
この処理のフローを図２１に示す。
【０２３９】
−イベントパターンの置換−
イベントパターン遷移モデル作成部１２内のイベントパターン置換部１２３において、下位の業務システムのイベントの発生順序が定義において明確に指定されているイベントパターンを、イベント遷移モデルに置換する（ｓ４３）。
【０２４０】
そのためまず、下位の業務システムのイベントの発生順序が定義において明確に指定されているイベントパターンｐkそれぞれについて、ｐkの内部に、ｐkの定義の〔イベント遷移モデル〕の［イベント定義］に含まれるイベントを作成する。
【０２４１】
次に、置換されるイベントパターンｐkに関係する遷移を以下のように変更する。
【０２４２】
・他のイベントパターンからｐkへの遷移は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］において開始から遷移可能と指定されているイベントへの遷移に置き換える。
【０２４３】
・ｐkから他のイベントパターンへの遷移は、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否コスト］において終了へ遷移可能と指定されているイベントからの遷移に置き換える。
【０２４４】
・ｐkからｐkへの遷移は削除する。
【０２４５】
その後、置換後のイベントの組（ｃn'，ｃn）それぞれについて、ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］に従ってｃn'からｃnへの遷移の可否を設定する。併せてｃn'からｃnへの遷移コストを以下のように算出し、設定する。
【０２４６】
・ｃn'からｃnへの遷移が可能な場合には、以下のようにする。
【０２４７】
−ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］にｃn'からｃnへの遷移コストの値が指定されている場合には、その値とする。
【０２４８】
−ｐkの定義の〔イベント遷移モデル〕の［イベント遷移可否・コスト］にｃn'からｃnへの遷移コストの値が指定されていない場合には、遷移可否・コストの設定で説明した方法によって算出されるｇ（ｋ，ｋ）の値とする。
【０２４９】
・ｃn'からｃnへの遷移が不可能な場合には、∞とする。
【０２５０】
この処理のフローを図２２に示す。
【０２５１】
≪イベント列発生コストが最小となる状態列の算出≫
この処理を行う際には、イベントパターンの置換によって遷移モデル中に存在するイベントについても、他の種別のイベントを発生しないイベントパターンとして扱う。また、これらイベントパターンのうち、初期イベントパターンと終端イベントパターンを除いたものの総数をＫとし、重複しないように１〜Ｋの番号が割り当てられており、初期イベントパターンには０が、終端イベントパターンにはＫ＋１が割り当てられているとする。
【０２５２】
イベントパターン遷移モデルが作成された後、最小コスト状態列算出部１３は、業務システム知識データベース３から時刻逆転コスト定義を読み込み（ｓ５）、イベントパターン遷移モデル記憶手段８に記憶されているイベントパターン遷移モデルと、下位業務システム履歴記憶手段６に記憶されている下位の業務システムのイベント列を基にして、下位の業務システムのイベント列の生成コストが最小となる状態列を求め、状態列記憶手段９に記憶させる（ｓ６）。なお、時刻逆転コスト定義の読み込みは図１８に示すように、各案件毎にシステムレベルの処理の履歴を業務レベルの処理の履歴へ変換する処理を開始する前に１回だけ行っておけば良い。
【０２５３】
そのためまず、ｆ1（ｋ，ｊ）＝ ｇ（０，ｋ）＋ｈk（０，ｊ）と設定する。次に、ｔを２≦ｔ≦Ｔ（但し、Ｔ＝Ｊ＋ＫでＪは下位の業務システムのイベントの総数）の範囲で小さい順に動かしながら、０≦ｊ≦Ｊと１≦ｋ≦Ｋ＋１を満たす（ｋ，ｊ）の組それぞれについて、漸化式（２）（３）によりｆt（ｋ，ｊ）とｘt-1（ｋ，ｊ）を求める。
【０２５４】
ｆt（ｋ，ｊ）とｘt-1（ｋ，ｊ）は具体的には、０≦ｊ’≦Ｊと１≦ｋ’≦Ｋ＋１を満たす（ｋ’，ｊ’）の組それぞれについて、ｆt-1（ｋ’，ｊ’）＋ｇ（ｋ’，ｋ）＋ｈk（ｊ’，ｊ）を算出し、その中で最小の値と、そのときの（ｋ’，ｊ’）の組とする。ｆt-1（ｋ’，ｊ’）はｔ−１の時に算出済みである。ｇ（ｋ’，ｋ）はイベントパターン遷移モデル記憶手段８に記憶されたイベントパターン遷移モデルにおいて、ｐk'からｐkへの遷移に設定されたコストの値である。ｈk（ｊ’，ｊ）は以下のように算出する。
【０２５５】
・ｊ’＜ｊ−１またはｊ’＞ｊのときにはｈk（ｊ’，ｊ）＝∞とする。
【０２５６】
・ｊ’＝ｊのときには以下のように算出する。
【０２５７】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントではない場合には、ｐkの定義の〔イベント発生コスト〕に指定された空イベントεの発生コストφk（ε）とする。
【０２５８】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントｃnである場合には、以下のようにする。
【０２５９】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別が空イベントεである場合には、ｃnの発生コストに指定された値とする。
【０２６０】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別が空イベントεでない場合には、∞とする。
【０２６１】
・ｊ’＝ｊ−１のときには、ｐkの属する区間をｉk、上位の業務システムのイベントａiの発生時刻をτ'i、下位の業務システムのイベントｂjの発生時刻をτ"jとしてｈk（ｊ’，ｊ）＝φk（ｂj）＋ψf（τ'ik-1，τ"j）＋ψb（τ"j，τ'ik ）で算出する。
【０２６２】
φk（ｂj）は以下のように算出する。
【０２６３】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントではない場合には、ｐkの定義の〔イベント発生コスト〕に指定されたｂjのイベント種別の発生コストとする。
【０２６４】
−イベントパターンｐkがイベントパターンの置換によって存在するイベントｃnである場合には、以下のようにする。
【０２６５】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別がｂjのイベント種別と同じ場合には、ｃnの発生コストに指定された値とする。
【０２６６】
＊置換されたイベントパターンの定義の〔イベント遷移モデル〕の［イベント定義］に指定されたｃnのイベント種別がｂjのイベント種別と異なる場合には、∞とする。
【０２６７】
ψf（τ'ik-1，τ"j）は以下のように算出する。
【０２６８】
−τ'ik-1とτ"jの両方が使用できる場合には、時刻逆転コスト定義に指定された関数ψfを用いて算出する。時刻逆転コスト定義に記述された内容に基づき、予め本発明装置に組み込まれた時刻逆転コスト計算用関数とそのパラメータに基づいて算出されるか、あるいは分析者が独自に作成した、時刻逆転コストを計算するためのライブラリまたはプログラムを本発明装置から呼び出して算出されるが、本発明ではその方法については特に限定しない。
【０２６９】
−τ'ik-1またはτ"jが使用できない場合には０とする。
【０２７０】
ψb（τ"j，τ'ik）も同様である。
【０２７１】
ｆT（Ｋ＋１，Ｊ）とｘT-1（Ｋ＋１，Ｊ）を求めた後、（ｋT，ｊT）＝（Ｋ＋１，Ｊ）とし、ｔを１≦ｔ≦Ｔの範囲で大きい順に動かして、漸化式（３）により、下位の業務システムのイベント列を最小のコストで生成する状態列の、時刻ｔにおける状態（ｋt，ｊt）を求め、状態列記憶手段９に記憶させる。
【０２７２】
この処理のフローを図２３に示す。
【０２７３】
≪業務履歴の作成と保存≫
下位の業務システムのイベント列を最小のコストで生成する状態列が求められた後、業務履歴作成・保存部１４が、状態列記憶手段９に記憶された状態列と、イベントパターン遷移モデル記憶手段８に記憶されたイベントパターン遷移モデル、下位業務システム記憶手段６に記憶された下位の業務システムのイベント列を基に、業務履歴を作成し、業務履歴データベース４に保存する（ｓ７）。
【０２７４】
そのためまず、状態列から、時刻ｔにおける各状態（ｋ，ｊ）＝（ｋt，ｊt）でどのイベントパターンから下位の業務システムの何番目のイベントが出力されたかを求め、イベントパターンと下位の業務システムのイベントを関連付ける。各状態でどのイベントパターンにあるか（ｐ[ｔ]とする）は、以下の規則に従って決定する。
【０２７５】
・イベントパターン遷移モデル中のｐkが、イベントパターンの置換によって存在するイベントではない場合、ｐkとする。
【０２７６】
・イベントパターン遷移モデル中のｐkが、イベントパターンの置換によって存在するイベントである場合、置換前のイベントパターンとする。
【０２７７】
下位の業務システムの何番目のイベントが出力されたか（ｂ[ｔ]とする）は、以下の規則に従って決定する。
【０２７８】
・時刻ｔ−１においてｊ番目までのイベント列を生成し、時刻ｔにおいてもｊ番目までのイベント列を生成しているのなら、時刻ｔでは空イベントεを発生したとみなす。但し、ｊ＝Ｊの場合には、終端イベントを発生したとみなす。
【０２７９】
・時刻ｔ−１においてｊ−１番目までのイベント列を生成し、時刻ｔにおいてｊ番目までのイベント列を生成しているのなら、時刻ｔではｊ番目のイベントｂjを発生したとみなす。
【０２８０】
次に、イベントパターンと下位の業務システムのイベントを関連付けたものに対して、イベントパターン遷移モデルを利用してｐ[ｔ]が属する区間ｉを求めるとともに、ｐ[ｔ]に関連付けられたイベントパターン定義を利用して、上位の業務システムのイベントａi-1，ａiを発生したイベントパターンを決定し、関連付ける。これは以下の規則に従って行う。
【０２８１】
・ｐ[ｔ]がパターン種別１のとき、ａi-1とａiの両方がｐ[ｔ]から発生したとみなす。
【０２８２】
・ｐ[ｔ]がパターン種別２のとき、ａi-1のみがｐ[ｔ]から発生したとみなす。
【０２８３】
・ｐ[ｔ]がパターン種別３のとき、ａiのみがｐ[ｔ]から発生したとみなす。
【０２８４】
・ｐ[ｔ]がパターン種別４のとき、ａi-1とａiのどちらもｐ[ｔ]以外から発生したとみなす。
【０２８５】
その後、イベントパターンｐ[ｔ]が表す業務レベルの処理の実行履歴を作成し、ｐ[ｔ]に関連付ける。これは以下のように行う。
【０２８６】
・ｐ[ｔ−１]からｐ[ｔ]への遷移が図１２の「△２」「△１，２」に相当する場合には、ｐ[ｔ−１]に関連付けられた業務レベルの処理の実行履歴を、イベントパターンｐ[ｔ]とも関連付ける。
【０２８７】
・ｐ[ｔ−１]からｐ[ｔ]への遷移が図１２の「△２」「△１，２」に相当しない場合には、以下のようにする。
【０２８８】
−イベントパターンｐ[ｔ]の定義において〔業務処理定義ＩＤ〕の値が指定されている場合には、〔業務処理定義ＩＤ〕の値を名称として業務レベルの処理の実行履歴を作成し、ｐ[ｔ]と関連付ける。
【０２８９】
−イベントパターンｐ[ｔ]の定義において〔業務処理定義ＩＤ〕の値が指定されていない場合には、〔イベントパターン定義ＩＤ〕の値を名称として業務レベルの処理の実行履歴を作成し、ｐ[ｔ]と関連付ける。
【０２９０】
最後に、以上によって得られた結果を、オーダＩＤとともに業務履歴データベース４に保存する。
【０２９１】
この処理のフローを図２４に示す。
【図面の簡単な説明】
【０２９２】
【図１】システムレベルの処理の履歴および業務レベルの処理の履歴による業務プロセス推定を比較して示す説明図
【図２】上位の業務システムの履歴および下位の業務システムの履歴の関連付けを示す説明図
【図３】シーケンス図を基にしたシステムレベルの処理履歴の変換を示す説明図
【図４】イベントパターン抽出の一例を示す説明図
【図５】本発明によるイベントパターン抽出の概要を示す説明図
【図６】イベントパターン定義の一例を示す説明図
【図７】イベントパターン遷移コスト定義の一例を示す説明図
【図８】業務処理定義の一例を示す説明図
【図９】時刻逆転コスト定義の一例を示す説明図
【図１０】候補となるイベントパターン定義の特定方法を示す説明図
【図１１】複雑なイベントパターンを複数のプリミティブイベントパターンの組合せとして定義する方法を示す説明図
【図１２】イベントパターン間の遷移の可否を示す説明図
【図１３】イベントパターンのイベント遷移モデルによる置換の一例を示す説明図
【図１４】動的計画法によるコスト最初の状態列の求め方を示す説明図
【図１５】本発明の処理履歴変換装置の実施の形態の一例を示す構成図
【図１６】上位業務システム履歴データベースの一例を示す説明図
【図１７】業務履歴データベースの一例を示す説明図
【図１８】本発明の処理履歴変換方法の実施の形態の一例を示すフローチャート
【図１９】イベントパターン遷移モデル作成処理の詳細を示すフローチャート
【図２０】イベントパターン作成処理の詳細を示すフローチャート
【図２１】遷移可否・コスト設定処理の詳細を示すフローチャート
【図２２】イベントパターン置換処理の詳細を示すフローチャート
【図２３】コスト最小状態列算出処理の詳細を示すフローチャート
【図２４】業務履歴作成・保存処理の詳細を示すフローチャート
【符号の説明】
【０２９３】
１：上位業務システム履歴データベース、２：下位業務システム履歴データベース、３：業務システム知識データベース、４：業務履歴データベース、５：上位業務システム履歴記憶手段、６：下位業務システム履歴記憶手段、７：イベントパターン定義記憶手段、８：イベントパターン遷移モデル記憶手段、９：状態列記憶手段、１０：業務システム知識定義部、１１：履歴取得部、１２：イベントパターン遷移モデル作成部、１３：最小コスト状態列算出部、１４：業務履歴作成・保存部。１２１：イベントパターン作成部、１２２：遷移可否・コスト設定部、１２３：イベントパターン置換部。
【図１】
2008217656.tif 000007
【図２】
2008217656.tif 000008
【図３】
2008217656.tif 000009
【図４】
2008217656.tif 000010
【図５】
2008217656.tif 000011
【図６】
2008217656.tif 000012
【図７】
2008217656.tif 000013
【図８】
2008217656.tif 000014
【図９】
2008217656.tif 000015
【図１０】
2008217656.tif 000016
【図１１】
2008217656.tif 000017
【図１２】
2008217656.tif 000018
【図１３】
2008217656.tif 000019
【図１４】
2008217656.tif 000020
【図１５】
2008217656.tif 000021
【図１６】
2008217656.tif 000022
【図１７】
2008217656.tif 000023
【図１８】
2008217656.tif 000024
【図１９】
2008217656.tif 000025
【図２０】
2008217656.tif 000026
【図２１】
2008217656.tif 000027
【図２２】
2008217656.tif 000028
【図２３】
2008217656.tif 000029
【図２４】
2008217656.tif 000030