Interactions
Overview
Interactions are used in a number of different situations. They are
used to get a better grip of an interaction situation for an individual
designer or for a group that need to achieve a common understanding of
the situation. Interactions are also used during the more detailed
design phase where the precise inter-process communication must be set
up according to formal protocols. When testing is performed, the traces
of the system can be described as interactions and compared with
those of the earlier phases.
The Interaction package describes the concepts needed to express
Interactions.Depending on their purpose, an interaction can be
displayed in several different types of diagrams: Sequence Diagrams,
Interaction Overview Diagrams and Communication Diagrams. Optional
diagram types such as Timing Diagrams and Interaction Tables come in
addition.
Each type of diagram provides slightly different capabilities that
makes it more appropriate for certain situations.Interactions are a
common mechanism for describing systems that can be understood and
produced, at varying levels of detail, by both professionals of
computer systems design, as well as potential end users and
stakeholders of (future) systems.
Typically when interactions are produced by designers or by running
systems, the case is that the interactions do not tell the complete
story. There are normally other legal and possible traces that are not
contained within the described interactions. Some projects do, however,
request that all possible traces of a system shall be documented
through interactions in the form of e.g. sequence diagrams or similar
notations.
The most visible aspects of an Interaction are the messages between the
lifelines. The sequence of the messages is considered important for the
understanding of the situation. The data that the messages convey and
the lifelines store may also be very important, but the Interactions do
not focus on the manipulation of data even though data can be used to
decorate the diagrams.
In this chapter we use the term trace to mean "sequence of
eventoccurrences" which corresponds well with common use in the area of
trace-semantics which is a preferred way to describe the semantics of
Interactions. We may denote this by <eventoccurrence1,
eventoccurrence2, ...,eventoccurrence-n>. We are aware that other
parts of the UML languatge definition the term "trace" is used also for
other purposes.By interleaving we mean the merging of two or
more traces such that the events from different traces may come in any
order in the resulting trace, while events within the same trace retain
their order. Interleaving semantics is different from
a semantics where it is perceived that two events may occur at exactly
the same time. To explain Interactions we apply an Interleaving
Semantics.