an empty icon image Interaction Diagram
   

A generic term that applies to several types of diagrams that emphasize object interactions. These include communication diagrams, sequence diagrams, and the interaction overview diagram.

UML2 models object interactions using the following four different, but related diagrams. The diversity of the diagrams reflects the many reasons for evaluating interactions in a system design.

  • Sequence Diagram – This is a time-oriented view of the interaction between objects to accomplish a behavioral goal of the system. An interaction may be modeled at any level of abstraction within the system design, from subsystem interactions to instance-level interaction for a single operation or activity.
  • Communication Diagram – This is a structural view of the messaging between objects, taken from the Collaboration diagram concept of UML1.
  • Interaction Overview Diagram – A high-level view of the sets of interactions combined into logic sequence, including flow-control logic to navigate between the interactions.
  • Timing Diagram - This is an optional diagram designed to specify the time constraints on messages sent and received in the course of an interaction.

Note: The UML2 specification also describes a tabular alternative to the Interaction Diagrams that we won't cover because there is no tool support for it, which effectively removes it from the mainstream.

The Interaction Diagram is a generic term for focusing on messaging [interaction] between objects. As such, there is no one graphic for an Interaction Diagram.

Interaction diagrams may show a configuration of objects (an instance of a class). An object is modeled as an instance specification, which may represent a single object or a set of objects satisfying given conditions. The general rule for the notation for instance specifications is to use the same geometrical symbol as the descriptor but to underline the name of the instance specification to distinguish it as an individual (the entire name is underlined when referring to an instance; when only a role name is needed and no instance reference is implied, do not underline the name.)