(57)【特許請求の範囲】
【請求項１】
記憶手段に格納された過去のプロセス例から、ユーザが入力手段を介して入力した情報に基づいて上記記憶手段に格納された所望のプロセス例を検索する手段と、
プロセス例の検索結果から、ユーザが上記入力手段を介して選択した所望のプロセス例の情報を上記記憶手段から参照してコピーすることで新規作成のプロセスモデルとして統合する手段と、
新規作成されたプロセスモデルに対して、ユーザが上記入力手段を介して入力した情報に基づいて記述の追加もしくは修正を加える手段とを備え、
上記の検索する手段は、ユーザが上記入力手段を介して入力した検索語のそれぞれに基づいて上記記憶手段に格納されたプロセス例を検索してタスク情報とタスクツリーにおける位置情報を取得し、検索されたタスク同士の位置情報に基づくタスク間距離が所定の閾値よりも小さく、かつすべての検索語に対して検索されたタスクのタスク情報をタスク間距離の小さい順にソートして検索結果として出力することを特徴とするワークフロー管理システム。
【請求項２】
請求項１に記載のワークフロー管理システムにおいて、
上記の統合する手段は、ユーザが上記入力手段を介して作成したタスクモデルに対し、検索されたプロセス例をデコンポジションとして階層構造を持たせてプロセス例の統合を行うことを特徴とするワークフロー管理システム。
【請求項３】
請求項１に記載のワークフロー管理システムにおいて、
上記の統合する手段は、表示手段にプロセス例の詳細情報を表示し、上記入力手段からプロセス例を特定した再利用の指示を受け付けることにより、作成中のワークフローモデルにプロセス例を追加するインタフェースを有することを特徴とするワークフロー管理システム。
【請求項４】
請求項１に記載のワークフロー管理システムにおいて、
上記の検索する手段は、上記入力手段から検索語を入力し、当該検索語により所望のプロセス例を検索するインタフェースを有することを特徴とするワークフロー管理システム。
【請求項５】
請求項１に記載のワークフロー管理システムにおいて、
上記の検索する手段は、上記表示手段にプロセス一覧を表示し、上記入力手段から所望のプロセス例を選択させるインタフェースを有することを特徴とするワークフロー管理システム。
【請求項６】
請求項１に記載のワークフロー管理システムにおいて、
上記の検索する手段は、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の形態上の類似性を利用した類似検索の指示を上記入力手段から受け付けるインタフェースを有することを特徴とするワークフロー管理システム。
【請求項７】
請求項１に記載のワークフロー管理システムにおいて、
上記の検索する手段は、タスク情報に含まれる親タスクおよび子タスクの情報に基づき、所定の世代数にあるプロセス例のみを検索結果として出力することを特徴とするワークフロー管理システム。
【請求項８】
請求項１に記載のワークフロー管理システムにおいて、
上記の検索する手段は、検索されたプロセス例につきワークフロー全体のツリー構造における位置関係を上記表示手段に表示するインタフェースを有することを特徴とするワークフロー管理システム。
【請求項９】
請求項１に記載のワークフロー管理システムにおいて、
上記の検索する手段は、検索されたプロセス例の記述における検索語の存在位置を上記表示手段に表示するインタフェースを有することを特徴とするワークフロー管理システム。
【請求項１０】
請求項１に記載のワークフロー管理システムにおいて、
上記の検索する手段は、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の詳細表示の指示を上記入力手段から受け付けるインタフェースを有することを特徴とするワークフロー管理システム。
【請求項１１】
請求項１に記載のワークフロー管理システムにおいて、
上記の記述の追加もしくは修正を加える手段は、検索されたプロセス例を上記表示手段に階層的に表示し、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の編集の指示を上記入力手段から受け付けるインタフェースを有することを特徴とするワークフロー管理システム。
【請求項１２】
ワークフローエンジンが、記憶手段に格納された過去のプロセス例から、ユーザが入力手段を介して入力した情報に基づいて上記記憶手段に格納された所望のプロセス例を検索する工程と、
上記ワークフローエンジンが、プロセス例の検索結果から、ユーザが上記入力手段を介して選択した所望のプロセス例の情報を上記記憶手段から参照してコピーすることで新規作成のプロセスモデルとして統合する工程と、
上記ワークフローエンジンが、新規作成されたプロセスモデルに対して、ユーザが上記入力手段を介して入力した情報に基づいて記述の追加もしくは修正を加える工程とを備え、
上記の検索する工程は、ユーザが上記入力手段を介して入力した検索語のそれぞれに基づいて上記記憶手段に格納されたプロセス例を検索してタスク情報とタスクツリーにおける位置情報を取得し、検索されたタスク同士の位置情報に基づくタスク間距離が所定の閾値よりも小さく、かつすべての検索語に対して検索されたタスクのタスク情報をタスク間距離の小さい順にソートして検索結果として出力することを特徴とするワークフロー管理方法。
【請求項１３】
請求項１２に記載のワークフロー管理方法において、
上記の統合する工程は、ユーザが上記入力手段を介して作成したタスクモデルに対し、検索されたプロセス例をデコンポジションとして階層構造を持たせてプロセス例の統合を行うことを特徴とするワークフロー管理方法。
【請求項１４】
請求項１２に記載のワークフロー管理方法において、
上記の統合する工程は、表示手段にプロセス例の詳細情報を表示し、上記入力手段からプロセス例を特定した再利用の指示を受け付けることにより、作成中のワークフローモデルにプロセス例を追加するインタフェースを有することを特徴とするワークフロー管理方法。
【請求項１５】
請求項１２に記載のワークフロー管理方法において、
上記の検索する工程は、上記入力手段から検索語を入力し、当該検索語により所望のプロセス例を検索するインタフェースを有することを特徴とするワークフロー管理方法。
【請求項１６】
請求項１２に記載のワークフロー管理方法において、
上記の検索する工程は、上記表示手段にプロセス一覧を表示し、上記入力手段から所望のプロセス例を選択させるインタフェースを有することを特徴とするワークフロー管理方法。
【請求項１７】
請求項１２に記載のワークフロー管理方法において、
上記の検索する工程は、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の形態上の類似性を利用した類似検索の指示を上記入力手段から受け付けるインタフェースを有することを特徴とするワークフロー管理方法。
【請求項１８】
請求項１２に記載のワークフロー管理方法において、
上記の検索する工程は、タスク情報に含まれる親タスクおよび子タスクの情報に基づき、所定の世代数にあるプロセス例のみを検索結果として出力することを特徴とするワークフロー管理方法。
【請求項１９】
請求項１２に記載のワークフロー管理方法において、
上記の記述の追加もしくは修正を加える工程は、検索されたプロセス例を上記表示手段に階層的に表示し、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の編集の指示を上記入力手段から受け付けるインタフェースを有することを特徴とするワークフロー管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はワークフロー管理システムに関する。
【背景技術】
【０００２】
従来のワークフロー管理システムは、ワークフロー実行以前にワークフローモデルを決定する必要があった。しかし、研究開発や一部のサービス業務など、事前情報の完全性の低い分野では、先行的なワークフローモデルの策定が難しい。そこで、コンストラクティブワークフローと呼ばれる、ワークフロー実行時に動的にモデルを構成できる方法が開発されてきた（例えば、特願２００５−４７７９２号、特願２００５−１５４２６１号）。
【０００３】
基本的にこれらの技術では予め定められたワークフロー部品（典型的な部分ワークフロー）の組み合わせを可能とすることでワークフローの動的定義を実現しているが、適当なワークフロー部品を見つけるための手段に乏しく、動的ワークフロー構築の実用性が低かった。適当なワークフロー部品を見つけるためには、ワークフロー詳細が決定されなければならない。
【０００４】
この問題を解決するため、ワークフロー実行時に動的にワークフロー詳細を決定する方式が検討されてきたが、ワークフロー詳細が自由に決められるというだけでは、プロセスノウハウの組織的な再利用ができず、ワークフローシステム全体の生産性が向上しない。
【０００５】
この問題を解決するための方法として、プロセスモデル（ワークフローモデル、タスクモデルを含む）と呼ばれる、以前の類似プロセスをモデル化したものを利用する方式が提案されている。
【０００６】
なお、出願人は出願時点までに本発明に関連する公開された先行技術文献を発見することができなかった。よって、先行技術文献情報を開示していない。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述した以前の類似プロセスをモデル化したものを利用する方式では、良質な類似プロセス実施例を参照することができるが、プロセスモデルの作成、つまり実際のプロセス例から如何にプロセスモデルを作成するかについての充分な検討がなく、プロセスモデル作成が非効率であるという問題があった。
【０００８】
本発明は上記の従来の問題点に鑑み提案されたものであり、その目的とするところは、プロセスモデルの作成を効率的に行うことのできるワークフロー管理システムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するため、本発明にあっては、請求項１に記載されるように、記憶手段に格納された過去のプロセス例から、ユーザが入力手段を介して入力した情報に基づいて上記記憶手段に格納された所望のプロセス例を検索する手段と、プロセス例の検索結果から、ユーザが上記入力手段を介して選択した所望のプロセス例の情報を上記記憶手段から参照してコピーすることで新規作成のプロセスモデルとして統合する手段と、新規作成されたプロセスモデルに対して、ユーザが上記入力手段を介して入力した情報に基づいて記述の追加もしくは修正を加える手段とを備え、上記の検索する手段は、ユーザが上記入力手段を介して入力した検索語のそれぞれに基づいて上記記憶手段に格納されたプロセス例を検索してタスク情報とタスクツリーにおける位置情報を取得し、検索されたタスク同士の位置情報に基づくタスク間距離が所定の閾値よりも小さく、かつすべての検索語に対して検索されたタスクのタスク情報をタスク間距離の小さい順にソートして検索結果として出力するワークフロー管理システムを要旨としている。
【００１０】
また、請求項２に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の統合する手段は、ユーザが上記入力手段を介して作成したタスクモデルに対し、検索されたプロセス例をデコンポジションとして階層構造を持たせてプロセス例の統合を行うものとすることができる。
【００１１】
また、請求項３に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の統合する手段は、表示手段にプロセス例の詳細情報を表示し、上記入力手段からプロセス例を特定した再利用の指示を受け付けることにより、作成中のワークフローモデルにプロセス例を追加するインタフェースを有するものとすることができる。
【００１２】
また、請求項４に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の検索する手段は、上記入力手段から検索語を入力し、当該検索語により所望のプロセス例を検索するインタフェースを有するものとすることができる。
【００１３】
また、請求項５に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の検索する手段は、上記表示手段にプロセス一覧を表示し、上記入力手段から所望のプロセス例を選択させるインタフェースを有するものとすることができる。
【００１４】
また、請求項６に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の検索する手段は、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の形態上の類似性を利用した類似検索の指示を上記入力手段から受け付けるインタフェースを有するものとすることができる。
【００１５】
また、請求項７に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の検索する手段は、タスク情報に含まれる親タスクおよび子タスクの情報に基づき、所定の世代数にあるプロセス例のみを検索結果として出力するものとすることができる。
【００１６】
また、請求項８に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の検索する手段は、検索されたプロセス例につきワークフロー全体のツリー構造における位置関係を上記表示手段に表示するインタフェースを有するものとすることができる。
【００１７】
また、請求項９に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の検索する手段は、検索されたプロセス例の記述における検索語の存在位置を上記表示手段に表示するインタフェースを有するものとすることができる。
【００１８】
また、請求項１０に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の検索する手段は、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の詳細表示の指示を上記入力手段から受け付けるインタフェースを有するものとすることができる。
【００２０】
また、請求項１１に記載されるように、請求項１に記載のワークフロー管理システムにおいて、上記の記述の追加もしくは修正を加える手段は、検索されたプロセス例を上記表示手段に階層的に表示し、上記入力手段によりプロセス例を指定させ、指定されたプロセス例の編集の指示を上記入力手段から受け付けるインタフェースを有するものとすることができる。
【００２１】
また、請求項１２〜１９に記載されるように、ワークフロー管理方法として構成することができる。
【発明の効果】
【００２２】
本発明のワークフロー管理システムにあっては、プロセスモデルの作成を効率的に行うことができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の好適な実施形態につき説明する。
【００２４】
＜システム構成＞
図１は本発明の一実施形態にかかるワークフロー管理システム１００の構成例を示す図である。図１において、ワークフロー管理システム１００は、システムを使用するユーザＵに対してＧＵＩ（Graphical User Interface）を提供するＧＵＩ提供部１０１と、既存のタスクモデルおよび／もしくはタスクインスタンスからの再利用により動的にワークフローモデルを生成し実行するワークフローエンジン１０４と、各種のＤＢ（Data Base）１１３〜１１８とを備えている。
【００２５】
ＤＢとしては、ワークフローの実行に際して参考にされる関連情報を格納する関連情報ＤＢ１１３と、文書本体を格納する文書ＤＢ１１４と、予め管理者等によって抽象化されたタスクモデルを格納するタスクモデルＤＢ１１５と、過去のタスクインスタンスを格納するタスクインスタンスＤＢ１１６と、予め管理者等によって関連のあるタスクインスタンスおよび関連情報をグループ化したマッチングカテゴリを格納するドメインコンセプトＤＢ１１７と、ワークフローの作業記録を格納する作業記録ＤＢ１１８とを備えている。タスクモデルＤＢ１１５およびタスクインスタンスＤＢ１１６は、関連情報ＤＢ１１３および文書ＤＢ１１４に登録された情報とのリンクを持つ。また、ドメインコンセプトＤＢ１１７の内容はタスクインスタンスＤＢ１１６の内容に対してリンクを持つ。
【００２６】
ＧＵＩ提供部１０１は、表示画面を描画するためのレンダリングエンジン１０２と、ユーザＵとの情報のやり取りを行う入出力制御部１０３とを備えている。
【００２７】
ワークフローエンジン１０４は、ＤＢ１１３〜１１７に対して各種の検索を実行する検索エンジン１０５と、ワークフローを構成するタスクの制御を行うタスク制御部１０６と、ＤＢ１１３〜１１６を参照し、ユーザＵとワークフロー管理システム１００の動作を監視してワークフローの作業記録を作業記録ＤＢ１１８に対して行うワークフロー記録部１１２とを備えている。
【００２８】
タスク制御部１０６は、タスクを作成するタスク作成部１０７と、作成されたタスクを実行するタスク実行部１０８と、作業記録ＤＢ１１８の情報を元にユーザＵの現在のタスクを推測し、関連する情報をＤＢ１１３〜１１６から検索する推測エンジン１０９と、過去のプロセス（ワークフロー、タスク）からタスクモデルを作成するタスクモデル作成部１１０と、タスクモデルの作成にあたりユーザが作業しているタスクツリー（階層構造）の情報を保持するタスクツリー保持部１１１とを備えている。
【００２９】
動作概要としては、ユーザＵはＧＵＩ提供部１０１の入出力制御部１０３を通じてワークフローエンジン１０４を操作し、ワークフローの作成、実行、ワークフローモデルの作成、関連情報、文書の登録、およびこれらとワークフローインスタンス、ワークフローモデルとのリンク等の作業を行う。
【００３０】
ワークフローの作成に際し、ワークフローエンジン１０４の検索エンジン１０５は、ＤＢ１１３〜１１７に対して各種の検索を実行する。
【００３１】
ワークフローエンジン１０４のタスク制御部１０６は、タスクモデルＤＢ１１５およびタスクインスタンスＤＢ１１６を使用し、ユーザＵの指示等に基づいてタスクを制御する。タスク制御部１０６のタスク作成部１０７は、ユーザＵの指示に従ってＤＢ１１３〜１１６の情報を元にタスクの作成、情報のリンク付け等の作業を行う。タスク実行部１０８は、ユーザＵの指示に従ってタスクインスタンスＤＢ１１６の情報を利用し、実際のタスク情報の更新（タスクの実行とはシステム側から見ればタスク情報の更新である。）を行う。推測エンジン１０９は、作業記録ＤＢ１１８の情報を元にユーザＵの現在のタスクを推測し、関連する情報をＤＢ１１３〜１１６から検索する。
【００３２】
タスクモデル作成部１１０はタスクモデルＤＢ１１５、タスクインスタンスＤＢ１１６、文書ＤＢ１１４および関連情報ＤＢ１１３の情報を用いてタスクモデルの作成と管理を行う。タスクツリー保持部１１１は現在ユーザが作業しているタスクツリーの情報を保持する。
【００３３】
ワークフロー記録部１１２は、ユーザＵとワークフロー管理システム１００の動作を監視し、ワークフローの作業記録を作業記録ＤＢ１１８に格納する。
【００３４】
図２はワークフローの構造例を示す図である。図２において、ルートタスクであるワークフローは任意数のタスクにより構成される。各タスクは更に任意数のサブタスクから構成されることができる。すなわち、ワークフローは複数のタスクを、タスクは複数のサブタスクを持つことができ、それぞれの順序関係（図中で矢印付きの線で表示）などは、一般的なワークフロー管理システムのものと同一である。
【００３５】
図３はプロセスモデル、デコンポジションおよびプロセスの関係の例を示す図である。本発明によるシステムでは、複数のプロセスモデルをカテゴリ化することで、階層的なプロセスモデルを構成する。図３において、最上位のカテゴリをプロセスモデル、最上位のプロセスモデルに属するプロセスモデルをデコンポジションと呼ぶことにする。つまり、プロセスモデルはデコンポジションもしくは実際のプロセス情報からなり、デコンポジションはプロセス情報からなる。プロセスモデル対デコンポジション、デコンポジション対プロセス、プロセスモデル対プロセスは、それぞれ一対多となりうる。図３における二重線の部分が実際にインスタンス化されうるプロセスであり、実際にプロセスモデルをインスタンス化して再利用する場合には、これらのインスタンス化可能なプロセス情報を用いる。
【００３６】
図４はタスクモデルＤＢ１１５およびタスクインスタンスＤＢ１１６に保持されるワークフロー記述データの構造例を示す図である。図４において、ワークフローモデルは以下の要素を備えている。
（１）ワークフローの名称
（２）ワークフローの説明記述
（３）ワークフローのプロセス情報
（４）ワークフローの入出力情報
ここで、プロセス情報はワークフローを構成するタスクに関する情報であり、ここではタスク情報を記述する文書などへのリンクとして表されている。各タスク情報も同じデータ構造を持つ場合には、表現が自己言及的となり多層構造を持つワークフローを構成することができる。本例に示すデータ構造には、オプションとして、例えば実行時間や実効に必要なスキル等の情報を付加することもできる。
【００３７】
タスクモデルＤＢ１１５およびタスクインスタンスＤＢ１１６は、これらの情報を管理（登録、参照、修正、削除等）できる媒体を用いて構成されている。また、タスクモデル作成部１１０は上記のワークフロー記述データを記述し修正する機能を有している。このような情報を記述／修正するための手段として、通常のデータベースを用いた実装以外にも、例えば「Ｗｉｋｉ」と呼ばれるＷｅｂ上での文書の作成のためのアプローチを利用し、該ワークフロー情報を記述／修正する手段を実現することができる。この場合、例えば各ワークフローおよびタスクは独立したページを持ち、それぞれ固有のＵＲＬ（Uniform Resource Locator）を持つことになる。図４における値はローカルマシン内のドキュメントか、Ｗｅｂ上でアクセス可能なドキュメントへのリンクを表すことができる。
【００３８】
＜プロセスモデルの作成＞
本発明は、ワークフロー実行時に該ワークフローを構成するタスクを動的に変更・更新することのできるワークフロー管理システムをベースとし、プロセスモデルの効率的な作成を実現するためのものである。
【００３９】
図５はプロセスモデル作成の処理例を示すフローチャートである。図５において、プロセスモデルの作成は、大きくは３つのステップを含み、過去のプロセス例から検索を行う工程（ステップＳ１）と、検索されたプロセス例に基づいてプロセスモデルの統合を行う工程（ステップＳ２）と、プロセスモデルに記述を追加しもしくは記述の修正を行うことで一般化を行う工程（ステップＳ３）とからなる。
【００４０】
過去のプロセス例から検索を行う工程（ステップＳ１）に関しては主に次の機能を有する。
（１）ワークフローモデル検索機能
（２）類似ワークフロー／インスタンス検索機能
（３）類似タスク検索機能
（４）タスク関連情報検索機能
（５）ワークフロー間の共通部位の検出機能
ここで、ワークフローモデル検索機能は、ワークフローモデル自身が類似することもあることから必要とされる機能である。類似ワークフロー／インスタンス検索機能は、類似するワークフローインスタンスおよびタスクインスタンスを検索する機能である。ワークフロー間の共通部位の検出機能は、一般化には複数のワークフロー間の共通部位の検出と統合が有効であることから設けられる機能である。
【００４１】
ワークフロー共通部位検出機能につきより詳しく説明する。ワークフローモデルの作成には、以前のタスクインスタンス（複数）を参照し、一般化することが有効である。この一般化のためには、まず該タスクインスタンス群から共通部分を見つけ出し、それを基に他の部分を構成する方法が有効である。ワークフローの共通部位検出には様々な方法があるが、大別するとワークフローの形態学的な類似性を用いる方法と、ワークフロー定義文などを用いた言語学的方法がある。前者はたとえばダイクストラ法を使い該ワークフローの類似性を判定する方法が使用できる。この場合、各ワークフローは有向グラフとして表されている必要がある。後者では、ワークフローおよび該ワークフローを構成するタスクの定義文などからの単語切り出しを利用した、文書の類似性判定を用いて共通部位を検出することができる。文書の類似性判定には一般的な技術としてベクトル空間法を用いる方法を用いることができる。本発明によるシステムの場合、ワークフローおよび該ワークフローを構成するタスクの名前、内容等がテキスト情報として有効であるため、後者の文書の類似性を利用した共通部位検出機能の有用性が高い。
【００４２】
検索されたプロセス例に基づいてプロセスモデルの統合を行う工程（ステップＳ２）に関しては主に次の機能を有する。
（６）ワークフローおよび関連情報の複製（コピー）機能
これは、ワークフローモデルに関する情報を複製することで統合する機能である。
【００４３】
プロセスモデルに記述を追加しもしくは記述の修正を行うことで一般化を行う工程（ステップＳ３）に関しては主に次の機能を有する。
（７）ワークフローモデル記述機能
（８）ワークフローモデル修正機能
（９）タスク関連情報修正機能
ワークフローモデルは実際のシステムの運用に伴い更新されるため必要とされる機能である。
【００４４】
＜ＵＩ例＞
ワークフローモデルを作成するのは、主にその業務のドメインの専門家であり、ワークフローモデリングの専門化ではなく、ワークフローモデル作成についての専門的知識を前提とすることは難しい。そのため直感的ユーザインターフェースの必要性が高い。そのため本発明によるシステムの機能はＵＩとの高い統合性を持っている。以下では本発明によるシステムのＵＩの例について述べる。
【００４５】
図６および図７は検索およびプロセスモデル作成のＵＩ例を示す図であり、図６はワークフローモデルの名称、説明記述（ワークフロー定義文等）などに含まれる単語を利用した検索方法を、図７はワークフローモデル一覧からの選択による方法を示している。
【００４６】
図６においては、単語による検索を行うペイン２０１と、検索結果から選択されたワークフローの詳細を表示するペイン２０２と、作成中のワークフローの詳細を表示するペイン２０３とが設けられた例を示している。図７においては、既存のワークフローモデル一覧を表示するペイン２１１と、一覧から選択されたワークフローの詳細を表示するペイン２１２と、作成中のワークフローの詳細を表示するペイン２１３とが設けられた例を示している。
【００４７】
ペイン２０１およびペイン２１１においては、表示されたワークフローを利用し、更にワークフロー形態の類似性を利用した検索を行うことができる。これには、ワークフロー名の右隣のコラムにある「類似検索」の欄をクリックする。
【００４８】
ペイン２０１およびペイン２１１において、「表示」欄のボタンをクリックすることで、左下のペイン２０２、ペイン２１２に内容が表示される。
【００４９】
ペイン２０２およびペイン２１２において、「再利用」欄のボタンをクリックすることで、当該ワークフローに関連する情報と、それが属するタスクが右のペイン２０３、ペイン２１３にコピーされる。より単純にドラッグアンドドロップを用いることもできる。
【００５０】
ペイン２０３およびペイン２１３ではワークフローモデル名、構成タスク名とその関連情報、実行順序が表示される。これらの情報はこのペインで編集可能である。
【００５１】
なお、ワークフローモデルは複数の前述したデコンポジションと呼ばれる選択肢を持つことができる。本図の例では、右側のワークフローモデル内部に、「要求分析」と「市場駆動型要求分析」という二つのデコンポジションが作られている。それぞれのデコンポジションもワークフローモデルであり、ユーザは同じ要求分析というモデルから、複数の実現方式を選択することができる。
【００５２】
＜タスク間の関係に着目した検索＞
ほとんどの場合、ワークフローは複数のタスクで構成される。それぞれのタスクは入出力において相互に関係することが多いが、作業そのものは独立している場合がある。そのためワークフローの再利用に際して単純にひとつのタスクの名前、定義文の解析では、有効なワークフロー部品の検出ができない場合がある。
【００５３】
図８はタスク間の関係に着目した検索の説明図であり、ここで仮にタスク１を「携帯電話の要求分析」、タスク１−１を「留守番電話機能のユースケース解析」、タスク１−２を「着信通知機能のユースケース解析」とする。この部分ツリー全体としては、携帯電話に対する要求解析であり、タスク１のレベルでは抽象化された記述にとどまる。より抽象度の低いタスク１−１および１−２のレベルでは、具体的な対象と解析法の名前等が現れる。
【００５４】
このようなツリーを考えた場合に、単純に「要求分析」、「留守番電話」、「着信通知」という単語を用いて検索を行うと、必要以上に多数の検索結果がもたらされ、有意な情報を見つけることが難しい。
【００５５】
このような場合に真に有意な情報を見つけるためには、タスク間の関係に着目することが有効である。具体的な例としては、複数の検索語を用いて検索する場合、それらの検索語が、タスク間の親子関係の３世代にわたり合致する場合にのみ、検索に照合すると判断するアルゴリズムを実装することができる。上記例では「要求分析」はタスク１に、「留守番電話」はタスク１−２に、「着信通知」はタスク１−２に照合し、それらはタスク間の親子関係２世代内にあるため、これら３つのタスクが検索に合致することになる。一方、例えばタスク３が「着信通知機能の実装」というタスクであったとしても、その他の検索語に合致するタスクがタスク間の親子関係の３世代内にないため、検索には合致しない。
【００５６】
このような機能を実装する場合、検索の絞込みに利用するタスク間親子関係の世代数は可変であり、ユーザが設定することも可能である。またシステムが過去の利用実績から最適と思われる世代数を示すこともできる。
【００５７】
＜複数のデコンポジションを一つのタスクモデルに対して作成・登録する処理例＞
図９は複数のデコンポジションを一つのタスクモデルに対して作成・登録する処理例を示すフローチャートである。
【００５８】
先ず、ユーザＵが入出力制御部１０３に対してタスクモデルＴの必要情報を入力して作成を指示すると（ステップＳ１０１）、入出力制御部１０３はタスクモデル作成部１１０に対してタスクモデルＴの作成を指示し（ステップＳ１０２）、タスクモデル作成部１１０はタスクモデルＤＢ１１５にタスクモデルＴの作成を指示し（ステップＳ１０３）、タスクモデルＤＢ１１５はタスクモデルＴを作成する（ステップＳ１０４）。そして、タスクモデルＴが作成された旨がタスクモデルＴから入出力制御部１０３まで順次に通知される（ステップＳ１０５〜Ｓ１０７）。
【００５９】
次いで、ユーザＵが入出力制御部１０３に対して、検索されたタスクインスタンス等から選択することでデコンポジションＡの作成を指示すると（ステップＳ１０８）、入出力制御部１０３はタスクモデル作成部１１０に対してデコンポジションＡの作成を指示し（ステップＳ１０９）、タスクモデル作成部１１０はタスクモデルＤＢ１１５にデコンポジションＡの作成を指示する（ステップＳ１１０）。タスクモデルＤＢ１１５はタスクモデルＴに確認を指示し（ステップＳ１１１）、タスクモデルＴはタスクモデルの確認結果をタスクモデルＤＢ１１５に返し（ステップＳ１１２）、タスクモデルＤＢ１１５はデコンポジションＡを作成する（ステップＳ１１３）。そして、デコンポジションＡが作成された旨がデコンポジションＡから入出力制御部１０３まで順次に通知される（ステップＳ１１４〜Ｓ１１６）。
【００６０】
次いで、ユーザＵが入出力制御部１０３に対して、同様に検索されたタスクインスタンス等から選択することでデコンポジションＢの作成を指示すると（ステップＳ１１７）、入出力制御部１０３はタスクモデル作成部１１０に対してデコンポジションＢの作成を指示し（ステップＳ１１８）、タスクモデル作成部１１０はタスクモデルＤＢ１１５にデコンポジションＢの作成を指示し（ステップＳ１１９）、タスクモデルＤＢ１１５はデコンポジションＢを作成する（ステップＳ１２０）。そして、デコンポジションＢが作成された旨がデコンポジションＢから入出力制御部１０３まで順次に通知される（ステップＳ１２１〜Ｓ１２３）。
【００６１】
次いで、入出力制御部１０３はタスクモデル作成部１１０に対して作成終了を指示し（ステップＳ１２４）、タスクモデル作成部１１０はタスクモデルＴに作成終了を指示する（ステップＳ１２５）。また、タスクモデルＤＢ１１５はデコンポジションＡにデコンポジション作成の終了を通知するとともに（ステップＳ１２６、Ｓ１２７）、デコンポジションＢにデコンポジション作成の終了を通知する（ステップＳ１２８、Ｓ１２９）。そして、タスクモデルＤＢ１１５はタスクモデルＴにすべてのデコンポジションの終了を伝え（ステップＳ１３０）、タスクモデル作成の終了がタスクモデルＴから入出力制御部１０３まで順次に通知される（ステップＳ１３１、Ｓ１３２）。
【００６２】
＜他のＵＩ例＞
複数のタスクにわたり検索語が分散して現れるような場合を指定して検索するためのユーザインターフェースについて説明する。
【００６３】
図１０は検索およびプロセスモデル作成のＵＩ例を示す図であり、タスク間の関係がどのようになっているかを具体的に示すため、ワークフロー図中での当該タスクの位置を図示したＵＩ例である。
【００６４】
図１０において、検索結果を示すペイン２２１の右側には、ワークフロー全体のツリー構造における検索されたタスクの位置関係が表示されている。なお、上部中央に示した検索結果リストとワークフロー図中のタスクの対応関係を示すために、例えば異なる色を用いてそれぞれのタスクを表示することもできる。検索結果のうちのひとつをクリックすることで、その詳細内容が左下のペイン２２２に表示される。そこで、再利用をクリックすることで右下のペイン２２３において現在作成中のモデルに内容がコピーされる。ペイン２２３では今回コピーした部分のみを表示しているが、実際にはスクロールバーにより、後続のタスクを作成・参照することができる。
【００６５】
また、タスク名、タスク記述などにおける検索語の存在を明らかにするために、これらを表示するときに、検索語をハイライト表示することができる。この例を図１１に示す。この図は図１０のペイン２２１において「検索結果の詳細表示」隣のＯＫボタンをクリックすることで表示される。
【００６６】
図１１では、Ｎｏ．１からＮｏ．３のいずれの場合も検索語である「要求解析」と「ユースケース解析」が含まれるが、親子関係にある複数タスクにわたり分散しているＮｏ．１をトップに表示した。検索方法の設定で、分散している場合を優先するか、単一のものを優先するかをユーザが決定することができる。
【００６７】
＜複数のタスクにまたがって検索語が分散している場合における検索の処理例＞
図１２は複数のタスクにまたがって検索語が分散している場合における検索の処理例を示すフローチャートである。
【００６８】
先ず、処理が開始すると（ステップＳ２０１）、ユーザは検索語Ｌ１〜Ｌｎをシステムに与える（ステップＳ２０２）。なお、ｎは検索語数である。
【００６９】
次いで、検索エンジン１０５は検索語Ｌ１〜Ｌｎそれぞれを用いてタスクインスタンスＤＢ１１６においてタスクの検索を行い、その結果をそれぞれＲ１〜Ｒｎに保持する（ステップＳ２０３）。図１３は検索結果Ｒのデータ構造例を示す図であり、Ｒ１〜Ｒｎには、該当するタスク情報と、該タスクのタスクツリーにおける位置情報が含まれる。Ｒ１〜Ｒｎそれぞれに含まれる要素の数をＮ（Ｒ１）〜Ｎ（Ｒｎ）で表すものとする。
【００７０】
次いで、図１２に戻り、タスク制御部１０６は、Ｒ１〜Ｒｎの該当タスクの位置情報を用いて、それぞれの該当タスク間距離を計算し、該距離があらかじめ与えられた閾値ＴＨよりも小さいものをデータＤに格納する（ステップＳ２０４）。図１４はデータＤの構造例を示す図である。なお、タスク間距離の計算には一般的なグラフ表現におけるノード間距離計算方法を用いることができる。また、閾値ＴＨはシステム管理者が予め与えるものとするが、ユーザに指定させても良い。
【００７１】
次いで、図１２に戻り、データＤの要素の中から、検索語Ｌ１〜Ｌｎすべてを含む組み合わせを見つけ、その組み合わせに含まれるタスクをデータＣに格納する（ステップＳ２０５）。図１５はデータＣの構造例を示す図である。なお、データＣは該組み合わせに含まれる合計距離数が小さい順にソートされるものとする。
【００７２】
次いで、図１２に戻り、検索エンジン１０５はＧＵＩ提供部１０１の入出力制御部１０３およびレンダリングエンジン１０２を通じてユーザにデータＣを示し（ステップＳ２０６）、処理を終了する（ステップＳ２０７）。
【００７３】
＜すべての検索語を含む組み合わせを見つける処理例＞
すべての検索語を含む組み合わせを見つけるアルゴリズムはいくつかあるが、もっとも単純な総当り法について説明する。
【００７４】
図１６はすべての検索語を含む組み合わせを見つける処理例を示すフローチャートである。図において、Ｎは検索語の数、Ｔ（Ａ）１〜Ｔ（Ａ）Ｎｕｍ（Ａ）は検索語Ａによる検索の該当タスク、Ｎｕｍ（Ａ）は検索語Ａによる該当タスク数、ｄ（Ｔ１，Ｔ２）はタスクＴ１、Ｔ２間の距離、ＴＨはタスク間距離の閾値、ｎ、ｍは検索語のインデックス、ｉ、ｊはタスクのインデックス、ａは判定用の変数である。
【００７５】
先ず、処理が開始すると（ステップＳ３０１）、検索語のインデックスｎを１とし（ステップＳ３０２）、検索語のインデックスｍをｎ＋１とし（ステップＳ３０３）、変数ａを０とし（ステップＳ３０４）、タスクのインデックスｉを１とし（ステップＳ３０５）、タスクのインデックスｊを１とする（ステップＳ３０６）。
【００７６】
そして、Ｔ（ｎ）ｉ〜Ｔ（ｍ）ｊのタスク間距離を閾値ＴＨと比較し（ステップＳ３０７）、タスク間距離が閾値ＴＨよりも小さくない場合は（ステップＳ３０７のＮｏ）、変数aをインクリメントし（ステップＳ３０８）、タスクのインデックスｊがＮｕｍ（ｍ）に到達したか否か判断し（ステップＳ３０９）、到達していない場合は（ステップＳ３０９のＮｏ）、タスクのインデックスｊをインクリメントし（ステップＳ３１０）、タスク間距離の判断（ステップＳ３０７）に戻る。
【００７７】
また、タスク間距離が閾値ＴＨよりも大きい場合（ステップＳ３０７のＹｅｓ）もしくはタスクのインデックスｊがＮｕｍ（ｍ）に到達した場合（ステップＳ３０９のＹｅｓ）、検索語のインデックスｍが検索語の数Ｎに到達したか否か判断し（ステップＳ３１１）、到達していない場合は（ステップＳ３１１のＮｏ）、検索語のインデックスｍをインクリメントし（ステップＳ３１２）、タスクのインデックスｊの設定（ステップＳ３０６）に戻る。
【００７８】
検索語のインデックスｍが検索語の数Ｎに到達した場合（ステップＳ３１１のＹｅｓ）、変数ａが０であるか否か判断し（ステップＳ３１３）、０である場合（ステップＳ３１３のＹｅｓ）は条件に合致するものとし（ステップＳ３１４）、０でない場合（ステップＳ３１３のＮｏ）は条件に合致しないものとする（ステップＳ３１５）。条件に合致する場合（ステップＳ３１４）、該当するタスクをデータＣに登録する。
【００７９】
そして、タスクのインデックスｉがＮｕｍ（ｎ）に到達したか否か判断し（ステップＳ３１６）、到達していない場合は（ステップＳ３１６のＮｏ）、変数ａを０とするとともにタスクのインデックスｉをインクリメントし（ステップＳ３１７）、検索語のインデックスｎがＮ−１に到達したか否か判断し（ステップＳ３１８）、到達していない場合は（ステップＳ３１８のＮｏ）、タスクのインデックスｊの設定（ステップＳ３０６）に戻る。
【００８０】
また、タスクのインデックスｉがＮｕｍ（ｎ）に到達した場合は（ステップＳ３１６のＹｅｓ）、検索語のインデックスｎをインクリメントし（ステップＳ３１９）、検索語のインデックスｍの設定（ステップＳ３０３）に戻る。
【００８１】
検索語のインデックスｎがＮ−１に到達した場合は（ステップＳ３１８のＹｅｓ）、処理を終了する（ステップＳ３２０）。
【００８２】
＜まとめ＞
本発明によるシステムでは、プロセスモデルを階層的に構築することができ、複数のサブタスクモデルをカテゴリ化することができる。プロセスモデル作成者は多数のプロセスモデルを効率的に作成、管理することができ、またプロセスモデル使用者は抽象的なプロセスモデルから具体的なプロセスモデルを容易に見つけることができ、プロセスモデル再利用の効率が向上する。
【００８３】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。
【図面の簡単な説明】
【００８４】
【図１】本発明の一実施形態にかかるワークフロー管理システムの構成例を示す図である。
【図２】ワークフローの構造例を示す図である。
【図３】プロセスモデル、デコンポジションおよびプロセスの関係の例を示す図である。
【図４】ワークフロー記述データの構造例を示す図である。
【図５】プロセスモデル作成の処理例を示すフローチャートである。
【図６】検索およびプロセスモデル作成のＵＩ例を示す図（その１）である。
【図７】検索およびプロセスモデル作成のＵＩ例を示す図（その２）である。
【図８】タスク間の関係に着目した検索の説明図である。
【図９】複数のデコンポジションを一つのタスクモデルに対して作成・登録する処理例を示すフローチャートである。
【図１０】検索およびプロセスモデル作成のＵＩ例を示す図（その３）である。
【図１１】検索およびプロセスモデル作成のＵＩ例を示す図（その４）である。
【図１２】複数のタスクにまたがって検索語が分散している場合における検索の処理例を示すフローチャートである。
【図１３】検索結果Ｒのデータ構造例を示す図である。
【図１４】データＤの構造例を示す図である。
【図１５】データＣの構造例を示す図である。
【図１６】すべての検索語を含む組み合わせを見つける処理例を示すフローチャートである。
【符号の説明】
【００８５】
１００    ワークフロー管理システム
１０１    ＧＵＩ提供部
１０２    レンダリングエンジン
１０３    入出力制御部
１０４    ワークフローエンジン
１０５    検索エンジン
１０６    タスク制御部
１０７    タスク作成部
１０８    タスク実行部
１０９    推測エンジン
１１０    タスクモデル作成部
１１１    タスクツリー保持部
１１２    ワークフロー記録部
１１３    関連情報ＤＢ
１１４    文書ＤＢ
１１５    タスクモデルＤＢ
１１６    タスクインスタンスＤＢ
１１７    ドメインコンセプトＤＢ
１１８    作業記録ＤＢ
Ｕ        ユーザ
【図１】
0004839087.tif 000002
【図２】
0004839087.tif 000003
【図３】
0004839087.tif 000004
【図４】
0004839087.tif 000005
【図５】
0004839087.tif 000006
【図６】
0004839087.tif 000007
【図７】
0004839087.tif 000008
【図８】
0004839087.tif 000009
【図９】
0004839087.tif 000010
【図１０】
0004839087.tif 000011
【図１１】
0004839087.tif 000012
【図１２】
0004839087.tif 000013
【図１３】
0004839087.tif 000014
【図１４】
0004839087.tif 000015
【図１５】
0004839087.tif 000016
【図１６】
0004839087.tif 000017