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 |
---|---|
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
|
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 |
---|---|
Derived signals still have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation. |
![]() | Note |
---|---|
The UML |
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 |
---|---|
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 |
---|---|
This is a deletion from the model. |
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 |
---|---|
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.
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.