“工作流网健全性把完成规格拆成任意可达状态仍可完成、到达终点时无残留、没有永久死任务。这里“仍可完成”是每个状态存在一条好未来;带重试循环的健全流程仍可能在不公平选择下永远不退出,不能据此宣称…”
形式陈述
一个普通 工作流网是有限P/T 网,有唯一源库所
经典单实例健全性包含三条要求:[1, §5]
- 对每个从
可达的 ,都存在执行 ,称为可完成性 - 若可达
,则 ,称为干净完成 - 每个变迁都在某条从
出发的执行中能够触发,称为无死变迁
第一条是“所有可达状态,各有一条完成路径”,不是“所有执行最终都会完成”;第三条也不要求每次实例执行所有任务。
直觉
工作流的每个中间局面都应保留完成的可能;一旦宣布完成,就不应还有遗留任务或多余完成 token;设计在图上的每项任务至少应有机会被使用。这三条分别约束恢复能力、完成标记和不可执行分支。
图上存在从起点到终点的路径远远不够。Petri 网同步需要同时拥有所有输入 token,单纯连通性看不见这项资源条件。
例子与边界
XOR 分流接 AND 汇合会卡住
从
但从一个初始 token 只能选择
AND 分流后各自宣布完成也不对
若先
一个健全网仍可能一直绕圈
考虑
但执行可以永远选择
推论与应用
把新变迁
这不是任意扩展网的通用定理。重置弧、抑制弧、数据条件及多实例共享资源会改变结论。
安全与活性提供另一种阅读方式:干净完成是排除坏状态,可完成性则要求每个可达状态保留一条好未来。后者是分支式存在未来,不是每条运行的必然活性。
参考资料
- [1] W. M. P. van der Aalst et al., Soundness of Workflow Nets: Classification, Decidability, and Analysis, Formal Aspects of Computing,§5 及 Lemma 5.1。
- [2] Wil M. P. van der Aalst, Verification of Workflow Nets, 1997,经典健全性与短接网方法。