Figure 14.7 Composite State with two States

Gallery
Tutorial
This is the figure from the UML-2.5.1 spec we'll try to simulate.
Click on the image to view it full size
The UML-2.5.1 spec states:
A CallEvent is denoted by the name of the triggering Operation, optionally followed by an assignment specification:

<call-event> ::= <name> [‘(‘ [<assignment-specification>] ‘)’]
<assignment-specification> ::=<assigned-name> [‘,’ <assigned-name>]*

Where:
<assigned-name> is an implicit assignment of the argument value for the corresponding Parameter of the Operation to a Property or Variable of the context object for the triggered Behavior.
And less helpfully:
<assignment-specification> is optional and may be omitted even if the Operation has Parameters. No standard mapping is defined from an assignment specification to the UML abstract syntax. A conforming tool is not required to support this notation. If it does, it may provide a mapping to standard UML abstract syntax, e.g., by implicitly inserting Actions to carry out the behavior implied by the notation.

We'll nevertheless attempt to mimic this as far as possible (or at least show that we can) in our Cameo Simulation Toolkit® tool simulation, with a few variations.

There are entry and exit Behaviors named start dial tone and stop dial tone. I don't like using names like that for definition level elements. I recommend you either at least use a capital first letter (like Start dial tone) or you use full UpperCamelCase (a.k.a. PascalCase) like StartDialTone; that way if you use it in an anonymous CallBehaviorAction such as :StartDialTone you can see clearly that it is not an Action name (for which I recommend anonymous, or lowerCamelCase or 'lower case' if a name is really necessary).

But what about that entry Behavior number.append(n)? Is it supposed to be a reference to an Operation of a property 'number' of type Number with an Operation Number::append(n)? This one we are going to HACK with an Activity named number.append and an input Parameter 'n'.

Our first task though is to represent telephone "buttons" for each number one can dial as Signals

Up next
Notes
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (other tutorials)
Related slides (other tutorials, backlinks)