前页 | 后页 |
错误事件
当中间错误事件连接到活动的边界时,它将成为异常流的一部分。当令牌导致在正常流程中引发故障名称并进入错误结束事件时,将触发该事件。
创建BPMN模型
创建主要流程
- 创建一个开始事件s1
- 向目标活动元素subProcess1添加序列流;放大活动并单击鼠标右键,选择“已展开”选项,然后打开“属性”对话框,并将“类型”设置为“子进程”
- 将序列流添加到目标结束事件元素e1 (“类型”设置为“无”)
- 创建三个边界中间事件,将元素从“工具箱”中拖放到subProcess1上 ;从即时菜单中选择“边缘安装”和“错误”:
-error_ie_fault1 ;将序列流添加到目标EndEvent元素e2 (“类型”设置为“无”)
-error_ie_fault2 ;向目标EndEvent添加序列流 元素e3 (“类型”设置为“无”)
-error_ie_default ;将序列流添加到目标EndEvent元素e4 (“类型”设置为“无”)
创建子流程
在subProcess1活动中:
- 创建一个开始事件s2 ,“独立”并将“类型”设置为“无”
- 创建一个到目标网关元素的序列流,并将其设置为“独占”并命名为“ 40,10,20,30概率”
- 创建到“ abstractTask”类型的四个目标Activiy元素的序列流,称为:
- 任务1,并添加一个序列流来叫normal_end,“类型”设置为“无”的目标ENDEVENT
- 任务2,并添加一个序列流来叫error_end_fault1,“类型”设置为“错误”的目标ENDEVENT
- 任务3,并添加一个序列流来叫error_end_fault2,“类型”设置为“错误”的目标ENDEVENT
-Task4 ,并将序列流添加到名为error_end_default的目标EndEvent中, “类型”设置为
'错误'
创建BPMN2.0 :: Error元素
创建错误元素Fault1和Fault2 ,这些元素将被Events用作错误代码。
- 双击error_end_fault1元素,然后在“属性”对话框的“ BPMN2.0”选项卡中,找到“ errorRef”标签
- 在“值”字段中,单击按钮,然后浏览到包含该模型的包
- 单击添加新按钮,然后在“名称”字段中键入名称Fault1 ,然后单击保存按钮。
- 再次单击添加新按钮,然后在“名称”字段中键入名称Fault2 ,然后单击保存按钮。
- 单击确定按钮,然后再次单击下一个确定按钮
设置错误代码事件
- 双击error_end_fault1元素,然后在“属性”对话框的“ BPMN2.0”选项卡中,找到“ errorRef”标签
- 在“值”字段中,单击按钮,然后浏览到包含该模型的包
- 单击Fault1 ,然后单击OK按钮,然后再次单击OK按钮。
- error_end_fault2 ,单击Fault2
- error_ie_fault1 ,单击Fault1
- error_ie_fault2 ,单击Fault2
配置BPSim
目的 |
行动 |
---|---|
工件和包装 |
|
s1 |
|
可能性 |
在“配置BPSim”窗口左侧的树中,展开“网关| 40,10,20,30概率”。 提示:您还可以浮动“配置BPSim”窗口,然后单击BPMN图上的元素或连接器;否则,请单击“确定”。 “配置BPSim”窗口中的元素将被自动选择。 对于每个Taskn元素,在“控件”选项卡中,单击“新参数”下拉箭头,然后选择“概率”,然后在“值”字段中键入相应的值:
|
运行模拟
- 在“配置BPSim”对话框工具栏上,单击“运行”图标以打开“ BPSim控制器”对话框
- 单击运行按钮,然后选择“标准仿真”
- 模拟结果类似于:
分析:
从40、10、20、30概率传出的序列流上设置的概率分别为0.4、0.1、0.2和0.3。
- 100张中的36张在normal_end完成,并流向e1
- 11选自100通行证完成在error_end_fault1,其中由ErrorRef FAULT1触发error_ie_fault1,异常流向E2
- 23选自100通行证完成在error_end_fault2,其通过ErrorRef FAULT2触发error_ie_fault2,异常流向E3
- 每100个传递中有30个传递在error_end_default处完成 ,从而触发了error_ie_default,因为它们未设置ErrorRef并且异常流向e4