前页 | 后页 |
带有链接事件的斐波那契数生成器
链接事件是连接进程A两个部分的机制。链接事件可用于:
- 创建循环场景,作为“进程级别”中的通用 Go To 对象
- 避免长序列流线;成对的链接事件可以用作跨多个页面打印进程的“页面”连接器
可以有多个源链接事件,但只能有一个目标链接事件。
- 目标链接事件标记未填充,从源链接中“捕获”
- 源链接事件标记被填充以“扔”到目标链接
创建 BPMN模型
- 创建一个 StartEvent S1
- 添加一个序列目标abstractTask活动元素next=first+second (打开“属性”对话框并将“类型”字段设置为“抽象任务”)
- 将序列流添加到目标 abstractTask 活动元素first=second
- 将序列流添加到目标 abstractTask活动元素second=next
- 将序列流添加到目标 abstractTask活动元素n++
- 将序列流添加到目标独占网关元素loopNode (在即时菜单上,选择“独占”)
- 将一个序列流添加到这些目标元素中的每一个:
- A Throwing Link 中间事件元素SetNext (打开“属性”对话框并设置
'类型'字段到'投掷>链接') 和
- 结束事件元素E1
- 创建捕获链接中间事件元素SetNext (打开“属性”对话框并将“类型”字段设置为“捕获>链接”)
- 添加一个序列到目标元素next=first+second
配置 BPSim
我们将使用属性参数来定义序列流如何形成一个循环,在该循环期间将生成一个斐波那契数。循环机制是通过一对事件实现的。
打开配置 BPSim窗口('仿真>过程分析>进程>打开BPSim 管理器')
任务 |
行动 |
---|---|
元素:S1 |
在左侧的元素列表中,展开开始事件组并单击S1 。 单击“控件选项卡”和“新参数”下拉箭头;选择“触发器计数”。 在“值”字段中输入“ 1 ”。 单击“属性”选项卡 改写新属性文本以创建这些属性:
|
元素:next=first+second |
在元素类型列表中,展开活动组并单击next=first+second 。 单击“属性”选项卡并用“下一步”覆盖新属性文本。 在“值”字段中,单击按钮,单击“表达式”选项卡并输入表达式“{first}+{second}”。 点击确定按钮。 |
元素:first=second |
在元素类型列表中,在活动组中单击first=second 。 单击“属性”选项卡并用“第一个”改写新属性文本。 在“值”字段中,单击按钮,单击“表达式”选项卡并输入表达式“{second}”。 点击确定按钮。 |
元素: second=next |
在元素类型列表中,在活动组中单击second=next 。 单击“属性”选项卡并用“第二个”覆盖新属性文本。 在“值”字段中,单击按钮,单击“表达式”选项卡并输入表达式“{next}”。 点击确定按钮。 |
元素:n++ |
在元素类型列表中,在活动组中单击n++ 。 单击“属性”选项卡并用“n”改写新属性文本。 在“值”字段中,单击按钮,单击“表达式”选项卡并输入表达式“{n}+1”。 点击确定按钮。 |
网关条件 |
在元素列表中,展开 Gateway 组和 LoopNode元素,然后单击SetNext 。 单击“控件”选项卡和“新参数”下拉箭头,然后选择“条件”。 在“值”字段中,单击按钮,单击“表达式”选项卡并输入表达式“{n} <={ N }”。 点击确定按钮。 现在点击E1 。 单击“控件”选项卡和“新参数”下拉箭头,然后选择“条件”。 在“值”字段中,单击按钮,单击“表达式”选项卡并输入表达式“{n} > { N }”。 点击确定按钮。 |
运行仿真
- 在“配置 BPSim ”对话框的工具栏中,单击“运行”图标; “仿真仿真控制器”对话框显示
- 点击“运行”图标下拉箭头并选择“标准仿真”
- 模拟完成后,点击工具完成; “BPSim PropertyParameter Values”对话框显示
- 单击查询按钮和“按元素分组”选项卡,然后展开“下一步=第一+第二”;列出所有属性的快照值
- 应用过滤器“下一步”(右键单击列表标题,选择“切换过滤器栏”并在“元素”标题下键入“下一步”);结果将类似于此图像:
2,3,5,8,13,21,34,55,89,144