Stimuli
A stimulus is a model element that represents a communication between objects in a sequence diagram and usually indicates that an activity will follow. The types of communications that stimuli model include calls to operations, signals to objects, the creation of objects, and the destruction of objects. The receipt of a stimulus is an instance of an event.
Shape
A stimulus appears as a line with an arrow. The direction of the arrow indicates the direction in which the stimulus is sent. In a sequence diagram, a stimulus usually connects two object lifelines.
Stimulus shapes can be adorned with names and sequence numbers.
Types of Stimuli
Different types of stimuli can be used to model different flows of control.
Type | Shape | Description |
Procedure Call or Nested Flow of Control | Models either a call to an operation or a call to a nested flow of control. When calling a nested flow of control, the system waits for the nested flow of control to complete before continuing with the outer flow. | |
Asynchronous Flow of Control | Models an asynchronous stimulus between two objects. The source object sends the stimulus and immediately continues with the next step. | |
Return from a Procedure Call | Models a return from a call to a procedure. This type of stimulus can be omitted from diagrams because it is assumed that every call has a return. |
Naming Conventions
Stimuli can have either names or signatures.
Type | Example | Description |
Name | // Get the Password | A name identifies only the name of the stimulus. Simple names are often used in diagrams developed during analysis because the stimuli are identified by their responsibilities and not by their operations. One convention uses double slashes (//) to indicate that the stimulus name is not associated with an operation. |
Signature | getPassword(String) | When an operation is assigned to a stimulus, you can display the operation signature to identify the name of the operation and its parameters. Signatures are often used in diagrams developed during design because the provide the detail that developers need when they code the design. |
Related Topics