(57)【要約】    【課題】  エビデンスが整合的であるか否かを判断するシステムを提供する。    【解決手段】  図４の、判断結果出力手段６は、業務フローデータを構成するいずれかの部分グラフデータＷにおいて、整合的でないとの判断が得られた場合には、処理対象の変化が処理手順と整合的でないとの判断結果を出力する。業務フローデータＤを構成する全ての部分グラフデータＷにおいて、整合的であるとの判断が得られた場合には、処理対象の変化が処理手順と整合的であるとの判断結果を出力し、整合的でない箇所を表示する。【選択図】  図４
2009009384.tif 000002
【特許請求の範囲】
【請求項１】
アクションとフローを備えた処理手順データにおいて、アクションによって処理される処理対象の状態変化が、当該処理手順データによって示される処理手順と整合的であるかを検証するための検証システムであって、
処理手順データを記録する記録部と、
処理手順データ中の判断アクションに基づいて、開始から終了までの流れを部分グラフデータとして複数抽出する部分グラフ抽出手段と、
抽出した各部分グラフデータ毎に、各アクションにおける処理対象の状態変化が、フローとの関係において整合的であるかを判断する部分グラフ判断手段と、
部分グラフ判断手段の判断結果に基づいて、処理対象の状態変化が処理手順データによって示される処理手順と整合的であるか否かを出力する判断結果出力手段と、
を備えた検証システム。
【請求項２】
請求項１のシステムにおいて、
前記部分グラフ判断手段は、
部分グラフデータまたは処理手順データ中から、両端部の少なくとも一方にいずれかの処理対象の状態変化をもたらすアクションを有し、両端部以外にはいずれの処理対象の状態変化をもたらすアクションも有しないようなラインデータを抽出するライン抽出手段と、
抽出した各ラインデータの中において、前記両端部の少なくとも一方に現れる処理対象のそれぞれに関し、処理対象の状態変化が整合的であるか非整合的であるかを判断するライン内処理対象判断手段と、
ライン内処理対象判断手段によって得られた各処理対象についての判断結果に基づいて、非整合的であると判断された処理対象の状態変化について、同一の部分グラフデータ内の他のラインを参照することによって整合的であると判断できるものを見い出せる場合には当該処理対象の状態変化は整合的であると判断し、他のラインを参照しても整合的であると判断できない場合には当該処理対象の状態変化は非整合的であると判断するライン判断手段と、
を備えていることを特徴とするシステム。
【請求項３】
請求項１または２のいずれかのシステムにおいて、
前記ライン内処理対象判断手段は、
始点および終点の双方において処理対象に対するアクションを有し、始点のアクションは処理対象に対する終了処理ではなく、終点のアクションは処理対象に対する開始処理ではないラインを整合的継続状態として記録し、
終点において処理対象に対するアクションを有し、当該終点のアクションは処理対象に対する開始処理ではなく、始点において処理対象に対するアクションを有する場合には当該アクションが処理対象に対する終了処理であるラインを非整合的出現状態として記録し、
終点において処理対象に対するアクションを有し、当該終点のアクションは処理対象に対する終了処理ではなく、終点において処理対象に対するアクションを有する場合には当該アクションが処理対象に対する開始処理であるラインを非整合的消滅状態として記録し、
上記のいずれの状態にも該当しないラインを整合的非継続状態として記録すること
を特徴とするシステム。
【請求項４】
請求項３のシステムにおいて、
前記ライン判断手段は、
整合的継続状態として記録されたラインが単純分岐または単純結合を有する場合には、当該ラインを「解」として記録し、
非整合的出現状態として記録されたラインが単純結合を有する場合には、当該ラインを「解決可能非整合」として記録し、
非整合的出現状態として記録されたラインが単純分岐を有する場合には、当該ラインを「解決可能非整合」として記録し、
上記以外の非整合的出願状態または非整合的消滅状態として記録されたラインを「解決不能非整合」として記録すること
を特徴とするシステム。
【請求項５】
請求項４のシステムにおいて、
前記ライン判断手段は、
「解決可能非整合」として記録されたラインの非整合性を解決できるラインが、同一の部分グラフデータ中に「解」として記録されているか否かを判断し、
上記判断によって、解決のための「解」が見いだせないような「解決可能非整合」ライン、同じ始点と同じエビデンスを持っており終点が異なる、あるいは、
同じ終点と同じエビデンスを持っており始点が異なる複数の「解」ラインおよび「解決不能非整合」ラインを整合性のない部分として抽出することを特徴とするシステム。
【請求項６】
請求項１〜５のいずれかのシステムにおいて、
前記処理手順データによって示されるフローは複数のファイルに跨っており、
ファイルにおけるフローの終端と、当該終端に対応する他のファイルにおけるフローの始端とを接続することによって、複数ファイル全体にわたるフローを生成したものを整合性判断の処理対象とすること
を特徴とするシステム。
【請求項７】
アクションとフローを備えた処理手順データを生成するための処理手順データ生成システムであって、
作成途中または完了済の処理手順データについて、アクションによって処理される処理対象の状態変化が処理手順と整合的であるかを検証するために、請求項１〜６のいずれかのシステムを備えたこと
を特徴とする処理手順データ生成システム。
【請求項８】
コンピュータを検証システムとして機能させるための検証プログラムであって、当該検証プログラムは、コンピュータを
記録部に記録された処理手順データ中の判断アクションに基づいて、開始から終了までの流れを部分グラフとして複数抽出する部分グラフ抽出手段と、
抽出した部分グラフにおいて、それぞれの処理対象に注目した場合に、フローとの関係において当該処理対象の状態変化が整合的であるかを判断する部分グラフ判断手段と、
部分グラフ判断手段の判断結果に基づいて、処理対象の状態変化が処理手順データによって示される処理手順と整合的であるか否かを出力する判断結果出力手段として機能させる。
【請求項９】
請求項８のプログラムにおいて、
前記部分グラフ判断手段は、
部分グラフデータまたは処理手順データ中から、両端部の少なくとも一方にいずれかの処理対象の状態変化をもたらすアクションを有し、両端部以外にはいずれの処理対象の状態変化をもたらすアクションも有しないようなラインデータを抽出するライン抽出手段と、
抽出した各ラインデータの中において、前記両端部の少なくとも一方に現れる処理対象のそれぞれに関し、処理対象の状態変化が整合的であるか非整合的であるかを判断するライン内処理対象判断手段と、
ライン内処理対象判断手段によって得られた各処理対象についての判断結果に基づいて、非整合的であると判断された処理対象の状態変化について、同一の部分グラフデータ内の他のラインを参照することによって整合的であると判断できるものを見い出せる場合には当該処理対象の状態変化は整合的であると判断し、他のラインを参照しても整合的であると判断できない場合には当該処理対象の状態変化は非整合的であると判断するライン判断手段と、
を備えていることを特徴とするプログラム。
【請求項１０】
請求項８または９のいずれかのプログラムにおいて、
前記ライン内処理対象判断手段は、
始点および終点の双方において処理対象に対するアクションを有し、始点のアクションは処理対象に対する終了処理ではなく、終点のアクションは処理対象に対する開始処理ではないラインを整合的継続状態として記録し、
終点において処理対象に対するアクションを有し、当該終点のアクションは処理対象に対する開始処理ではなく、始点において処理対象に対するアクションを有する場合には当該アクションが処理対象に対する終了処理であるラインを非整合的出現状態として記録し、
終点において処理対象に対するアクションを有し、当該終点のアクションは処理対象に対する終了処理ではなく、終点において処理対象に対するアクションを有する場合には当該アクションが処理対象に対する開始処理であるラインを非整合的消滅状態として記録し、
上記のいずれの状態にも該当しないラインを整合的非継続状態として記録すること
を特徴とするプログラム。
【請求項１１】
請求項１０のプログラムにおいて、
前記ライン判断手段は、
整合的継続状態として記録されたラインが単純分岐または単純結合を有する場合には、当該ラインを「解」として記録し、
非整合的出現状態として記録されたラインが単純結合を有する場合には、当該ラインを「解決可能非整合」として記録し、
非整合的出現状態として記録されたラインが単純分岐を有する場合には、当該ラインを「解決可能非整合」として記録し、
上記以外の非整合的出願状態または非整合的消滅状態として記録されたラインを「解決不能非整合」として記録すること
を特徴とするプログラム。
【請求項１２】
請求項１１のプログラムにおいて、
前記ライン判断手段は、
「解決可能非整合」として記録されたラインの非整合性を解決できるラインが、同一の部分グラフデータ中に「解」として記録されているか否かを判断し、
上記判断によって、解決のための「解」が見いだせないような「解決可能非整合」ライン、および「解決不能非整合」ラインを整合性のない部分として抽出することを特徴とするプログラム。
【請求項１３】
請求項８〜１２のいずれかのプログラムにおいて、
前記処理手順データによって示されるフローは複数のファイルに跨っており、
ファイルにおけるフローの終端と、当該終端に対応する他のファイルにおけるフローの始端とを接続することによって、複数ファイル全体にわたるフローを生成したものを整合性判断の処理対象とすること
を特徴とするプログラム。
【請求項１４】
アクションとフローを備えた処理手順データを生成するための処理手順データ生成プログラムであって、
作成途中または完了済の処理手順データについて、アクションによって処理される処理対象の状態変化が処理手順と整合的であるかを検証するために、請求項８〜１３のいずれかのプログラムを備えたこと
を特徴とする処理手順データ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、処理手順データに含まれる各エビデンスが、当該処理手順データによって示される処理手順と整合的であるかを検証するための検証システムに関するものである。
【背景技術】
【０００２】
業務モデルなどを策定するために、業務の流れを作成するソフトウエアが用いられている。たとえば、Office Visio（マイクロソフト社製）、Jude（チェンジビジョン社製）、Eclipse Modeling FrameWork（Eclipse Foundation社製）、Enterprise Architect（SparxSystems社製）、Konesa（CanyonBlue社製）、パターンウィーバ（Foundatao社製）などのソフトウエアが市販されている。このような業務モデルにおいては、書類やデータ（エビデンスという）などが作成され、保管される処理が定められることになる。一般に、業務モデルを作成するためのソフトウエアは、業務の流れをフローチャートとして画面上で確認しながら、操作ができるようになっている。これによって、作成者は、複雑な業務モデルを比較的容易に作成することができる。
【０００３】
上記のようにして作成した業務モデルにおいては、エビデンスの生成や保管が矛盾無く整合的になされていなければならない。たとえば、策定された業務モデルにおいて、エビデンスが生成されたにも拘わらず保管がなされていなかったり、エビデンスが生成されていないにも拘わらず保管をする処理が存在したりするという非整合的な状態が存在してはならない。不整合がある状態で業務モデルを運用すると、必要なエビデンスが確保できなかったり、不要な業務が発生したりすることになり好ましくないからである。
【０００４】
業務フローの検証に関しては、以下のようなシステムが提案されている。
【０００５】
特許文献１には、局所的な処理の性質や流れの連結性を検証するためのシステムが開示されている。
【０００６】
特許文献２には、業務の流れに従ってエビデンスの状態がどのように変化するかをシミュレートし、これによって、業務フローの正当性を検証するシステムが開示されている。
【０００７】
特許文献３には、業務フロー作成時の規則を定め、業務フローの正確な検証を可能としたシステムが開示されている。
【０００８】
【特許文献１】特開平８−１８０１１０
【０００９】
【特許文献２】特開平８−１９０５８７
【００１０】
【特許文献３】特開平１０−２４７２１２
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１のシステムでは、個々の処理の内容が適正であるかどうかを検証できるが、フロー全体としてのエビデンスの生成や保管が矛盾無く整合的になされているか（エビデンスのライフサイクルが整合的かどうか）の検証を行うことはできない。
【００１２】
特許文献２のシステムでは、エビデンスの状態がどのように変化するかをシミュレートしているので、エビデンスのライフサイクルが整合的であるかどうかの検証を行うことが可能である。しかし、個々のエビデンスを逐次的にシミュレートしているため、検証のための処理時間を要するという問題があった。
【００１３】
特許文献３のシステムは、エビデンスのライフサイクルの整合性を検証することを目的とするものではない。さらに、特許文献３においては、正確な検証を行うために、業務フローの作成に大きな制限を課しており、業務フロー作成に負担が大きい。
【００１４】
この発明は上記のような問題点を解決して、エビデンスが整合的であるか否かを効率的に判断することのできるシステムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
この発明の特徴を以下に示す。なお、各特徴は組み合わせることもできるが、独立して成立しうるものである。
【００１６】
(1)この発明に係る検証システムは、アクションとフローを備えた処理手順データにおいて、アクションによって処理される処理対象の状態変化が、当該処理手順データによって示される処理手順と整合的であるかを検証するための検証システムであって、処理手順データを記録する記録部と、処理手順データ中の判断アクションに基づいて、開始から終了までの流れを部分グラフデータとして複数抽出する部分グラフ抽出手段と、抽出した各部分グラフデータ毎に、各アクションにおける処理対象の状態変化が、フローとの関係において整合的であるかを判断する部分グラフ判断手段と、部分グラフ判断手段の判断結果に基づいて、処理対象の状態変化が処理手順データによって示される処理手順と整合的であるか否かを出力する判断結果出力手段とを備えている。
【００１７】
したがって、部分グラフに分離して整合性チェックを行うことができ、迅速かつ正確な判断が可能である。
【００１８】
(2)この発明に係る検証システムは、部分グラフ判断手段が、部分グラフデータまたは処理手順データ中から、両端部の少なくとも一方にいずれかの処理対象の状態変化をもたらすアクションを有し、両端部以外にはいずれの処理対象の状態変化をもたらすアクションも有しないようなラインデータを抽出するライン抽出手段と、抽出した各ラインデータの中において、前記両端部の少なくとも一方に現れる処理対象のそれぞれに関し、処理対象の状態変化が整合的であるか非整合的であるかを判断するライン内処理対象判断手段と、ライン内処理対象判断手段によって得られた各処理対象についての判断結果に基づいて、非整合的であると判断された処理対象の状態変化について、同一の部分グラフデータ内の他のラインを参照することによって整合的であると判断できるものを見い出せる場合には当該処理対象の状態変化は整合的であると判断し、他のラインを参照しても整合的であると判断できない場合には当該処理対象の状態変化は非整合的であると判断するライン判断手段とを備えていることを特徴としている。
【００１９】
ラインを抽出して整合性を判断するようにしているので、他のラインとの関係において整合的であるとの判断を行うこともでき、正確な判断が可能となる。
【００２０】
(3)この発明に係る検証システムは、ライン内処理対象判断手段が、始点および終点の双方において処理対象に対するアクションを有し、始点のアクションは処理対象に対する終了処理ではなく、終点のアクションは処理対象に対する開始処理ではないラインを整合的継続状態として記録し、終点において処理対象に対するアクションを有し、当該終点のアクションは処理対象に対する開始処理ではなく、始点において処理対象に対するアクションを有する場合には当該アクションが処理対象に対する終了処理であるラインを非整合的出現状態として記録し、終点において処理対象に対するアクションを有し、当該終点のアクションは処理対象に対する終了処理ではなく、終点において処理対象に対するアクションを有する場合には当該アクションが処理対象に対する開始処理であるラインを非整合的消滅状態として記録し、上記のいずれの状態にも該当しないラインを整合的非継続状態として記録することを特徴としている。
【００２１】
したがって、抽出したライン単独で整合的であるか否かを判断して分類することができ、最終的な整合性判断を迅速に行うことができる。
【００２２】
(4)この発明に係る検証システムは、ライン判断手段が、整合的継続状態として記録されたラインが単純分岐または単純結合を有する場合には、当該ラインを「解」として記録し、非整合的出現状態として記録されたラインが単純結合を有する場合には、当該ラインを「解決可能非整合」として記録し、非整合的出現状態として記録されたラインが単純分岐を有する場合には、当該ラインを「解決可能非整合」として記録し、上記以外の非整合的出願状態または非整合的消滅状態として記録されたラインを「解決不能非整合」として記録することを特徴としている。
【００２３】
したがって、ラインごとの特質を分類して、整合性判断に役立てることができる。
【００２４】
(5)この発明に係る検証システムは、ライン判断手段が、「解決可能非整合」として記録されたラインの非整合性を解決できるラインが、同一の部分グラフデータ中に「解」として記録されているか否かを判断し、上記判断によって、解決のための「解」が見いだせないような「解決可能非整合」ライン、同じ始点と同じエビデンスを持っており終点が異なる、あるいは、同じ終点と同じエビデンスを持っており始点が異なる複数の「解」ラインおよび「解決不能非整合」ラインを整合性のない部分として抽出することを特徴としている。
【００２５】
したがって、ラインの特質に基づいて、整合性の有無を判断することができる。
【００２６】
(6)この発明に係る検証システムは、処理手順データによって示されるフローは複数のファイルに跨っており、ファイルにおけるフローの終端と、当該終端に対応する他のファイルにおけるフローの始端とを接続することによって、複数ファイル全体にわたるフローを生成したものを整合性判断の処理対象とすることを特徴としている。
【００２７】
したがって、フローが複数ファイルに跨っていても、整合性を検証することができる。
【００２８】
(7)この発明に係る処理手順データ生成システムは、アクションとフローを備えた処理手順データを生成するための処理手順データ生成システムであって、作成途中または完了済の処理手順データについて、アクションによって処理される処理対象の状態変化が処理手順と整合的であるかを検証するために、上記のシステムを備えたことを特徴としている。
【００２９】
したがって、処理対象の状態変化が処理手順データによって示される処理手順と整合的であるか否かの判断が可能な処理手順データ生成システムを得ることができる。
【００３０】
この発明において、「処理手順データ」とは、処理対象に対する何らかのアクションの流れを記述したデータをいい、実施形態では、業務フローデータがこれに該当する。
【００３１】
「アクション」とは、処理対象に対する処理をいい、処理対象を生成したり、破棄したり、保管したり、加工したりするなどの処理を含むものである。
【００３２】
「フロー」とは、アクションの流れを示すものである。
【００３３】
「状態変化」とは、アクションによってもたらされる処理対象の状態の変化をいい、実施形態では、エビデンスのライフサイクルがこれに該当する。
【００３４】
「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【００３５】
１．処理手順データ
この発明に係る検証システムは、業務フローデータのような、アクションとフローを備えた処理手順データを検証する。業務フローデータとは、業務の流れ（フロー）、業務内容（アクション）を流れ図として示したものである。業務フローデータは、組織内における業務の流れを統一したり、処理の誤りを低減したりするために利用されている。各アクションにおいては、書類・電子データなど（エビデンス）を、生成したり保管したりすることが示されている。
【００３６】
本発明の実施形態による検証システムは、業務フローデータにおいて示されたアクションによって処理されるエビデンスの状態変化が、フローと整合的であるかどうかを検証する。
【００３７】
図１に、検証の対象である処理手順データの一例として、業務フローデータを示す。この業務フローデータは、計画策定の際におけるフローとアクションを示したものであり、エビデンスとして計画書、承諾書が示されている。
【００３８】
図１に示す業務フローデータは、業務フロー作成プログラムなどによって生成されたものである。実際には、図２ａ、図２ｂ、図２ｃに示すようにＸＭＬデータなどによって記述されるデータであるが、コンピュータはこれに基づいて図１のような図としてディスプレイに表示することができる。以下、理解を容易にするため、業務フローデータを図として説明する。
【００３９】
図１において、業務フローの先頭に現れている黒丸は、トリガーアクションＳＡを示す。トリガーアクションＳＡは、業務フローデータの開始を示している。業務フォローの最後に現れている二重丸は、エンドアクションＥＡを示す。エンドアクションＥＡは、業務フローデータの終了を示している。
【００４０】
アクションＡＣ１では、計画書を作成することが示されている。このアクションＡＣ１において処理対象となっているエビデンスは、計画書である。したがってアクションＡＣ１に隣接して、処理対象エビデンスＥＶ１として「計画書」が示される。なお、アクションＡＣ１では、エビデンスが生成されるので(+)が記述されている。エビデンスが消滅（保管あるいは破棄など）する場合には(-)が記述される。
【００４１】
アクションＡＣ２では、計画書を見直すことが示されている。処理対象エビデンスＥＶ２は、計画書である。なお、このアクションＡＣ２では、エビデンスが生成されたり、消滅したりしないので、(+)(-)いずれのマークも付されない。
【００４２】
アクションＡＣ３では、計画の予算規模が、３００万円以上であるか否かを判断することが示されている。３００万円以上であれば部署Ｙの承認が必要であり（アクションＡＣ５）、３００万円未満であれば上司Ｘが承認すること（アクションＡＣ４）が示されている。アクションＡＣ３のように判断が必要なアクションを、判断アクションと呼ぶ。
【００４３】
アクションＡＣ４では、処理対象エビデンスＥＶ４として、計画書および承諾書が示される。承諾書は、このアクションにて生成されるので(+)マークが付される。
【００４４】
アクションＡＣ５では、処理対象エビデンスＥＶ５として、計画書および承諾書が示される。承諾書は、このアクションにて生成されるので(+)マークが付される。
【００４５】
アクションＡＣ６は、２以上の処理を結合するアクションである。つまり、アクションＡＣ４あるいはアクションＡＣ５のいずれの処理が行われた場合であっても、次のアクションＡＣ７に進むことを表している。このようなアクションを、処理の結合という意味で、マージと呼ぶ。
【００４６】
アクションＡＣ７では、計画書・承諾書を保管することが示されている。したがって、処理対象エビデンスＥＶ７として、(-)マークを付した計画書、承諾書が示される。
【００４７】
上記のようにして作成された業務フローデータは、組織における業務の指針などとして用いられる。
【００４８】
図３に、業務フローデータ中に現れるアクションの種類を示す。トリガーアクション、エンドアクション、通常アクション、判断アクション、マージアクションについては、図１において説明したとおりである。単純分岐であるフォークアクションは、処理が２以上に分岐することを表している。判断アクションは判断内容に応じていずれか一つのフローに処理が進むが、フォークアクションにおいては、判断することなく複数のフローに同時に処理が進むことになる。ジョインアクションは、マージアクションと同じように処理の結合である。ジョインアクションにおいては、入力側の全てのアクションがなされない限り、次のアクションに移行しない点が、マージアクションと異なっている。
【００４９】
単純結合であるジョインアクションは、たとえば、書面Ａと書面Ｂの２つが揃った場合に、次のアクションを実行させるような場合に用いる。したがって、書面Ａだけが到達していても、書面Ｂが未到達であれば次のアクションを行わない。
【００５０】
また、出力端子は、業務フロー図が複数の図に分割される際に、連結先を示すものとして用いられる。同様に、入力端子は、業務フロー図が複数の図に分割される際に、連結元を示すものとして用いられる。
【００５１】
上記のような業務フローデータは、業務が複雑になればなるほど、エビデンスも多く登場しフローも複雑化することになる。したがって、生成した業務フローデータに誤りを生じる可能性がある。業務の統一的指針であるべき業務フローデータの誤りは致命的であり、避けなければならない。本発明の実施形態による検証システムは、業務フローデータに誤りがないかどうかを検証するものである。特に、業務フローデータにおいて示されたアクションによって処理されるエビデンスの状態変化が、フローと整合的であるかどうかを検証する。
【００５２】
２．検証システムの全体構成
図４に、この発明の一実施形態による検証システムの機能ブロック図を示す。処理手順データＤは、業務フローデータなどの検証対象となるデータである。部分グラフ抽出手段２は、処理手順データＤから部分グラフデータＷを抽出する。部分グラフ判断手段４は、抽出したそれぞれの部分グラフデータＷについて、処理対象（たとえばエビデンス）の状態変化がフローとの関係において整合的であるか否かを判断する。
【００５３】
判断結果出力手段６は、業務フローデータを構成するいずれかの部分グラフデータＷにおいて、整合的でないとの判断が得られた場合には、処理対象の変化が処理手順と整合的でないとの判断結果を出力する。業務フローデータＤを構成する全ての部分グラフデータＷにおいて、整合的であるとの判断が得られた場合には、処理対象の変化が処理手順と整合的であるとの判断結果を出力する。
【００５４】
図５に示すような業務フローデータの検証を行う場合を例として、図４のシステムの動作を説明する。
【００５５】
部分グラフ抽出手段２は、業務フローデータ中の判断アクションに注目して、部分グラフデータＷを抽出する。図５の業務フローデータであれば、判断アクションＡＣ３に注目する。この判断アクションＡＣ３では、「Ｌ」と「Ｒ」に分岐している。部分グラフ抽出手段２は、図６Ａ、Ｂに示すように、判断アクションＡＣ３において「Ｌ」に分岐した場合と、「Ｒ」に分岐した場合のそれぞれについて、トリガーアクションＳＡからエンドアクションＥＡまでのフローを抜き出す。これを、部分グラフデータＷ(L)、Ｗ(R)（本件明細書中において制限グラフデータということもある）という。したがって、ここでは、図６Ａと図６Ｂに示す２つの部分グラフデータＷ(L)、Ｗ(R)が抽出される。
【００５６】
図６Ａ、図６Ｂにおいて、部分グラフデータＷ(L)、Ｗ(R)を模式的に示している。具体的には、部分グラフデータＷ(L)は、SA-AC1-AC2-AC3(L)-AC4-AC5-AC6-AC7-AC8-EA1というように、アクションの連続として記録される。なお、各アクションにいずれのエビデンスが含まれるかは、業務フローデータを参照することでわかる。部分グラフデータＷ(R)についても同様である。
【００５７】
次に、部分グラフ判断手段４は、上記で抽出した２つの部分グラフデータＷ(L)、Ｗ(R)それぞれについて、処理対象であるエビデンスの状態変化が、フローとの関係において整合的であるか否かを判断する。２つの部分グラフデータＷ(L)、Ｗ(R)がともに整合的であれば、業務フローデータ全体も整合的であると判断することができる。
【００５８】
部分グラフ判断手段４は、部分グラフデータＷ(L)において、エビデンスのライフサイクルを抽出する。抽出した全てのエビデンスのライフサイクルが正常であれば、当該部分グラフデータＷ(L)が整合的であると判断する。部分グラフデータＷ(R)についても同様の判断を行う。
【００５９】
図６Ａの部分グラフデータＷ(L)に対しては、図７Ａに示すように、エビデンスＡ、Ｂ、ＣのライフサイクルＬＬA、ＬＬB、ＬＬCを抽出する。同様に、図６Ｂの部分グラフデータＷ(R)に対しては、図７Ｂに示すように、エビデンスＡ、Ｂ、ＣのライフサイクルＬＲA、ＬＲB、ＬＲCを抽出する。
【００６０】
図においては、エビデンスのライフサイクルを模式的に示している。具体的には、たとえば、ライフサイクルＬＬAは、(+)A−A−(-)Aというように記録される。他のライフサイクルについても同様である。
【００６１】
各エビデンスのライフサイクルが、下記の条件i)〜v)を全て満たしていれば、当該ライフサイクルは正常であると判断することができる。
【００６２】
i)ライフサイクルに含まれるアクションは、いずれもエビデンスを含む
ii)ライフサイクルの最初のアクションは(+)マークのエビデンスを持つ
iii)ライフサイクルの最初のアクション以外のアクションは(+)マークのエビデンスを持たない
iv)ライフサイクルの最後のアクションは(-)マークのエビデンスを持つ
v)ライフサイクルの最後のアクション以外のアクションは(-)マークのエビデンスを持たない
図７Ａに示された各エビデンスのライフサイクルＬＬA、ＬＬB、ＬＬCは、全て上記の条件を満たすので、図６Ａの部分グラフデータＷ(L)は、整合的であると判断できる。同様に、図７Ｂに示された各エビデンスのライフサイクルＬＲA、ＬＲB、ＬＲCは、全て上記の条件を満たすので、図６Ｂの部分グラフデータＷ(R)も、整合的であると判断できる。
【００６３】
判断結果出力手段６は、業務フローデータに含まれる全ての部分グラフデータＷ(L)、Ｗ(R)が整合的であるので、全体としてエビデンスの変化が処理手順と整合的であると判断することができる。そして、その結果を出力する。
【００６４】
たとえば、図８に示すような業務フローデータを検証したとする。部分グラフ抽出手段２によって、図９Ａに示す部分グラフデータＷ(L)と、図９Ｂに示す部分グラフデータＷ(R)が抽出される。
【００６５】
部分グラフ判断手段４は、図９ＢのライフサイクルＬＲCが、上記の条件ii)を満たしていないことを見い出す（エビデンスＣが作成されずにいきなり登場していることを意味する）。したがって、部分グラフデータＷ(R)のエビデンスＣについて、整合性がないことを検出することができる。
【００６６】
判断結果出力手段６は、部分グラフデータＷ(R)のエビデンスＣについて、整合性がないことを出力する。
【００６７】
上記のようにして、業務フローデータの検証を行うことができる。
【００６８】
３．ハードウエア構成
図１０に、検証システムをＣＰＵを用いて構築した場合のハードウエア構成を示す。ＣＰＵ１０には、ディスプレイ１２、メモリ１４、キーボード／マウス１６、ＣＤ−ＲＯＭドライブ１８、ハードディスク２２が接続されている。
【００６９】
ハードディスク２２には、オペレーティングシステム（マイクロソフト社のWINDOWS（商標）など）２４、業務フロー作成プログラム２６、検証プログラム２８、業務フローデータ３０が記録される。
【００７０】
業務フロー作成プログラム２６は、業務フローデータ３０を作成するためのプログラムであり、オペレーティングシステム２４と協働してその機能を発揮する。検証プログラム２８は、作成された業務フローデータ３０について整合性を検証するプログラムであり、オペレーティングシステム２４と協働してその機能を発揮する。
【００７１】
なお、業務フロー作成プログラム２６、検証プログラム２８は、ともにＣＤ−ＲＯＭ２０に記録されていたものを、ＣＤ−ＲＯＭドライブ１８を介してインストールしたものである。
【００７２】
４．検証プログラム
ハードディスク２２に記録されている検証プログラム２８の機能は、図４に示すものと基本的に同じである。ただし、この実施形態では、部分グラフ判断手段４が、図１１に示すように、ライン抽出手段４０、ライン内処理対象判断手段４２、ライン判断手段４４を備えて構成されている。
【００７３】
ライン抽出手段４０は、業務フローデータからラインデータＬを抽出する。ライン内処理対象判断手段４２は、抽出した各ラインデータＬについて、処理対象であるエビデンスの変化が整合的であるか否かを判断する。
【００７４】
ライン判断手段４４は、各ラインデータ毎、処理対象毎に得られた整合性判定のうち、非整合的であると判断されたものについて、他のラインデータを参照すれば整合的であると判断できるものを見い出す。この判断は、抽出した部分グラフデータＷごとに行う。これによって、部分グラフデータＷを構成する各ラインデータＬにおいて、エビデンスの変化が処理手順と整合的であるか否かを判断する。
【００７５】
部分グラフデータＷを構成する全てのラインデータＬについてエビデンスの変化が整合的であれば、当該部分グラフデータＷは整合的であると判定する。
【００７６】
図１２ａに、この実施形態における検証プログラム２８のフローチャートを示す。まず、ステップＳ１において、ＣＰＵ１０は、検証対象である業務フローデータ３０から、部分グラフデータを抽出する。ここでは、図１３に示すような業務フローデータ３０について、検証を行うものとして説明を行う。図１３の業務フローデータ３０には、２つの判断アクションＡＣ３、ＡＣ１１が含まれている。したがって、図１４Ａ、図１４Ｂ、図１５に示すように、３つの部分グラフデータＷ(1-L,2-L)、Ｗ(1-R,2-L)、Ｗ(1-R,2-R)が抽出されることになる。
【００７７】
なお、Ｗ(1-R,2-L)は、判断アクションＡＣ３において「Ｒ」である場合、判断アクションＡＣ１１において「Ｌ」である場合の部分グラフを示している。判断アクションが２つあるので、４つの部分グラフデータが抽出されそうであるが、図１３の業務フローデータでは、部分グラフデータＷ(1-L,2-L)と部分グラフデータＷ(1-L,2-R)が同じであるため、３つの部分グラフデータが抽出されることになる。抽出した部分グラフデータは、ハードディスク２２に記録される。
【００７８】
次に、ＣＰＵ１０は、業務フローデータ３０について、ステップＳ２以下を実行する。ステップＳ２に示すように、業務フローデータ３０内の各フローを検出し、各フロー毎に（ループ０１）、ステップＳ３、Ｓ４の繰り返し処理を実行する。
【００７９】
ステップＳ３に示すように、検出したフローにしたがって、ラインデータＬを抽出する。そして、検出したラインデータＬごとに、ステップＳ４以下を繰り返す（ループ０２）。
【００８０】
ここで、ラインデータＬとは、業務フローデータ中のフローのつながりであって、下記の条件i)〜iii)を全て満たすものをいう。
【００８１】
i)始点のフローが有するアクションは、通常アクション（判断、マージ、フォーク、ジョイン以外のアクションをいう）であるかトリガーアクションである。
【００８２】
ii)終点のフローが有するアクションは通常アクションである。
【００８３】
iii)始点と終点との間に通常アクションが存在しない。
【００８４】
したがって、ラインデータＬには、始点または終点以外の部分にエビデンスが記載されることがない。
【００８５】
この実施形態では、たとえば深さ最優先検索アルゴリズムを用いて、業務フローデータ３０中から、上記条件に基づいてラインデータＬを抽出している。ＣＰＵ１０は、抽出したラインデータＬを、ハードディスク２２に記録する。ここでは、図１６の矢印にて示すラインデータＬa、Ｌb、Ｌc、Ｌd、Ｌe、Ｌf、Ｌ1、Ｌ2，Ｌ3、Ｌ4が抽出されることになる。
【００８６】
ＣＰＵ１０は、ステップＳ４〜Ｓ１４に示すステップにしたがって、上記の状態把握を実行する。ステップＳ４に示すように、ＣＰＵ１０は、抽出したラインデータについて、当該ラインに記述されているエビデンスも抽出する。たとえば、図１６のラインデータＬaは、エビデンスＡを有しているので、ラインデータ(La,A)として抽出する。ラインデータＬ４は、エビデンスＡ、Ｂ、Ｃを有しているので、ラインデータ(L4,A)、ラインデータ(L4,B)、ラインデータ(L4,C)というように、３つのラインデータを抽出する。
【００８７】
次に、ＣＰＵ１０は、抽出した各ラインデータＬについて、表１に示す４つの状態のいずれであるかを決定し、当該ラインデータＬに対応づけて記録する。
【００８８】
【表１】
2009009384.tif 000003
【００８９】
整合的継続状態、整合的非継続状態は、ラインデータ単独だと整合的であると判断できるものである。
【００９０】
非整合的出現状態、非整合的消滅状態は、最終的に整合性が無いと判断される可能性を有するものである。
【００９１】
具体的には、ＣＰＵ１０は、ステップＳ５以下の処理によって、上記抽出したラインデータのそれぞれについて状態把握を行う（ループ０３）。
【００９２】
まず、ステップＳ５において、ＣＰＵ１０は、対象となるラインデータＬが、表１に示す「整合的継続状態」の条件に合致するかを判断する。この判定が肯定的であれば、ＣＰＵ１０は、当該ラインデータＬについて、整合的継続状態であることをハードディスク２２に記録する（図１７参照）。たとえば、ラインデータ(Lb,A)やラインデータ(L2,B)などは、上記条件に合致するので、図１７に示すように整合的継続状態として記録される。
【００９３】
整合的継続状態であるラインデータＬに対し、ＣＰＵ１０は、当該ラインデータＬがフォークまたはジョインを持つかを判断する（ステップＳ６）。そうでなければ、ステップＳ１４に進み、ループ０３の処理を繰り返す。フォークまたはジョインを持っていれば、当該ラインデータＬを解Ｓｕｃに分類して記録する（ステップＳ７）。たとえば、ラインデータ(L2,B)であれば、フォークを有するので、図１９に示すように、解Ｓｕｃに分類されて記録される。続いて、ステップＳ１４に進み、ループ０３の処理を繰り返す。
【００９４】
ステップＳ５における判定が否定的である場合（つまり整合的継続状態でない場合）、ＣＰＵ１０は、対象となるラインデータＬが表１に示す「非整合的出現状態」の条件に合致するかを判断する(ステップＳ８)。この判定が肯定的であれば、ＣＰＵ１０は、当該ラインデータＬについて、非整合的出現状態であることをハードディスク２２に記録する（図１７参照）。たとえば、ラインデータ（L1,C）は、上記条件に合致するので、図１７に示すように非整合的出現状態として記録される。
【００９５】
非整合的出現状態であるラインデータＬに対し、ＣＰＵ１０は、当該ラインデータＬがジョインを持つかを判断する（ステップＳ９）。ジョインを持っていれば、当該ラインデータＬを解決可能非整合Ｉｎｑに分類して記録する（ステップＳ１０）。続いて、ステップＳ１４に進み、ループ０３の処理を繰り返す。
【００９６】
ジョインを持っていなければ、当該ラインデータＬを解決不能非整合Ｒｅｓに分類して記録する（ステップＳ１３）。たとえば、ラインデータ(L1,C)はジョインを持たないので、図１９に示すように、解決不能非整合Ｒｅｓに分類されて記録される。続いて、ステップＳ１４に進み、ループ０３の処理を繰り返す。
【００９７】
ステップＳ８における判定が否定的である場合（つまり整合的継続状態でも、非整合的出現状態でもない場合）、ＣＰＵ１０は、対象となるラインデータＬが表１に示す「非整合的消滅状態」の条件に合致するかを判断する(ステップＳ１１)。この判定が肯定的であれば、ＣＰＵ１０は、当該ラインデータＬについて、非整合的消滅状態であることをハードディスク２２に記録する（図１７参照）。たとえば、ラインデータ（L4,A）、ラインデータ(L4,B)やラインデータ(L2,A)などは、上記条件に合致するので、図１７に示すように非整合的消滅状態として記録される。
【００９８】
非整合的消滅状態であるラインデータＬに対し、ＣＰＵ１０は、当該ラインデータＬがフォークを持つかを判断する（ステップＳ１２）。フォークを持っていれば、当該ラインデータＬを解決可能非整合Ｉｎｑに分類して記録する（ステップＳ１０）。たとえば、ラインデータ(L4,A)やラインデータ(L4,B)などはフォークを有するので、図１９に示すように、解決可能非整合Ｉｎｑに分類されて記録される。続いて、ステップＳ１４に進み、ループ０３の処理を繰り返す。
【００９９】
フォークを持っていなければ、当該ラインデータＬを解決不能非整合Ｒｅｓに分類して記録する（ステップＳ１３）。続いて、ステップＳ１４に進み、ループ０３の処理を繰り返す。
【０１００】
ステップＳ１１における判定が否定的である場合（つまり整合的継続状態でも、非整合的出現状態でも、非整合的消滅状態でもない場合）、ＣＰＵ１０は、対象となるラインデータＬを、整合的非継続状態に分類して記録する。たとえば、ラインデータ(La,A)は、図１９に示すように、整合的非継続状態に分類されて記録される。
【０１０１】
なお、上記において、解決不能非整合Ｒｅｓに分類されたラインデータ(L1,C)は、非整合的であることが確定したものである。図１８から分かるように、エビデンスＣが突然、現れるという非整合性を有している。
【０１０２】
解決可能非整合Ｉｎｑに分類されたラインデータ(L2,A)(L3,B)(L3,C)(L4,A)(L4,B)(L4,C)は、他のラインデータとの関係によっては、整合であると判断できる可能性があるものである。
【０１０３】
解Ｓｕｃに分類されたラインデータ(L2,B)(L2,C)(L3,A)は、上記の解決可能非整合Ｉｎｑであるとされたラインデータの非整合性を解決するものである。
【０１０４】
上記のようにしてラインデータＬを分類した後、ＣＰＵ１０は、ステップＳ１にて抽出した部分グラフデータごとに、解決可能非整合Ｉｎｑであると分類されたラインデータについて、その解があるかどうか（つまり整合性があるかどうか）を判断する。この処理フローチャートを、図１２ｂに示す。
【０１０５】
ステップＳ２０では、ループ０４として、部分グラフデータごとに処理がなされることが示されている。ＣＰＵ１０は、対象とする部分グラフデータ中から、
解Ｓｕｃおよび解決可能非整合Ｉｎｑに分類されたラインを抽出する（ステップＳ２１）。なお、図１２ｂのステップＳ２１において、ＳｕｃΠＷ(i)は、Sucに含まれるラインデータ(L,E)で、ＬがＷ(i)に含まれるものの集まりという意味である。ＩｎｑΠＷ(i)についても同様である。
【０１０６】
具体的には、部分グラフデータＷ(1-L,2-L)であれば、該当するものがないので何も抽出されない（図２０Ｂ参照）。部分グラフデータＷ(1-R,2-L)については、解Ｓｕｃとしてラインデータ(L2,B)(L2,C)(L3,A)が選ばれ、解決可能非整合Ｉｎｑとしてラインデータ(L2,A)(L3,B)(L3,C)が選ばれる（図２０Ｂ参照）。部分グラフデータＷ(1-R,2-R)については、解Ｓｕｃとしてラインデータ(L2,B)(L2,C)が選ばれ、解決可能非整合Ｉｎｑとしてラインデータ(L2,A)(L4,A)(L4,C)が選ばれる（図２０Ｂ参照）。
【０１０７】
次に、ＣＰＵ１０は、解決可能非整合Ｉｎｑとして抽出した上記の各ラインデータ(L2,A)(L3,B)(L3,C)ごとに、ステップＳ２３以下の処理を行う（ステップＳ２２）。
【０１０８】
ステップＳ２３において、ＣＰＵ１０は、対象とする解決可能非整合ＩｎｑのラインデータＬに対して、解となるラインデータＬ'（解Ｓｕｃ）があるかどうかを判断する（ステップＳ２３）。この判断は、具体的には、ラインデータＬに対し合流するか、またはラインデータＬから枝分かれしているラインデータＬ'であって、かつ、ラインデータＬと同じフロー、同じエビデンスを有するラインデータＬ'が、当該部分グラフWから抽出した解Ｓｕｃ中にあるか否かに基づいて行う。
【０１０９】
上記の条件に合致する解Ｓｕｃが存在しなければ、当該対象とする解決可能非整合ＩｎｑのラインデータＬを、解決不能非整合Ｒｅｓに記録する。（ステップＳ２４）。解Ｓｕｃが存在すれば、当該解決可能非整合ＩｎｑのラインデータＬは、整合性があると判断する。
【０１１０】
たとえば、ラインデータ(L2,A)のエビデンスＡについては、当該エビデンスを有する解としてのラインデータ(L3,A)が存在する。したがって、ラインデータ(L2,A)は整合的であると判断できる。これは、図２０Ｂからも分かるように、エビデンスＡは、フォークがあることによって、ラインデータＬ２の処理からは消えているが、ラインデータＬ３の方で処理されており、整合的であるといえることを表している。
【０１１１】
同じように、ラインデータ(L3,B)(L3,C)に対しては、それぞれ、ラインデータ(L2,B)(L2,C)が解として存在する。したがって、部分グラフデータＷ(1-R,2-L)は整合的であると判断することができる。
【０１１２】
したがって、部分グラフデータW(1-R,2-L)については、既に解決不能非整合Ｒｅｓとして記録されているラインデータ(L1,C)に加えて、新たに、解決不能非整合Ｒｅｓとして記録するラインデータはない。
【０１１３】
一方、部分グラフデータＷ(1-R,2-R)については、以下のように、解決不能非整合Ｒｅｓが新たに見いだされて記録される。まず、ＣＰＵ１０は、図１９において分類したラインデータの内、部分グラフデータＷ(1-R,2-R)に含まれるラインデータのみを選び出す(ステップＳ２１)。したがって、解Ｓｕｃとしてラインデータ(L2,B)(L2,C)が選ばれ、解決可能非整合Ｉｎｑとしてラインデータ(L2,A)(L4,A)(L4,B)(L4,C)が選ばれる（図２１参照）。
【０１１４】
解決可能非整合Ｉｎｑであるラインデータ(L4,B)(L4,C)については、解Ｓｕｃであるラインデータ(L2,B)(L2,C)が存在する。しかし、ラインデータ(L2,A)(L4,A)については、解が存在しない。したがって、ＣＰＵ１０は、非整合であるとして、ラインデータ(L2,A)(L4,A)を、解決不能非整合Ｒｅｓに記録する。これにより、解決不能非整合Ｒｅｓには、ラインデータ(L1,C)(L2,A)(L4,A)が記録されることになる。
【０１１５】
次に、ＣＰＵ１０は、対象となっている部分グラフＷ中の解ＳｕｃのラインデータＬごとに、ステップＳ２７以下を実行する（ループ０５）。ステップＳ２７では、対象となっている部分グラフＷの解Ｓｕｃについて、当該対象となっている部分グラフＷの他の解Ｓｕｃとの関係で、矛盾を生じていないかどうかを判断する。具体的には、対象部分グラフＷの解ＳｕｃのラインデータＬと、同じフロー、同じエビデンスを持つラインデータＬ'であって、ラインデータＬと合流するか、あるいはラインデータＬから分岐するラインデータＬ'が、対象部分グラフＷの解Ｓｕｃ中にあるかどうかを判断する（ステップＳ２７）。このようなラインデータＬ'が存在するということは、フローの分岐または合流によって、本来は複数あるはずのエビデンスが１つになったり、１つのエビデンスが複数にされたりしている非整合が生じていることになる。したがって、そのようなラインデータＬ'が存在すれば、ＣＰＵ１０は、これを解決不能非整合Ｒｅｓに記録する（ステップＳ２８）。続いて、ステップＳ３０に進み、ループ０６の処理を繰り返す。
【０１１６】
また、上記のようなラインデータＬ'が見いだされない場合には、何もせずに、
ステップＳ３０に進み、ループ０５の処理を繰り返す。
【０１１７】
ループ０５、ループ０４の処理を全て終了すると、次に、ＣＰＵ１０は、解決不能非整合Ｒｅｓに記録されたラインデータ(L1,C)(L2,A)(L4,A)に基づいて、非整合部分の指摘をディスプレイ１２に表示する（プリンタなどから出力したり、データとして出力してもよい）（ステップＳ３２）。
【０１１８】
たとえば、図２２に示すように、業務フローデータをディスプレイに表示し、解決不能非整合Ｒｅｓであるラインデータ(L1,C)(L2,A)(L4,A)および問題のあるエビデンスＡ、Ｃを、ハイライト表示などで区別可能なように表示することができる。
【０１１９】
上記表示に加えて（あるいは単独で）、非整合の内容を文字などで表示してもよい。たとえば、次のような表示を行うことができる。
【０１２０】
i)１−Lのとき、Ｌ１においてＣが不当に出現すること
ii)１−Rかつ２−Rのとき、Act１のＡがどこにも移動しないこと
なお、上記のようなメッセージは、状況を分類し、各状況に対応する文章をあらかじめ用意しておくことによって表示することができる。
【０１２１】
なお、上記の例において示した業務フロー図（アクティビティ図）は、説明のために示したものであり、他の業務フロー図についても本発明による検証を行うことができる。
【０１２２】
５．その他の実施形態
上記実施形態では、処理手順データが１つのファイルとして記録されている場合について説明した。処理手順データが２つ以上のファイルに跨っている場合には、各ファイルにおけるフローの始点と終点を接続することにより、検証を行うことができる。
【０１２３】
上記実施形態では、処理対象がエビデンスである場合について説明した。しかし、アクションによって処理され、その状態が変化するものであれば、同様に検証を行うことができる。
【０１２４】
上記実施形態では、ステップＳ１において部分グラフデータの抽出を行っているが、ステップＳ５の後、ステップＳ６の前に行うようにしてもよい。
【０１２５】
上記実施形態では、業務フローデータ全体からラインデータを抽出して分類した後に、部分グラフデータごとに解を探すようにしている。しかし、部分グラフデータごとにラインデータを抽出して分類し、解を探すようにしてもよい。
【０１２６】
また、上記実施形態では、スタンドアローンのコンピュータに検証プログラムを格納したシステムを示した。しかし、サーバ装置に検証プログラムを記録しておき、インターネットなどを介して、クライアント装置からこの検証プログラムを利用できるようにしてもよい。この場合に、検証の対象となる処理手順データは、クライアント装置側に記録されていてもよい。
【０１２７】
上記実施形態では、処理手順データ作成プログラムと、検証プログラムが独立している。しかし、検証プログラムを処理手順データ作成プログラムの一機能として設けてもよい。
【０１２８】
なお、上記実施形態では、業務フローデータにおいて、エビデンスの発生に(+)マークが、消滅に(-)マークが付されていることを前提としている。しかし、(-)マークが付されず(+)マークのみが付された業務フローデータについても、検証を行うことができる。この場合には、ラインデータの分類において、表１に代えて、表２を用いるようにすればよい。表２においては、非整合的消滅状態を設けていない。他の処理は、上記実施形態と同じである。
【０１２９】
【表２】
2009009384.tif 000004
【０１３０】
なお、表２では、ラインデータの始点と終点がともにエビデンスを持ち、かつ、終点のエビデンスが(+)マークを持つ場合にも、整合的継続状態とした。しかし、より正確な判定を行うため、これを非整合的消滅状態として分類してもよい。この場合には、表３を用いる。
【０１３１】
【表３】
2009009384.tif 000005
【０１３２】
また、(+)マークが付されず(-)マークのみが付された業務フローデータについても、検証を行うことができる。この場合には、ラインデータの分類において、表１に代えて、表４を用いるようにすればよい。表４においては、非整合的出現状態を設けていない。他の処理は、上記実施形態と同じである。
【０１３３】
【表４】
2009009384.tif 000006
【０１３４】
なお、表４では、ラインデータの始点と終点がともにエビデンスを持ち、かつ、始点のエビデンスが(-)マークを持つ場合にも、整合的継続状態とした。しかし、より正確な判定を行うため、これを非整合的出現状態として分類してもよい。この場合には、表５を用いる。
【０１３５】
【表５】
2009009384.tif 000007
【０１３６】
さらにまた、(+)マークも(-)マークも付されていない業務フローデータについても、検証を行うことができる。ただし、１つの業務フローデータにおいて、一度消滅（保存あるいは破棄）したエビデンスが復活することはないという前提を満たすように業務フローデータが作成されていなければならない。この場合においても、部分グラフを抽出するところまでは、上記の実施形態と同じである。しかし、部分グラフ判断手段４における処理が異なる。部分グラフ判断手段４においては、抽出した各部分グラフについて、エビデンス毎に以下のような判断を行う。つまり、当該部分グラフにおいて、エビデンスＥが含まれているならば、当該エビデンスＥが、ただ一つのフローの連なりに連続して含まれているかを判断する。この判断が、全ての部分グラフ中の全てのエビデンスについて肯定的であれば、ライフサイクルは整合的であると判断する。否定的であれば、ライフサイクルは整合的でないと判断する。
【０１３７】
たとえば、抽出した部分グラフが図２３に示すものであった場合について上記判断の例を示す。エビデンスＡについては、アクション１０１、１０３に現れているが、アクション１０２に現れておらず、連続していない。したがって、ライフサイクルは非整合的であると判断される。
【０１３８】
エビデンスＢについては、アクション１０２、１０３、１０４と連続して現れており、整合的であると判断される。
【０１３９】
エビデンスＣについては、アクション１０３、１０４、１０５と連続して現れている。しかし、アクション１０３、１０６という流れも存在する。したがって、ただ一つのフローの連なりに現れているとはいえず、非整合的であると判断される。
【０１４０】
６．運用および実装
図２４に、この発明による検証システムの運用例を示す。検証プログラム２８を、各端末装置Ｔ1、Ｔ2に記録しておけば、各端末装置Ｔ1、Ｔ2のそれぞれにおいて、業務フロー３０をチェックすることができる。また、サーバ装置Ｓに検証プログラム２８を記録しておけば、各端末装置Ｔ1、Ｔ2からサーバ装置Ｓに業務フロー３０を送信して、チェックを受けることができる。検証プログラム２８を、端末装置Ｔ1、Ｔ2とサーバ装置Ｓの双方に記録しておけば、上記のいずれのチェックも行うことができる。
【０１４１】
図２５に、この発明による検証プログラムのパッケージ構成例を示す。変換プログラム２７は、業務フロー作成プログラム２６によって作成された業務フローを受け取り、当該業務フローのフォーマットを検証プログラム２８において処理することのできるフォーマットに変換する。たとえば、変換プログラム２７は、業務フロー作成プログラム２６によって作成された業務フロー中から、検証のためには不要な、図のイメージデータなどを削除する。
【０１４２】
インターフェースモジュール２５は、業務フロー作成プログラム２６の作成画面上に、検証開始指令のためのボタンを表示したり、あるいは当該ボタンが押されたことを検知して検証処理の開始を変換プログラム２７・検証プログラム２８に指示するものである。また、検証プログラム２８による検証結果を受けて、これを業務フロー作成プログラム２６の作成画面上に表示するのも、インターフェースモジュール２５の役割である。
【０１４３】
上記実施形態における業務フロー図は、説明のために定義したものであり、本発明は、その他の業務フロー図にも適用できるものである。
【図面の簡単な説明】
【０１４４】
【図１】この発明において検証対象とした処理手順データの一例である業務フローデータを示す図である。
【図２ａ】ＸＭＬ形式にて表現された図１の業務フローデータを示す図である。
【図２ｂ】ＸＭＬ形式にて表現された図１の業務フローデータを示す図である。
【図２ｃ】ＸＭＬ形式にて表現された図１の業務フローデータを示す図である。
【図３】業務フローデータにおいて用いられるアクションを示す図である。
【図４】この発明の一実施形態による検証システムの機能ブロック図である。
【図５】業務フローデータの例を示す図である。
【図６】部分グラフデータを示す図である。
【図７】エビデンスのライフサイクルを示すための図である。
【図８】部分グラフデータを示す図である。
【図９】エビデンスのライフサイクルを示すための図である。
【図１０】他の実施形態による検証システムのハードウエア構成を示す図である。
【図１１】検証システムの機能ブロック図である。
【図１２ａ】検証プログラムのフローチャートである。
【図１２ｂ】検証プログラムのフローチャートである。
【図１３】業務フローデータの例を示す図である。
【図１４】部分グラフデータを示す図である。
【図１５】部分グラフデータを示す図である。
【図１６】ラインデータの検出を示す図である。
【図１７】各ラインの状態を記録したデータを示す図である。
【図１８】各ラインの分類を示す図である。
【図１９】各ラインの分類を記録したデータを示す図である。
【図２０】部分グラフデータ毎の判定を示す図である。
【図２１】部分グラフデータ毎の判定を示す図である。
【図２２】非整合部分の表示例である。
【図２３】(+)マーク、(-)マークのない業務フローデータに対する判断を示す図である。
【図２４】検証システムの運用例を示す図である。
【図２５】検証プログラムのパッケージ構成例を示す図である。
【符号の説明】
【０１４５】
２・・・部分グラフ抽出手段
４・・・部分グラフ判断手段
６・・・判断結果出力手段
Ｄ・・・処理手順データ
Ｗ・・・部分グラフデータ
【図１】
2009009384.tif 000008
【図２ａ】
2009009384.tif 000009
【図２ｂ】
2009009384.tif 000010
【図２ｃ】
2009009384.tif 000011
【図３】
2009009384.tif 000012
【図４】
2009009384.tif 000013
【図５】
2009009384.tif 000014
【図６】
2009009384.tif 000015
【図７】
2009009384.tif 000016
【図８】
2009009384.tif 000017
【図９】
2009009384.tif 000018
【図１０】
2009009384.tif 000019
【図１１】
2009009384.tif 000020
【図１２ａ】
2009009384.tif 000021
【図１２ｂ】
2009009384.tif 000022
【図１３】
2009009384.tif 000023
【図１４】
2009009384.tif 000024
【図１５】
2009009384.tif 000025
【図１６】
2009009384.tif 000026
【図１７】
2009009384.tif 000027
【図１８】
2009009384.tif 000028
【図１９】
2009009384.tif 000029
【図２０】
2009009384.tif 000030
【図２１】
2009009384.tif 000031
【図２２】
2009009384.tif 000032
【図２３】
2009009384.tif 000033
【図２４】
2009009384.tif 000034
【図２５】
2009009384.tif 000035