(57)【要約】【課題】不必要なシナリオの実行を排除し、これにより実行時間の短縮を図ったワークフローシミュレータを提供すること。【解決手段】複数のノード（部隊）をグループ化して、そのグループによって行う業務処理を指定した処理パターンを管理するようにする。これにより、処理パターンに応じてそれぞれの業務をどのグループで行なうかといった事柄を管理をすることが可能になる。従って部隊個別に業務処理を指定しなくても、処理パターンを変更することで実行するシナリオが自動的に生成されるようになる。これにより、シナリオを作成する手間を大幅に削減することが可能になる。さらに、処理パターンの選択において対象を或る程度絞った実行が可能になるため、余計なシナリオを実行する必要がなくなり、実行時間の短縮が図れる。【選択図】      図８
2007109068.tif 000002
【特許請求の範囲】
【請求項１】
一定の関係で接続される複数のノードがそれぞれ特有のタスクを処理することによりシミュレーションを行うワークフローシミュレータであって、
前記複数のノードのうちの一部のノードをグループ化するグループ化手段と、
前記グループ化されたノードを含む前記複数のノードのそれぞれのタスクの組み合わせに基づいて、前記シミュレーションの進行に係わるシナリオを作成するシナリオ作成手段とを具備することを特徴とするワークフローシミュレータ。
【請求項２】
一定の関係で接続される複数のノードがそれぞれ特有のタスクを処理することによりシミュレーションを行うワークフローシミュレータにおけるシナリオ作成方法であって、
前記複数のノードのうちの一部のノードをグループ化するグループ化ステップと、
前記グループ化されたノードを含む前記複数のノードのそれぞれのタスクの組み合わせに基づいて、前記シミュレーションの進行に係わるシナリオを作成するシナリオ作成ステップとを具備することを特徴とするシナリオ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばネットワーク連携処理シミュレーションのシナリオ作成を行うワークフローシミュレータとそのシナリオ作成方法に関する。
【背景技術】
【０００２】
近年、種々のシミュレーション技術が開発されており、その中にワークフローシステムやワークフロー制御システムと称して知られるものがある（例えば特許文献１，２を参照）。この種の技術においては、ノード、イベント、タスクなどの用語がキーワードとなり、さらにこれらの相関により表現されるシナリオという概念がある。
【特許文献１】特開２０００−１１２９００号公報
【特許文献２】特開２０００−２５０９６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、達成しようとするワークフローによってはノード、イベント、タスクの数が多くなり、したがってシナリオの数も膨大なものになる。この膨大な種類のシナリオの中から、或る条件の元に最適な実行結果を得られるシナリオを選びたいという場合に、条件に該当するシナリオを個別に入力して作成する手間もまた膨大になる。さらに、マシン処理により自動的にシナリオを作成する場合は、全通りのシナリオが区別なく作成されるため、実行の際も全てのシナリオの組み合わせが実行され、実行時間が膨大になってしまう。  
この発明は上記事情によりなされたもので、その目的は、不必要なシナリオの実行を排除し、これにより実行時間の短縮を図ったワークフローシミュレータとそのシナリオ作成方法を提供することにある。
【課題を解決するための手段】
【０００４】
上記目的を達成するためにこの発明の一態様によれば、一定の関係で接続される複数のノードがそれぞれ特有のタスクを処理することによりシミュレーションを行うワークフローシミュレータであって、前記複数のノードのうちの一部のノードをグループ化するグループ化手段と、前記グループ化されたノードを含む前記複数のノードのそれぞれのタスクの組み合わせに基づいて、前記シミュレーションの進行に係わるシナリオを作成するシナリオ作成手段とを具備することを特徴とするワークフローシミュレータが提供される。
【０００５】
上記構成においてノードをグループ化することにより、グループによって処理可能なタスクが限定される。これによりシナリオの組み合わせ総数を減らすことができ、その組み合わせに対してシナリオを自動生成することにより意図した組み合わせのシナリオを自動的に生成することが可能になる。
【０００６】
また、グループ化によって、予め意図した条件のシナリオのみを自動的に作成することが可能になるため、シナリオの作成が容易に行え、実行する場合の数も減少することから、不必要なシナリオを実行する必要がなくなり、処理が効率良く行えるようになる。
【発明の効果】
【０００７】
この発明によれば、不必要なシナリオの実行を排除でき、これにより実行時間の短縮を図ったワークフローシミュレータとそのシナリオ作成方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
図１は、この発明に係わるワークフローシミュレータの対象となるモデルを示す図である。このモデルは複数の部隊がそれぞれネットワークで接続される状態を示す。各部隊は個々を識別するための名称と、グループを区別するためのグループ名を持っている。各部隊にはその下位に位置付けられる部隊を有し、最上位の連帯１から最下位の砲班１−１−１−１〜１−１−１−４までの部隊編成となっている。
【０００９】
図１の部隊編成の中で複数のイベントが発生し、それぞれ業務処理を行うことでシミュレーションが実行され、それぞれのイベントの処理時間が結果として出力される。一つのイベントは、目標報告（起点）、射撃任務作成、射撃命令作成、射撃号令発令（終点）という業務処理により構成される。目標報告と射撃号令とはそれのみが行われ、他の業務処理は同一の部隊では行われない。また、目標報告から発生した情報は必ず上位へ伝達されるとともに、射撃任務作成、射撃命令作成から送られる情報は必ず下位へ伝達される。
【００１０】
図２はこの発明に係わるワークフローシミュレータを示すブロック図である。このシミュレータは、シナリオ作成プログラム１０と、シミュレーション実行プログラム２０と、結果表示プログラム３０とを中核として構築される。シナリオ作成プログラム１０はシナリオ作成ユースケースにより記述されるプログラムであり、ＸＭＬファイル４０を出力する。このＸＭＬファイル４０は部隊編成、ネットワーク編成、目標発生イベント、および目標パターンなどのシナリオ情報を含み、シミュレーション実行プログラム２０に入力される。
【００１１】
シミュレーション実行プログラム２０はシミュレーション実行ユースケースにより記述されるプログラムであり、ＸＭＬファイル４０に記述されるシナリオに基づくシミュレーションを実行してＣＳＶファイル５０を出力する。このＣＳＶファイル５０はシミュレーションの処理結果および処理編成を含み、結果表示プログラム３０に入力される。結果表示プログラム３０はＣＳＶファイル５０の内容からシミュレーションの実行結果を表示する。表示されたデータは帳票ファイル６０に保存され、グラフや表などの作成に利用される場合もある。次に上記構成における動作を説明する。
【００１２】
図３はシナリオ作成プログラム１０による部隊編成を行うための設定画面を示す図である。図３のウインドウを用いることで部隊編成の階層構造を設定することが容易にできる。各部隊にはその名称と、グループ（部隊種別：連隊、大隊、中隊、砲班、観測班など）を指定する。
【００１３】
図４は、シミュレーションに伴うイベントを設定するための設定画面を示す図である。この画面を用いて、イベントの発生時刻、報告元部隊、任務作成部隊、命令作成部隊、発生周期、繰り返し回数などのパラメータを入力することにより個々のイベントが設定される。
【００１４】
例えば目標報告（起点）を観測班１−１−１−４とし、砲班１−１−１−１を射撃号令発令（終点）とし、射撃任務作成、射撃命令作成の組み合わせをワイルドカード（＊）を用いて任意としたイベントをイベント１とする。同様にして複数のイベントを作成することができる。シナリオは複数のイベントの集合により定義され、その例を表１に示す。
【表１】
2007109068.tif 000003
【００１５】
この実施形態では、イベントの設定にあたりワイルドカードを用いて任意の値を設定することができる。ワイルドカードによる業務処理は、どのグループ（部隊種別）がどの業務処理を行うかということが予め設定された処理パターンに基づいて設定される。この処理パターンは図５の画面を用いて設定される。
【００１６】
図５のウインドウを用いて、シミュレーション実行プログラムにより複数作成された処理パターンの中から、実行する種類の処理パターンを選択することにより、処理パターンで業務を指定されたグループの部隊が業務処理を行ってシミュレーションが実行される。これにより、部隊種別のグループと処理パターンの設定方法によりシナリオに登録されたイベントのワイルドカードとなっている射撃任務作成部隊、射撃命令作成部隊が自動的に設定される。表１のワイルドカード（＊）を設定した状態を表２に示す。このシナリオは自動的に作成される。
【表２】
2007109068.tif 000004
【００１７】
図６は、既存のシミュレーションシステムにおけるイベントの例を示す図である。図６のようにノードＡから出てノードＦに向かい、その間に任意のタスク１、タスク２を順番に任意のノードで実行するイベントをイベントＡとする。そうするとこのイベントＡが行うタスク処理の種類は次表３のようになる。
【表３】
2007109068.tif 000005
【００１８】
このイベントにおけるタスク処理の数は、ｎ個の異なるものから、繰り返しを許してｒ個をとってできる組合せであり、ｎ個のものからｒ個をとる重複組合せである。よって、この総数を計算で求めると以下のようになる。
【００１９】
ｎＨｒ＝ｎ＋ｒ−１Ｃｒ＝（ｎ＋ｒ−１）！／｛ｒ！×（ｎ＋ｒ−１−ｒ）！｝
＝（ｎ＋ｒ−１）！／｛ｒ！×（ｎ−１）！｝
ｎ＝６、ｒ＝２であるから
（６＋２−１）！／｛２！×（６−１）！｝＝２１通りとなる。
【００２０】
さらに、図７のようにノードＡから出て、ノードＦ１に行く処理をイベント１、ノードＦ２に行く処理をイベント２、ノードＦ３に行く処理をイベント３、ノードＦ４に行く処理をイベント４として、それぞれのイベントがその間に任意のタスク１、タスク２を順番に任意のノードで実行するという組み合わせの一つをシナリオとすると、考えられるシナリオの種類は＊＊をべき乗として、２１＊＊４  ＝  １９４４８１通りにもなる。
【００２１】
以上の例から、ｎ＝経由するノード数、ｒ＝処理するタスク数、Ｘ＝イベント数とすると、シナリオの種類ＳはＳ＝［（ｎ＋ｒ−１）！／｛ｒ！＊（ｎ−１）！｝］＊＊Ｘとなり、経由するノード数ｎやイベント数が増えると、シナリオの種類は膨大なものとなる。
【００２２】
この膨大な種類のシナリオの中から、ある条件の元に最適な実行結果が得られるシナリオを選びたいという場合に、条件に該当するシナリオを個別に入力して作成する手間もまた膨大になる。また、自動的にシナリオを作成する場合は、全通りのシナリオが区別なく作成されるため、実行の際も全てのシナリオの組み合わせが実行され、実行時間が膨大になってしまう。
【００２３】
これに対し本実施形態では、図８に示すように複数のノード（部隊）をグループ化して、そのグループによって行う業務処理を指定した処理パターンを管理するようにする。これにより、処理パターンに応じてそれぞれの業務をどのグループで行なうかといった事柄を管理をすることが可能になる。従って部隊個別に業務処理を指定しなくても、処理パターンを変更することで実行するシナリオが自動的に生成されるようになり、シナリオを作成する手間を大幅に削減することが可能になる。さらに、処理パターンの選択において対象を或る程度絞った実行が可能になるため、余計なシナリオを実行する必要がなくなり、実行時間の短縮が図れる。これらのことから、不必要なシナリオの実行を排除し、実行時間の短縮を図ったワークフローシミュレータを提供することが可能となる。
【００２４】
なお、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００２５】
【図１】この発明に係わるワークフローシミュレータの対象となるモデルを示す図。
【図２】この発明に係わるワークフローシミュレータを示すブロック図。
【図３】シナリオ作成プログラム１０による部隊編成を行うための設定画面を示す図。
【図４】イベント設定画面を示す図。
【図５】処理パターンの設定画面を示す図。
【図６】既存のシミュレーションシステムにおけるイベントの例を示す図。
【図７】既存のシミュレーションシステムにおけるイベントの他の例を示す図。
【図８】この発明に係わるワークフローシミュレータにおけるノードのグループ化を示す概念図。
【符号の説明】
【００２６】
１０…シナリオ作成プログラム、２０…実行プログラム、３０…結果表示プログラム、４０…ＸＭＬファイル、５０…ＣＳＶファイル、６０…帳票ファイル
【図１】
2007109068.tif 000006
【図２】
2007109068.tif 000007
【図３】
2007109068.tif 000008
【図４】
2007109068.tif 000009
【図５】
2007109068.tif 000010
【図６】
2007109068.tif 000011
【図７】
2007109068.tif 000012
【図８】
2007109068.tif 000013