Legacy Issue Number: 3400
Source: Technical Resource Connection ( Brian Cook)
Suggestions for the UML Notation Guide, Part 9 - Statechart Diagrams
1. In Part 9 - Statechart Diagrams:[Proposed changes in red for the
first 3 suggestions.] "A statechart diagram can be used to describe the
behavior of instances of a model element such as an object or an
interaction. Specifically, it describes possible sequences of states and
actions through which the element instance can proceed during its lifetime
as a result of reacting to discrete events (e.g., signals, operation
invocations). " [The idea is that model elements are not dynamic or have
lifetimes; rather they apply to instances of model elements.]
2. In 3.74.1: "Typically, it is used for describing the behavior of
classes instances, but statecharts may also describe the behavior of other
model entities such as use-cases, actors, subsystems, operations, or
methods." [A method is an instance of an operation. Therefore, you must have
implementation level knowledge, in this case, the programming language used,
to know about a method. This is antithetical to good modeling principles
which state that a model should be implementation independent.]
3. In 3.74.3: "That StateMachine may be owned by an instance of a model
element capable of dynamic behavior, ..."
4. Event-name or action-label??? 3.75.2 says "Internal transitions
compartment This compartment holds a list of internal actions or activities
that are performed while the element is in the state. The notation for such
each of these list items has the following general format: action-label '/'
action-expression" and later "The general format for the list item of an
internal transition is: event-name '(' comma-separated-parameter-list ')'
'[' guard-condition']' '/'action-expression". Which is to be used? Or is
action-label the name of the expression: event-name '('
comma-separated-parameter-list ')' '[' guard-condition']'? Compare this with
3.78.2 which has " event-signature '[' guard-condition ']' '/'
action-expression. The event-signature describes an event with its
arguments: event-name '(' comma-separated-parameter-list ')'"
5. In 3.75.2: "If the event has parameters, they can be used in the
action expression through the current event variable." Should it be
action-expression for consistency?
6. 3.75.4: "The action expression maps into the ActionSequence and
Guard for the Transition." Should it be action-expression?
7. 3.75.4: "The Transition has a trigger Association to the Event." The
term trigger does not appear to be unambiguously defined. It was previously
mentioned in the section. " In all other cases, the action label identifies
the event that triggers the corresponding action expression." Is this
sufficient? It is not in the glossary.
8. The use of the term pseudostate is not consistent throughout. In the
glossary it is "pseudo-state", with a hyphen. In 2.12.2 it is pseudostate.
9. 3.76.3, Figure 3-63: Passed and Failed are activities and not
states. Change to the right graphic.
10. 3.78.1: " A simple transition is a relationship between two states
indicating that an object in the first state ..." Object should probably be
instance. (This should be looked at throughout the document.) I suspect this
opens a can of worms but the definitions, and probably the concepts
themselves, of instance and object need clarification.
11. 3.80.4 Figure 3-66: Each of the two diagrams should have a top level
state around it to keep the rule about not transitioning from a stubbed
state to an external state. See below. Granted they are implied but we are
trying to be clear.
12. 3.80.5: Eliminate the word "elision". It is not a common word plus
it appears to be misused. "Elision is the omission of sounds, syllables, or
words in spoken or written discourse
</lingualinks/library/literacy/glossary/cjJ405/tks2801.htm>." and "The
omission of a letter or syllable as a means of contraction, generally to
achieve a uniform metrical pattern, but sometimes to smooth the
pronunciation; such omissions are marked with an apostrophe <gl-a.html>.
Specific types of elision include aphaeresis <gl-a.html>, apocope
<gl-a.html>, syncope <gl-s.html>, synaeresis <gl-s.html> and synaloepha
<gl-s.html>." Suggest replace with shortcut.
13. 3.81.2: " represented by a a small white circle" Eliminate one "a".
14. 3.83.2: " The bound is either a positive integer or a star ('*') for
unlimited." "Unlimited" should be "any number" and "star" should be
Reported: UML 1.3 — Thu, 2 Mar 2000 05:00 GMT
Disposition: Resolved — UML 1.4
No Data Available
Updated: Fri, 6 Mar 2015 21:37 GMT