BPMN 2.0 XML flowNodes何时应该包含传入和传出元素?

BPMN 2.0 XML flowNodes何时应该包含传入和传出元素?,xml,jbpm,bpmn,camunda,ibm-bpm,Xml,Jbpm,Bpmn,Camunda,Ibm Bpm,根据BPMN 2.0.2第8.4.13节,流节点(网关、活动和事件的父节点)包含以下属性: incoming: Sequence Flow [0..*] This attribute identifies the incoming Sequence Flow of the FlowNode. outgoing: Sequence Flow [0..*] This attribute identifies the outgoing Sequence Flow of the FlowNode. 尽

根据BPMN 2.0.2第8.4.13节,流节点(网关、活动和事件的父节点)包含以下属性:

incoming: Sequence Flow [0..*] This attribute identifies the incoming Sequence Flow of the FlowNode.
outgoing: Sequence Flow [0..*] This attribute identifies the outgoing Sequence Flow of the FlowNode.
尽管如此,我看到的许多BPMN文件决定不包含这些元素。例如,我在官方的BPMN2.0 by example文档中没有看到它们。也不在来自的XML片段中。然而,我确实看到他们的样品在


这种变化有什么解释吗?序列流连接到节点时是否需要这些元素?常用工具是否包括它们?

一个有趣的问题,至少在理论层面上是这样。 大多数BPMN建模者将使用sourceRef和targetRef属性来表示FlowNode元素的源和目标。 原因是样品在。很可能使用传入/传出语义,因为它们都是由同一个工具(Trisotech)生成的。
老实说,我不能说这是对还是错,但我可以说很少有建模者使用传入/传出语义。

来自IBM的一位同事:

它们通常不是必需的。在大多数情况下,可以导出传入/传出列表,这意味着可以从序列流元素的sourceRef/targetRef计算它们。在这些情况下,传入/传出列表只是一种方便

但是,当您有条件序列流时,它们是必需的。例如,考虑离开活动或独占网关的序列流上的条件。在这里,传出流的顺序很重要,并且该信息仅包含在传出列表中