前页 后页

升级事件

在BPMN中,升级是Error的不间断对象,具有类似的catch-catch行为。但是,与Error不同,Activity的正常流和异常流是并行路径,而不是替代路径。

创建BPMN模型

Example BPMN Business Process Simulation in Sparx Systems Enterprise Architect

创建主要流程

  • 创建一个开始事件S1
  • 向目标Activity subProcess1添加序列流放大活动并单击鼠标右键,选择“已展开”选项,然后打开“属性”对话框,并将“类型”设置为“子进程”
  • 将序列流添加到目标abstractTask活动元素Task2(20) (打开“属性”对话框,并将“类型”字段设置为“ abstractTask”)
  • 将序列流添加到目标并行网关元素合并并行 (打开“属性”对话框,并将“类型”字段设置为“并行”)
  • 将序列流添加到目标结束事件E1
  • subProcess1上 ,添加一个边界不间断的升级事件捕获问题 (将“ Intermediate Event”图标拖到subProcess1上 ,然后从即时菜单中选择“ Edge Mounted”和“ Escalation”;双击该元素以显示“属性”对话框并添加名称,然后在“类型”字段中选择“边界无中断>升级”)
  • 将序列流添加到目标abstractTask活动元素Task3(30) (打开“属性”对话框,并将“类型”字段设置为“ abstractTask”)
  • 将序列流添加到目标元素合并并行

创建子流程

  • subProcess1中 (或之下),创建一个Start Event S2
  • 将序列流添加到目标abstractTask活动元素Task1 (打开“属性”对话框,并将“类型”字段设置为“ abstractTask”)
  • 将序列流添加到目标Throwing Escalation中级事件Throw Issue (打开“属性”对话框,然后在“ Type”字段中选择“ Throwing> Escalation”)
  • 将序列流添加到目标结束事件E2

创建BPMN2.0 :: Escalation元素

从图工具箱中,展开“ BPMN 2.0类型”页面,将“ Escalation”图标拖到图上,并将元素命名为Escalation1 ;事件会将其用作升级代码。

设置升级代码事件:

  • 双击“ 投掷问题”,然后在escalationRef标记的“值”字段中,单击Browse.图标,然后找到并选择Escalation1
  • 双击捕获问题 ,然后再次在escalationRef标签的“值”字段中,单击Browse.图标,然后找到并选择Escalation1
(从Activity退出的异常流是并行的。)

配置BPSim

任务

行动

工件和包装

  • 打开“配置BPSim”窗口(“模拟>过程分析> BPSim>打开BPSim Manager”)
  • 创建一个名为“ Escalation Event Simulation”的工件(在“选择/创建工件”字段中,单击Browse.按钮并选择其父包,然后单击“添加新”按钮,然后键入元素名称并单击“保存”按钮和确定按钮)
然后,所有BPMN元素都将被加载到“配置BPSim”窗口中。

触发开始事件的计数

  • 在“配置BPSim”窗口左侧的树中,展开“ StartEvent”,然后单击S1。
  • 在“控件”选项卡上的“新参数...”字段中,单击下拉箭头,然后选择“ TriggerCount”
  • 在“值”字段中,输入“ 1”

处理时间

  • 在左侧树中,展开“活动”,然后单击Task2(20) ;在“处理时间”的“值”字段中键入“ 20”,在“单位”字段中键入“ s”(持续20秒)
  • 单击Task3(30);以相同的方式,将“ ProcessingTime”设置为30秒

dummyVariable适用于Trace

为了显示给定令牌的确切轨迹,必须在S1上设置一个虚拟变量。

  • 在左侧层次结构中,单击S1 ,然后在“属性”选项卡上用变量名(例如“ dummyVariable”)改写“ 新属性”文本。
  • 在“值”字段中,单击Browse.按钮,然后在“ << StartEvent >> S1:<变量名称>”对话框中单击“数字”,然后键入“恒定数字”值“ 0”;点击确定按钮

运行模拟

  • 在“配置BPSim”对话框工具栏上,单击“运行”图标以打开“ BPSim Simulation Controller”对话框
  • 单击“运行”图标下拉箭头,然后选择“标准模拟”
  • 模拟后,单击工具栏上的按钮以显示“ BPSim PropertyParameter Values”对话框
  • 单击查询按钮,然后单击“按属性分组”选项卡,然后展开“ dummyVariable”(或您分配给变量的名称)

分析:

Error不同, subProcess1的正常流和异常流不是替代路径,而是并行路径。可以从跟踪中轻松发现此功能:

  • 在启动Task3(30)之后仍遍历E2Task2(20)
  • 合并遍历两次后到达E1