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

前
 
次
 

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

ビジネス・アナリストおよび開発者は、シミュレーションを実行することにより、特定の状況でのビジネス・プロセスの動作を予測できます。また、シミュレーションを実行すると、必要な出力がメトリックの目標を達成しているか確認したり、ボトルネックを特定することができます。さらに、既存のプロセス設計に対する変更の結果をテストするためにシミュレーションを実行することもできます。

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

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

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

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

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

シミュレーションを実行する前に、プロセスの各要素の動作を指定する必要があります。Oracle BPMでのシミュレーションには次の2つの側面があります。

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

  • シミュレーション定義: これにより、プロジェクト全体の動作を定義できます。シミュレーション定義は、シミュレーション・モデルの集まりで構成されます。特定の定義から、実行するシミュレーション・モデルの1つを選択できます。

シミュレーションでは、プロセス内の個々のタスクは実行されません。たとえば、アクティビティ内のコードの実行、変数への値の割当て、および外部リソースの更新は行われません。ただし、シミュレーション・モデル内に様々な属性を構成することにより、アクティビティの動作を模倣できます。これらの属性には、期間、リソース、コスト、キュー情報およびシーケンス・フローが含まれます。

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

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

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

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

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

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

    1. シミュレートするプロジェクトを展開します。

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

    3. 「シミュレーション」を展開します。

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

    5. 「新規のプロセス・シミュレーション・モデル」を選択します。

    プロセス・シミュレーションの作成ダイアログで、プロセスを選択してシミュレーション・モデルの名前を指定するように要求されます。

  2. シミュレーションのプロセスおよび名前を指定し、「OK」をクリックします。作成したシミュレーション・モデルがBPMプロジェクト・ナビゲータに表示されます。

  3. 作成したシミュレーション・モデルをダブルクリックします。図10-1に示すように、そのシミュレーション・モデルの詳細パネルが右側のペインに表示されます。このパネルには、「プロセス情報」および「フロー・ノード」タブ・ページが含まれます。「プロセス情報」ページが表示されます。

    図10-1 シミュレーション・モデルの「プロセス情報」ページ

    図10-1の説明が続きます
    「図10-1 シミュレーション・モデルの「プロセス情報」ページ」の説明

  4. 「プロセス情報」ページを使用して、作成するインスタンスの情報を指定します。このためには、「作成するプロセス・インスタンスの数を指定してください」を選択し、そのシミュレーション内に同時に存在できるインスタンスの数を指定します。プロセス・シミュレーションは、期間が完了するか、最大インスタンス数に達するまで実行されます。

  5. 「フロー・ノード」ページを選択し、図10-2の例に示すように、ページの左側でアクティビティを選択します。

    図10-2 シミュレーション・モデルの「フロー・ノード」ページ

    この図の説明が続きます。
    「図10-2 シミュレーション・モデルの「フロー・ノード」ページ」の説明

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

    • 期間: シミュレーション・アクティビティを完了するために必要な時間を定義できます。

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

    • コスト: アクティビティの処理のコストと、アクティビティに割り当てられているリソースのコスト(アクティビティが対話型のユーザー中心ステップの場合)の両方を指定できます。

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

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

  6. 「フロー・ノード」ページで、各アクティビティを次のように構成します。

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

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

      オプション 説明

      定数

      アクティビティを完了するためのシミュレーション時間は、「期間」プロパティに基づいて決定されます。

      均一

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

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

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

      指数

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

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

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

      標準

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

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

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

      実数

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

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

      • 間隔: [[Richard's comment: Need the definition for this property]]

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

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


    2. 「リソース」ページで、次のうち1つを選択します。

      表10-2 シミュレーション・モデルの「フロー・ノード」の「リソース」ページのオプション



      組織リソースの使用

      プロジェクトの組織の一部として定義されたリソースを使用します。このオプションを指定するには、「参加者選択ポリシー」を選択します。このポリシーのベースとして、「最小コスト」、「最大効率」または「ランダム」を使用できます。「コスト」および「効率」の値は、各参加者のプロジェクト・シミュレーション・モデル定義内に定義されている値です。

      修正済リソースの使用

      対話型アクティビティに割り当てられる参加者の数を示します。「コスト」および「効率」パラメータが評価に関連しておらず、リソースの量のみが必要な場合は、このオプションを使用します。このオプションを選択した場合は、使用可能なリソースの定数を指定する必要があります。


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

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

      プロパティ 説明

      固定基本コスト

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

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

      1時間当たりの定義済コストと、リソースがインスタンスを実行するために必要な時間に基づいて計算されます。


    4. 「キュー情報」ページで、次のプロパティを指定します。

      表10-4 シミュレーション・モデルの「フロー・ノード」の「キュー情報」ページのプロパティ



      キュー警告サイズ

      1つのアクティビティを同時に待機できる受信インスタンスの数を決定します。

      アクティビティ・キュー・ポリシー

      アクティビティで受信インスタンスが処理される方法を決定します。使用可能な値は、「F.I.F.O.」(先入れ先出し)、「L.I.F.O.」(後入れ先出し)、「ランダム」および「優先度別」です。


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

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

シミュレーション定義は、プロジェクト全体の動作を指定します。これはシミュレーション・モデルのコンテナとして機能します。このコンテナから、実行するシミュレーション・モデルを選択し、プロセスの連携動作を指定します。

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

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

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

  • プロジェクト・シミュレーションに含めるプロセス・シミュレーション・モデル、シミュレーションに含める参加者リソース、シミュレーション内のインスタンスの優先度分布

1つのプロジェクト内に、複数のプロジェクト・シミュレーションを定義できます。様々なシミュレーションを定義すると、リソースと優先度の様々な組合せをテストできます。

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

  1. BPMプロジェクト・ナビゲータで、シミュレートするプロセスを展開し、「シミュレーション」を展開します。次に「シミュレーション定義」を右クリックし、「新規シミュレーション」を選択します。プロジェクト・シミュレーションの作成ダイアログで、プロジェクト・シミュレーションの名前を指定するように要求されます。

  2. シミュレーションの名前を入力し、「OK」をクリックします。作成したシミュレーションがBPMプロジェクト・ナビゲータに表示されます。

  3. 作成したシミュレーション定義を選択します。右側のペインに、このシミュレーションに対して構成できるパラメータが含まれる3つのタブ・ページが表示されます。1つ目のタブ・ページは「プロジェクト」ページです(図10-3を参照)。

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

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

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

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

    パラメータ 説明

    開始時間

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

    期間

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

    カレンダ・ルールの使用

    シミュレーションでカレンダ・ルールを使用するかどうかを決定します。このボックスを選択すると、シミュレーションで参加者割当ての決定時にカレンダ・ルールが考慮されます。

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

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


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

    含めるプロセスすべてに対して、シミュレーションの実行時にインスタンスが生成されます。

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

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

    パラメータ 説明

    プロセス

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

    モデル

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

    シミュレーションを含む

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


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

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

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

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

    「リソース」ページでは、シミュレーションで使用するリソースを定義できます。シミュレーションに含めたすべてのプロセスは、これらのリソースを共有します。各リソースのコストは時間当たりで定義されます。

    表の右側に次の2つのコントロールがあります。

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

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

    「リソース」ページで適宜パラメータを指定し、「優先度」タブを選択します。

  7. 図10-5は、「優先度」ページの例を示しています。

    図10-5 シミュレーション定義の「優先度」ページ

    この図の説明が続きます。
    「図10-5 シミュレーション定義の「優先度」ページ」の説明

    「優先度」ページでは、インスタンスの優先度分布の確率を指定できます。この優先度により、プロセス内でのインスタンスのフローが決まります。すべての優先度分布の合計が100になる必要があります。

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

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

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

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

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

  1. BPMプロジェクト・ナビゲータで、次のようにします。

    1. シミュレートするプロセスを展開します。

    2. 「シミュレーション」を展開します。

    3. 「シミュレーション定義」を展開します。

    4. 実行するシミュレーションを選択します。

  2. 右側のペインの左半分にある「シミュレーション」タブを選択します。図10-6に例を示します。

    図10-6 「シミュレーション」ページの例

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

    「シミュレーション」ページの上端では、次のことを実行できます。

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

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


      注意:

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

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

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

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

シミュレーション結果は、「チャート」タブを選択するとチャートとして、「ログ」タブを選択するとログ・ファイルとして表示されます。

10.5.1 シミュレーション結果を分析する方法

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

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

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

「チャート」タブの真下にあるリストで、チャート表示のタイプとして、「カラム」、「棒」、「棒3D」、「カラム3D」、「ヒート・マップ」または「表」を選択できます。

シミュレーション内のアクティビティを監視するには、「チャート」ページのツールバーの「アクティビティ」セクション内のリストを使用して、次の項目を指定します。

  • 「軸の選択」リストから、表示で使用する軸を選択します。

  • 「アクティビティの選択」リストから、監視するアクティビティを選択します。

  • ドリル・ダウンまたはドリル・アップすると、表示されるプロセスの結果の詳細レベルを高くしたり低くしたりできます。たとえば、プロセスが長い時間がかかっている理由を調べるには、「ドリル・ダウン」をクリックすると、より詳細な内容が表示されます。

シミュレーション内のリソースを監視するには、ツールバーの「リソース」セクションで次の項目を構成します。

  • 「軸の選択」リストから、表示で使用する軸を選択します。

  • 「リソースの選択」リストから、シミュレーションで監視するリソースを選択します。

シミュレーションでは、時間、コストまたは単位によって監視するように選択できます。これは、「インジケータ」リストから選択できます。