-
Key: UML14-311
-
Legacy Issue Number: 6278
-
Status: closed
-
Source: Thematix Partners LLC ( Mr. James J. Odell)
-
Summary:
Sequence diagrams in UML 1.x supported a conditional expression to a
message arrow that was inadvertently omitted from the UML 2.0 Superstructure
specification. This annotation enabled the modeler to – in essence –
place guards on messages. Such guards, or more properly ConditionalActions,
would be evaluated at run time to determine which message arrow(s) would be
executed. In particular, the UML 1.5 Superstructure document specifies the
following:-In Section 3.60.5.1: "Any condition ... expression attached to the arrow
becomes, in a detailed action model, the test clause action in a
ConditionalAction ... in the dispatching Procedure.-In section 3.63.2: "An arrow may also be labeled with a condition and/or
iteration expression."-In Section 3.63.3: "A branch is shown by multiple arrows leaving a single
point, each possibly labeled by a condition. Depending on whether the
conditions are mutually exclusive, the construct may represent
conditionality or concurrency."-In 3.72.2.4: "A condition represents a Message whose execution is
contingent on the truth of the condition clause. The condition-clause is
meant to be expressed in pseudocode or an actual programming language; UML
does not prescribe its format. An example would be: [x > y]."
A "branch" condition, or ConditionalAction, is expressed in the form:
[¹ condition-clause ]¹Recommendation:
The UML 2.0 Superstructure FTF team should determine how to reinstate
ConditionalActions for Sequence Diagrams, given the new abstract syntax for
Sequence Diagrams. There are two reasons for this:
1) To maintain backward compatibility with UML 1.0 through 1.5 is important.
2) Pragmatically, it offers a graphically simple technique to express
messaging situations that involve branching. Granted, the ALT operation
supports the equivalent notion; however, it comes with a graphical
complexity that is not always desired.Discussion:
{IF APPLICABLE - Summary of how the issue was proposed to be resolved and/or why it wasn't} -
Reported: UML 1.5 — Mon, 29 Sep 2003 04:00 GMT
-
Disposition: Resolved — UML 1.4.2
-
Disposition Summary:
No Data Available
-
Updated: Fri, 6 Mar 2015 20:58 GMT