首页 > 解决方案 > 加入与前一个动作块的节点交互

问题描述

如果动作的下一个元素是一个连接节点,只要不是所有的连接节点输入令牌都存在,该动作是否会执行?

或者操作是否会退出并且流程会停止,直到事件出现在示例中?

在此处输入图像描述

标签: umlsysml

解决方案


如果动作的下一个元素是一个连接节点,只要不是所有的连接节点输入令牌都存在,该动作是否会执行?

不,动作在完成时自行决定,然后当它在其传出流上提供令牌时,加入之后的事实或其他任何事情都不相关

或者操作是否会退出并且流程会停止,直到事件出现在示例中?

正如我已经在您的另一个问题中回答的那样, Join Node 的多个事件操作允许在JoinNode的传入边缘上提供的令牌在连接未通过时被阻止,并且JoinNode通过的时刻取决于其joinSpec

如果您想在事件发生之前做某事,您可以使用AcceptEventAction中的InterruptibleRegioninterruptingEdge

这是我的工具 BoUML 文档中的一个示例,其中AcceptEventAction(此处为红色)中断了该区域中所做的事情,interruptingEdge由闪电(之字形)指示:

在此处输入图像描述

请参阅第 407 页的 §15.6.3.2 可中断活动区域和正式/ 2017-12-05第 380 页的 图 15.5 ActivityEdge 符号


推荐阅读