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
ModelElement.
The link (see Section 18.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:
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) object
instance.
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 arrowhead.
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.
![]() | Note |
|---|---|
ArgoUML does not allow you to create stimuli directly, but instead provides tools to create stimuli of each of the five types above. | |
![]() | Caution |
|---|---|
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. | |
The details tabs that are active for stimuli are as follows.
ToDoItemStandard tab.
PropertiesSee Section 18.3.2, “Stimulus Property Toolbar” and Section 18.3.3, “Property Fields For Stimulus” below.
DocumentationStandard tab.
StyleStandard 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.
Altering the Fill and
Shadow entries has no effect. Rather
bizarrely you can set the Line entry and it
will draw a line around the signal, which is not a standard UML
representation.
![]() | Tip |
|---|---|
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 18.9, “Link”). | |
![]() | Caution |
|---|---|
In the current release of ArgoUML changing the
values of the | |
SourceStandard tab, but with no contents.
![]() | Caution |
|---|---|
A stimulus should not generate any code, so having this tab active is probably a mistake. | |
ConstraintsStandard tab. ArgoUML only supports constraints on Classes and Features (Attributes, Operations, Receptions, and Methods), so this tab is grayed out.
Tagged ValuesStandard tab. In the UML metamodel,
Stimulus has the following standard
tagged values defined.
derived (from the
superclass, ModelElement). Values
true, meaning the stimulus is
redundant—it can be formally derived from other
elements, or false meaning it
cannot.
![]() | Note |
|---|---|
Derived stimuli still have their value in analysis and design to introduce useful names or concepts, and in design to avoid re-computation. | |
![]() | Note |
|---|---|
The UML | |
Go
upNavigate up through the package structure.
DeleteThis deletes the stimulus from the model
![]() | Warning |
|---|---|
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 | |
NameText box. There is no convention for naming stimuli, and it is quite normal to leave them unnamed. The action is sufficient identification.
![]() | Tip |
|---|---|
It is sometimes useful to give simple names to stimuli, so they can be referred to in attached notes giving timing constraints. | |
ActionText box. This is used to identify the action that generated the stimulus.
![]() | Caution |
|---|---|
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 representation. | |
StereotypeDrop down selector. Stimulus has no stereotypes by
default in the UML standard, but ArgoUML provides the
stereotypes, machine,
organization and
person.
![]() | Caution |
|---|---|
ArgoUML also provides the stereotype
| |
Navigate Stereotype
icon. If a
stereotype has been selected, this will navigate to the
stereotype property panel (see Section 17.4, “Stereotype”).
SenderText box. Identifies the instance which sent this stimulus.
Button 1 click navigates to the sender instance, button 2 gives a pop up menu with one entry.
Open. Navigate to the
selected sender instance.
ReceiverText box. Identifies the instance which receives this stimulus.
Button 1 click navigates to the receiver instance, button 2 gives a pop up menu with one entry.
Open. Navigate to the
selected receiver instance.
![]() | Warning |
|---|---|
In the current release of ArgoUML this field is
broken. It always shows the entry | |
NamespaceText 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).