预订演示
前页 后页

画墙进程仿真(调用活动)

这是一个模拟墙壁粉刷过程的简单示例。我们将主要过程定义为准备表面,然后将其绘制 3 次。准备表面进一步分为打磨和清洁等任务。

我们假设涂上三层油漆中的每一层都是相同的过程,只是在每层油漆上随机花费的时间可能不同。

创建 BPMN模型

该模拟对两个过程进行。

主要流程 - Paint Wall进程

Example BPMN Business Process Simulation in Sparx Systems Enterprise Architect

  1. 创建一个名为S1的开始事件。
  2. 将一个序列流添加到一个名为调用Prepare Surface 的目标调用调用。
  3. 将序列流添加到名为Coat Surface 1st Round 的目标 callGlobalTaskActivity。
  4. 将一个序列流添加到名为Coat Surface 2nd Round 的目标 callGlobalTaskActivity。
  5. 将一个序列流添加到名为Coat Surface 3rd Round 的目标 callGlobalTaskActivity。
  6. 将序列流添加到名为E1的目标结束事件。

重用流程进程Surface流程

Example BPMN Business Process for Simulation in Sparx Systems Enterprise Architect

  1. 创建一个名为S2的开始事件。
  2. 将一个序列流添加到一个名为Sand Surface的目标抽象任务中。
  3. 将一个序列流添加到一个称为清理表面的目标抽象任务。
  4. 将序列流添加到名为E2的目标结束事件。

设置任务用流程来调用活动

  1. 创建一个名为Coat Surface的全局任务活动。
  2. 双击Coat Surface 1st Round、Coat Surface 2nd RoundCoat Surface 3rd Round中的每一个,并将标签“称为ActivityRef”设置为Coat Surface。
    提示:也可以从浏览器窗口中将全局任务“涂层表面”拖放到调用活动元素上,单击上下文菜单上的“设置调用活动引用”选项。
  3. 双击调用Prepare ,设置“调用ActivityRef”标签为Prepare Surface进程。
    提示:您也可以从浏览器窗口中将“Prepare Surface进程元素”进程拖放到调用活动中,单击上下文菜单上的“Set调用”选项。

配置 BPSim

  1. 打开“配置 BPSim ”对话框(“仿真>流程分析>仿真>进程BPSim 管理器”)。
  2. 点击图标仿真创建一个业务流程仿真管理名工件名
  3. 单击图标并选择包含相应 BPMN 2.0模型的包。

物件

活动

固定缩放时间

  1. 打开“Prepare Surface”进程图。
  2. 单击活动沙面,在配置 BPSim窗口中,单击新参数下拉箭头并创建一个名为“处理时间”的时间参数。
  3. 在“值”字段中,将设置更改为 0 00:30:00(即 30 分钟)。
  4. 单击活动清理,然后在配置 BPSim窗口中,单击新参数下拉箭头并创建一个名为“处理时间”的时间。
  5. 在“值”字段中,将设置更改为 0 00:10:00(即 10 分钟)。
  6. 单击图标。

随机涂层时间

  1. 在浏览器窗口中,单击全局任务活动涂层表面。
  2. 在配置 BPSim窗口中,单击新参数下拉箭头并创建一个名为“处理时间”的时间参数。
  3. 在“值”字段中单击Browse.按钮,在参数对话框中单击“分布”选项卡和“泊松”。
  4. 在“平均值”字段中输入“10”,然后点击确定按钮。
  5. 单击图标。
使用此设置,泊松分布生成的随机数的平均值为 10。如果您愿意,可以选择其他类型的分布。

S1 上的触发计数

在“Paint Wall”进程图中,单击开始事件S1。

  1. 在配置 BPSim窗口中,单击参数parameter 下拉箭头并创建一个名为“控件”的控件参数。
  2. 在“值”字段中输入“ 1 ”。
  3. 单击图标。

运行仿真

  1. 在配置 BPSim窗口的“执行”选项卡上,单击图标。
当模拟完成时,它会提供类似于以下的结果:

流量分析

对于在S1上启动的唯一令牌,我们可以从配置 BPSim窗口的“执行”选项卡中看到流程是如何发展的:

  • 当到达callProcessActivity时,被调用的进程被激活;所以我们有S2 ~ E2
  • 当到达 callGlobalTaskActivity 时,被调用的任务 被激活 - 符号为: GlobalTask name(被称为活动名称) ;全球Coat Surface被调用了 3 次:
    -涂层表面(涂层表面第一轮)
    - 涂层表面(涂层表面第二轮)
    - 涂层表面(涂层表面第三轮)

时间分析

单击配置 BPSim窗口的“步骤”选项卡,然后单击类似于下图的“令牌”选项卡:

您可以按原样检查列表中的时间,但为了使过程更容易,在“行动”列的过滤器栏字段中键入“离开”以仅显示该列中包含该文本string的记录。

报告显示如图所示,我们可以进行这样的分析:

  • 调用活动调用准备表面耗时 40 分钟,由沙面(30 分钟)和清理表面(10 分钟)组成,定义为
  • 涂层表面(第一轮)耗时 11 分钟;涂层表面(第 2 轮)耗时 11 分钟;涂层表面(第 3 轮)耗时 7 分钟 - 数字 11、11、7 由 Poisson(10) 分布随机生成;这里重要的是任务的每个调用实例都有自己的值
  • 涂层表面从所有实例中收集的总时间:11 + 11 + 7 = 29
  • Paint Wall进程的求和处理时间为69分钟,由四个调用活动组成:40 + 11 + 11 + 7 = 69

定制仿真

我们可以在 BPMN 元素上配置一个“结果请求”来自定义模拟报告,以便我们只报告我们感兴趣的参数。

配置结果请求

  1. 在“Paint Wall”进程图中,单击“活动Coat Surface 1st Round”
  2. 在配置 BPSim窗口中,单击新参数下拉箭头并创建一个名为“ProcessingTime”的时间参数。
  3. 单击工具栏图标。 “结果请求”列显示在“参数”列的右侧;单击下拉箭头并选择“总和”复选框。点击确定按钮。
  4. 在“值”字段中输入“ 1 ”。
  5. 单击图标。
  6. 重复步骤1到 5 进行活动调用准备表面涂层表面第 2 轮涂层表面第 3 轮
  • 展开Paint进程流程组的“业务流程”并重复这些步骤

运行仿真

  • 在“配置 BPSim ”对话框工具栏上,点击运行按钮; “仿真仿真控制器”对话框显示
  • 单击运行按钮下拉箭头,在本例中选择“定制仿真”

流量分析

流量分析与标准仿真完全相同。

时间分析

在“仿真仿真控制器; “BPMN仿真报告视图”显示。

时间分析与标准仿真相同;但是,该报告仅包含我们要求的“总和”结果。

注记:目前,在时间分析中,我们不能在被调用进程本身或被调用进程包含的活动上请求ProcessingTime。如果您有此要求,请使用标准仿真。