我目前正在建模一个包含两个异常状态的流程(一个病人死亡&没有发现神经学家)。
如果没有找到神经学家(这只能在我的过程中发生一次),这个过程就停止了。当病人在此过程中的任何一个点死亡时,会触发另一个异常状态。如果出现此异常状态,则进程将停止。
我很难对这些异常状态进行建模。附件你可以找到我目前的尝试。我不能百分之百肯定这是正确的。
发布于 2021-08-16 02:42:39
很少需要终止事件。通常有更优雅,更清晰的解决方案比这个‘杀死所有的开关’。它们的目的是终止存在于同一范围内的任何并行活动/消耗任何tokes。通常也可以通过中断(例如有条件的)边界事件来实现这一点,这些边界事件是通过数据更改来触发的。边界事件使其在可以发生取消的过程中明显可见,在何种情况下,并允许以更受控制的方式结束过程。
在您的特定用例(您附加的图表)中,您根本不需要使用终止事件。您正在使用两个中断嵌入式子进程创建的作用域上的边界事件(升级和错误)。当发生这些事件中断时,嵌入子进程的范围已经终止。父进程作用域中的后续终止事件将取消此作用域中的所有内容。在您的示例中,父作用域是根进程实例,但是由于没有与嵌入子进程平行的令牌流,所以没有什么要取消的。
另见:
https://stackoverflow.com/questions/68777170
复制相似问题