18.17.  Abstraction

An abstraction is a dependency relationship joining two model elements within the model at different levels of abstraction. Within ArgoUML it is principally used through its specific stereotype realize to define realization dependencies, which link model elements that specify behavior to the corresponding model elements that implement the behavior.

In the UML metamodel Abstraction is a sub-class of Dependency and through that Relationship.

An abstraction with stereotype realize is represented on a class diagram as a dotted line with a solid white head at the specifying end.

[Caution]Caution

All other stereotypes of abstraction should be represented using an open arrow head, but this is not supported by ArgoUML.

18.17.1.  Abstraction Details Tabs

The details tabs that are active for abstractions are as follows.

ToDoItem

Standard tab.

Properties

See Section 18.17.2, “ Abstraction Property Toolbar and Section 18.17.3, “ Property Fields For Abstraction below.

Documentation

Standard tab. See Section 13.4, “ Documentation Tab.

Presentation

Standard tab.

[Note]Note

The values in the "bounds" field of the abstraction are not editable, since they are determined by the properties of the endpoints of the line.

Source

Standard tab. This contains the single downlighted text N/A.

Tagged Values

Standard tab. In the UML metamodel, Abstraction has the following standard tagged values defined.

  • derived (from the superclass, ModelElement). Values true, meaning the abstraction is redundant -it can be formally derived from other elements, or false meaning it cannot.

    [Note]Note

    Derived abstractions still have their value in analysis to introduce useful names or concepts, and in design to avoid re-computation.

[Note]Note

The UML Element metaclass from which all other model elements are derived includes the tagged element documentation which is handled by the documentation tab under ArgoUML

18.17.2.  Abstraction Property Toolbar

Go up

Navigate up through the package structure.

Delete

This deletes the abstraction from the model

[Warning]Warning

This is a deletion from the model not just the diagram. To delete an abstraction from the diagram, but keep it within the model, use the main menu Remove From Diagram (or press the Delete key).

18.17.3.  Property Fields For Abstraction

Name

Text box. The name of the abstraction. There are no constraints on the name of an abstraction, which is not shown on any diagram.

Stereotype

Drop down selector. Abstraction is provided by default with the UML standard stereotypes derive, realize, refine and trace.

[Caution]Caution

ArgoUML automatically selects the stereotype realize when an abstraction is created. The user is free to change the stereotype to use the abstraction to indicate for example a trace relationship. However ArgoUML will not alter the representation on the diagram accordingly.

Navigate Stereotype

icon. If a stereotype has been selected, this will navigate to the stereotype property panel (see Section 16.6, “ Stereotype).

Namespace

Drop down selector. Records and allows changing the namespace for the abstraction. This is the package hierarchy.

Suppliers

Text area. Lists the model element that is the supplier end of this abstraction (for a realization this is the end providing the implementation).

[Note]Note

Although this is a text area there is no mechanism for adding more than one supplier.

Button 1 double click navigates to the selected entry.

Clients

Text area. Lists the model element that is the client end of this abstraction (for a realization this is the end providing the specification).

[Note]Note

Although this is a text area there is no mechanism for adding more than one client.

Button 1 double click navigates to the selected entry.