分层声明式建模:细化与子流程
1. 层次结构与细化
在流程建模中,我们常常需要对模型进行细化,以更详细地表达业务流程的决策机制。这里引入了 DCR 图的“细化”概念,它基于 DCR 图的“组合”这一更基本的概念。细化通常是通过将抽象的 DCR 图与细化的 DCR 图组合来实现的,细化图会引入新的事件和/或添加额外的约束。
1.1 细化操作
以董事会会议流程为例,我们希望细化模型以详细表达董事会的决策机制。原始抽象模型如 Fig. 1 所示,而细化后的模型如 Fig. 3 所示。在 Fig. 3 中,应用程序轮次的结果需收集在报告中,报告在应用程序轮次期间会反复更新和批准,因此引入了两个新事件:“更新报告”和“批准报告”。
应用程序会在多次董事会会议中进行讨论,会议结果需纳入报告。秘书无需在每次董事会会议后都正式更新报告,可将多次会议的结果合并更新,这一约束通过“董事会会议”到“更新报告”的响应关系表示。当报告有未处理的更改时,不能批准报告,这通过“更新报告 →⋄ 批准报告”的里程碑关系建模。
为了将这些新细节添加到原始抽象模型中,我们将两个图进行组合,即融合两个图中相同的事件,这里只有“董事会会议”事件相同。组合结果如 Fig. 4 所示。
需要注意的是,细化操作不能意外移除原始模型的约束。由于包含和排除关系的存在,可能会出现问题,例如细化模型中的包含关系可能导致抽象模型中被排除的事件突然被允许。当两个模型在融合事件的包含或排除上达成一致时,组合不会引入新的行为,此时我们称其为细化。在这个例子中,唯一融合的事件“董事会会议”在两个模型中都没有包含或排除关系,因此这次组合是一次有效的细化。
由于 D
超级会员免费看
订阅专栏 解锁全文
1538

被折叠的 条评论
为什么被折叠?



