1. 理论模型
这个模式叫隐式结束,或者自然结束。就是当所有正在运行结点都没有后继结点,流程就视为结束了。
2. 应用
这个模式现在 BPEL、XPDL、BPMN 等流程的标准都支持,就是不需要指明结束的结点,只要跑完所有的结点(或者没有找到后继结点),就视为流程结束。
比较有趣的是基于 Petri nets 的系统对这种模式的支持可能需要点额外的处理。在 Petri nets 并没有隐式或者自然终结的概念,只有一个叫做稳定的状态。稳定状态是指一个托肯没有后继的变迁可消耗,或者有后继但不会发生变迁。所以来说,这类的模型一般会使用 (43)Explicit Termination。"出口"、"输出"、"结束"等特殊的结点,就是采用 (43)Explicit Termination 这种模式的。
不过一些小公司的工作流引擎产品,也一般避免采用这种自然结束的模型,可能实现上比较简单的缘故吧。