我一直在研究一些业务流程执行语言(BPEL)和相关的建模系统(BPMN),设计人员需要了解流程的包容性和排他性网关。非常感谢您的任何帮助,假设适用相同的规则,对术语的一般解释就足够了。
这是我试图在对Mark的响应中理解的一些技术文本-对于连接两个活动的简单链接,状态默认为true,因此目标活动始终被执行。但是,如果将转换条件应用于链接,例如测试流程变量中包含的值,则状态可能会设置为“假”,从而阻止任何目标活动的执行。如果目标有多个链接,则执行或阻止的决定基于各个链接状态值的或。只需要一个链接状态为 true 即可让目标执行;因此可以使用转换条件来映射 BPMN 的包含 OR 网关
A B OR XOR
1 0 1 1
1 1 1 0
0 1 1 1
0 0 0 0
考虑“A OR B”语句的值:
包容 OR 允许两种可能性以及其中任何一种。因此,如果 A 或 B 为 True,或者两者均为 True,则语句值为 True。
而排他 OR 只允许一种可能性。因此,如果 A 或 B 为真,则且只有此时值为 True。如果 A 和 B 都为 True,则该语句的值也将为 False。
Exclusive OR 示例:在餐厅,您会获得一张优惠券,可以使用该优惠券吃三明治或汉堡。这是英语中的异或语句。您可以选择其中之一,但不能同时选择两者。
区别在于两个组件所发生的情况是
true
。使用 inclusive 或,结果也是 true
。使用 exclusive 或,结果是 false
。
排他性或者有点像Highlander:只能有一个。 :-)
结果表:
包含或:
A B Result
0 0 0
1 0 1
0 1 1
1 1 1
独占或:
A B Result
0 0 0
1 0 1
0 1 1
1 1 0
所以,你可以看到,如果两者都是
false
,则独占或给出true
,因为它的独占意味着A或B,但不能同时
包含“或”: 逻辑或表示如果任何输入为“ON”,则其输出为“ON”。它包括“两个”输入均为“ON”(至少一个输入为“ON”)。
独占“或”: 它与包含 OR 相同,(唯一的)例外是当“两个”输入都为“ON”时,输出将关闭(不像包含 OR 中那样为 ON),因此名称为 EXCLUSIVE 'OR'。
完全不同的说法 - 回到日常英语对话 包含/排除的事情可以说得更清楚:
您要茶还是咖啡? (意思是,想喝点什么?)=包容性 或者 您想要茶还是咖啡? (意味着你必须在两者之间进行选择)=独家
在包含 OR 中,条件是两者中至少有一个必须为真。然而,在异或中,BOTH 不可能为真,至少有一个必须为真。
作为一名哲学毕业生,这个话题过去甚至连非常优秀的毕业生都会被吸引。
这更重要的是语法问题。
您想去法国还是意大利?
如果一个人回答“是”,则意味着一个人会很乐意访问这两个国家。
对
您想去法国...还是意大利? (意思是在两者之间选择)。