(57)【要約】【課題】作業者に手間をかけさせることなく、業務実態を正確に与え得る、きめの細かいシミュレーション情報の設定が可能な業務シミュレータを提供すること。【解決手段】処理時間取得部２により、業務システムにおける実行履歴から、業務における処理を完了するのに必要とされる時間である処理時間であって、当該処理を識別する処理名ごと、処理の実行に用いたリソースを識別するリソース識別子ごと、予め指定された単位の時間帯ごとの処理時間を記述した処理時間設定ファイルを作成し、オーダ管理部８においてオーダ発生時刻リストに記述されたオーダ生成時刻に従ってオーダを生成して業務シミュレーションを行う際、前記処理時間設定ファイルから当該オーダの処理名、リソース識別子および現在時刻と合致する処理時間を取得することで、実際の業務を反映したシミュレーションを可能とする。【選択図】図１
2008299496.tif 000002
【特許請求の範囲】
【請求項１】
オーダごとに処理を進める業務について、オーダが発生してから当該オーダに対する処理が完了するまでをシミュレートする業務シミュレータであって、
オーダに対して行われる処理の進め方を表す業務プロセスに合わせて処理の実行を支援する業務システムにおける実行履歴から、業務における処理を完了するのに必要とされる時間である処理時間であって、当該処理を識別する処理名ごと、処理の実行に用いたリソースを識別するリソース識別子ごと、予め指定された単位の時間帯ごとの処理時間を記述した処理時間設定ファイルを作成する処理時間取得部と、
オーダごとに当該オーダを生成する時刻を記述したオーダ発生時刻リストに従ってオーダを生成して業務シミュレーションを行う際、前記処理時間設定ファイルから当該オーダの処理名、リソース識別子および現在時刻と合致する処理時間を取得し、該処理時間を用いて業務シミュレーションを実行するオーダ管理部とを少なくとも備えた
ことを特徴とする業務シミュレータ。
【請求項２】
オーダごとに処理を進める業務について、オーダが発生してから当該オーダに対する処理が完了するまでをシミュレートする業務シミュレータであって、
情報記憶部と、オーダ管理部とを少なくとも備え、
情報記憶部は、オーダに対して行われる処理の進め方を表すビジネスプロセスを記述したビジネスプロセス設定ファイルと、業務で利用可能な各リソースについてそれぞれその利用可能な最大のリソース数を記述したリソース数設定ファイルと、前記ビジネスプロセスに含まれる各処理について当該処理を実行可能なリソースを識別するリソース識別子を記述したリソース情報ファイルと、前記ビジネスプロセスに含まれる各処理について当該処理を完了するのに必要とされる時間である処理時間を記述した処理時間設定ファイルと、オーダごとに当該オーダを生成する時刻を記述したオーダ発生時刻リストと、リソース数設定ファイルにおける各リソースのリソース数を初期値としてその時点で利用可能なリソースの数をリソースごとに記述したリソース数リストとを記憶し、
オーダ管理部は、
オーダを識別するオーダＩＤ、当該オーダが実行中か待機中かを識別する状況、実行中あるいは次に実行する処理を識別する処理名、状況が実行中の場合に利用しているリソースを識別するリソース識別子、および実行中あるいは次に実行する処理における残り時間を表す残り処理時間を１つの行とするオーダ状態管理リストと、前記オーダＩＤ、前記処理名、当該オーダに発生したイベントの内容を表すイベント種別、および時刻を１つの行とするオーダ記録リストとを作成し、情報記憶部に記憶・管理する機能と、
シミュレーションを開始する開始時刻、シミュレーションを終了する終了時刻、およびシミュレーションで扱う時間の最小単位を表すステップとを入力として、
現在時刻を開始時刻に設定し、現在時刻をステップごとに進め、現在時刻が終了時刻を越えるまでの各時刻において、
オーダ状態管理リスト中の状況が「実行中」の全ての行について、オーダ状態管理リストの残り処理時間を１ステップ減らし、減らした結果、残り処理時間が０以下になった場合、リソース数リスト中の当該処理のリソース識別子に対応する利用可能なリソース数を１増やし、オーダ記録リストに新たな行を追加し、その行にオーダ状態管理リストの当該行中のオーダＩＤ、処理名を記録するとともにイベント種別「終了」、時刻「現在時刻」を記録し、前記処理名をキーとしてビジネスプロセス設定ファイルを検索して次の処理の処理名を取得し、オーダ状態管理リストの当該行に前記オーダＩＤ、前記次の処理の処理名、リソース識別子「空白」、状況「待機中」、残り処理時間「空白」を上書きし、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、イベント種別「到着」、時刻「現在時刻」を記録し、その処理名をキーとしてリソース情報ファイルを検索し、当該処理を実行可能なリソースのリソース識別子を取得し、実行可能な全てのリソースの待ち行列に前記オーダＩＤを登録する第１の処理と、
現在時刻をキーとしてオーダ発生時刻リストを検索してオーダを生成するかを決定し、生成する場合はオーダＩＤを新たに払い出し、処理名「開始」をキーとしてビジネスプロセス設定ファイルを検索して次の処理の処理名を取得し、オーダ状態管理リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、リソース識別子「空白」、状況「待機中」、残り処理時間「空白」を記録し、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、イベント種別「到着」、時刻「現在時刻」を記録し、その処理名をキーとしてリソース情報ファイルを検索し、当該処理を実行可能なリソースのリソース識別子を取得し、実行可能な全てのリソースの待ち行列に前記オーダＩＤを登録する第２の処理と、
オーダ状態管理リストに状況が「待機中」の行があるか否かを判定し、あればリソース数リストの利用可能数が１以上のリソースについて、各リソースの待ち行列に登録されているオーダＩＤが１つ以上存在する場合、予め設定されたルールに基づき、リソース数の数だけのオーダＩＤにリソースを割り当てて実行可能なオーダＩＤおよびリソース識別子を取得し、オーダ状態管理リストの前記状況が「待機中」の行中の処理名をキーとして処理時間設定ファイルを検索して処理時間を取得し、オーダ状態管理リストの前記状況が「待機中」の行について、オーダＩＤ、処理名、リソース識別子、状況「実行中」、残り処理時間「処理時間」を上書きし、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記処理名、イベント種別「開始」、時刻「現在時刻」を記録する第３の処理とを順に実行する機能とを有する
ことを特徴とする業務シミュレータ。
【請求項３】
オーダごとに処理を進める業務について、オーダが発生してから当該オーダに対する処理が完了するまでをシミュレートする業務シミュレータであって、
情報記憶部と、リソース管理部と、ビジネスプロセス管理部と、オーダ生成部と、処理時間管理部と、オーダ管理部とを少なくとも備え、
情報記憶部は、オーダに対して行われる処理の進め方を表すビジネスプロセスを記述したビジネスプロセス設定ファイルと、業務で利用可能な各リソースについてそれぞれその利用可能な最大のリソース数を記述したリソース数設定ファイルと、前記ビジネスプロセスに含まれる各処理について当該処理を実行可能なリソースを識別するリソース識別子を記述したリソース情報ファイルと、前記ビジネスプロセスに含まれる各処理について当該処理を完了するのに必要とされる時間である処理時間を記述した処理時間設定ファイルと、オーダごとに当該オーダを生成する時刻を記述したオーダ発生時刻リストとを予め記憶し、
リソース管理部は、リソース数設定ファイルにおける各リソースのリソース数を初期値としてその時点で利用可能なリソースの数をリソースごとに記述するリソース数リストを作成し、情報記憶部に記憶・管理する機能と、オーダ管理部からリソースの開放がリソース識別子とともに通知されると、リソース数リスト中の該当するリソース識別子に対応するリソース数を１つ増やす機能と、オーダ管理部からオーダＩＤおよび処理名が通知されると、該処理名をキーとして情報記憶部中のリソース情報ファイルを検索し、当該処理を実行可能なリソースのリソース識別子を取得し、実行可能な全てのリソースの待ち行列に前記オーダＩＤを登録する機能と、オーダ管理部から問い合わせがあると、リソース数リストの利用可能数が１以上のリソースについて、各リソースの待ち行列に登録されているオーダＩＤが１つ以上存在する場合、予め設定されたルールに基づき、リソース数の数だけのオーダＩＤにリソースを割り当て、このとき、リソースを割り当てたオーダＩＤが他のリソースの待ち行列に含まれていれば削除し、リソース数リストの利用可能数を割り当てた分だけ減らし、リソースを割り当てたオーダＩＤおよびそのリソース識別子をオーダ管理部へ通知する機能を有し、
ビジネスプロセス管理部は、オーダ管理部から処理名が通知されると、該処理名をキーとして情報記憶部中のビジネスプロセス設定ファイルを検索して次の処理の処理名を取得し、これをオーダ管理部へ通知する機能を有し、
オーダ生成部は、オーダ管理部から現在時刻が通知されると、該現在時刻をキーとして情報記憶部中のオーダ発生時刻リストを検索し、一致するイベント発生時刻があればオーダを発生させる旨を、また、一致するイベント発生時刻がなければオーダを発生させない旨をオーダ管理部へ通知する機能を有し、
処理時間管理部は、オーダ管理部から処理名が通知されると、これをキーとして情報記憶部中の処理時間設定ファイルを検索し、該当する記録から処理時間を取得し、これをオーダ管理部へ通知する機能を有し、
オーダ管理部は、
オーダを識別するオーダＩＤ、当該オーダが実行中か待機中かを識別する状況、実行中あるいは次に実行する処理を識別する処理名、状況が実行中の場合に利用しているリソースを識別するリソース識別子、および実行中あるいは次に実行する処理における残り時間を表す残り処理時間を１つの行とするオーダ状態管理リストと、前記オーダＩＤ、前記処理名、当該オーダに発生したイベントの内容を表すイベント種別、および時刻を１つの行とするオーダ記録リストとを作成し、情報記憶部に記憶・管理する機能と、
シミュレーションを開始する開始時刻、シミュレーションを終了する終了時刻、およびシミュレーションで扱う時間の最小単位を表すステップとを入力として、
現在時刻を開始時刻に設定し、現在時刻をステップごとに進め、現在時刻が終了時刻を越えるまでの各時刻において、
オーダ状態管理リスト中の状況が「実行中」の全ての行について、オーダ状態管理リストの残り処理時間を１ステップ減らし、減らした結果、残り処理時間が０以下になった場合、当該処理のリソース識別子のリソース開放をリソース管理部へ通知し、オーダ記録リストに新たな行を追加し、その行にオーダ状態管理リストの当該行中のオーダＩＤ、処理名を記録するとともにイベント種別「終了」、時刻「現在時刻」を記録し、前記処理名をビジネスプロセス管理部へ通知して次の処理の処理名を取得し、オーダ状態管理リストの当該行に前記オーダＩＤ、前記次の処理の処理名、リソース識別子「空白」、状況「待機中」、残り処理時間「空白」を上書きし、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、イベント種別「到着」、時刻「現在時刻」を記録し、そのオーダＩＤおよび処理名をリソース管理部へ通知する第１の処理と、
現在時刻をオーダ生成部へ通知してオーダを生成するかを問い合わせ、生成する場合はオーダＩＤを新たに払い出し、処理名「開始」をビジネスプロセス管理部へ通知して次の処理の処理名を取得し、オーダ状態管理リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、リソース識別子「空白」、状況「待機中」、残り処理時間「空白」を記録し、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、イベント種別「到着」、時刻「現在時刻」を記録し、そのオーダＩＤおよび処理名をリソース管理部へ通知する第２の処理と、
オーダ状態管理リストに状況が「待機中」の行があるか否かを判定し、あればリソース管理部に問い合わせ、実行可能なオーダＩＤおよびリソース識別子を取得し、オーダ状態管理リストの前記状況が「待機中」の行中の処理名を処理時間管理部へ通知して処理時間を取得し、オーダ状態管理リストの前記状況が「待機中」の行について、オーダＩＤ、処理名、リソース識別子、状況「実行中」、残り処理時間「処理時間」を上書きし、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記処理名、イベント種別「開始」、時刻「現在時刻」を記録する第３の処理とを順に実行する機能とを有する
ことを特徴とする業務シミュレータ。
【請求項４】
請求項３記載の業務シミュレータにおいて、
前記ビジネスプロセスに含まれる各処理について当該処理を完了するのに必要とされる時間である処理時間を、当該処理の実行に用いるリソース識別子ごとに記述した処理時間設定ファイルを用い、
処理時間管理部は、オーダ管理部から処理名およびリソース識別子が通知されると、これらをキーとして情報記憶部中の処理時間設定ファイルを検索し、該当する記録から処理時間を取得し、これをオーダ管理部へ通知する機能を有し、
オーダ管理部は、
オーダ状態管理リストに状況が「待機中」の行があるか否かを判定し、あればリソース管理部に問い合わせ、実行可能なオーダＩＤおよびリソース識別子を取得し、オーダ状態管理リストの前記状況が「待機中」の行中の処理名および前記取得したリソース識別子を処理時間管理部へ通知して処理時間を取得し、オーダ状態管理リストの前記状況が「待機中」の行について、オーダＩＤ、処理名、リソース識別子、状況「実行中」、残り処理時間「処理時間」を上書きし、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記処理名、イベント種別「開始」、時刻「現在時刻」を記録する第３の処理を含む
ことを特徴とする業務シミュレータ。
【請求項５】
請求項３記載の業務シミュレータにおいて、
前記ビジネスプロセスに含まれる各処理について当該処理を完了するのに必要とされる時間である処理時間を、当該処理が開始される所定の時間帯ごとに記述した処理時間設定ファイルを用い、
処理時間管理部は、オーダ管理部から処理名および現在時刻が通知されると、これらをキーとして情報記憶部中の処理時間設定ファイルを検索し、該当する記録から処理時間を取得し、これをオーダ管理部へ通知する機能を有し、
オーダ管理部は、
オーダ状態管理リストに状況が「待機中」の行があるか否かを判定し、あればリソース管理部に問い合わせ、実行可能なオーダＩＤおよびリソース識別子を取得し、オーダ状態管理リストの前記状況が「待機中」の行中の処理名および現在時刻を処理時間管理部へ通知して処理時間を取得し、オーダ状態管理リストの前記状況が「待機中」の行について、オーダＩＤ、処理名、リソース識別子、状況「実行中」、残り処理時間「処理時間」を上書きし、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記処理名、イベント種別「開始」、時刻「現在時刻」を記録する第３の処理を含む
ことを特徴とする業務シミュレータ。
【請求項６】
請求項３記載の業務シミュレータにおいて、
前記に加え、
オーダに対して行われる処理の進め方を表す業務プロセスに合わせて処理の実行を支援する業務システムにおいて処理の開始または終了のイベントが発生した時に出力される記録の集合であって、１つの記録（行）が当該イベントにかかる処理がどのオーダに対するものかを識別するオーダＩＤ、当該イベントにかかる処理を識別する処理名、当該イベントにかかる処理の実行に用いたリソースを識別するリソース識別子、当該イベントの種別を表すイベント種別、および当該イベントが発生した時刻を表すイベント発生時刻からなる実行履歴ファイルを情報記憶部に予め記憶させ、
情報記憶部から実行履歴ファイルを１行ずつ読み込み、イベント種別が「開始」の行（行１）を抽出し、該行１のオーダＩＤ、処理名およびイベント発生時刻を少なくとも取得し、オーダＩＤ、処理名が前記行１と同じでイベント種別が「終了」である行（行２）を抽出し、前記行１のイベント発生時刻と該行２のイベント発生時刻との差分である実処理時間を計算し、行１の処理名および前記実処理時間を１つの記録（行）とする実処理時間リストを、イベント種別が「開始」である全ての行について前記同様に行って作成し、情報記憶部に記憶する機能と、
情報記憶部から実処理時間リストを１行ずつ読み込み、処理名が同じである行を全て抽出し、それらの行の処理名および各々の実処理時間を１つの記録（行）とする実処理時間集合リストを、処理名が異なるものについて前記同様に行って作成し、情報記憶部１に記憶し、さらに、情報記憶部１から実処理時間集合リストを１行ずつ読み込み、各々の実処理時間に対する所定の統計値である処理時間を算出し、当該行の処理名、統計値種別および処理時間を１つの記録（行）とする処理時間設定ファイルを、前記実処理時間集合リスト中の各行について前記同様に行って作成し、情報記憶部に記憶する機能とを有する処理時間取得部を備えた
ことを特徴とする業務シミュレータ。
【請求項７】
請求項６記載の業務シミュレータにおいて、
処理時間取得部は、
情報記憶部から実行履歴ファイルを１行ずつ読み込み、イベント種別が「開始」の行（行１）を抽出し、該行１のオーダＩＤ、処理名およびイベント発生時刻を少なくとも取得し、オーダＩＤ、処理名が前記行１と同じでイベント種別が「終了」である行（行２）を抽出し、前記行１のイベント発生時刻と該行２のイベント発生時刻との差分である実処理時間を計算し、行１の処理名、行１のイベント発生時刻および前記実処理時間を１つの記録（行）とする実処理時間リストを、イベント種別が「開始」である全ての行について前記同様に行って作成し、情報記憶部に記憶する機能と、
情報記憶部から実処理時間リストを１行ずつ読み込み、処理名が同じでイベント発生時刻の値が予め指定された集計単位・刻みごとの一つの時間帯に該当する行を全て抽出し、それらの行の処理名および各々の実処理時間、並びに前記時間帯を１つの記録（行）とする実処理時間集合リストを、処理名および時間帯がそれぞれ異なるものについて前記同様に行って作成し、情報記憶部１に記憶し、さらに、情報記憶部１から実処理時間集合リストを１行ずつ読み込み、各々の実処理時間に対する所定の統計値である処理時間を算出し、当該行の処理名、時間帯、統計値種別および処理時間を１つの記録（行）とする処理時間設定ファイルを、前記実処理時間集合リスト中の各行について前記同様に行って作成し、情報記憶部に記憶する機能とを有する
ことを特徴とする業務シミュレータ。
【請求項８】
請求項６記載の業務シミュレータにおいて、
処理時間取得部は、
情報記憶部から実行履歴ファイルを１行ずつ読み込み、イベント種別が「開始」の行（行１）を抽出し、該行１のオーダＩＤ、処理名、リソース識別子およびイベント発生時刻を取得し、オーダＩＤ、処理名、リソース識別子が前記行１と同じでイベント種別が「終了」である行（行２）を抽出し、前記行１のイベント発生時刻と該行２のイベント発生時刻との差分である実処理時間を計算し、行１の処理名、行１のリソース識別子および前記実処理時間を１つの記録（行）とする実処理時間リストを、イベント種別が「開始」である全ての行について前記同様に行って作成し、情報記憶部に記憶する機能と、
情報記憶部から実処理時間リストを１行ずつ読み込み、処理名およびリソース識別子が同じである行を全て抽出し、それらの行の処理名、リソース識別子および各々の実処理時間を１つの記録（行）とする実処理時間集合リストを、処理名およびリソース識別子がそれぞれ異なるものについて前記同様に行って作成し、情報記憶部１に記憶し、さらに、情報記憶部１から実処理時間集合リストを１行ずつ読み込み、各々の実処理時間に対する所定の統計値である処理時間を算出し、当該行の処理名、リソース識別子、統計値種別および処理時間を１つの記録（行）とする処理時間設定ファイルを、前記実処理時間集合リスト中の各行について前記同様に行って作成し、情報記憶部に記憶する機能とを有する
ことを特徴とする業務シミュレータ。
【請求項９】
請求項３記載の業務シミュレータにおいて、
前記に加え、
オーダに対して行われる処理の進め方を表す業務プロセスに合わせて処理の実行を支援する業務システムにおいて処理の開始または終了のイベントが発生した時に出力される記録の集合であって、１つの記録（行）が当該イベントにかかる処理がどのオーダに対するものかを識別するオーダＩＤ、当該イベントにかかる処理を識別する処理名、当該イベントにかかる処理の実行に用いたリソースを識別するリソース識別子、当該イベントの種別を表すイベント種別、および当該イベントが発生した時刻を表すイベント発生時刻からなる実行履歴ファイルを情報記憶部に予め記憶させ、
情報記憶部から実行履歴ファイルを１行ずつ読み込み、処理名が予め定められた処理名で且つイベント種別が「開始」の行を抽出し、そのオーダＩＤおよびイベント発生時刻を取得し、当該オーダＩＤおよびイベント発生時刻を１つの記録（行）とするオーダ発生時刻リストを、実行履歴ファイル中に含まれる各オーダＩＤについて１つのみ作成し、情報記憶部１に記憶する機能を有するオーダ発生時刻リスト設定部を備える
ことを特徴とする業務シミュレータ。
【請求項１０】
コンピュータを、請求項１乃至９いずれか記載の業務シミュレータの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務改善の効果を見積もる場面などで実施される業務シミュレーションにおいて利用される業務シミュレータ（業務模擬装置）およびそのプログラムに関する。
【背景技術】
【０００２】
企業では、顧客からの注文や社内での決裁、他企業への発注といった案件（オーダ）に対する様々な処理を行う業務を効率的に行うために、当該オーダに対して行われる２以上の処理の進め方を表す業務プロセス（ビジネスプロセス）を作成し、それに合わせて計算機を利用して個々の処理の実行を支援する業務システムが構築・利用されている。
【０００３】
業務効率をさらに向上させるための業務改善においては、その業務について、現在、業務がどう実施されているかを把握する現状把握を行い、その中から業務を円滑に進めるための問題点を抽出し、複数の改善案を検討・導出し、その中から最適と思われる改善案を選択・実行することが望ましい。改善案の選択を行う際、各改善案の導入効果を見積もったり、複数の改善案を多面的に比較するために、業務シミュレータが用いられる。
【０００４】
一般に、業務シミュレータは、オーダに対して行われる２以上の処理の進め方を表すビジネスプロセスと、業務で利用可能な各リソースについてそれぞれその利用可能な最大のリソース数と、前記ビジネスプロセスに含まれる各処理について当該処理を実行可能なリソースを識別するリソース識別子と、前記ビジネスプロセスに含まれる各処理について当該処理を完了するのに必要とされる時間である処理時間と、オーダごとに当該オーダを生成する時刻とを入力として、前記タイミングに従い仮想的にオーダを発生させ、ビジネスプロセスに従って当該オーダを処理した場合における、オーダが発生してから当該オーダに対する処理が完了するまでをシミュレート（模擬）し、その状況を記録し、レポートする機能を有する。
【０００５】
そして、そのレポート結果を一つの改善案についてプロセス全体、部分的に分析することで、導入効果の見積もりが可能となる。また、複数の改善案について比較することで改善案の横並びでの評価を可能とする。
【０００６】
現在、このような機能を有する業務シミュレータをコンピュータ上で実現するソフトウェアが、複数市販されている（例えば、非特許文献１参照）。
【非特許文献１】”ｉＧｒａｆｘ  ＰＲＯＣＥＳＳ  ２００６”、［ｏｎｌｉｎｅ］、株式会社サン・プランニング・システムズ、［平成１９年１月１４日検索］、インターネット＜ＵＲＬ：http://www.sunplanning.co.jp/product/igrafx/product/igxpr p1.html#bk1＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
業務シミュレーションの効果を高めるためには、シミュレーションの精度を向上させる必要がある。そのためには、シミュレーション上でできる限り忠実に業務を再現する必要がある。例えば、実際の業務では、処理に用いるリソースや作業者、さらに処理を開始する時刻によって同じ処理についても処理に要する時間が異なったり、オーダが発生する量や傾向には偏りがあることが一般に想定され、これらのシチュエーションをシミュレーション上で再現できることが望ましい。
【０００８】
また、業務が複雑になったり、上記のようなきめ細かい設定を行ったりする場合、処理時間やオーダを生成する時刻などのシミュレーション情報として、多くの情報を入力する必要があり、人力で作業する場合には、多くの稼動がかかることと、入力ミスが発生し易いといった問題が考えられる。
【０００９】
既存の業務シミュレータでは、上記の問題を解決したものは見当たらない。
【００１０】
本発明は上記の問題点を鑑み、実際の業務を反映するため、きめ細かいシミュレーション情報の設定が可能な業務シミュレータを提供することを目的とする。
【００１１】
また、この際、これらシミュレーション情報を業務システムにおける実行履歴から取得し、入力することで作業者の手間を大幅に削減し、かつ業務実態を正確にシミュレータへの入力として与えることができる業務シミュレータを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明では、前記課題を解決するため、オーダごとに処理を進める業務について、オーダが発生してから当該オーダに対する処理が完了するまでをシミュレートする業務シミュレータであって、オーダに対して行われる処理の進め方を表す業務プロセスに合わせて処理の実行を支援する業務システムにおける実行履歴から、業務における処理を完了するのに必要とされる時間である処理時間であって、当該処理を識別する処理名ごと、処理の実行に用いたリソースを識別するリソース識別子ごと、予め指定された単位の時間帯ごとの処理時間を記述した処理時間設定ファイルを作成する処理時間取得部と、オーダごとに当該オーダを生成する時刻を記述したオーダ発生時刻リストに従ってオーダを生成して業務シミュレーションを行う際、前記処理時間設定ファイルから当該オーダの処理名、リソース識別子および現在時刻と合致する処理時間を取得し、該処理時間を用いて業務シミュレーションを実行するオーダ管理部とを少なくとも備えたことを特徴とする業務シミュレータを提案する。
【発明の効果】
【００１３】
本発明によれば、きめ細かいシミュレーション情報を設定可能とすることで、実際の業務を反映したシミュレーションを行うことができ、また、これらシミュレーション情報を業務システムにおける実行履歴から取得することで、作業者の手間を大幅に削減し、かつ業務実態を正確にシミュレータへの入力として与えることが可能となる。
【発明を実施するための最良の形態】
【００１４】
図１は本発明の業務シミュレータの実施の形態の一例を示すもので、図中、１は情報記憶部、２は処理時間取得部、３はリソース管理部、４はオーダ発生時刻リスト設定部、５はビジネスプロセス管理部、６はオーダ生成部、７は処理時間管理部、８はオーダ管理部である。また、処理時間取得部２は実処理時間算出部２１および処理時間設定部２２からなり、リソース管理部３は初期設定部３１、開放部３２、登録部３３および割り当て部３４からなる。
【００１５】
情報記憶部１は、図示しない業務システムから出力された実行履歴ファイルと、図示しないキーボード等から直接入力され又は記憶媒体から読み出されて入力され又は通信媒体を介して他の装置等から入力された様々なファイル、即ちビジネスプロセス設定ファイル、リソース数設定ファイル、リソース情報ファイルおよび営業日時ファイルと、前述した各部によって作成され管理される様々なリストやファイル、即ち実処理時間リスト、実処理時間集合リスト、処理時間設定ファイル、リソース数リスト、オーダ発生時刻リスト、オーダ状態管理リストおよびオーダ記録リストとを記憶する。
【００１６】
実行履歴ファイルは、業務システムにおいて処理の開始または終了というイベントが発生した時の記録の集合であり、１つの記録（行）は当該イベントにかかる処理がどのオーダに対するものかを識別するオーダＩＤ、当該イベントにかかる処理を識別する処理名、当該イベントにかかる処理の実行に用いたリソースを識別するリソース識別子、当該イベントの種別（「開始」または「終了」）を表すイベント種別、および当該イベントが発生した時刻を表すイベント発生時刻からなる。図２に実行履歴ファイルの一例を示す。
【００１７】
ビジネスプロセス設定ファイルは、オーダに対して行われる処理の進め方を表すビジネスプロセスを記述したもので、図３にその一例を示す。ここではビジネスプロセス上での入力および出力をそれぞれ表すＩＮおよびＯＵＴのカラムを有し、例えば、１行目は「開始」（ＯＵＴ）から「処理Ａ」（ＩＮ）へオーダの処理が移ることを表している。
【００１８】
リソース数設定ファイルは、業務で利用可能な各リソースについてそれぞれその利用可能な最大のリソース数を記述したもので、図４にその一例を示す。
【００１９】
リソース情報ファイルは、ビジネスプロセスに含まれる各処理について当該処理を実行可能なリソースを識別するリソース識別子を記述したもので、図５にその一例を示す。
【００２０】
営業日時ファイルは、営業日（曜日）ごとの営業時間（業務開始時刻−業務終了時刻）を記述したもので、図６にその一例を示す。
【００２１】
なお、各部によって作成され管理されるリストやファイルの詳細については、以下、それらの各部とともに説明する。
【００２２】
処理時間取得部２の実処理時間算出部２１は、情報記憶部１から実行履歴ファイルを１行ずつ読み込み、イベント種別が「開始」の行（行１）を抽出し、該行１のオーダＩＤ、処理名、リソース識別子およびイベント発生時刻を取得し、オーダＩＤ、処理名、リソース識別子が前記行１と同じでイベント種別が「終了」であり、前記行１のイベント発生時刻に対してイベント発生時刻が最も近い行（行２）を抽出し、前記行１のイベント発生時刻と該行２のイベント発生時刻との差分である実処理時間（単位：秒）を計算し、行１の処理名、行１のリソース識別子、行１のイベント発生時刻および前記実処理時間を１つの記録（行）とする実処理時間リストを、イベント種別が「開始」である全ての行について前記同様に行って作成し、情報記憶部１に記憶・管理する機能を有する。図７に実処理時間リストの一例を示す。
【００２３】
ここで、開始イベントが発生した日と、終了イベントが発生した日が異なる場合は、各日の営業時間を考慮して各日ごとに処理時間を計算し、それらの和を実処理時間とする。具体的には、開始のイベントが発生した日について営業日時ファイルを参照して、当該日における業務終了時刻と開始のイベントの発生時刻との差分（処理時間１）を計算し、また、終了のイベントが発生した日について営業日時ファイルを参照して、終了のイベントが発生した時刻と当該日における業務開始時刻との差分（処理時間２）を計算し、さらにまた、開始のイベントと終了のイベントが発生した日の間の全ての日について営業日時ファイルを参照して、それらの日の営業時間（業務終了時刻と業務開始時刻との差分）を足し合わせた時間（処理時間３）を計算する。そして、処理時間１と処理時間２と処理時間３との和を実処理時間とする。
【００２４】
処理時間取得部２の処理時間設定部２２は、情報記憶部１から実処理時間リストを１行ずつ読み込み、処理名およびリソース識別子が同じでイベント発生時刻の値が予め指定された集計単位・刻みごとの一つの時間帯に該当する行を全て抽出し、それらの行の処理名、リソース識別子および各々の実処理時間（実処理時間集合）、並びに前記時間帯（イベント発生時間帯）を１つの記録（行）とする実処理時間集合リストを、処理名、リソース識別子および時間帯がそれぞれ異なるものについて前記同様に行って作成し、情報記憶部１に記憶・管理し、さらに、情報記憶部１から実処理時間集合リストを１行ずつ読み込み、実処理時間集合に対する予め定められた統計値（例えば各々の実処理時間の平均値）である処理時間を算出し、当該行の処理名、リソース識別子、時間帯（イベント発生時間帯）、統計値種別および前記処理時間を１つの記録（行）とする処理時間設定ファイルを、前記実処理時間集合リスト中の各行について前記同様に行って作成し、情報記憶部１に記憶・管理する機能を有する。図８に実処理時間集合リストの一例を、図９に処理時間設定ファイルの一例をそれぞれ示す。
【００２５】
リソース管理部３の初期設定部３１は、情報記憶部１からリソース数設定ファイルを読み込み、該リソース数設定ファイルにおける各リソースのリソース数を初期値として、その時点で利用可能なリソースの数をリソースごとに記述するリソース数リストを作成し、情報記憶部１に記憶・管理する機能を有する。図１０にリソース数リストの一例を示す。
【００２６】
リソース管理部３の開放部３２は、オーダ管理部８からリソースの開放がリソース識別子とともに通知されると、リソース数リスト中の該当するリソース識別子に対応するリソース数を１つ増やす機能を有する。
【００２７】
リソース管理部３の登録部３３は、オーダ管理部８からオーダＩＤおよび処理名が通知されると、該処理名をキーとして情報記憶部１中のリソース情報ファイルを検索し、当該処理を実行可能なリソースのリソース識別子を取得し、実行可能な全てのリソースの待ち行列に前記オーダＩＤを登録する機能を有する。
【００２８】
リソース管理部３の割り当て部３４は、オーダ管理部８から問い合わせがあると、リソース数リストの利用可能数が１以上のリソースについて、各リソースの待ち行列に登録されているオーダＩＤが１つ以上存在する場合、予め設定されたルールに基づき、リソース数の数だけのオーダＩＤにリソースを割り当て、このとき、リソースを割り当てたオーダＩＤが他のリソースの待ち行列に含まれていれば削除し、リソース数リストの利用可能数を割り当てた分だけ減らし、リソースを割り当てた（実行可能な）オーダＩＤおよびそのリソース識別子をオーダ管理部８へ通知する機能を有する。
【００２９】
オーダ発生時刻リスト設定部４は、情報記憶部１から実行履歴ファイルを１行ずつ読み込み、処理名が予め定められた処理名で且つイベント種別が「開始」の行を抽出し、そのオーダＩＤおよびイベント発生時刻を取得し、当該オーダＩＤおよびイベント発生時刻を１つの記録（行）とするオーダ発生時刻リストを、実行履歴ファイル中に含まれる各オーダＩＤについて１つのみ（オーダ発生時刻リスト中でオーダＩＤが重複しない）作成し、情報記憶部１に記憶・管理する機能を有する。図１１にオーダ発生時刻リストの一例を示す。
【００３０】
ビジネスプロセス管理部５は、オーダ管理部８から処理名が通知されると、該処理名をキーとして情報記憶部１中のビジネスプロセス設定ファイルを検索して次の処理の処理名を取得し、これをオーダ管理部８へ通知する機能を有する。
【００３１】
オーダ生成部６は、オーダ管理部８から現在時刻が通知されると、該現在時刻をキーとして情報記憶部１中のオーダ発生時刻リストを検索し、一致するイベント発生時刻があればオーダを発生させる旨を、また、一致するイベント発生時刻がなければオーダを発生させない旨をオーダ管理部８へ通知する機能を有する。
【００３２】
処理時間管理部７は、オーダ管理部８から処理名、リソース識別子および現在時刻が通知されると、これらをキーとして情報記憶部１中の処理時間設定ファイルを検索し、該当する（処理名およびリソース識別子については一致し、現在時刻については時間帯の範囲内に含まれることを言う）記録（行）から処理時間を取得し、これをオーダ管理部８へ通知する機能を有する。
【００３３】
オーダ管理部８は、
オーダを識別するオーダＩＤ、当該オーダが実行中か待機中かを識別する状況、実行中あるいは次に実行する処理を識別する処理名、状況が実行中の場合に利用しているリソースを識別するリソース識別子、および実行中あるいは次に実行する処理における残り時間を表す残り処理時間を１つの行としてシミュレーション（模擬）中のオーダごとの状態を表すオーダ状態管理リストと、前記オーダＩＤ、前記処理名、当該オーダに発生したイベントの内容を表すイベント種別、および時刻を１つの行としてシミュレーションしたイベントごとの記録を表すオーダ記録リストとを作成し、情報記憶部１に記憶・管理する機能（図１２にオーダ状態管理リストの一例を、図１３にオーダ記録リストの一例をそれぞれ示す。）と、
予め定められた、シミュレーションを開始する開始時刻、シミュレーションを終了する終了時刻、およびシミュレーションで扱う時間の最小単位を表すステップを入力とし、図１４に示すフローチャートに従って、以下に示すような処理を実行する機能とを有する。
【００３４】
（Ｓ０）シミュレーション上での時刻を表す現在時刻を開始時刻に設定する。
【００３５】
（Ｓ１）現在時刻が終了時刻以内か否かを判定し、終了時刻以内であればＳ２に移動し、終了時刻後であれば処理を停止する。
【００３６】
（Ｓ２）情報記憶部１の営業日時ファイルに基づいて現在時刻が営業時間内か否かを判定し、営業時間内であればＳ３に移動し、営業時間外であればＳ１４に移動する。
【００３７】
（Ｓ３）情報記憶部１からオーダ状態管理リストを１行ずつ選択し、状況を取得する。その後、Ｓ４に移動する。
【００３８】
（Ｓ４）取得した状況が「実行中」であるか否かを判定し、「実行中」であればＳ５に移動し、そうでなければＳ８に移動する。
【００３９】
（Ｓ５）オーダ状態管理リストの前記選択した行中の残り処理時間を１ステップ減らす。Ｓ６に移動する。
【００４０】
（Ｓ６）減らした結果、残り処理時間が０以下か否かを判定し、０以下であればＳ７に移動し、そうでなければＳ８に移動する。
【００４１】
（Ｓ７）オーダ状態管理リストの前記選択した行中のリソース識別子のリソース開放をリソース管理部３の開放部３２へ通知し、当該開放部３２によりリソース数リスト中の該当するリソース識別子に対応するリソース数を１つ増やさせる。また、オーダ記録リストに新たな行を追加し、その行にオーダ状態管理リストの前記選択した行中のオーダＩＤおよび処理名とともに、イベント種別「終了」並びに時刻「現在時刻」を記録する。また、オーダ状態管理リストの前記選択した行中の処理名をビジネスプロセス管理部５へ通知し、当該ビジネスプロセス管理部５より次の処理の処理名を取得し、オーダ状態管理リストの前記選択した行について、前記オーダＩＤ、前記取得した次の処理の処理名、リソース識別子「空白（スペース）」、状況「待機中」、残り処理時間「「空白（スペース）」を上書きする。また、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、イベント種別「到着」、時刻「現在時刻」を記録し、そのオーダＩＤおよび処理名をリソース管理部３の登録部３３へ通知する。その後、Ｓ８に移動する。
【００４２】
（Ｓ８）オーダ状態管理リスト中の全ての行についてＳ３で選択しているか否かを判定し、全て選択していればＳ９に移動し、そうでなければＳ３に移動する。
【００４３】
（Ｓ９）オーダ生成部６へ現在時刻を通知してオーダの生成の有無を問い合わせる。その後、Ｓ１０に移動する。
【００４４】
（Ｓ１０）オーダ生成部６からのオーダ生成に関する回答を判定し、オーダを生成する旨の回答を受けた場合はＳ１１に移動し、そうでなければＳ１２に移動する。
【００４５】
（Ｓ１１）オーダＩＤを新たに払い出し、処理名「開始」をビジネスプロセス管理部５へ通知し、当該ビジネスプロセス管理部５より次の処理の処理名を取得する。また、オーダ状態管理リストに新たな行を追加し、その行に前記オーダＩＤ、前記取得した次の処理の処理名、リソース識別子「空白（スペース）」、状況「待機中」、残り処理時間「空白（スペース）」を記録する。また、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記次の処理の処理名、イベント種別「到着」、時刻「現在時刻」を記録し、そのオーダＩＤおよび処理名をリソース管理部３の登録部３３へ通知する。
【００４６】
（Ｓ１２）オーダ状態管理リストに状況が「待機中」の行があるか否かを判定し、あればＳ１３に移動し、そうでなければＳ１４に移動する。
【００４７】
（Ｓ１３）リソース管理部３の割り当て部３４に問い合わせ、実行可能なオーダＩＤおよびリソース識別子を取得する。また、オーダ状態管理リストの前記状況が「待機中」の行中の処理名、前記取得したリソース識別子および現在時刻を処理時間管理部７へ通知し、当該処理時間管理部７より処理時間を取得する。また、オーダ状態管理リストの前記状況が「待機中」の行について、オーダＩＤ、処理名、リソース識別子、状況「実行中」、残り処理時間「（前記取得した）処理時間」を上書きする。また、オーダ記録リストに新たな行を追加し、その行に前記オーダＩＤ、前記処理名、イベント種別「開始」、時刻「現在時刻」を記録する。その後、Ｓ１４に移動する。
【００４８】
（Ｓ１４）現在時刻を１ステップ進め、Ｓ１へ移動する。
【００４９】
なお、Ｓ３〜Ｓ８が請求項でいう第１の処理に該当し、Ｓ９〜Ｓ１１が請求項でいう第２の処理に該当し、Ｓ１２〜Ｓ１３が請求項でいう第３の処理に該当する。
【００５０】
図１５は本発明の業務シミュレータにおける全体的な処理および情報の流れを示すものである。
【００５１】
（処理Ｉ）処理時間取得部２により、情報記憶部１中の実行履歴ファイルに記録された処理について、情報記憶部１中の営業日時ファイルに記録された営業日時を加味して各処理に要した時間を算出し、その情報を基に処理時間設定ファイルを設定し、情報記憶部１に記憶する。
【００５２】
（処理II）オーダ発生時刻リスト設定部４により、情報記憶部１中の実行履歴ファイルからオーダが生成される時刻を取得し、その情報を基にオーダ発生時刻リストを設定し、情報記憶部１に記憶する。
【００５３】
（処理III）オーダ管理部８において、リソース管理部３、ビジネスプロセス管理部５、オーダ生成部６および処理時間管理部７とともに、情報記憶部１中のシミュレーション情報、即ちビジネスプロセス設定ファイル、リソース数設定ファイル、リソース情報ファイル、営業日時ファイル、処理時間設定ファイル、オーダ発生時刻リストを基に業務シミュレーションを実施し、結果をオーダ記録リストとして出力する。
【００５４】
なお、前記実施の形態では、１つの記録（行）が処理名、リソース識別子および時間帯の３つの情報に関してそれぞれ異なるものを単位とする処理時間設定ファイルを用いたが、１つの記録（行）が処理名のみ異なるもの、または処理名およびリソース識別子がそれぞれ異なるもの、あるいは処理名および時間帯がそれぞれ異なるものを単位とする処理時間設定ファイルを用いても良い。また、この際、装置各部における処理内容も若干異なるものとなるが、処理時間設定ファイルを構成する情報が少なくなる分、より簡単化・簡略化されるだけであるから、その処理内容は前述した説明から自明の範囲の事項である。
【００５５】
なお、本発明は、周知のコンピュータに媒体もしくは通信回線を介して、図１の構成図に示された機能を実現するプログラムおよび図１４のフローチャートに示された手順を備えるプログラムをインストールすることによっても実現可能である。
【実施例１】
【００５６】
以下、本発明の業務シミュレータによる業務シミュレーションについて、具体的な例、ここでは業務システムにより実施される業務についてシミュレーションを行う場合を例に挙げて説明する。
【００５７】
ここで、本実施例における業務は２つの処理、即ち「処理Ａ」および「処理Ｂ」からなり、図１６に示すビジネスプロセスで業務が進められるものとする。また、この場合のビジネスプロセス設定ファイルは図３に示した通りである。また、この場合の業務システムから出力される実行履歴ファイルは図２に示した通りであるとする。
【００５８】
シミュレーション期間は、開始時刻「２００６／１０／１  ０：００：００」、終了時刻「２００６／１１／１  ０：００：００」、ステップ「１秒」とする。処理時間の集計単位、刻みはそれぞれ「１日間」、「１時間」とする。また、算出すべき処理時間の統計値は「平均値」とする。また、オーダが生成されたことを認識できる処理は「処理Ａ」とする。
【００５９】
また、業務の営業日時は、図６の営業日時ファイルに示したように、月曜と火曜と木曜は「９：００〜１８：００」とし、水曜と金曜は「９：００〜１７：００」とし、土曜、日曜は休業とする。ここで、営業日時を曜日で指定する場合、シミュレーション期間の日付と曜日の対応には暦の情報が必要であるが、本実施例ではグレゴリオ暦を採用する。
【００６０】
また、図４のリソース数設定ファイルに示した通り、業務では「リソースＡ」、「リソースＢ」、「リソースＣ」が利用可能であり、各リソースの利用可能な数はそれぞれ「３」、「３」、「４」とする。また、図５のリソース情報ファイルに示した通り、「処理Ａ」に利用可能なリソースは「リソースＡ」、「リソースＢ」とし、「処理Ｂ」に利用可能なリソースは「リソースＢ」、「リソースＣ」とする。また、リソースの割り当てルールは、到着順に割り当てるＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｆｓｔ  Ｏｕｔ）とする。
【００６１】
また、本実施例において、オーダ管理部８が新規オーダに対してオーダＩＤを割り当てる際は、１から昇順に整数を割り当てるものとする。
【００６２】
［詳細な動作］
以下、本実施例における業務シミュレータの具体的な動作について説明する。
【００６３】
処理時間取得部２の実処理時間算出部２１は、情報記憶部１から図２に示した実行履歴ファイルをイベント発生時刻順に１行ずつ選択し、各行について以下の処理を実施する。
【００６４】
１行目：イベント種別が「開始」であるので、オーダＩＤが「１」、処理名が「処理Ａ」、リソース識別子が「リソースＡ」、イベント種別が「終了」の条件に該当する行を、２行目以降を順に探索し、最初に見つかった行（２行目）のイベント発生時刻を抽出する。次いで、２行目のイベント発生時刻と１行目のイベント発生時刻との差分を算出し、その結果である実処理時間「１４０１（秒）」と、１行目の処理名「処理Ａ」、リソース識別子「リソースＡ」およびイベント発生時刻「２００６／１０／２  １０：３１：１２」とを関連付けて実処理時間リスト（の１つの行）を作成し、情報記憶部１に記憶する。
【００６５】
２行目：イベント種別が「開始」でないので、特になにもしない。
【００６６】
３行目：イベント種別が「開始」であるので、オーダＩＤが「１」、処理名が「処理Ｂ」、リソース識別子が「リソースＢ」、イベント種別が「終了」の条件に該当する行を、３行目以降を順に探索し、最初に見つかった行（８行目）のイベント発生時刻を抽出する。次いで、８行目のイベント発生時刻と３行目のイベント発生時刻との差分を算出し、その結果である実処理時間「１２１０８（秒）」と、３行目の処理名「処理Ｂ」、リソース識別子「リソースＢ」およびイベント発生時刻「２００６／１０／２  １１：１２：４５」を関連付けて実処理時間リスト（の１つの行）を作成し、情報記憶部１に記憶する。
【００６７】
４行目：イベント種別が「開始」であるので、オーダＩＤが「２」、処理名が「処理Ａ」、リソース識別子が「リソースＡ」、イベント種別が「終了」の条件に該当する行を、４行目以降を順に探索し、最初に見つかった行（５行目）のイベント発生時刻を抽出する。次いで、５行目のイベント発生時刻と４行目のイベント発生時刻との差分を算出し、その結果である実処理時間「１６５（秒）」と、４行目の処理名「処理Ａ」と、リソース識別子「リソースＡ」およびイベント発生時刻「２００６／１０／２  １１：３３：１２」とを関連付けて実処理時間リスト（の１つの行）を作成し、情報記憶部１に記憶する。
【００６８】
（５行目〜１８行目の説明は省略）。
【００６９】
１９行目：イベント種別が「開始」であるので、オーダＩＤが「７」、処理名が「処理Ａ」、リソース識別子が「リソースＡ」、イベント種別が「終了」の条件に該当する行を、１９行目以降を順に探索し、最初に見つかった行（２２行目）のイベント発生時刻を抽出する。次いで、１９行目のイベント発生時刻と２２行目のイベント発生時刻との差分を、営業日時を考慮した上で算出する。
【００７０】
具体的には、開始日について、「２００６／１０／２」が暦により「月曜」であることを認識し、次いで、営業日時ファイルより「月曜」の営業時間が「９：００〜１８：００」であることを認識する。そして、「２００６／１０／２」における処理時間として、「６９（秒）」を得る。また、終了日について、「２００６／１０／４」が暦により「水曜」であることを認識し、次いで、営業日時ファイルより「水曜」の営業時間が「９：００〜１７：００」であることを認識する。そして、「２００６／１０／４」における処理時間として、「５４９３（秒）」を得る。さらに、開始日と終了日との間の全ての日について、営業時間を取得する。実際には、「２００６／１０／３」について、営業時間が「９：００〜１８：００」であることを認識し、処理時間として、「３２４００（秒）」を得る。以上を踏まえて、本処理の実処理時間は「３７９６２（秒）」となる。そして、算出した実処理時間「３７９６２」と、１９行目の処理名「処理Ａ」、リソース識別子「リソースＡ」およびイベント発生時刻「２００６／１０／２  １７：５８：５１」とを関連付けて実処理時間リスト（の１つの行）を作成し、情報記憶部１に記憶する。
【００７１】
以上のような処理を実行履歴ファイルに記録された全ての行について実施することで、図７に示したような実処理時間リストが得られる。
【００７２】
次いで、処理時間取得部２の処理時間設定部２２は、情報記憶部１から図７に示した実処理時間リストを１行ずつ読み込み、処理名およびリソース識別子が同じでイベント発生時刻の値が予め指定された集計単位・刻みごとの一つの時間帯、ここでは１日の中で１時間ごとに該当する行を全て抽出し、それらの行の処理名、リソース識別子および各々の実処理時間（実処理時間集合）、並びに前記時間帯（イベント発生時間帯）を関連付けて実処理時間集合リスト（の１つの行）を作成し、情報記憶部１に記憶する。
【００７３】
以上のような処理を処理名、リソース識別子および時間帯がそれぞれ異なるものについて前記同様に実施することで、図８に示したような実処理時間集合リスト（の一部）が得られる。
【００７４】
さらに、処理時間取得部２の処理時間設定部２２は、情報記憶部１から図８に示した実処理時間集合リストを１行ずつ読み込み、各々の実処理時間の平均値である処理時間を算出し、当該行の処理名、リソース識別子、時間帯（イベント発生時間帯）、統計値種別および前記処理時間を関連付けて処理時間設定ファイル（の１つの行）を作成し、情報記憶部１に記憶する。
【００７５】
以上のような処理を前記実処理時間集合リスト中の各行について前記同様に実施することで、図９に示したような処理時間設定ファイルが得られる。
【００７６】
続いて、オーダ発生時刻リスト設定部４は、情報記憶部１から図２に示した実行履歴ファイルを１行ずつ読み込み、処理名が「処理Ａ」で且つイベント種別が「開始」の行を抽出し、そのオーダＩＤおよびイベント発生時刻を取得し、これらを関連付けてオーダ発生時刻リスト（の１つの行）を作成し、該オーダ発生時刻リスト中に同じオーダＩＤがなければ情報記憶部１に記憶する。
【００７７】
以上のような処理を実行履歴ファイルに記録された全ての行について実施することで、図１１に示したようなオーダ発生時刻リストが得られる。
【００７８】
続いて、リソース管理部３の初期設定部３１は、情報記憶部１から図４に示したリソース数設定ファイルを読み込み、該リソース数設定ファイルにおける各リソースのリソース数を初期値として、その時点で利用可能なリソースの数をリソースごとに記述する、図１０に示したようなリソース数リストを作成し、情報記憶部１に記憶する。
【００７９】
続いて、オーダ管理部８は、入力された開始時刻「２００６／１０／１  ０：００：００」、終了時刻「２００６／１１／１  ０：００：００」、ステップ「１秒」を記憶し、現在時刻を開始時刻に設定する（Ｓ０）。
１．オーダ管理部８は、現在時刻が終了時刻以内であると判定する（Ｓ１）。
２．オーダ管理部８は、現在時刻が営業時間内か否かを判定する（Ｓ２）。
３．オーダ管理部８は、現在時刻が営業時間内でないので、現在時刻を１秒進める（Ｓ１４）。
【００８０】
「２００６／１０／１」が「日曜」であるため、現在時刻が「２００６／１０／２  ９：００：００」になるまでは「現在時刻が終了時刻以内で且つ営業時間外」なので、１．〜３．の処理を繰り返す。
【００８１】
現在時刻が「２００６／１０／２  ９：００：００」における処理を説明する。
４．オーダ管理部８は、現在時刻が終了時刻以内であると判定する（Ｓ１）。
５．オーダ管理部８は、現在時刻が営業時間内であると判定する（Ｓ２）。
６．オーダ管理部８は、オーダ状態管理リストを参照し（Ｓ３）、状況「実行中」の記録の有無を判定（Ｓ４）するが、その時点では該当するオーダがない（Ｓ８）ので次の処理に移る。
７．オーダ管理部８は、オーダ生成部６へ問い合わせを行う（Ｓ９）。
８．オーダ生成部６は、オーダ発生時刻リストを参照し、現在時刻に該当する時刻はないので、オーダ管理部８へオーダを生成しない旨を通知する。
９．オーダ管理部８は、オーダが生成されないことを認識する（Ｓ１０）。
１０．オーダ管理部８は、オーダ状態管理リストを参照し、状況「待機中」の記録の有無を判定（Ｓ１２）するが、その時点では該当するオーダがないので、次の処理に移る。
１１．オーダ管理部８は、現在時刻を１秒進める（Ｓ１４）。
【００８２】
以降、現在時刻が「２００６／１０／２  １０：３１：１２」になるまで、４．〜１１．の処理を繰り返す。
【００８３】
現在時刻「２００６／１０／２  １０：３１：１２」における処理を、オーダ生成部６の処理から記述する。
【００８４】
オーダ生成部６は、図１１に示したオーダ発生時刻リストを参照し、現在時刻に該当する時刻が存在するので、オーダ管理部８へオーダを生成する旨を通知する。
【００８５】
オーダ管理部８は、オーダを生成することを認識し（Ｓ１０）、オーダＩＤ「１」を割り当てる。次いで、処理名「開始」をビジネスプロセス管理部５へ通知する（Ｓ１１）。
【００８６】
ビジネスプロセス管理部５は、図３に示したビジネスプロセス設定ファイルより、処理名「開始」の次の処理として処理名「処理Ａ」を取得し、オーダ管理部８へ通知する。
【００８７】
オーダ管理部８は、オーダ状態管理リストに新たな行を追加し、その行の各項目にＩＤ「１」、「処理Ａ」、「スペース」、「待機中」、「スペース」を記録する。そして、オーダ管理部８は、オーダ記録リストに新たな行を追加し、その行の各項目に「１」、「処理Ａ」、「到着」、「２００６／１０／２  １０：３１：１２」を記録する（図１３のリストの１行目）。さらに、オーダ管理部８は、オーダＩＤ「１」および処理名「処理Ａ」をリソース管理部３の登録部３３へ通知する（Ｓ１１）。
【００８８】
リソース管理部３の登録部３３は、オーダＩＤ「１」および処理名「処理Ａ」を受けとり、図５に示したリソース情報ファイルを基に、「処理Ａ」を実行可能なリソースが「リソースＡ」、「リソースＢ」であることを認識し、リソースＡの待ち行列およびリソースＢの待ち行列にオーダＩＤ「１」を登録する。
【００８９】
オーダ管理部８は、オーダ状態管理リストに「待機中」のオーダがある（Ｓ１２）ので、リソース管理部３のリソース割り当て部３４に問い合わせる（Ｓ１３）。
【００９０】
リソース管理部３のリソース割り当て部３４は、図１０に示したリソース数リストを基に「リソースＡ」、「リソースＢ」、「リソースＣ」が利用可能であることを認識する。そして、リソース管理部３のリソース割り当て部３４は、リソースＡの待ち行列からオーダを一つ取り出すが、今回はオーダＩＤ「１」が取り出される。また、リソース管理部３のリソース割り当て部３４は、リソースＢの待ち行列に登録されたオーダＩＤ「１」を削除する。リソース管理部３のリソース割り当て部３４は、オーダＩＤ「１」およびリソース識別子「リソースＡ」をオーダ管理部８へ通知し、リソース数リストのリソースＡの利用可能リソース数を１減らす。
【００９１】
オーダ管理部８は、処理名「処理Ａ」、リソース識別子「リソースＡ」および現在時刻「２００６／１０／２  １０：３１：１２」を処理時間管理部７へ通知する（Ｓ１３）。
【００９２】
処理時間管理部７は、処理名「処理Ａ」、リソース識別子「リソースＡ」および現在時刻「２００６／１０／２  １０：３１：１２」を基に、図９に示した処理時間設定ファイルを参照して、処理時間として「１４０１秒」を取得し、これをオーダ管理部８へ通知する。
【００９３】
オーダ管理部８は、オーダ状態管理リストのオーダＩＤ「１」の行において、状況を「実行中」に変更し、リソース識別子「リソースＡ」および残り処理時間「１４０１秒」を記録する。そして、オーダ記録リストに新たな行を追加し、その行の各項目に「１」、「処理Ａ」、「開始」、「２００６／１０／２  １０：３１：１２」を記録する（図１３のリストの２行目）（Ｓ１３）。この時点でのリソース数リストを図１０に、オーダ状態管理リストを図１２に示す。
【００９４】
以降、現在時刻が「２００６／１０／２  １０：５４：３３」になるまで、オーダＩＤ「１」の残り時間を１秒ずつ減らすだけの処理なので、説明は割愛する。
【００９５】
現在時刻が「２００６／１０／２  １０：５４：３３」における処理を説明する。
【００９６】
オーダ管理部８は、現在時刻が終了時刻以内であること、営業時間内であることを認識する（Ｓ１，Ｓ２）。
【００９７】
続いて、オーダ管理部８は、オーダ状態管理リストを参照し、「実行中」のオーダとしてオーダＩＤ「１」の残り処理時間を「１秒」減らし、「０」と上書きする（Ｓ３〜Ｓ５）。結果、残り時間が０になった（Ｓ６）ので、「リソースＡ」をリソース管理部３の開放部３２へ通知する（Ｓ７）。
【００９８】
リソース管理部３の開放部３２は、リソース数リストのリソースＡの利用可能リソース数を一つ増やす。
【００９９】
オーダ管理部８は、オーダ記録リストに新たな行を追加し、その行の各項目に「１」、「処理Ａ」、「終了」、「２００６／１０／２  １０：５４：３３」を記録する（図１３のリストの３行目）（Ｓ７）。そして、オーダ管理部８は、処理名「処理Ａ」をビジネスプロセス管理部５へ通知する（Ｓ７）。
【０１００】
ビジネスプロセス管理部５は、図３に示したビジネスプロセス設定ファイルより、処理名「処理Ａ」の次の処理として処理名「処理Ｂ」を取得し、オーダ管理部８へ通知する。
【０１０１】
オーダ管理部８は、オーダ状態管理リストのオーダＩＤ「１」の行の各項目について、「１」、「処理Ｂ」、「スペース」、「待機中」、「スペース」を上書きする（Ｓ７）。また、オーダ管理部８は、オーダ記録リストに新たな行を追加し、その行の各項目に「１」、「処理Ｂ」、「到着」、「２００６／１０／２  １０：５４：３３」を記録する（図１３のリストの４行目）。また、オーダ管理部８は、オーダＩＤ「１」と、処理「処理Ｂ」とをリソース管理部の登録部へ通知する（Ｓ７）。この時点でのオーダ記録リストを図１３に示す。
【０１０２】
以降、現在時刻「２００６／１１／１  ００：００：００」までの処理の説明は割愛する。
【０１０３】
オーダ管理部８は、現在時刻が「２００６／１１／１  ００：００：００」の時、現在時刻が終了時刻「２００６／１１／１  ００：００：００」を超えたことを認識し、処理を終了する（Ｓ１）。
【図面の簡単な説明】
【０１０４】
【図１】本発明の業務シミュレータの実施の形態の一例を示す構成図
【図２】実行履歴ファイルの一例を示す説明図
【図３】ビジネスプロセス設定ファイルの一例を示す説明図
【図４】リソース数設定ファイルの一例を示す説明図
【図５】リソース情報ファイルの一例を示す説明図
【図６】営業日時ファイルの一例を示す説明図
【図７】実処理時間リストの一例を示す説明図
【図８】実処理時間集合リストの一例を示す説明図
【図９】処理時間設定ファイルの一例を示す説明図
【図１０】リソース数リストの一例を示す説明図
【図１１】オーダ発生時刻リストの一例を示す説明図
【図１２】オーダ状態管理リストの一例を示す説明図
【図１３】オーダ記録リストの一例を示す説明図
【図１４】オーダ管理部における処理のフローチャート
【図１５】本発明の業務シミュレータにおける全体的な処理および情報の流れを示す説明図
【図１６】実施例１におけるビジネスプロセスを示す説明図
【符号の説明】
【０１０５】
１：情報記憶部、２：処理時間取得部、３：リソース管理部、４：オーダ発生時刻リスト設定部、５：ビジネスプロセス管理部、６：オーダ生成部、７：処理時間管理部、８：オーダ管理部、２１：実処理時間算出部、２２：処理時間設定部、３１：初期設定部、３２：開放部、３３：登録部、３４：割り当て部。
【図１】
2008299496.tif 000003
【図２】
2008299496.tif 000004
【図３】
2008299496.tif 000005
【図４】
2008299496.tif 000006
【図５】
2008299496.tif 000007
【図６】
2008299496.tif 000008
【図７】
2008299496.tif 000009
【図８】
2008299496.tif 000010
【図９】
2008299496.tif 000011
【図１０】
2008299496.tif 000012
【図１１】
2008299496.tif 000013
【図１２】
2008299496.tif 000014
【図１３】
2008299496.tif 000015
【図１４】
2008299496.tif 000016
【図１５】
2008299496.tif 000017
【図１６】
2008299496.tif 000018