前页 后页

油漆墙过程模拟(呼叫活动)

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

我们假定三层涂料中的每一层都使用相同的过程,只是随机花在每一层上的时间可能不同。

创建BPMN模型

Example BPMN Business Process Simulation in Sparx Systems Enterprise Architect

创建主过程-油漆墙过程

  • 创建一个名为S1的开始事件
  • 将序列流添加到称为Call Prepare Surface的目标callProcessActivity
  • 将序列流添加到名为Coat Surface 1st Round的目标调用GlobalTaskActivity
  • 将序列流添加到名为Coat Surface 2nd Round的目标调用GlobalTaskActivity
  • 将序列流添加到名为Coat Surface 3rd Round的目标调用GlobalTaskActivity
  • 将序列流添加到名为E1的目标结束事件
Example BPMN Business Process for Simulation in Sparx Systems Enterprise Architect

创建重复使用的过程-准备表面过程

  • 创建一个名为S2的开始事件
  • 向目标抽象任务“ Sand Surface”添加序列流
  • 向目标抽象任务“ 清洁表面”添加序列流
  • 将序列流添加到名为E2的目标结束事件

设置全局任务和重复使用的流程以调用活动

  • 创建一个名为Coat Surface的全局任务活动
  • 双击“ Coat Surface 1st Round”,“ Coat Surface 2nd Round”和“ Coat Surface 3rd Round” ,然后将标记“ ActivityRef”设置为Coat Surface
提示:您还可以从浏览器窗口中拖动全局任务“涂层表面”,将其拖放到“呼叫活动”元素上,单击上下文菜单上的“设置被称为ActivityRef”选项。
  • 双击“ 调用准备表面” ,并将标签设置为“ ActivateRef”以准备表面处理
提示: 您也可以从浏览器窗口中将过程“准备表面过程”拖放到“呼叫活动”元素上,单击上下文菜单上的“设置被叫活动参考”选项。

配置BPSim

  • 打开“配置BPSim”对话框(“模拟>过程分析> BPSim>打开BPSim Manager”)
  • 创建名为Paint Wall Simulation的业务流程模拟工件
  • 选择包含相应的BPMN 2.0模型的包
所有BPMN元素都将被加载到“配置BPSim”对话框中。

目的

活动

固定缩放时间

在“配置BPSim”窗口的左侧面板上,展开“活动”组,然后:

  • 单击沙面,然后单击“时间”  标签,然后单击“新参数”下拉箭头并选择“处理时间”;在“值”字段中,将设置更改为000:000:000 000:30:00(即30分钟)
  • 单击清洁表面,然后单击“时间”  标签,然后单击“新参数”下拉箭头并选择“处理时间”;在“值”字段中,将设置更改为000:000:000 000:10:00(即10分钟)

随机涂布时间

在“配置BPSim”窗口的左侧面板上,展开“ GlobalTask”组,然后:

  • 点击涂层表面
  • 单击“时间”选项卡,然后单击“新参数”下拉箭头,然后选择“处理时间”
  • 在“值”字段中,单击Browse.按钮,然后在参数对话框中,单击“分布”选项卡和“泊松”
  • 在“平均值”字段中键入“ 10”,然后单击“确定”按钮
使用此设置,由泊松分布生成的随机数的平均值为10。如果愿意,可以选择其他类型的分布。

S1上的TriggerCount

在“配置BPSim”窗口的左侧面板上,展开“开始事件”组,然后:

  • 点击S1
  • 单击“控制”选项卡,然后单击“新参数”下拉箭头,然后选择“ TriggerCount”
  • 在“值”字段中输入“ 1”

运行模拟

  • 在“配置BPSim”对话框工具栏中,单击“运行”按钮;显示“ BPSim Simulation Controller”对话框
  • 单击运行按钮,然后选择“标准仿真”
  • 模拟完成后,它将提供以下结果:

流量分析

对于在S1上启动的唯一令牌,我们可以从“ BPSim Simulation控制器”对话框中看到流程如何发展:

  • 当到达callProcessActivity时,被调用的进程被激活;所以我们有S2〜E2
  • 到达callGlobalTaskActivity时,将激活被叫全局任务-表示法为: GlobalTask name(称为活动名称) ;全局Coat Surface被称为三遍:
    - 涂层表面(第一层涂层表面)
    -涂层表面(第二层涂层表面)
    -涂层表面(第三涂层表面)

时间分析

单击“ BPMN模拟控制器”对话框工具栏上的按钮。 “ BPMN仿真报告视图”显示:

提示:在“过滤器”栏中键入文本字符串,以仅在该列字段中显示包含该文本字符串的记录。

扩展报告后(单击“报告视图”工具栏上的按钮),报告将如示例所示显示,从中我们可以进行此分析:

  • 大衣表面第一轮耗时8分钟; 第二轮大衣表面用时 10分钟; 大衣表面第三回合花了12分钟-数字8、10、12是由Poisson(10)分布随机生成的;重要的是,全局任务的每个调用实例都有其自己的值
  • Coat Surface收集了所有实例的总时间:8 + 10 + 12 = 30
  • 呼叫活动“ 呼叫准备表面”耗时40分钟,包括“ 沙面” (30分钟)和“ 清洁表面” (10分钟)
  • 油漆墙处理的总处理时间为70分钟,由以下四个呼叫活动组成:40 + 8 + 10 + 12 = 70

定制模拟

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

配置结果请求

  • 在“配置BPSim”对话框的左侧,展开“活动”组,然后单击Coat Surface 1st Round ,然后单击“时间”选项卡。
  • 在对话框右侧的下部面板中,单击“ ProcessingTime”,单击“结果请求”字段中的下拉箭头,然后选中“ sum”复选框。点击确定按钮
  • 对“ 调用准备表面” ,“ 涂层表面第二轮” ,“ 涂层表面第三轮”的活动重复这些步骤。
  • 展开“业务流程”组,然后对“ 油漆墙流程 ”重复这些步骤

运行模拟

  • 在“配置BPSim”对话框工具栏上,单击“运行”按钮。显示“ BPSim Simulation Controller”对话框
  • 单击“运行”按钮下拉箭头,然后选择“自定义仿真”

流量分析

流量分析与标准模拟完全相同。

时间分析

在“ BPSim Simulation控制器”对话框工具栏上,单击“ 按钮;将显示“ BPMN仿真报告视图”。

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

注意:当前,在时间分析中,我们既不能在被调用流程本身上,也不能在被调用流程所包含的活动上请求ProcessingTime。如果有此要求,请使用标准仿真。