- Project tools
- Nightly builds of docs
- The ArgoUML Project
- Using ArgoUML
- How do I...
|Over 500 more tools...
A stimulus is a communication between two instances and
is generated by an action. On a sequence diagram a stimulus is
associated with a link—an instance of an association linking
two object instances. In the UML metamodel
Stimulus is a sub-class of
The link (see Section 19.9, “Link”)
associated with a stimulus is represented on a sequence diagram
in ArgoUML as an arrow between the time lines of the object
instances (or the object head in the case of stimulus create,
described below) labeled with the name of the action (if any),
and the action, separated by a colon (:). The type of line and
arrowhead depends on the type of action that generated the
Stimulus Call. Generated by a call
action, itself the result of an operation of a class. Shown
as a solid line with a solid arrowhead to the time line of
the object instance receiving the stimulus.
Stimulus Create. Generated by a
create action for the class for which an instance is to be
created Shown as a solid line with a solid arrowhead to the
object head of the object instance being created.
Stimulus Destroy. Generated by a
destroy action of the originating object. Shown as a solid
line with an open arrowhead terminating in a diagonal cross
at the end of the time line of the receiving (destroyed)
Stimulus Send. Generated by a send
action, the result of a signal raised by an operation of
the sending object instance and handled by the receiving
object instance. Shown as a solid line with half an open
Stimulus Return. Generated by an
object instance that has received an earlier call stimulus
and is returning a result to the calling object instance.
Shown as a dotted line with an open arrowhead.
ArgoUML does not allow you to create stimuli directly,
but instead provides tools to create stimuli of each of the
five types above.
In the current release of ArgoUML there is no way to
show a terminate action where an object instance destroys
itself. One way is to draw a destroy action that loops back
to the object itself, give it an action with no name and use
the style tab to set an invisible line, but this still leaves
the arrow head showing, which is unsightly. It is also
semantically incorrect anyway to use a destroy action to
represent a terminate action.
19.3.1. Stimulus Details Tabs
The details tabs that are active for stimuli are as
Section 19.3.2, “Stimulus Property Toolbar” and
Section 19.3.3, “Property Fields For Stimulus”
Standard tab. The values for the bounds of the
stimulus notionally define the bounding box of the
stimulus and its time line. However if you change them
it will have no effect, and the original values will be
reset when you next revisit the tab.
Shadow entries has no effect. Rather
bizarrely you can set the
and it will draw a line around the signal, which is not
a standard UML representation.
To change the color of the line, you should
select the associated link (click on it a little way
from the stimulus) and use its style tab (see
Section 19.9, “Link”).
In the current release of ArgoUML changing the
values of the
Bounds field is
possible, but will make only a temporary change to
the position of the stimulus. Selecting any model element
on the screen causes the stimulus to return to its
original position and the original values to be
Standard tab, but with no contents.
A stimulus should not generate any code, so
having this tab active is probably a mistake.
Standard tab. ArgoUML only supports constraints
on Classes and Features (Attributes, Operations,
Receptions, and Methods), so this tab is grayed
Standard tab. In the UML metamodel,
Stimulus has the following standard tagged
derived (from the
true, meaning the
stimulus is redundant—it can be formally derived
from other elements, or
meaning it cannot.
Derived stimuli still have their value in
analysis and design to introduce useful names or
concepts, and in design to avoid
from which all other model elements are derived includes
the tagged element
which is handled by the documentation
tab under ArgoUML
19.3.2. Stimulus Property Toolbar
Navigate up through the package structure.
This deletes the stimulus from the model
This is a deletion from the model
not just the diagram. To delete
an stimulus from the diagram, but keep it within the
model, use the main menu
Diagram (or press the Delete key).
19.3.3. Property Fields For Stimulus
Text box. There is no convention for naming
stimuli, and it is quite normal to leave them unnamed.
The action is sufficient identification.
It is sometimes useful to give simple names to
stimuli, so they can be referred to in attached notes
giving timing constraints.
Text box. This is used to identify the action
that generated the stimulus.
The current release of ArgoUML only implements
actions as textual descriptions.
As a practical convention it is suggested that
call actions are shown as the name of the operation
generating the action with any arguments in
parentheses and that send actions are shown as the
name of the signal generating the action with any
arguments in parentheses. Return actions should be
shown as the expression for the value they return, or
empty otherwise. Create and destroy actions should be
left empty, since they are implied by their
Drop down selector. Stimulus has no stereotypes
by default in the UML standard, but ArgoUML provides
ArgoUML also provides the stereotype
realize for stimuli. This appears to be an
error, since this stereotype properly belongs to the
icon. If a stereotype has been selected, this will
navigate to the stereotype property panel (see
Section 18.5, “Stereotype”).
Text box. Identifies the instance which sent this
Button 1 click navigates to the sender instance,
button 2 gives a pop up menu with one entry.
Text box. Identifies the instance which receives
Button 1 click navigates to the receiver
instance, button 2 gives a pop up menu with one
In the current release of ArgoUML this field is
broken. It always shows the entry
none and the pop-up menu is grayed
Text box. Records the namespace for the stimulus.
This is the package hierarchy.
Button 1 click on the entry will navigate to the
package defining this namespace (or the model for the
top level namespace).