Uml 允许在联接节点上执行多个事件操作

Uml 允许在联接节点上执行多个事件操作,uml,sysml,Uml,Sysml,是否允许在联接节点上使用多个事件,如下所示 或者可以用来描述一个活动流的假想标记,只是在第二个事件出现之前的一瞬间 允许在联接节点上使用多个事件吗 是的,JoinNode是同步多个流的ControlNode 是一个虚构的标记,可以用来描述一个活动流,在第二个事件出现之前的一瞬间 当连接未通过时,传入边缘上提供的令牌被阻止,JoinNode通过的时刻取决于其joinSpec: 如果JoinNode没有joinSpec,则这相当于带有布尔运算符“and”的joinSpec表达式。也就是说,隐式默

是否允许在联接节点上使用多个事件,如下所示

或者可以用来描述一个活动流的假想标记,只是在第二个事件出现之前的一瞬间

允许在联接节点上使用多个事件吗

是的,JoinNode是同步多个流的ControlNode

是一个虚构的标记,可以用来描述一个活动流,在第二个事件出现之前的一瞬间

当连接未通过时,传入边缘上提供的令牌被阻止,JoinNode通过的时刻取决于其joinSpec:

  • 如果JoinNode没有joinSpec,则这相当于带有布尔运算符“and”的joinSpec表达式。也就是说,隐式默认joinSpec条件是每个传入ActivityEdge上至少提供一个令牌
  • 否则joinSpec是一个ValueSpecification,用于确定联接将发出令牌的条件,并且在每个传入ActivityEdge上提供至少一个令牌时不需要。每当向任何传入ActivityEdge上的JoinNode提供新令牌时,就会评估此ValueSpecification

更多信息,请参阅第389页的§15.3.3.4连接节点副本,共页:

JoinNode是同步多个流的ControlNode。JoinNode应有一个输出节点 ActivityEdge,但可能有多个传入ActivityEdge。如果JoinNode的任何传入边是 ObjectFlow,输出边缘应为ObjectFlow。否则,输出边缘应为控制流

联接节点可能有一个joinSpec,它是一个ValueSpecification,用于确定联接将在何种条件下进行 发出一个标记

如果JoinNode具有joinSpec,则每当向其提供新令牌时,都会计算此ValueSpecification 任何传入ActivityEdge上的JoinNode。本次评估不得被评估期间提供的任何新代币打断 评估期间提供新令牌时,也不得启动并行评估。这个 值规格应评估为布尔值

如果joinSpec ValueSpecification由文本表达式给出,则可以使用传入边的名称 表示一个布尔值,该值指示来自控制流的报价的存在(true)或不存在(false),或者表示 与ObjectFlow提供的对象标记关联的值(如果有)。或者,joinSpec可以由 具有单个布尔运算符名称且未指定操作数的表达式。在本例中,joinSpec的值 应通过将给定运算符应用于布尔值来给出,该布尔值指示存在(真)或不存在(假) 在每个传入边上提供(未指定操作数的顺序)

如果JoinNode没有joinSpec,则这相当于带有布尔运算符“and”的joinSpec表达式 也就是说,隐式默认joinSpec条件是每个传入ActivityEdge上至少提供一个令牌

如果JoinNode的(隐式或显式)joinSpec计算结果为true,则在传出ActivityEdge上提供令牌 根据以下规则对JoinNode进行配置:

  • 如果传入边缘上提供的所有令牌都是控制令牌,则在传入边缘上提供一个控制令牌 输出边缘
  • 如果传入边缘上提供的一些令牌是控制令牌,而其他令牌是对象令牌,则只有 对象令牌在传出边缘上提供。令牌以相同的顺序在传出边缘上提供 他们被邀请参加。如果JoinNode的isCombinedDuplicate为true,则在创建对象标记之前 将包含具有相同标识的对象的对象提供给传出边缘,这些对象被合并为一个令牌
上述规则适用于提供给JoinNode的所有令牌,包括来自同一传入节点的多个令牌 边缘

如果向JoinNode的传出ActivityEdge提供任何令牌,则目标公司应接受或拒绝这些令牌 在向传出边缘提供任何令牌之前,在边缘上进行遍历(例如,由于保护失败)。如果代币是 拒绝穿越时,不得再将其提供给输出边缘。一致性实现可以省略 如果JoinNode被阻止在其传出边缘上提供令牌,则不需要进行joinSpec评估


在继续之前,联接将等待来自所有传入流的令牌。因此,您的所有事件都必须在流程继续之前发生。我猜这不是您想要的。@GeertBellekens
您的所有事件都必须在流程继续之前发生。
:不,一切取决于joinSpec@bruno啊,酷,我以前从没听说过joinspec。我只处理过默认行为。