A Dependency models a dependency between two items. The Dependency Types are as follows:
• Abstraction
• Artifact
• Bind
• Dependency
• Excludes
• Interface Realization
• Realization
• Requires
• Uses
• Variability
In the Modeler panes, a short-cut symbol on the Dependency's icon indicates that the item is a
stub.
You can create a standard Dependency (type of Dependency) between items of most types in a model. To create a Dependency of type Dependency, on the Dependent item's Property Pages, click the Items tab, and then in the Show Associated list select Dependees. You can then select the dependee items through the Link button. You can then change the type of a Dependency through the Options tab of its Property Pages.
You can show Dependencies between some item types on Class Diagrams and Composite Structure Diagrams.
The access permissions you have to a Dependency are determined by the access permissions of the dependent item.
You can add missing Dependencies to a Class Diagram or Composite Structure Diagram by right-clicking the diagram background, pointing to Populate, and then clicking Dependencies.
Abstraction Dependencies on Diagrams
On Class Diagrams and Composite Structure Diagrams:
• You can show abstraction Dependencies that link shown items.
• You can create an abstraction Dependency by clicking the Abstraction button on the Class Diagram or Composite Structure Diagram toolbar, and then clicking the source item and then the destination item.
On Object Diagrams, you can show abstraction Dependencies that link Instances. On an Object Diagram, you can create an abstraction Dependency by clicking the Abstraction button on the Object Diagram toolbar, and then clicking the source Instance and then the destination Instance.
When used on a diagram, an abstraction Dependency's notation is as follows:
• You can show Artifact Dependencies that link Variation Points and Variants to artifacts (any items).
• You can create an Artifact Dependency through any diagram: click the toolbar button, click the Variation Point or Variant, and then click the model item (artifact).
An Artifact Dependency's notation is as follows:
When creating a Product Model, an Artifact Dependency can use the parameter value of the source Variant to set a selected property of the target artifact in the Product Model that is created.
On Class Diagrams and Composite Structure Diagrams:
• You can show bind Dependencies that model template instantiation between shown items.
• You can create a bind Dependency by clicking the Bind button on the Class Diagram or Composite Structure Diagram toolbar, and then clicking the source item and then the destination item.
When the source item is a Class, Data Type, Interface or Signal that is set up as a Template Specialization, the destination item must be a Class, Data Type, Interface or Signal that is set up as a Template.
When the source item is a Package, the destination item must be a Package that is set up as a Template.
A Bind Dependency's notation is as follows:
When used to link two Packages on a Class Diagram or Composite Structure Diagram, a bind Dependency's notation is as follows:
On Class Diagrams and Composite Structure Diagrams:
• You can show Dependency type Dependencies that link shown items.
• You can create a Dependency type Dependency by clicking the Dependency button on the Class Diagram or Composite Structure Diagram toolbar, and then linking the two items.
On Object Diagrams, you can show Dependencies of type Dependency that link Instances. On an Object Diagram, you can create a Dependency of type Dependency by clicking the Dependency button on the Object Diagram toolbar, and then clicking the source and destination Instance.
When used on a diagram, a Dependency of type Dependency's notation is as follows:
• You can show Excludes Dependencies that link Variation Points and Variants to other Variation Points and Variants.
• You can create an Excludes Dependency through any diagram: click the toolbar button, click the first Variation Point or Variant, and then click the second Variation Point or Variant.
An Excludes Dependency's notation is as follows:
For more information about Excludes Dependencies, click here
Excludes dependency .
On Class Diagrams and Composite Structure Diagrams, you can show interface realization Dependencies that show how an Interface implements a Class, Data Type or Signal.
There are two presentations of an interface realization Dependency, depending on whether the target Interface is represented as a lollipop or an Interface symbol.
On a Class Diagram and Composite Structure Diagram, you cannot show an interface realization Dependency's Stereotypes, and the View Options have no affect.
When used on a Class Diagram or Composite Structure Diagram in this context, an interface realization Dependency's notation is as follows:
On a Class Diagram or Composite Structure Diagram, you can create this Dependency through the Provided Interface button on the Class Diagram or Composite Structure Diagram toolbar. For more information, see
Creating an interface.
Target is represented as an interface symbol
When used on a Class Diagram or Composite Structure Diagram in this context, an interface realization Dependency's notation is as follows:
On a Class Diagram or Composite Structure Diagram, you create this Dependency by clicking the Interface Realization button on the Class Diagram or Composite Structure Diagram toolbar, and then linking a Class, Data Type or Signal to an Interface.
Realization Dependencies on Diagrams
On Class Diagrams and Composite Structure Diagrams:
• You can show realization Dependencies that link shown items.
• You can create a realization Dependency by clicking the Realization button on the Class Diagram or Composite Structure Diagram toolbar, and then clicking the source item and then the destination item.
On Object Diagrams, you can show realization Dependencies that link Instances. On an Object Diagram, you can create an abstraction Dependency by clicking the Realization button on the Object Diagram toolbar, and then clicking the source Instance and then the destination Instance.
When used on a diagram, a realization Dependency's notation is as follows:
• You can show Requires Dependencies that link Variation Points and Variants to other Variation Points and Variants.
• You can create a Requires Dependency through any diagram: click the toolbar button, click the requiring Variation Point or Variant, and then click the required Variation Point or Variant.
A Requires Dependency's notation is as follows:
A Requires Dependency's notation is as follows when it has a parameter or propagates the value of a parameter from one Variant to another Variant.
When used on a Class Diagram or Composite Structure Diagram in this context, a uses Dependency's notation is as follows:
On a Class Diagram or Composite Structure Diagram, you can create this Dependency through the Required Interface button on the Class Diagram toolbar. For more information, see
Creating an interface.
Target is not an interface represented as a cup
When used on a Class Diagram or Composite Structure Diagram in this context, a uses Dependency's notation is as follows:
On a Class Diagram or Composite Structure Diagram, you can create this Dependency by clicking the Usage button on the Class Diagram or Composite Structure Diagram toolbar, and then linking an item to another item.
Variability Dependencies on Diagrams
On all diagrams:
• You can show Variability Dependencies that link a Variation Point or Alternative Choice to a Variant.
• You can create a Variability Dependency through any diagram: click the Optional Variability Dependency or Mandatory Variability Dependency toolbar button, click the Variation Point or Alternative Choice, and then click the Variant.
An Variability Dependency's notation is as follows:
The following sections provide information about how a Dependency is used in the model. For more information about a property, item, model part or diagram, click it.
Most items can own a Dependency through the Dependees link.
A Dependency is owned jointly by the two items it links, that is, if either item is deleted the Dependency is deleted as well. The access permissions you have to a Dependency are determined by the access permissions you have to the dependent item.