17.9. 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.3 standard. This allows any dependency relationships between signals to be shown.

17.9.1. Signal Details Tabs

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

ToDoItem

Standard tab.

Properties

See Section 17.9.2, “Signal Property Toolbar” and Section 17.9.3, “Property Fields For Signal” below.

Documentation

Standard tab. See Section 12.5, “Documentation Tab”.

Source

Standard tab. There is nothing generated for a signal.

Constraints

Standard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.

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 artifacts are derived includes the tagged element documentation which is handled by the documentation tab under ArgoUML

17.9.2. Signal Property Toolbar

Go up

Navigate up through the package structure.

Add 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 there appears no way to use it in the model.

Add reception

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

Delete

This deletes the signal from the model

[Warning]Warning

This is a deletion from the model.

17.9.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).

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 click navigates to the selected context, button 2 click brings up a pop up menu with three entries.

  • Open. Navigate to the selected context.

  • Delete. Removes the selected context from the signal.

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

    Figure 17.3. The “add context” dialog box

    The add context dialog box

Receptions

Text area. Lists all the receptions defined for this signal. Button 1 click navigates to the selected reception, button 2 click brings up a pop up menu with three entries.

  • Open. Navigate to the selected reception.

  • Delete. Removes the selected reception from the model.

  • Add. Add a new reception and selects it, so that its property panel becomes visible.