(57)【要約】【課題】設計フローと業務実績フローとを対比する。【解決手段】設計フローについては各ノードを始点からの距離及び終点からの距離に基づき出現位置区間を特定し、業務実績フローについてプロセスインスタンスに含まれるイベント種が出現する最頻出現位置区間に基づきグループ分けを実施して最頻出現グループを特定する。このような出現位置区間と最頻出現グループを用いて、ユーザが、対応付けるべきノードとイベント種とを見つけ出すのを補助する。【選択図】図１
2010211457.tif 000002
【特許請求の範囲】
【請求項１】
複数のイベントが時系列に並べられた複数のプロセスインスタンスのデータを第１のフローデータとして格納する第１フローデータ格納部に格納されている各前記プロセスインスタンスについて、当該プロセスインスタンス内における各イベントの出現位置を当該プロセスインスタンス内のイベントの出現回数に基づき決定し、各イベントに対応付けて出現位置を第１データ格納部に格納するステップと、
前記第１データ格納部から、イベント種別毎に前記イベントのデータを抽出し、当該イベント種別に属する各前記イベントの出現位置が、予め定められた複数の位置区間のいずれに属するか判断すると共に、前記イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、予め定められた複数のグループのうち前記最頻出現位置区間が属する最頻出現グループと前記イベント種別とを対応付けて第２データ格納部に格納するステップと、
前記第１のフローデータとは異なり且つ前記第１のフローデータと対比される第２のフローデータに含まれる各ノードと前記複数のグループと同一数の区分けがなされている複数の出現位置区間のうち当該ノードの出現位置区間とを対応付けて格納している第２フローデータ格納部に格納されている、前記第２のフローデータに含まれる各ノードと当該ノードの出現位置区間とを関連付けて表示すると共に、前記第２データ格納部に格納されている、前記イベントの種類と当該イベントの種類の前記最頻出現グループとを関連付けて表示する表示ステップと、
を含み、コンピュータに実行させるためのフロー比較処理方法。
【請求項２】
前記第２のフローデータが始点及び終点を含む複数のノードと当該ノード間の接続関係とで表され、
前記第２フローデータ格納部に格納されている前記第２のフローデータについての前記複数のノードのデータと前記ノード間の接続関係とから、前記始点及び終点を除き各前記ノードについて、前記始点からの最短距離と前記終点からの最短距離とを算出し、距離データ格納部に格納するステップと、
前記距離データ格納部に格納されている前記終点からの最短距離と前記始点からの最短距離との差を各前記ノードについて算出し、予め定められた閾値に従って、各前記ノードについて前記出現位置区間を特定し、前記第２フローデータ格納部に格納するステップと、
をさらに含む請求項１記載のフロー比較処理方法。
【請求項３】
前記表示ステップが、
前記第１のフローデータについて、前記グループ毎に当該グループを最頻出現グループとする前記イベント種別を列挙すると共に、前記第２のフローデータについて、前記出現位置区間毎に当該出現位置区間に対応付けられている前記ノードを列挙する表示を行うステップ
を含み、
前記第１のフローデータの前記イベント種別と、前記第２のフローデータの前記ノードとを対応付ける入力を受け付け、対応関係データとして対応関係データ格納部に格納するステップ
をさらに含む請求項１又は２記載のフロー比較処理方法。
【請求項４】
前記表示ステップが、
前記第１のフローデータについての前記グループ毎に、当該グループを最頻出現グループとする前記イベント種別の名称と、当該グループに対応する、前記第２のフローデータについての前記出現位置区間が対応付けられている前記ノードの名称との類似度を算出し、最も類似度が高い前記イベント種別の名称と前記ノードの名称とを関連付けて表示するステップ
を含む請求項１又は２記載のフロー比較処理方法。
【請求項５】
前記表示ステップが、
前記第１のフローデータの前記イベント種別と、前記第２のフローデータの前記ノードとを対応付ける入力を受け付け、対応付けられた前記イベント種別と前記ノードとの対応関係データを対応関係データ格納部に格納するステップと、
前記対応関係データ格納部に格納されている前記対応関係データと共に、前記イベント種別について前記第２データ格納部に格納されている前記最頻出現グループと、前記第２フローデータ格納部において前記ノードに対応付けられている前記出現位置区間とを対比可能な態様で表示するステップと、
を含む請求項１又は２記載のフロー比較処理方法。
【請求項６】
請求項１乃至５記載のフロー比較処理方法をコンピュータに実行させるためのプログラム。
【請求項７】
複数のイベントが時系列に並べられた複数のプロセスインスタンスのデータを第１のフローデータとして格納する第１フローデータ格納部と、
前記第１フローデータ格納部に格納されている各前記プロセスインスタンスについて、当該プロセスインスタンス内における各イベントの出現位置を当該プロセスインスタンス内のイベントの出現回数に基づき決定し、各イベントに対応付けて出現位置を第１データ格納部に格納する手段と、
前記第１データ格納部から、イベント種別毎に前記イベントのデータを抽出し、当該イベント種別に属する各前記イベントの出現位置が、予め定められた複数の位置区間のいずれに属するか判断すると共に、前記イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、予め定められた複数のグループのうち前記最頻出現位置区間が属する最頻出現グループと前記イベント種別とを対応付けて第２データ格納部に格納する手段と、
前記第１のフローデータとは異なり且つ前記第１のフローデータと対比される第２のフローデータに含まれる各ノードと前記複数のグループと同一数の区分けがなされている複数の出現位置区間のうち当該ノードの出現位置区間とを対応付けて格納している第２フローデータ格納部に格納されている、前記第２のフローデータに含まれる各ノードと当該ノードの出現位置区間とを関連付けて表示すると共に、前記第２データ格納部に格納されている、前記イベントの種類と当該イベントの種類の前記最頻出現グループとを関連付けて表示する表示手段と、
を有するフロー比較処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、フロー図を比較するための技術に関する。
【背景技術】
【０００２】
フロー図による業務プロセス可視化の大きな目的のひとつは、可視化によって現状の業務プロセスの問題点を把握し、業務改善に繋げることである。
【０００３】
この業務プロセス可視化のために、業務システムのデータベースに蓄積された処理レコードから、関連を有する一連の業務イベントを抽出して業務プロセスとしてまとめて、フロー図として可視化する技術が存在している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２７０７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上で述べたように現状の業務プロセスの問題点を把握するためには、現状の業務プロセスのフロー図単体ではなく、その業務プロセスが本来どうあるべきかを示したフロー図と比較した方が有効な分析が可能となる。
【０００６】
しかしながら、本来あるべきフローとは、システム設計時又は見直し時などに設計者や分析者が作成するものであるのに対し、現状の業務プロセスのフローとは出自が異なるために、同じ業務システムを対象としているにもかかわらず、多くの場合表現が異なるフロー図となる。ここでフローの表現が異なるとは、（ａ）フロー図を構成するノードの名称が異なる場合や、（ｂ）ノードの粒度が異なり、数が合わない又は構造が異なっている場合である。
【０００７】
また、設計フローについては、設計時の考慮漏れ、設計時の仕様書記載漏れ、仕様追加又は変更の際の仕様書反映漏れという問題から実態に合わないような設計フローとなっている場合もある。同様に、業務実績フローについても、動作環境による時刻不整合やログ記録の不備などによって不正確な業務実績フローが生成されている可能性がある。
【０００８】
これらの問題により、ノード名でのマッチングやトポロジでのマッチングは困難になり、本来の目的である両図の比較による業務プロセスの問題点抽出も難しくなる。
【０００９】
従って、本技術の目的は、異なるフロー図の対比を可能にするための新規な技術を提供することである。
【課題を解決するための手段】
【００１０】
本フロー比較処理方法は、複数のイベントが時系列に並べられた複数のプロセスインスタンスのデータを第１のフローデータとして格納する第１フローデータ格納部に格納されている各プロセスインスタンスについて、当該プロセスインスタンス内における各イベントの出現位置を当該プロセスインスタンス内のイベントの出現回数に基づき決定し、各イベントに対応付けて出現位置を第１データ格納部に格納するステップと、第１データ格納部から、イベント種別毎にイベントのデータを抽出し、当該イベント種別に属する各イベントの出現位置が、予め定められた複数の位置区間のいずれに属するか判断すると共に、イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、予め定められた複数のグループのうち最頻出現位置区間が属する最頻出現グループとイベント種別とを対応付けて第２データ格納部に格納するステップと、第１のフローデータとは異なり且つ第１のフローデータと対比される第２のフローデータに含まれる各ノードと複数のグループと同一数の区分けがなされている複数の出現位置区間のうち当該ノードの出現位置区間とを対応付けて格納している第２フローデータ格納部に格納されている、第２のフローデータに含まれる各ノードと当該ノードの出現位置区間とを関連付けて表示すると共に、第２データ格納部に格納されている、イベントの種類と当該イベントの種類の最頻出現グループとを関連付けて表示する表示ステップとを含む。
【発明の効果】
【００１１】
異なるフロー図の対比が可能となる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本技術の実施の形態におけるフロー比較処理装置の機能ブロック図である。
【図２】図２は、本実施の形態におけるメインの処理フローを示す図である。
【図３】図３は、データベースＡ及びＢに格納されているテーブルａ、ｂ及びｃの一例を示す図である。
【図４】図４は、イベントインスタンスのデータを示す図である。
【図５】図５は、イベント最頻出現位置評価処理の処理フローを示す図である。
【図６】図６は、プロセスインスタンス群の一例を示す図である。
【図７】図７は、イベントの出現位置の算出を説明するための図である。
【図８】図８は、出現位置管理テーブルの一例を示す図である。
【図９】図９は、イベント最頻出現位置評価処理の処理フローを示す図である。
【図１０】図１０は、出現位置管理テーブルから特定のイベント種のレコードを抽出した例を示す図である。
【図１１】図１１は、各区間についての出現頻度を登録するテーブルの一例を示す図である。
【図１２】図１２は、各イベント種についての最頻出現区間のデータを登録するテーブルの一例を示す図である。
【図１３】図１３は、イベント種のグループ分けの一例を示す図である。
【図１４】図１４は、本実施の形態におけるメインの処理フローを示す図である。
【図１５】図１５は、距離算出処理の処理フローを示す図である。
【図１６】図１６は、最短距離の算出を説明するための模式図である。
【図１７】図１７は、ノード間遷移行列の一例を示す図である。
【図１８】図１８は、始点からの距離及び終点からの距離のためのテーブル例を示す図である。
【図１９】図１９は、距離算出処理の処理フローを示す図である。
【図２０】図２０は、ノードのグループ分けの一例を示す図である。
【図２１】図２１は、業務実績フローの一例を示す図である。
【図２２】図２２は、設計フローの一例を示す図である。
【図２３】図２３は、イベントのグループ分けの一例を示す図である。
【図２４】図２４は、距離算出処理の処理結果例を示す図である。
【図２５】図２５は、ノードとイベントの対応付けの一例を示す図である。
【図２６】図２６は、グループ分けの結果を加えて表示する例を示す図である。
【図２７】図２７は、最初にグループ分けの結果を提示する例を示す図である。
【図２８】図２８は、業務実績フローの第２の例を示す図である。
【図２９】図２９は、設計フローの第２の例を示す図である。
【図３０】図３０は、業務実績フローの第２の例に対するグループ分けの一例を示す図である。
【図３１】図３１は、設計フローの第２の例に対する距離算出処理の処理結果を示す図である。
【図３２】図３２は、設計フローの第２の例に対するグループ分けの一例を示す図である。
【図３３】図３３は、ノードのグループ分けとイベントのグループ分けの対比するための図である。
【図３４】図３４は、文字列マッチングをグループ単位で実施した結果の一例を示す図である。
【図３５】図３５は、フロー図同士の対比による、ノード−イベントの対応関係を示す図である。
【図３６】図３６は、グループ分け無しに文字列マッチングを実施した結果の一例を示す図である。
【図３７】図３７は、グループ分け無しに文字列マッチングを実施した結果をフロー図同士の対比で表す場合の例を示す図である。
【図３８】図３８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
本技術の実施の形態に係るシステム概要を図１を用いて説明する。本実施の形態では、２つのフロー図を比較する場合を例に示す。その際、少なくとも１つのフロー図は、複数のプロセスインスタンス（すなわち業務実績フローの具体例）から把握されるフロー図であるものとする。もう一つのフロー図については、異なる情報（例えばデータベースなど）から得られる複数のプロセスインスタンスから把握されるフロー図であってもよいし、設計図などの他のフロー図であってもよい。
【００１４】
フロー比較処理装置１００は、例えばデータベースＡ及びＢといった業務システムにおけるデータベース（又はそのレプリカ）からプロセスインスタンスを生成するプロセスインスタンス生成部１０１と、プロセスインスタンス生成部１０１により生成されたプロセスインスタンスのデータを格納するプロセスインスタンスデータ格納部１０２と、プロセスインスタンスデータ格納部１０２に格納されているデータを用いて各イベント種別（イベント種又はイベントクラスとも呼ぶ）について業務実績フローの中でどのあたりに出現するのかを特定する処理を実施するイベント所属区間決定処理部１０３と、イベント所属区間決定処理部１０３の処理結果を格納するイベント所属区間データ格納部１０４と、例えばネットワークを介して又は指定された記憶装置等からフロー図のデータを取得するフロー図データ取得部１０６と、フロー図データ取得部１０６が取得したフロー図データを格納するフロー図データ格納部１０７と、フロー図データ格納部１０７に格納されているデータを用いてフロー図の各ノードが当該フロー図中どのあたりに出現するのかを特定する処理を実施するノード所属区間決定処理部１０８と、ノード所属区間決定処理部１０８の処理結果を格納するノード所属区間データ格納部１０９と、イベント所属区間データ格納部１０４とノード所属区間データ格納部１０９とに格納されているデータを用いて表示データ等を生成するなどの処理を実施する表示処理部１０５と、表示処理部１０５が生成した表示データを表示する表示装置１１０と、フロー図データ取得部１０６と表示処理部１０５とノード所属区間決定処理部１０８と連携してユーザからの入力をそれぞれに伝える入力部１１１と、表示処理部１０５の処理結果及び入力部１１１を介して入力されたデータに基づき特定され、業務実績フローに含まれるイベント種別とフロー図に含まれるノードとの対応関係を表すデータを格納する対応関係データ格納部１１２とを有する。
【００１５】
次に、図１に示したフロー比較処理装置１００の処理内容について図２乃至図３７を用いて説明する。
【００１６】
まず、プロセスインスタンス生成部１０１は、データベースＡ及びＢなどの第１のデータベース群に蓄積されているデータから第１のプロセスインスタンス群を生成し、プロセスインスタンスデータ格納部１０２に格納する（図２：ステップＳ１）。この処理は、特開２００８−２７０７２号公報などにも開示されている周知の処理である。
【００１７】
例えば、図３に模式的に示すが、データベースＡにはテーブルａ及びｂが格納されており、プロセスインスタンス生成部１０１は、テーブルａからそれぞれ識別子と処理種別と処理時刻とを含む業務レコードを抽出し、同様にテーブルｂからそれぞれ識別子と処理種別と処理時刻とを含む業務レコードを抽出する。また、データベースＢにはテーブルｃが格納されており、テーブルｃからそれぞれ識別子と処理種別と処理時刻とを含む業務レコードを抽出する。なお、テーブルａ乃至ｃの１レコードに、識別子と処理種別と処理時刻とのうちいずれかの列が含まれない場合には、プロセスインスタンス生成部１０１が、例えば処理種別をテーブル名から取得するなどして、図３の右側に示すように、識別子と処理種別と処理時刻とを含む業務レコードを構成して、例えばプロセスインスタンスデータ格納部１０２に格納する。
【００１８】
そして、プロセスインスタンス生成部１０１は、プロセスインスタンスデータ格納部１０２に格納されている業務レコードを、識別子及び処理時刻でソートし、ソート結果をプロセスインスタンスデータ格納部１０２に格納する。識別子が同じということは、同じ案件についての一連の業務であることを意味しており、識別子で業務レコードをグループ化し、処理時刻で業務レコードをソートすることによって業務の実施の順番を特定する。図３の例では、星印の付いた、識別子がＩＤ００１の業務レコードでグループ化し、処理時刻を早い順に並べると、図４に示すようなデータが生成され、プロセスインスタンスデータ格納部１０２に格納される。なお、識別子ＩＤ００１以外の業務レコードについても同様にグループ化されソートされて、プロセスインスタンスデータ格納部１０２に格納される。図４に格納された各レコードがイベント（イベントインスタンスとも呼ぶ）であり、時系列に並べられたこれらのレコード群をプロセスインスタンスと呼ぶ。
【００１９】
次に、例えばフロー図データ取得部１０６がフロー図データの取得を入力部１１１を介してユーザから指示されているか否か、又は図２で点線で表されているデータベースＣ及びＤのように第２のデータベース群（又はそのレプリカ）が設定又は指定されているか否かによって、第２のデータベース群からプロセスインスタンスを生成するかを特定し、第２のデータベース群からプロセスインスタンスを生成する場合には（ステップＳ３：Ｙｅｓルート）、プロセスインスタンス生成部１０１は、データベースＣ及びＤなどの第２のデータベース群に蓄積されているデータから第２のプロセスインスタンス群を生成し、プロセスインスタンスデータ格納部１０２に格納する（ステップＳ５）。処理内容自体はステップＳ１と同じである。そして処理はステップＳ９に移行する。
【００２０】
一方、フロー図データを取得する場合には（ステップＳ３：Ｎｏルート）、フロー図データ取得部１０６は、外部のリソースからフローの構造を表すデータ（例えばフロー図のイメージデータ又はＸＰＤＬ（XML Process Definition Language。ワークフロー製品間（モデリングエンジンやワークフローエンジン）でビジネスプロセス定義を交換するために定義された標準形式。）などによって記述されたコンピュータ読み取り可能なフロー構造の定義データなど）を取得し、フロー図データ格納部１０７に格納する（ステップＳ７）。
【００２１】
ステップＳ５又はＳ７の後に、イベント所属区間決定処理部１０３は、第１のプロセスインスタンス群に対するイベント最頻出現位置評価処理を実施する（ステップＳ９）。イベント最頻出現位置評価処理については、図５乃至図１２を用いて説明する。
【００２２】
まず、イベント所属区間決定処理部１０３は、プロセスインスタンスデータ格納部１０２に格納されているプロセスインスタンス群から、未処理のプロセスインスタンスを１つ特定する（図５：ステップＳ５１）。また、特定されたプロセスインスタンスに含まれるイベント数をカウントし、当該カウント値に基づき各イベントの出現位置を算出する（ステップＳ５３）。
【００２３】
例えば、図６に示すように、プロセスインスタンスデータ格納部１０２には、４種類のプロセスインスタンス、すなわち「見積」-＞「受注」-＞「検収」という順番でイベントが発生する第１のプロセスクラスと、「受注」-＞「取消」という順番でイベントが発生する第２のプロセスクラスと、「見積」-＞「受注」-＞「変更」-＞「受注」-＞「検収」という順番でイベントが発生する第３のプロセスクラスと、「見積」-＞「変更」-＞「見積」-＞「取消」という順番にイベントが発生する第４のプロセスクラスとが生成されたものとする。なお、図６に示すように、それぞれの実行回数も特定されているものとする。
【００２４】
このような場合、ステップＳ５３では、図７に示すような方法で、出現位置を算出する。すなわち、最初のイベントを位置０％、最後のイベントを位置１００％と設定して、その間に発生したイベントの間隔が均等になるように各イベントの位置を決定する。第１のプロセスクラスの場合、図７の第１行目に示すように、最初と最後のイベントの間には受注イベントのみが発生している。従って、間隔は２つであるから、１００％／２＝５０％が受注イベントの位置となる。第２のプロセスクラスの場合、図７の第２行目に示すように、イベントが２つしかないので、位置を決定すべき中間のイベントはない。第３のプロセスクラスの場合、図７の第３行目に示すように、最初と最後のイベントの間には受注イベント、変更イベント及び２回目の受注イベントが発生している。従って、間隔は４つであるから、受注イベントは１００％／４＊１＝２５％が出現位置であり、変更イベントは１００％／４＊２＝５０％が出現位置であり、２回目の受注イベントは１００％／４＊３＝７５％が出現位置である。第４のプロセスクラスの場合、図７の第４行目に示すように最初と最後のイベントの間には変更イベント及び見積イベントが発生している。従って、間隔は３であり、変更イベントは１００％／３＊１＝３３．３％が出現位置であり、見積イベントは１００％／３＊２＝６６．６％が出現位置である。
【００２５】
なお、度数分布を生成する際には、各イベント種について、各出現位置の回数を、そのプロセスインスタンスの当該実行回数分カウントアップする。
【００２６】
以上のような手順にてステップＳ５１で特定されたプロセスインスタンスに含まれる各イベントの出現位置を算出する。このように各プロセスインスタンスにおいて正規化した形で出現位置を算出するので、粒度の差に起因するフロー図間のノード数又はイベント数の相違の影響を抑えて対比できるようになる。
【００２７】
そして、イベント所属区間決定処理部１０３は、未処理のイベントを１つ特定し（ステップＳ５５）、イベント名（イベント種又はイベント種別とも呼ぶ）及び出現位置を、イベント所属区間データ格納部１０４の出現位置管理テーブルに登録する（ステップＳ５７）。出現位置管理テーブルは、例えば図８に示すようなテーブルである。図８の例では、イベント種と出現位置とが登録されるようになっている。ステップＳ５７では、１つのレコードがこのような出現位置管理テーブルに登録される。
【００２８】
そして、イベント所属区間決定処理部１０３は、全てのイベントを処理したか判断する（ステップＳ５９）。未処理のイベントが存在する場合にはステップＳ５５に戻る。未処理のイベントが存在しない場合には、プロセスインスタンスデータ格納部１０２に格納されている全てのプロセスインスタンスについて処理したか判断し（ステップＳ６１）、未処理のプロセスインスタンスが存在する場合にはステップＳ５１に戻る。一方、全てのプロセスインスタンスを処理した場合には、端子Ｂを介して図９の処理に移行する。
【００２９】
図９の処理の説明に移行して、イベント所属区間決定処理部１０３は、出現位置管理テーブルにおいて未処理のイベント種を１つ特定する（ステップＳ６３）。そして、特定されたイベント種に該当するレコードを、出現位置管理テーブルから抽出し、所定の位置区間毎に出現回数をカウントし、イベント所属区間データ格納部１０４に格納する（ステップＳ６５）。例えば、図８のような出現位置管理テーブルから、図７でハッチングが付されている「受注」イベントのレコードを抽出すると、図１０に示すようなデータが得られる。すなわち、イベント種が全て「受注」で、その出現位置が列挙される。そして、例えば図１１に示すように、０％から１００％を１０区間に均等に分けてそれぞれの区間について、該当件数をカウントする。図１０に現れているレコードだけを集計すれば、５０％が５回、３３．３％が１回、０％が２回で、図１１に示されているような分布が得られる。
【００３０】
そして、イベント所属区間決定処理部１０３は、図１１に示されているような分布から、最頻出現区間（一般的には最も出現回数が多い区間であるが、他の統計的な特徴値の区間を採用するようにしても良い。場合によってはユーザに指定させるようにしてもよい。）を特定し、当該最頻出現区間を特定するデータ（区間にＩＤが振られている場合には、当該区間ＩＤ。０以上１０未満といったデータであっても良い。）とイベント種とを対応付けてイベント所属区間データ格納部１０４に格納する（ステップＳ６７）。そして、全てのイベント種について処理したか判断する（ステップＳ６９）。未処理のイベント種が存在する場合にはステップＳ６３に戻る。一方、全てのイベント種について処理した場合には、元の処理に戻る。
【００３１】
以上のような処理を実施すれば、例えば図１２に示すように、「見積」イベントは０以上１０未満の区間、「受注」イベントは５０以上６０未満の区間、「変更」イベントは５０以上６０未満の区間、「検収」イベントは９０以上１００以下の区間、「取消」イベントは９０以上１００以下の区間が最頻出現区間として特定される。
【００３２】
図２の説明に戻って、イベント所属区間決定処理部１０３は、第１のプロセスインスタンス群の各イベント種を最頻出現区間からグループ分けし、グループ分けデータをイベント所属区間データ格納部１０４に格納する（ステップＳ１１）。例えば、「序盤」「中盤」「終盤」といったように３つのグループに分ける場合には、「０以上１０未満」「１０以上２０未満」「２０以上３０未満」を最頻出現区間とするイベント種を、序盤グループに属するイベント種として特定する。また、「３０以上４０未満」「４０以上５０未満」「５０以上６０未満」「６０以上７０未満」を最頻出現区間とするイベント種を、中盤グループに属するイベント種として特定する。図１２の例では、図１３に示すようなデータが得られるようになる。図１３の例では、序盤グループには「見積」イベントが属し、中盤グループには「受注」イベント及び「変更」イベントが属し、終盤グループには「検収」イベント及び「取消」イベントが属する。図１３は、以下で述べる表示例でもあり、棒グラフも含まれているが、イベント所属区間データ格納部１０４には、このような棒グラフを描くためのデータ（図１１）が格納されている。処理は、端子Ａを介して図１４の処理に移行する。
【００３３】
このような処理を実施することによって、出現頻度の低い例外的なフロー経路の影響を抑えて、適切な出現区間及びグループが特定されるようになる。
【００３４】
なお、ステップＳ９及びＳ１１では、一旦最頻出現区間を特定した後にさらにグループ化するような処理を実施しているが、例えば区間を０以上３０未満と３０以上７０未満と７０以上１００以下というように３つの区間として初めから定義して、最頻出現区間を特定するようにしてもよい。但し、この場合には、上で述べたステップＳ９及びＳ１１の処理とは異なる結果が得られる場合もある。いずれを採用するかは任意である。また、区間とグループとが同じ数であれば、ステップＳ１１を実施せずとも良い。
【００３５】
図１４の処理の説明に移行して、次に、ステップＳ５で第２のデータベース群からプロセスインスタンスを生成した場合には（ステップＳ１３：Ｙｅｓルート）、イベント所属区間決定処理部１０３は、プロセスインスタンスデータ格納部１０２に格納されている第２のプロセスインスタンス群に対するイベント最頻出現位置評価処理を実施する（ステップＳ１５）。この処理はステップＳ９と同じであるから、詳細な説明については省略する。
【００３６】
また、イベント所属区間決定処理部１０３は、第２のプロセスインスタンス群の各イベント種を最頻出現区間から、第１のプロセスインスタンス群と同一態様でグループ分けし、グループ分けデータを、イベント所属区間データ格納部１０４に格納する（ステップＳ１７）。この処理についてもステップＳ１１と同じであり、詳細な説明については省略する。なお、グループ分けの態様は第１のプロセスインスタンス群と第２のプロセスインスタンス群で同じでなければならない。処理はステップＳ２５に移行する。
【００３７】
一方、ステップＳ５でフロー図データを取得してフロー図データ格納部１０７に格納した場合には（ステップＳ１３：Ｎｏルート）、ノード所属区間決定処理部１０８は、フロー図データ格納部１０７に格納されているフロー図データから始点及び終点との距離算出処理を実施する（ステップＳ１９）。この距離算出処理については、図１５乃至図１９を用いて説明する。
【００３８】
ノード所属区間決定処理部１０８は、入力されたフロー図に始点及び終点が明示されているか判断する（ステップＳ７１）。例えば、コンピュータ読み取り可能な言語で記述されている場合には、「開始」「終了」といった文言の他予め定められたキーワードをノード所属区間決定処理部１０８に登録しておき、当該キーワードに合致するノードが規定されているか否かによって始点及び終点が明示されているかを判断する。一方、イメージデータなどであっても、ＯＣＲ（Optical Character Recognition）の技術等で上記のようなキーワードを抽出するようにしてもよい。
【００３９】
入力されたフロー図に始点及び終点が明示されていない場合（実際に明示されていない場合又はノード所属区間決定処理部１０８が認識できなかった場合）には、ノード所属区間決定処理部１０８は、例えば始点及び終点の入力をユーザに対して促す表示を表示装置１１０に対して行い、始点及び終点の入力がなければ（ステップＳ７３：Ｎｏルート）、処理不可能を出力して以降の処理を終了する（ステップＳ８７）。なお、始点及び終点が接続されるノードの指定が必要である。
【００４０】
一方、入力部１１１を介して始点及び終点の入力がなされた場合には（ステップＳ７３：Ｙｅｓルート）、ノード所属区間決定処理部１０８は、入力部１１１から始点及び終点の入力を受け取り、例えばメインメモリなどの記憶装置に格納する（ステップＳ７５）。
【００４１】
ステップＳ７５の後に、又は入力されたフロー図に始点及び終点が明示されている場合には、ノード所属区間決定処理部１０８は、入力されたフロー図のデータが、フロー構造を自動的に読み取り可能なデータ（例えばＸＰＤＬ等で記述されたデータ）であるかを判断する（ステップＳ７７）。イメージデータのように正確にフロー構造を読み取れないようなデータでフロー図が入力されている場合には、ノード所属区間決定処理部１０８は、表示装置１１０にノードの種類及びノード間の接続間の情報の入力を促す表示を行い、入力部１１１を介してユーザからの入力データを取得し、例えばメインメモリなどの記憶装置に格納する（ステップＳ７９）。そして、ステップＳ８３に移行する。
【００４２】
入力されたフロー図のデータが、フロー構造を自動的に読み取り可能なデータ（例えばＸＰＤＬ等で記述されたデータ）である場合には、ノード所属区間決定処理部１０８は、例えば周知のパーサ機能でフロー図データをパースし、ノードの種類及びノード間の接続関係の情報を抽出する（ステップＳ８１）。このパーサ機能については、ＸＭＬ（eXtensible Markup Language）のパーサの技術を用いれば実現できるのでここではこれ以上述べない。
【００４３】
そして、ノード所属区間決定処理部１０８は、ノードの種類及びノード間の接続関係から、ノード間遷移を表す隣接行列を生成し、例えばメインメモリなどの記憶装置に格納する（ステップＳ８３）。なお、処理は端子Ｄを介して図１９の処理に移行する。
【００４４】
例えば図１６のようなフロー図を想定する。図１６のフロー図では、始点である「ＩＮＩＴＩＡＬ」から「見積」及び「受注」への遷移と、「見積」から「受注」への遷移と、「受注」から「取消」「検収」「変更」への遷移と、「変更」から「受注」への遷移と、「検収」から終点である「ＦＩＮＡＬ」への遷移と、「取消」から「ＦＩＮＡＬ」への遷移とが含まれている。このようなノードの種類とノード間の接続関係を、ノード間遷移を表す隣接行列に変換すると、図１７に示すような行列となる。行列の中で「０」は、遷移無しを表し、「１」は遷移有りを表す。
【００４５】
そして、ノード所属区間決定処理部１０８は、ワーシャル・フロイド法などの、有向グラフの最短経路についての周知の解法に従って、各ノードについて、始点からの最短距離及び終点からの最短距離（終点への最短距離と同じ）を算出し、ノード所属区間データ格納部１０９に格納する（ステップＳ８５）。図１６に示すように、例えば「見積」に着目すると、「ＩＮＩＴＩＡＬ」からの最短距離は「１」であり、「ＦＩＮＡＬ」からの最短距離は「３」である。また、「受注」に着目すると、「ＩＮＩＴＩＡＬ」からの最短距離は「１」であり、「ＦＩＮＡＬ」からの最短距離は「２」である。このような最短距離の計算については、周知の手法にて隣接行列から算出することができ、例えばその計算結果は、例えば図１８に示すようなデータとなる。すなわち、各ノードについて、ＩＮＩＴＩＡＬからの最短距離Ａと、ＦＩＮＡＬからの最短距離Ｂ（ＦＩＮＡＬへの最短距離としても同じ。）とが算出される。なお、図１８の例では、後に算出されるＢ−Ａについても計算結果が示されている。
【００４６】
図１９の処理の説明に移行して、ノード所属区間決定処理部１０８は、未処理のノードを１つ特定し（ステップＳ８７）、特定されたノードについて、終点からの最短距離から始点からの最短距離を引くことによって差分値（距離差とも呼ぶ）を算出し、ノード所属区間データ格納部１０９に格納する（ステップＳ８９）。図１８に示したように、Ｂ−Ａを算出して、登録する。なお、差分値が大きいほどＩＮＩＴＩＡＬに近く、差分値が小さければＦＩＮＡＬに近いので、始点又は終点にどの程度寄っているのかの指標として算出している。そして、未処理のノードが存在するか判断し（ステップＳ９１）、未処理のノードが存在すればステップＳ８７に戻り、未処理のノードが存在しなければ元の処理に戻る。
【００４７】
このような処理を実施することによって、フロー図が与えられた場合にも、以下で行われるノードのグループ分けのベースとなるデータが得られるようになる。
【００４８】
図１４の説明に戻って、ノード所属区間決定処理部１０８は、算出された差分値に基づき、各ノードをプロセスインスタンスのグループと同一数のグループにグループ分けし、グループ分けデータをノード所属区間データ格納部１０９に格納する（ステップＳ２３）。図１８に示すようなデータを得た場合には、例えば差分値ｘが１より大きく２以下であれば序盤グループとし、差分値ｘが１以下で０より大きい場合には中盤グループとし、差分値ｘが０以下で−１以上の場合には終盤グループと定義して、各ノードの差分値に基づきいずれのグループに属するかを判断する。図１８の例では、図２０に示すように、序盤グループには「見積」が含まれ、中盤グループには「受注」及び「変更」が含まれ、終盤グループには「取消」及び「検収」が含まれる。グループについての閾値は、ノード数や差分値の範囲（最高値と最小値との差）などから予め決定して設定しておく。
【００４９】
そしてステップＳ１７又はＳ２３の後に、表示処理部１０５は、イベント−ノードの対応付けのための表示を実施すると共に、ユーザからの入力を入力部１１１を介して受け付け、イベント−ノードの対応関係データを、対応関係データ格納部１１２に格納する（ステップＳ２５）。ステップＳ２５の具体的な実施方法は様々なバリエーションが考えられる。
【００５０】
［ステップＳ２５の第１の具体例］
例えば、プロセスインスタンスを生成してそれらを重ね合わせた場合に図２１に示すような第１のフロー（業務実績フロー）が得られ、また図２２に示すようなフロー図が第２のフロー（設計フロー）として入力された場合を考える。この場合、第１のフローの場合、上で述べた処理を実施すると、図２３に示すようなグループ分けがなされる。具体的には、序盤グループに属するイベント種には、「受注履歴．オーダ発行」「発注履歴．見積依頼」「受注履歴．見積書発行」「受注履歴．見積」「受注履歴．注文書発行」が含まれる。また、中盤グループに属するイベント種には、「発注履歴．発注」「発注履歴．検査」「受注履歴．注文書受領」「受注履歴．請求」「発注履歴．検収」「発注履歴．受注」「仕入履歴．仕入計上」が含まれる。また、終盤グループに属するイベント種には、「受注履歴．完了」「売上履歴．売上計上」「仕入履歴．支払」「受注履歴．検収」が含まれる。このようなデータが、イベント所属区間データ格納部１０４に格納されている。
【００５１】
また第２のフローの場合、上で述べた処理を実施すると、図２４に示すように、各ノードが序盤グループ、中盤グループ及び終盤グループに分類される。具体的には、序盤グループに属するノードには、「販売＿オーダ登録」「販売＿見積」「購買＿発注計画」「購買＿見積」が含まれる。また、中盤グループに属するノードには、「販売＿受注」「購買＿発注依頼・注文・契約」「購買＿納品・検収」「販売＿報告・検収」が含まれる。さらに、終盤グループに属するノードには、「購買＿支払」「購買＿完了」「購買＿解約」「購買＿取消」「販売＿売上」「販売＿解約」「販売＿完了」が含まれる。このようなデータが、ノード所属区間データ格納部１０９に格納されている。
【００５２】
そして、第１の具体例では、ユーザが外部資料に基づき自ら対応関係を入力部１１１を介して入力する。対応関係は例えば図２５に示すようなものである。対応関係がつけられないものもあれば、１対多の対応関係となっているものもある。ここで、このような対応関係データの入力を受け付けた表示処理部１０５は、このような対応関係データを例えばメインメモリなどの記憶装置に格納すると共に、各ノード及び各イベントについていずれのグループに属するかについてのデータを読み出して、ユーザに対してユーザの対応付けが適切であるかの確認を求める。例えば図２６のような表示を行う。図２６の例では、ユーザに指示された対応関係を維持しつつ、左横に序盤、中盤又は終盤のいずれであるかを示すようにしている。そして、ユーザは、例えば、同じグループ同士が対応付けられている場合には、特に問題がないと判断し、異なるグループが対応付けられている部分についてその妥当性について判断する。そして、序盤のイベントと終盤のノードが対応付けられている場合には、見直しが必要な場合もある。
【００５３】
ユーザは、図２６のような表示を参考にして、対応付けを再確認して、問題がなければ入力部１１１を介して登録を指示する。そうすると、図２５に示したような対応関係データが対応関係データ格納部１１２に格納されるようになる。一方、修正が必要であれば、修正の入力を入力部１１１を介して行い、修正後の対応関係データを対応関係データ格納部１１２に格納する。
【００５４】
このように、先にユーザに対応関係データを入力してもらった後に、入力が正しいか否かを判断する１つの要素として、イベント所属区間データ格納部１０４及びノード所属区間データ格納部１０９に格納されているデータを用いる。図１３のようなグラフを提示したり、図２４のようなデータを表示するようにしてもよい。
【００５５】
［ステップＳ２５の第２の具体例］
第１の具体例とは逆に、例えば図２７に示すように、先に、序盤グループに属するイベント及びノードを対応付けて列挙し、中盤グループに属するイベント及びノードを対応付けて列挙し、終盤グループに属するイベント及びノードを対応付けて列挙する。このようなグループ単位の対応関係データと外部資料をベースに、ユーザが実際に対応付けるべきイベント及びノードを入力部１１１を介して入力する。
【００５６】
このようにイベント所属区間データ格納部１０４及びノード所属区間データ格納部１０９に格納されているデータをグループ単位でまとめて提示した上で、そのようなデータ等を基に対応関係データを入力してもらうようにしても良い。
【００５７】
また、図２７のイベントをボタン化して、クリックされた場合などには図１３に示すような棒グラフを表示するようにしても良い。また、他にボタンを設けて、例えばユーザからの指示に応じて第１及び第２のフロー図を表示するようにしてもよい。他にもイベント所属区間データ格納部１０４及びノード所属区間データ格納部１０９に格納されているデータを表示するようにしても良い。
【００５８】
［ステップＳ２５の第３の具体例］
ここでは図２８に示す第１のフロー（業務実績フロー）及び図２９に示す第２のフロー（設計フロー）を用いて説明する。上で述べたイベント所属区間決定処理部１０３による処理を実施すれば、図３０に示すようなイベントのグループ分けが特定されるものとする。すなわち、序盤グループには、「部品製造１」「部品製造２」「組立１」「検査１」が含まれ、中盤グループには、「部品製造３」「組立２」が含まれ、終盤グループには、「検査２」「修理１」「出荷１」が含まれる。また、ノード所属区間決定処理部１０８による処理を実施すれば、図３１に示すような各ノードについての差分値（終点からの距離−始点からの距離＝距離差）が算出され、図３２に示すようなグループ分けが特定されるものとする。図３１に示すように、差分値は−５以上３以下という範囲になっており、上で述べた例とは異なり、図３２に示すように例えば３以下で０．３４を上回る場合には序盤グループに分類され、０．３４以下で−２．２２を上回る場合には中盤グループに分類され、−２．２２以下で−５以上である場合には終盤グループに分類される。すなわち、序盤グループには「基板製造」「基板検査」が含まれ、中盤グループには「基板修理」「ケース製造」「組立」が含まれ、終盤グループには「全体検査」「廃棄」「全体修理」「出荷」が含まれる。
【００５９】
そして、イベント所属区間データ格納部１０４及びノード所属区間データ格納部１０９に格納されているグループ分けデータから図３３に示すようなグループ毎の対応付けができるようになる。この段階で、表示処理部１０５が同じグループ内において設計フローについてのノードと業務実績フローのイベントとの対応付けを、周知の文字列マッチングを行うことによって実施する。すなわち、より多くの文字が一致するノード名及びイベント名を対応付ける。そうすると、図３４に示すようなデータが得られる。すなわち、「基板製造」ノードは「部品製造１」及び「部品製造２」イベントに対応付けられ、「基板検査」ノードは「検査１」イベントに対応付けられ、「ケース製造」ノードは「部品製造３」イベントに対応付けられ、「組立」ノードは「組立２」イベントに対応付けられ、「全体検査」ノードには「検査２」イベントが対応付けられ、「全体修理」ノードには「修理１」イベントが対応付けられ、「出荷」ノードには「出荷１」イベントが対応付けられる。その他のノード又はイベントについては対応付けができない。例えば表示処理部１０５が、図３４に示すようなデータを生成して、表示装置１１０を用いてユーザに提示し、ユーザは外部資料などを参照して図３４に示すような対応関係の妥当性を判断する。もし修正が必要であれば修正内容を入力部１１１を介して入力し、表示処理部１０５は、修正後の対応関係データを対応関係データ格納部１１２に格納する。修正がなければ、登録指示を入力部１１１を介して入力し、表示処理部１０５は、図３４の内容を対応関係データ格納部１１２に格納する。
【００６０】
また、図３４のようなテーブルを表示するのではなく、例えば図３５に示すようにフロー図を併置してノード−イベントの対応付けを図示するようにしても良い。対応関係については図３４に示したものと同様であるが、図３５において対応関係については点線で示している。点線ではなくそれぞれを識別可能な色で線を示すようにしても良い。図３５のような表示を行うようにすれば、フロー中のどのあたりのノードとイベントが対応付けられているのかを容易に把握できるようになる。従って、修正すべき部分も特定することができる。なお、図３５の例では、対応付けを表す点線はあまり傾くことなく水平に近い形で伸びており、フロー中の位置関係が考慮された上での対応付けであることが分かる。
【００６１】
また、図３０乃至図３２のようなデータを例えばユーザからの要求に応じて表示するようにしても良い。
【００６２】
一方、上で述べたようなグループ分けを用いずに設計フローのノードと業務実績フローのイベントとを単純な文字列マッチングにて対応付けてしまうと、フロー上では対応付けるべきでないようなノードとイベントが対応付けられてしまう。その様子を図３６に示す。「基板製造」ノード及び「ケース製造」ノードは、「部品製造１」イベント、「部品製造２」イベント及び「部品製造３」イベントのいずれと対応するのかが不明である。これはそもそもが１：ｎ（ｎは２以上の整数）なのか文字列マッチングにおける曖昧さを反映して１：ｎなのかを区別できないという問題を示している。また、「組立」ノードと「組立１」イベント及び「組立２」イベントとの対応関係や、「基板修理」ノード及び「全体修理」ノードと「修理１」イベントとの対応付けについても同様である。文字列マッチングだけでは、「基板検査」ノード及び「全体検査」ノードと「検査１」イベント及び「検査２」イベントとの対応付けも不明確であるが、ここではフロー上の前後関係から図３６に示すように、「基板検査」ノードと「検査１」イベントとを対応付け、「全体検査」ノードと「検査２」イベントとを対応付けている。このようなルールを導入しても先に文字列マッチングを実施すると曖昧さが残ってしまう。また、数多くのノードとイベントとのマッチングを算出しなければならないので、マッチングのための計算コストも多く掛かってしまう。
【００６３】
従って、図３５のようにフロー図同士を併置して対比する場合には図３７に示すような図になってしまう。図３５と比較すれば、煩雑に対応付けの点線が交差していることが分かる。特に、斜めに傾いてノードとイベントを繋いでいる点線もあり、対応付けがフロー中の位置関係からして不適切であるということも分かる。
【００６４】
このように上で述べたグループ分けの結果を用いることによって、対応付けの精度が向上し、ユーザの対応付け修正の手間を削減することができるようになる。
【００６５】
以上本技術の本実施の形態について説明したが、本技術はこれに限定されるものではない。例えば図１に示した機能ブロック図は一例であって必ずしも実際のプログラムモジュール構成と一致しない場合もある。
【００６６】
さらに処理フローについても処理結果が変わらない限りにおいて処理順番を変更したり並列実行するようにしても良い。
【００６７】
また、スタンドアロン型の実施の形態を説明したが、クライアント・サーバ型に変形することも可能である。すなわち、ネットワークに接続されており表示装置や入力装置を有するユーザ端末とのデータのやりとりによって、ユーザ端末とのインターフェース部を表示装置１１０や入力部１１１の代わりに有するフロー比較処理装置１００が処理するような構成である。
【００６８】
画面表示内容についても様々な変形が可能であり、上で述べたものに限定されるものではなく、同様の内容を表示できれば他の形態に変形して表示するようにしても良い。また、他の情報を付加的に表示したり、１度に表示する情報の内容を絞り込んでも良い。
【００６９】
なお、上で述べたフロー比較処理装置１００は、コンピュータ装置であって、図３８に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００７０】
以上本実施の形態をまとめると以下のようになる。
【００７１】
本フロー比較処理方法は、複数のイベントが時系列に並べられた複数のプロセスインスタンスのデータを第１のフローデータとして格納する第１フローデータ格納部に格納されている各プロセスインスタンスについて、当該プロセスインスタンス内における各イベントの出現位置を当該プロセスインスタンス内のイベントの出現回数に基づき決定し、各イベントに対応付けて出現位置を第１データ格納部に格納するステップと、第１データ格納部から、イベント種別毎にイベントのデータを抽出し、当該イベント種別に属する各イベントの出現位置が、予め定められた複数の位置区間のいずれに属するか判断すると共に、イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、予め定められた複数のグループのうち最頻出現位置区間が属する最頻出現グループとイベント種別とを対応付けて第２データ格納部に格納するステップと、第１のフローデータとは異なり且つ第１のフローデータと対比される第２のフローデータに含まれる各ノードと複数のグループと同一数の区分けがなされている複数の出現位置区間のうち当該ノードの出現位置区間とを対応付けて格納している第２フローデータ格納部に格納されている、第２のフローデータに含まれる各ノードと当該ノードの出現位置区間とを関連付けて表示すると共に、第２データ格納部に格納されている、イベントの種類と当該イベントの種類の最頻出現グループとを関連付けて表示する表示ステップとを含む。
【００７２】
例えば、第１のフローデータに係るイベント種別の最頻出現グループと第２のフローデータに係るノードの出現位置区間とが同じであるということを目安にして、どのイベント種別とどのノードとが対応するものなのかを容易に判断できるようになる。なお、第２のフローデータについては、設計図のようなものであってもよいし、第１のフローデータと同じように複数のプロセスインスタンスから特定されるものであっても良い。また、第２フローデータ格納部に格納されるデータについては、自動的に生成する場合もあれば、予め手動にて作成したデータが格納される場合もある。また、グループと位置区間が同じ場合もある。
【００７３】
さらに、上で述べたような統計的な処理によって低頻度の例外的なプロセスインスタンスの影響を抑えて出現位置区間、そして最頻出現グループを特定できるようになる。さらに、プロセスインスタンス内における各イベントの出現位置を当該プロセスインスタンス内のイベントの出現回数に基づき決定するようにしているので、出現位置がプロセスインスタンス内において正規化されて特定され、比較対象フローとノードの粒度が異なる場合でもフロー全体における出現位置という同じ基準で比較が可能となる。
【００７４】
また、第２のフローデータが始点及び終点を含む複数のノードと当該ノード間の接続関係とで表されるようなものであってもよい。その場合には、第２フローデータ格納部に格納されている第２のフローデータについての複数のノードのデータとノード間の接続関係とから、始点及び終点を除き各ノードについて、始点からの最短距離と終点からの最短距離とを算出し、距離データ格納部に格納するステップと、距離データ格納部に格納されている終点からの最短距離と始点からの最短距離との差を各ノードについて算出し、予め定められた閾値に従って、各ノードについて出現位置区間を特定し、第２フローデータ格納部に格納するステップとをさらに含むようにしてもよい。例えば、第２のフローデータが例えば適切な記述言語によって規定されている場合には、自動的に複数のノードとノード間の接続関係とを特定できるので、上で述べた処理にて自動的に各ノードについて出現位置区間を特定できるようになる。
【００７５】
さらに、上で述べた表示ステップが、第１のフローデータについて、グループ毎に当該グループを最頻出現グループとするイベント種別を列挙すると共に、第２のフローデータについて、出現位置区間毎に当該出現位置区間に対応付けられているノードを列挙する表示を行うステップを含むようにしてもよい。さらに、本フロー比較処理方法が、第１のフローデータのイベント種別と、第２のフローデータのノードとを対応付ける入力を受け付け、対応関係データとして対応関係データ格納部に格納するステップをさらに含むようにしてもよい。このように、グループ毎に所属のイベント種別を示して、出現位置区間毎に所属のノードを示すことにより、ユーザは対応関係を特定しやすくなる。
【００７６】
また、上で述べた表示ステップが、第１のフローデータについてのグループ毎に、当該グループを最頻出現グループとするイベント種別の名称と、当該グループに対応する、第２のフローデータについての出現位置区間が対応付けられているノードの名称との類似度を算出し、最も類似度が高いイベント種別の名称とノードの名称とを関連付けて表示するステップをさらに含むようにしても良い。このように対応する区間内においてイベント種別の名称とノードの名称との類似度を算出することによって、対応関係を精度良く特定してユーザに提示できるようになる。
【００７７】
さらに、上で述べた表示ステップが、第１のフローデータのイベント種別と、第２のフローデータのノードとを対応付ける入力を受け付け、対応付けられたイベント種別とノードとの対応関係データを対応関係データ格納部に格納するステップと、対応関係データ格納部に格納されている対応関係データと共に、イベント種別について第２データ格納部に格納されている最頻出現グループと、第２フローデータ格納部においてノードに対応付けられている出現位置区間とを対比可能な態様で表示するステップとを含むようにしても良い。例えば、何らかの外部データに基づきユーザが指定した対応関係が、上で述べた処理で特定された最頻出現グループと出現位置区間との関係において適切か否かを判断できるようになる。
【００７８】
また、第２フローデータ格納部が、複数のイベントが時系列に並べられた第２の種類の複数のプロセスインスタンスのデータを第２のフローデータとして格納するようにしてもよい。その場合には、本フロー比較処理方法は、第２フローデータ格納部に格納されている第２の種類の各プロセスインスタンスについて、当該第２の種類のプロセスインスタンス内における各イベントの出現位置を当該第２の種類のプロセスインスタンス内のイベントの出現回数に基づき決定し、各イベントに対応付けて出現位置を第２フローデータ格納部に格納するステップと、第２フローデータ格納部から、イベント種別毎にイベントのデータを抽出し、当該イベント種別に属する各イベントの出現位置が、複数の位置区間のいずれに属するか判断すると共に、イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、複数のグループのうち最頻出現位置区間が属するグループを第２のフローデータについての出現位置区間として、イベント種別を第２のフローデータのノードとして、第２フローデータ格納部に格納するステップとをさらに含むようにしても良い。このように、第２のフローデータについてもプロセスインスタンスの集合から特定されるものであっても、問題なく第１のフローデータと第２のフローデータを対比することができる。
【００７９】
なお、上で述べたような処理を通信装置に実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、コンピュータのメモリ等の記憶装置に一時保管される。
【００８０】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００８１】
（付記１）
複数のイベントが時系列に並べられた複数のプロセスインスタンスのデータを第１のフローデータとして格納する第１フローデータ格納部に格納されている各前記プロセスインスタンスについて、当該プロセスインスタンス内における各イベントの出現位置を当該プロセスインスタンス内のイベントの出現回数に基づき決定し、各イベントに対応付けて出現位置を第１データ格納部に格納するステップと、
前記第１データ格納部から、イベント種別毎に前記イベントのデータを抽出し、当該イベント種別に属する各前記イベントの出現位置が、予め定められた複数の位置区間のいずれに属するか判断すると共に、前記イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、予め定められた複数のグループのうち前記最頻出現位置区間が属する最頻出現グループと前記イベント種別とを対応付けて第２データ格納部に格納するステップと、
前記第１のフローデータとは異なり且つ前記第１のフローデータと対比される第２のフローデータに含まれる各ノードと前記複数のグループと同一数の区分けがなされている複数の出現位置区間のうち当該ノードの出現位置区間とを対応付けて格納している第２フローデータ格納部に格納されている、前記第２のフローデータに含まれる各ノードと当該ノードの出現位置区間とを関連付けて表示すると共に、前記第２データ格納部に格納されている、前記イベントの種類と当該イベントの種類の前記最頻出現グループとを関連付けて表示する表示ステップと、
を含み、コンピュータに実行させるためのフロー比較処理方法。
【００８２】
（付記２）
前記第２のフローデータが始点及び終点を含む複数のノードと当該ノード間の接続関係とで表され、
前記第２フローデータ格納部に格納されている前記第２のフローデータについての前記複数のノードのデータと前記ノード間の接続関係とから、前記始点及び終点を除き各前記ノードについて、前記始点からの最短距離と前記終点からの最短距離とを算出し、距離データ格納部に格納するステップと、
前記距離データ格納部に格納されている前記終点からの最短距離と前記始点からの最短距離との差を各前記ノードについて算出し、予め定められた閾値に従って、各前記ノードについて前記出現位置区間を特定し、前記第２フローデータ格納部に格納するステップと、
をさらに含む付記１記載のフロー比較処理方法。
【００８３】
（付記３）
前記表示ステップが、
前記第１のフローデータについて、前記グループ毎に当該グループを最頻出現グループとする前記イベント種別を列挙すると共に、前記第２のフローデータについて、前記出現位置区間毎に当該出現位置区間に対応付けられている前記ノードを列挙する表示を行うステップ
を含み、
前記第１のフローデータの前記イベント種別と、前記第２のフローデータの前記ノードとを対応付ける入力を受け付け、対応関係データとして対応関係データ格納部に格納するステップ
をさらに含む付記１又は２記載のフロー比較処理方法。
【００８４】
（付記４）
前記表示ステップが、
前記第１のフローデータについての前記グループ毎に、当該グループを最頻出現グループとする前記イベント種別の名称と、当該グループに対応する、前記第２のフローデータについての前記出現位置区間が対応付けられている前記ノードの名称との類似度を算出し、最も類似度が高い前記イベント種別の名称と前記ノードの名称とを関連付けて表示するステップ
を含む付記１又は２記載のフロー比較処理方法。
【００８５】
（付記５）
前記表示ステップが、
前記第１のフローデータの前記イベント種別と、前記第２のフローデータの前記ノードとを対応付ける入力を受け付け、対応付けられた前記イベント種別と前記ノードとの対応関係データを対応関係データ格納部に格納するステップと、
前記対応関係データ格納部に格納されている前記対応関係データと共に、前記イベント種別について前記第２データ格納部に格納されている前記最頻出現グループと、前記第２フローデータ格納部において前記ノードに対応付けられている前記出現位置区間とを対比可能な態様で表示するステップと、
を含む付記１又は２記載のフロー比較処理方法。
【００８６】
（付記６）
前記第２フローデータ格納部が、複数のイベントが時系列に並べられた第２の種類の複数のプロセスインスタンスのデータを第２のフローデータとして格納しており、
前記第２フローデータ格納部に格納されている前記第２の種類の各前記プロセスインスタンスについて、当該第２の種類のプロセスインスタンス内における各前記イベントの出現位置を当該第２の種類のプロセスインスタンス内のイベントの出現回数に基づき決定し、各前記イベントに対応付けて出現位置を前記第２フローデータ格納部に格納するステップと、
前記第２フローデータ格納部から、前記イベント種別毎にイベントのデータを抽出し、当該イベント種別に属する各イベントの出現位置が、前記複数の位置区間のいずれに属するか判断すると共に、前記イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、前記複数のグループのうち前記最頻出現位置区間が属するグループを前記第２のフローデータについての前記出現位置区間として、前記イベント種別を前記第２のフローデータのノードとして、前記第２フローデータ格納部に格納するステップと、
をさらに含む付記１記載のフロー比較処理方法。
【００８７】
（付記７）
付記１乃至６記載のフロー比較処理方法をコンピュータに実行させるためのプログラム。
【００８８】
（付記８）
複数のイベントが時系列に並べられた複数のプロセスインスタンスのデータを第１のフローデータとして格納する第１フローデータ格納部と、
前記第１フローデータ格納部に格納されている各前記プロセスインスタンスについて、当該プロセスインスタンス内における各イベントの出現位置を当該プロセスインスタンス内のイベントの出現回数に基づき決定し、各イベントに対応付けて出現位置を第１データ格納部に格納する手段と、
前記第１データ格納部から、イベント種別毎に前記イベントのデータを抽出し、当該イベント種別に属する各前記イベントの出現位置が、予め定められた複数の位置区間のいずれに属するか判断すると共に、前記イベント種別毎に当該イベント種別の最頻出現位置区間を特定し、予め定められた複数のグループのうち前記最頻出現位置区間が属する最頻出現グループと前記イベント種別とを対応付けて第２データ格納部に格納する手段と、
前記第１のフローデータとは異なり且つ前記第１のフローデータと対比される第２のフローデータに含まれる各ノードと前記複数のグループと同一数の区分けがなされている複数の出現位置区間のうち当該ノードの出現位置区間とを対応付けて格納している第２フローデータ格納部に格納されている、前記第２のフローデータに含まれる各ノードと当該ノードの出現位置区間とを関連付けて表示すると共に、前記第２データ格納部に格納されている、前記イベントの種類と当該イベントの種類の前記最頻出現グループとを関連付けて表示する表示手段と、
を有するフロー比較処理装置。
【符号の説明】
【００８９】
１０１  プロセスインスタンス生成部    １０２  プロセスインスタンスデータ格納部
１０３  イベント所属区間決定処理部    １０４  イベント所属区間データ格納部
１０５  表示処理部    １０６  フロー図データ取得部
１０７  フロー図データ格納部    １０８  ノード所属区間決定処理部
１０９  ノード所属区間データ格納部    １１０  表示装置
１１１  入力部    １１２  対応関係データ格納部
【図１】
2010211457.tif 000003
【図２】
2010211457.tif 000004
【図３】
2010211457.tif 000005
【図４】
2010211457.tif 000006
【図５】
2010211457.tif 000007
【図６】
2010211457.tif 000008
【図７】
2010211457.tif 000009
【図８】
2010211457.tif 000010
【図９】
2010211457.tif 000011
【図１０】
2010211457.tif 000012
【図１１】
2010211457.tif 000013
【図１２】
2010211457.tif 000014
【図１３】
2010211457.tif 000015
【図１４】
2010211457.tif 000016
【図１５】
2010211457.tif 000017
【図１６】
2010211457.tif 000018
【図１７】
2010211457.tif 000019
【図１８】
2010211457.tif 000020
【図１９】
2010211457.tif 000021
【図２０】
2010211457.tif 000022
【図２１】
2010211457.tif 000023
【図２２】
2010211457.tif 000024
【図２３】
2010211457.tif 000025
【図２４】
2010211457.tif 000026
【図２５】
2010211457.tif 000027
【図２６】
2010211457.tif 000028
【図２７】
2010211457.tif 000029
【図２８】
2010211457.tif 000030
【図２９】
2010211457.tif 000031
【図３０】
2010211457.tif 000032
【図３１】
2010211457.tif 000033
【図３２】
2010211457.tif 000034
【図３３】
2010211457.tif 000035
【図３４】
2010211457.tif 000036
【図３５】
2010211457.tif 000037
【図３６】
2010211457.tif 000038
【図３７】
2010211457.tif 000039
【図３８】
2010211457.tif 000040