ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド
11g リリース1 (11.1.1.7)
B61409-07
  目次へ移動
目次

前
 
次
 

7 Oracle BPMでのシミュレーションの実行

この章では、シミュレーションを使用して、指定の条件でのビジネス・プロセスの動作を予測する方法、出力がメトリックの目標に合致しているかを検証する方法、およびボトルネックを特定する方法について説明します。ここでは、シミュレーションを実行して、既存のプロセス設計に対する変更の影響をテストする方法についても説明します。

この章の内容は次のとおりです。

7.1 Oracle BPMでのシミュレーションの実行の概要

シミュレーションを定義した後は、Oracle BPMでシミュレーションを実行して、その定義の効率性を判断します。シミュレーションで実際のデータまたは予測されるデータを反映できます。

Oracle BPMのシミュレーション機能を使用すると、次のことができます。

7.1.1 シミュレーション・モデルおよびシミュレーション定義

シミュレーションを実行する前に、プロセスの各要素の動作を指定する必要があります。シミュレーションを定義するには、BPMプロジェクトで次の要素を作成して構成する必要があります。

  • シミュレーション・モデル

    個々のプロセス・モデルの動作を定義できます。いずれのプロセス・モデルにも複数のシミュレーション・モデルを作成できるため、多様なシナリオを模倣できます。

  • シミュレーション定義

    シミュレーション・シナリオを定義するプロセスおよびリソースを定義できます。シミュレーション定義では、プロセスに関連付けられたシミュレーション・モデルを選択して、シミュレーションに参加するプロセスを指定します。1つのプロセスに複数のシミュレーション・モデルが定義されている場合もあります。プロセスに複数のシミュレーション・モデルが定義されている場合は、それらのモデルのうちの1つを選択して、シミュレーション定義で使用する必要があります。

シミュレーションは、プロセス内の個々のタスクをコールしません。たとえば、シミュレーションはサービス・タスクに関連付けられているサービスを実行せず、変数に値は割り当てられず、外部リソースは更新されません。

ただし、シミュレーションは、シミュレーション・エディタを使用して定義できる次のシミュレーション変数を使用してアクティビティの動作を模倣します。

  • 期間

  • リソース

  • コスト

  • キュー情報

  • 送信フローを通過するインスタンスの確率

7.2 シミュレーション・モデルの作成

シミュレーション・モデルを使用すると、個々のプロセスの動作をシミュレートできます。シミュレーション定義の一部としてプロセスの動作を指定できます。

各プロセスに複数のシミュレーション・モデルを定義し、リソース割当てとアクティビティ動作の様々な組合せに基づいて様々なシミュレーションを作成できます。

シミュレーション・ウィザードを使用してプロセスに基づいたシミュレーション・モデルを作成することも、最初から作成することもできます。

7.2.1 ビジネス・プロセスからシミュレーション・モデルを作成する方法

ビジネス・プロセスからシミュレーション・モデルを作成するには:

  1. BPMプロジェクト・ナビゲータで、「プロセス」ノードを展開します。

  2. シミュレーションに使用するビジネス・プロセスを右クリックします。

  3. 「新規シミュレーション」を選択してから、「ウィザード」を選択します。

    シミュレーション・ウィザードが表示されます。

  4. シミュレーション・モデルを識別するための名前を入力します。

  5. 作成するインスタンスの数を制限する場合は、「作成するプロセス・インスタンスの数を指定してください」を選択してから、下のフィールドを使用してインスタンスの数を指定します。

  6. 「ユーザー・タスク」セクションで、分布、固定リソースおよび固定ベースのコストをカスタマイズします。

  7. 「次へ」をクリックします。

    シミュレーション定義ウィザードが表示されます。

  8. シミュレーション定義の名前を入力します。

  9. シミュレーションの期間を入力します。

  10. 矢印ボタンを使用して開始時間を選択するか、「開始時間」フィールドの隣にある「カレンダ」ボタンをクリックします。

  11. すべてのインスタンスの完了を待機してから終了するシミュレーションを構成するには、「シミュレーションが終了する前に実行中のインスタンスを完了」を選択します。

  12. 「次へ」をクリックします。

  13. シミュレーションの作成後に実行するアクションを選択します。

    使用可能なオプションは次のとおりです。

    • シミュレーション・モデルを開く

    • シミュレーション定義を開く

    • シミュレーションの開始

  14. 「終了」をクリックします。

7.2.2 シミュレーション・モデルを作成および構成する方法

シミュレーション・モデルを作成および構成するには:

  1. BPMプロジェクト・ナビゲータで、「シミュレーション」ノードを展開します。

  2. 「シミュレーション・モデル」ノードを右クリックします。

  3. 「新規シミュレーション・モデル」を選択します。

    「シミュレーション・モデルの作成」ダイアログ・ボックスが表示されます。

  4. プロセスを選択します。

  5. シミュレーション・モデルの名前を入力します。

  6. 「OK」をクリックします。

    シミュレーションモデルがBPMプロジェクト・ナビゲータの「シミュレーション・モデル」ノードの下に表示され、シミュレーション・モデル・エディタが開きます。

  7. シミュレーション中に作成するインスタンスの数を指定します。

    1. 「作成するプロセス・インスタンスの数を指定してください」を選択します。

    2. シミュレーション中に作成するインスタンスの数を指定します。


    注意:

    指定した期間が終了するまで、またはインスタンスの最大数に達するまで、プロセス・シミュレーションが実行されます。


  8. 「フロー・ノード」ツリーで、アクティビティを選択します。

    選択したアクティビティのタイプに応じて、「フロー・ノード」ツリーの右側に次のタブ・ページが表示されます。

    • 期間: アクティビティの完了に必要な時間を決定する分布を定義します。

    • リソース: 特定のロールに割り当てられた参加者の数を指定します。このパラメータは、シミュレーション・モデル内で定義することも、プロジェクト・シミュレーション定義内でグローバル・プロジェクト・レベルで定義することもできます。

    • コスト: アクティビティの処理コストを指定します。ユーザー・タスクの場合は、ユーザー・タスクに割り当てられるリソースのコストも指定します。1時間当たりの給与で測定されます。

    • キュー情報: 特定のアクティビティに対してプロセス・インスタンスがキューに格納されるシミュレーション動作を定義します。

    • 送信フロー: 様々な送信シーケンス・フローを通過するインスタンスの確率を決定します。

    • スレッド: このフロー・オブジェクトを実行するスレッドの数を指定します。このタブは、ユーザーの相互作用を伴わないフロー・オブジェクトでのみ使用可能です。

    • インスタンス作成: シミュレーション用にインスタンスを作成するときに使用する分布カーブを指定できます。このタブは、開始イベントでのみ使用可能です。

  9. 各アクティビティを次のように構成します。

    1. 「期間」ページの「インスタンス実行期間」セクションで、「分布タイプ」を指定します。表7-1にオプションを示します。

      表7-1 シミュレーション・モデルの「フロー・ノード」の「期間」ページのオプション

      オプション 説明

      定数

      シミュレーション・モデルが期間プロパティに指定された値を使用して、プロセス内のすべてのアクティビティの完了時間を算出するように指定します。

      均一

      アクティビティの完了に必要な期間を、常に「差異」プロパティで指定した差異を考慮して決定します。このオプションを選択した場合は、次の各オプションを指定するように要求されます。

      • 平均: アクティビティの完了までの平均時間を決定します。

      • 差異: シミュレーション・アクティビティの完了までの時間を決定する際に「平均」パラメータの上限と下限の差異を定義します。

      指数

      特定期間内に完了するインスタンス数を指定することにより、シミュレーション・アクティビティの完了までの時間を決定します。このオプションを選択した場合は、次のオプションを指定するように要求されます。

      • 平均頻度\: 「間隔」プロパティで定義されている時間間隔内に処理されるインスタンスの平均数を決定します。

      • 間隔: 指数分布に使用される時間間隔を定義します。

      標準

      ガウス・ベル分布を使用して、シミュレーション・アクティビティの完了までの時間を決定します。平均分布と標準分布を指定する必要があります。このオプションを選択した場合は、次のオプションを指定するように要求されます。

      • 平均: アクティビティの実行に必要な平均時間

      • 標準偏差: アクティビティの実行に必要な平均期間の標準偏差

      実数

      特定の時間間隔についてシミュレーション・アクティビティを完了するために必要な時間を指定できます。このオプションを選択した場合は、次のオプションを指定する必要があります。

      • 分布基準: シミュレーション・アクティビティの完了までの時間を決定するための時間間隔を決定します。

      • 間隔: シミュレーションが実行される期間を指定します。

      • 平均: アクティビティを完了するまでの平均時間を定義します。

      • 標準偏差: 「平均」パラメータの標準偏差を定義します。


    2. 「コスト」ページで、次のプロパティを指定します。

      表7-2 シミュレーション・モデルの「フロー・ノード」の「コスト」ページのプロパティ

      プロパティ 説明

      固定基本コスト

      シミュレーション・アクティビティを実行するために必要なコストを定義します。

      固定基本コスト+リソース・コスト

      定義された時間当たりのコストと、リソースがインスタンスの実行にかかる時間に基づいて計算されます。このプロパティは、ユーザー・タスクでのみ使用可能です。


    3. 「キュー情報」ページの「キュー警告サイズ」フィールドに、アクティビティを同時に待機できる受信インスタンスの数を指定します。

    4. 「送信フロー」ページで、スライダを移動して各送信シーケンス・フローの発生確率を指定します。

      アクティビティが境界イベントを含む場合、境界イベントのフローはこのページに表示されます。構成する境界イベントの詳細は、7.3項「境界イベントの構成」を参照してください。

7.3 境界イベントの構成

シミュレートするBPMNプロセスに境界イベントが含まれている場合、これらのイベントの発生確率を指定する必要があります。

「送信フロー」ページで様々な境界イベントの確率を指定できます。

境界イベントの確率を指定する方法は、イベントのタイプに応じて異なります。

図7-1は、各種の境界イベントを持つ見積の承認ユーザー・タスクを示しています。図7-2は、見積の承認ユーザー・タスクのシミュレーション構成ページを示しています。

図7-1 複数の境界イベントを持つ見積の承認ユーザー・タスク

図7-1の説明が続きます
「図7-1 複数の境界イベントを持つ見積の承認ユーザー・タスク」の説明

図7-2 見積の承認タスクの「送信フロー」タブ・ページ

図7-2の説明が続きます
「図7-2 見積の承認タスクの「送信フロー」タブ・ページ」の説明

7.4 シミュレーション定義の作成

シミュレーション定義を作成して、シミュレーション・モデルのグループのためのシミュレーション・シナリオを表すことができます。シミュレーション定義に含まれているシミュレーション・モデルのグループから実行するシミュレーション・モデルを選択できます。

シミュレーション・ウィザードを使用してシミュレーション・モデルを作成した後で、シミュレーション定義を作成することもできます。シミュレーション・ウィザードを使用してシミュレーション・モデルおよびシミュレーション定義を作成する方法の詳細は、7.2.1項「ビジネス・プロセスからシミュレーション・モデルを作成する方法」を参照してください。

7.4.1 シミュレーション定義を作成する方法

シミュレーション定義で次のパラメータをカスタマイズして、それがプロジェクトのパフォーマンスにどのように影響するかを確認できます。

  • シミュレーションの開始時間および期間

  • プロジェクト・シミュレーションに含めるプロセス・シミュレーション・モデル、シミュレーションに含める参加者リソース

シミュレーション定義を作成および構成するには:

  1. BPMプロジェクト・ナビゲータで、「シミュレーション」ノードを展開します。

  2. 「シミュレーション定義」ノードを右クリックします。

  3. 「新規シミュレーション」を選択します。

    「シミュレーション定義の作成」ダイアログ・ボックスが表示されます。

  4. シミュレーション定義の名前を入力します。

  5. 「OK」をクリックします。

    シミュレーション定義は「シミュレーション定義」ノードの下に表示され、シミュレーション定義エディタが開きます。図7-3は、シミュレーション定義エディタを示しています。

    図7-3 シミュレーション定義の「プロジェクト」ページ

    この図の説明が続きます。
    「図7-3 シミュレーション定義の「プロジェクト」ページ」の説明

  6. 表7-3で説明されているように、このシミュレーションの一般的なパラメータを指定します。

    表7-3 シミュレーション定義の一般的なパラメータ

    パラメータ 説明

    開始時間

    シミュレーションの開始時間を定義します。この時間はロギングにのみ使用されます。スケジュール目的では使用されません。

    期間

    シミュレーションの実行期間を定義します。この間隔は、月単位、日単位、時間単位、分単位および秒単位で指定します。

    シミュレーションが終了する前に実行中のインスタンスを完了

    これを選択した場合、シミュレーションは、指定された数のインスタンスの完了後に終了します。これを選択しない場合、シミュレーションはシミュレーション期間が経過すると停止します。その時点で完了していないインスタンスはすべて「処理中」または「キュー」ステータスで表示されます。


  7. 「プロジェクト」ページには、現在のプロジェクト内のすべてのプロセスがリストされた表が含まれます。プロセスごとに、使用するシミュレーション・モデルを選択できます。また、シミュレーションに含めるプロセスを指定する必要があります。

    「プロジェクト」ページで、表7-4で説明されているようにパラメータを指定します。

    表7-4 シミュレーション定義の「プロジェクト」のパラメータ

    パラメータ 説明

    プロセス

    このシミュレーションに含めることができるプロセスがリストされます。

    モデル

    プロセスごとに、7.2.2項「シミュレーション・モデルを作成および構成する方法」で指定したモデルがリストされます。

    シミュレーションを含む

    プロセスをシミュレーションに含めるかどうかを指定できます。


    「プロジェクト」ページでパラメータを指定した後、「リソース」タブを選択します。

  8. 「リソース」ページに、シミュレーション内で使用するリソースを定義できます。

    シミュレーションに含まれるすべてのプロセスが、これらのリソースを共有します。各リソースのコストは、時間単位で定義されます。

    リソースを定義するには、次のボタンをクリックします。

    • 「リソースの追加」: リソースをシミュレーション定義に追加します。

    • リソースの削除: 選択したリソースをシミュレーション定義から削除します。

    図7-4は、「リソース」ページの例を示しています。

    図7-4 シミュレーション定義の「リソース」ページ

    この図の説明が続きます。
    「図7-4 シミュレーション定義の「リソース」ページ」の説明

  9. 「保存」をクリックします。


    注意:

    シミュレーションを実行する前に変更を保存したことを確認します。変更を保存していない場合、シミュレーション・エンジンはシミュレーション実行時にその変更内容を使用しません。


7.5 シミュレーションの実行

シミュレーションを一時停止、停止、または最後まで実行することができます。シミュレーションを停止した場合は、最初から再開する必要があります。

7.5.1 シミュレーションを実行する方法

シミュレーションを実行するには、シミュレーション・モデルおよび1つ以上のシミュレーション定義を事前に作成しておく必要があります。

シミュレーションを実行するには:

  1. BPMプロジェクト・ナビゲータで:

    1. 「シミュレーション」ビューを開きます。

    2. 「シミュレーション」リストで、実行するシミュレーション定義を選択します。

    3. 「シミュレーションの実行」をクリックします。

      シミュレーションが開始されます。

7.5.2 シミュレーションを実行した後の結果

プロジェクト・エディタにシミュレーションのアニメーションが表示され、指定した内容に応じて結果が「シミュレーション」ページに表示されます。


注意:

チャートのカラム上にマウス・ポインタを置くと、アクティビティまたはインジケータの値を示すツールチップが表示されます。


7.5.3 「シミュレーション」ビューの理解

「シミュレーション」ビューでは、シミュレーションを構成して実行できます。図7-5は、「シミュレーション」ビューを示しています。

図7-5 「シミュレーション」ページの例

この図については本文で説明しています。
「図7-5 「シミュレーション」ページの例」の説明

「シミュレーション」ビューのツールバーでは、次の操作を実行できます。

  • 「シミュレーション」リストから、実行するシミュレーションを選択します。

  • 適切なボタンをクリックすることにより、シミュレーションを開始、停止、一時停止、または最後まで実行します。シミュレーションを最後まで実行するように選択した場合、シミュレーションはアニメーションなしでバックグラウンドで実行され、より高速でシミュレーションを実行できます。


    注意:

    シミュレーションを停止した場合は、最初から再開する必要があります。


  • 「スピード」リストから、シミュレーションの実行スピードを選択します。通常のスピードでは、インスタンスは毎秒1つ作成されます。

「チャート」タブのツールバーでは次が可能です。

  • 結果を表示するグラフィック・タイプの変更

  • ドリルアップおよびドリルダウン

  • フォントサイズの拡大/縮小

7.6 シミュレーション結果の分析

「シミュレーション」ウィンドウで「チャート」タブまたは「ログ」タブをクリックして、シミュレーション結果をチャートまたはログ・ファイルとして表示できます。

「ログ」タブには、シミュレーションされたプロセスのすべてのインスタンスの動作を追跡するログが表示されます。ログの各行には、次の情報が示されます。

7.6.1 チャートを使用してシミュレーション結果を分析する方法

「チャート」タブでは、シミュレーションの結果を表示するチャートのタイプを選択できます。このチャートは、監視するリソースが表示されるように構成できます。チャートがリソースの使用状況の測定に使用する単位を選択することもできます。

「チャート」タブでは、次を構成することによってシミュレーションの結果のチャートを表示する方法を構成できます。

  • チャートのタイプ

  • 監視するアクティビティまたはリソース

  • インジケータ

図7-6は、サンプルの「チャート」ページのツールバーを示しています。

図7-6 シミュレーションの「チャート」ページ

この図の説明が続きます。
「図7-6 シミュレーションの「チャート」ページ」の説明

チャートを使用してシミュレーションの結果を分析するには:

  1. 「チャート」タブの下のリストから、表示するチャートのタイプを選択します。

    使用可能なタイプを次に示します。

    • 棒3D

    • カラム3D

  2. 「チャート」タブの右側にある「構成」アイコンをクリックします。

    「構成」ダイアログ・ボックスが表示されます。

  3. 監視するリソースまたはアクティビティを選択します。

  4. アクティビティまたはリソースを表示する軸を選択します。

  5. 「表示」リストの下のリストから、シミュレーションで監視するアクティビティまたはリソースを選択します。

  6. 「インジケータ」リストから、監視するインジケータのタイプを選択します。

    インジケータの使用可能なタイプは、次のとおりです。

    • コスト

    • 時間

    • 単位

  7. インジケータ・リストの下のリストから、監視するインジケータを選択します。

    チャートには、選択した変数とインジケータが表示されます。

  8. 「閉じる」をクリックします。

  9. 必要に応じて、「タイプ」リストの横にあるドリル・アップおよびドリル・ダウンのアイコンをクリックして、チャートの詳細レベルを増減します。

7.6.2 シミュレーション・レポートを生成する方法

シミュレーションの結果を含むシミュレーション・レポートを生成できます。

シミュレーション・レポートを生成するには:

  1. シミュレーションを実行します。

    シミュレーションを実行する方法の詳細は、7.5.1項「シミュレーションを実行する方法」を参照してください。

  2. 「ドキュメントの生成」アイコンをクリックします。

    「シミュレーション・レポート」ダイアログ・ボックスが表示されます。

  3. 「ディレクトリの場所」フィールドに、レポートを格納するディレクトリを入力するか、横にあるボタンをクリックしてファイル・システムを参照してディレクトリを選択します。

  4. 「レポートのパーツ」表の「名前」列にあるレポート名を編集します。

  5. 複数のレポートを生成する場合は、「追加」ボタンをクリックして新しいレポートのパーツを追加します。

  6. 「アクティビティ」タブで、オプションを選択します。

    • サマリー

    • 詳細

  7. 下のツリーで、レポートで含めるアクティビティを選択します。

    次のオプションを使用して、含めるアクティビティを指定できます。

    • 「すべて」を選択して、シミュレーション定義にすべてのプロセスを含めます。

    • プロセスを選択して、選択されたプロセス内のすべてのアクティビティを含めます。

    • 含めるアクティビティを個別に選択します。

  8. インジケータ・タブで、オプションを選択します。

    • サマリー

    • 詳細

  9. 下のツリーで、レポートで含めるインジケータを選択します。

    レポートに表示するインジケータを個別に選択することも、インジケータのタイプを選択してそのタイプのインジケータすべてを表示することもできます。

  10. レポートで使用するグラフィックのタイプを選択します。

    プレビューには、選択したグラフィックの例が表示されます。

  11. 「OK」をクリックします。

7.6.3 シミュレーション・レポートを生成した後の結果

Oracle BPM Studioは、選択した名前と場所を使用してディレクトリを作成します。このディレクトリには、シミュレーション内の各プロセスのHTMLファイルが含まれます。

HTMLファイルには、次のものが含まれます。

  • シミュレーションの結果を表示するグラフィック

  • シミュレーション・データを含むCSVファイルへのリンク

  • シミュレーション・リソース・データを含むCSVファイルへのリンク

スプレッドシート・アプリケーションで、シミュレーション・データとリソース・データを含むCSVファイルを表示できます