The Realization is a specialized abstraction relationship between two sets of Classes, one represents a specification (the supplier), and the other represents an implementation of the latter (the client). The Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, and so forth.

The Realization relationship is drawn as a dashed line with a solid triangular arrowhead (a “dashed generalization symbol”). The client (the one at the tail of the arrow) supports at least all of the operations defined in the supplier (the one at the arrowhead), but not necessarily the data structure of the supplier (Attributes and Associations).

More Information

For more information about working with symbols, see Diagramming.

The Realization paths can be grouped in a tree. This feature makes the appearance of the diagram more structural and understandable. 

Realization Types

In our modeling tool, you will find three kinds of Realization relationships: 

  • Interface Realization. A dashed line with a solid triangular arrowhead. An Interface Realization is a specialized Realization relationship between a Classifier and an Interface. This relationship signifies that the realizing classifier conforms to the contract specified by the Interface. 

  • Realization. A solid line that represents a relationship between a classifier and an interface

  • Substitution. A dashed line with an arrowhead and «substitute» stereotype. A Substitution is a relationship between two classifiers. It signifies that the Substituting classifier complies with the contract specified by the contract classifier. This implies that instances of the Substituting classifier are runtime substitutable where instances of the contract classifier are expected. 


To specify the selected realization path in the Specification window


  • Double-click the path.
  • Select Specification from the path's shortcut menu.
  • Select the path and press Enter


Creating the realizing classifiers


  • The realizing classifiers are a set of Realizations owned by the Component. The Realizations reference the Classifiers of which the Component is an abstraction (i.e., that realize its behavior).


To create a Realization relationship between a component and a classifier: 


  1. Drag the classifier shape to the Component shape.
  2. Select a classifier or Component and select Related Elements from its shortcut menu, then select the Display Paths command.
  3. The Realization relationship will be displayed on the diagram pane.