What is the difference of refuse and veto when looking at refinment

72 Views Asked by At

I have two sequence Diagrams, where the only difference is that in the one a message is surrounded by a VETO and in the other by REFUSE. I know that when looking at the positive traces the veto returns empty positive trace while refuse returns empty positive set.

To what extent can these two be related by supplementing, narrowing or a combination in one way or another?

enter image description here

1

There are 1 best solutions below

2
qwerty_so On

Simply spoken: ask the author. refuse is no UML keyword and thus has no defined meaning. The same would go for a veto instead.

P.S.: https://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=F3A44454D0F8FEB6EC6FBA5C11A4B0E4?doi=10.1.1.712.3387&rep=rep1&type=pdf

p. 13:

In [RHS05a] the interpretation of the neg operator is analyzed, and new operators (refuse, veto) are proposed instead of it. The dissertation [Run07] summarizes the denotational STAIRS and its extensions.

It's probably the author of your diagram?

P.P.S. The above citation is a paper from 2003. So I would not assume to see this change occur in UML any time soon.

As for the neg fragment which somehow should be replaced by the above UML 2.5.1 says on p. 584

17.6.3.13 Negative

The interactionOperator neg designates that the CombinedFragment represents traces that are defined to be invalid.

The set of traces that defined a CombinedFragment with interactionOperator negative is equal to the set of traces given by its (sole) operand, only that this set is a set of invalid rather than valid traces. All InteractionFragments that are different from Negative are considered positive meaning that they describe traces that are valid and should be possible.