18.10.  Signal

A signal is a specification of an asynchronous stimulus communicated between instances. In the UML metamodel it is a sub-class of Classifier.

Within ArgoUML signals are not fully handled. Their value is when they are received as signal events driving the asynchronous behavior of state machines and when associated with send actions in state machines and messages for collaboration diagrams.

[Tip]Tip

In general there is limited value at present in defining signals within ArgoUML. It may prove more useful to define signals as classes, with a (user defined) stereotype of «signal» as suggested in the UML 1.4 standard. This allows any dependency relationships between signals to be shown.

18.10.1.  Signal Details Tabs

The details tabs that are active for signals are as follows.

ToDoItem

Standard tab.

Properties

See Section 18.10.2, “ Signal Property Toolbar and Section 18.10.3, “ Property Fields For Signal below.

Documentation

Standard tab. See Section 13.4, “ Documentation Tab.

Source

Standard tab. There is nothing generated for a signal.

Tagged Values

Standard tab. In the UML metamodel, Signal has the following standard tagged values defined.

  • persistence (from the superclass, Classifier). Values transitory, indicating state is destroyed when an instance is destroyed or persistent, marking state is preserved when an instance is destroyed.

  • semantics (from the superclass, Classifier). The value is a specification of the semantics of the signal.

  • derived (from the superclass, ModelElement). Values true, meaning the signal is redundant -it can be formally derived from other elements, or false meaning it cannot.

    [Note]Note

    Derived signals still have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation.

[Note]Note

The UML Element metaclass from which all other model elements are derived includes the tagged element documentation which is handled by the documentation tab under ArgoUML

18.10.2.  Signal Property Toolbar

Go up

Navigate up through the package structure.

New signal

This creates a new signal, navigating immediately to the properties tab for that signal.

[Caution]Caution

The signal is not associated with the same operation as the original signal, so this will have to be done afterwards.

New Stereotype

This creates a new Stereotype (see Section 16.6, “ Stereotype) for the selected signal, navigating immediately to the properties tab for that stereotype.

Delete

This deletes the signal from the model

[Warning]Warning

This is a deletion from the model.

18.10.3.  Property Fields For Signal

Name

Text box. The name of the signal. From their similarity to classes, by convention, the name of a signal has a leading upper case letter, with words separated by “bumpy caps”.

[Note]Note

The ArgoUML critics do not complain about signal names that do not have an initial upper case letter.

Stereotype

Drop down selector. Signal is provided by default with the UML standard stereotypes for its parent in the UML meta-model, Classifier ( metaclass, powerType, process, thread, and utility).

Navigate Stereotype

icon. If a stereotype has been selected, this will navigate to the stereotype property panel (see Section 16.6, “ Stereotype).

Namespace

Drop down selector. Records and allows changing the namespace for the signal. This is the package hierarchy of the signal.

Contexts

Text area. Lists all the contexts defined for this signal. Button 1 double click navigates to the selected context, button 2 click brings up a pop up menu with one entry.

  • Add. Add a new context. This opens the Add/Remove Contexts dialog box (see figure below), which allows choosing between all possible operations, and adding them to the selected list.

    Figure 18.5.  The “add/remove context” dialog box

    The add/remove context dialog box