Dependency (UML)

In the Unified Modeling Language (UML), a Dependency[1]is "a Relationship that signifies that a single model Element or a set of model Elements requires other model Elements for their specification or implementation."[1]"This means that the complete semantics of the client Element(s) are either semantically or structurally dependent on the definition of the supplier Element(s)."[1]Two or more elements in this relationship are called tuples.

In UML, this is indicated by a dashed line pointing from the dependent (or client) to the independent (or supplier) element. The arrow representing a Dependency specifies the direction of a relationship, not the direction of a process.

Standard predefined dependencies

UML - defined dependencies include:[2]

  • «call2» UML2: The client (an operation) may call the supplier (an operation)[citation needed]
  • «create» UML2: The client (a classifier) may create instances of the supplier (a classifier)
  • «derive» UML2: The client (e.g., attribute value, link) may be computed from the supplier(s)
  • «instantiate» UML2: Operations of the client (a classifier) may create instances of the supplier (a classifier)
  • «permit» UML2: Obsolete
  • «realize» UML2: Obsolete
  • «refine» UML2: The client element(s) are at a "later" semantic level than the supplier(s)
  • «send» UML2: The client (an operation) sends the supplier (a signal)
  • «substitute» UML2: The client element can replace (under some circumstances) the supplier
  • «trace» UML2: The client elements "trace" to the suppliers. Typically used for levels of requirements
  • «use» UML2: The client element somehow "uses" the supplier

A UML link is run-time relationship between instances of classifiers, while a dependency is a model-time relationship between definitions.

A typical uni-directional link requires the one instance to know about, and thus depend, upon the other, but this is not required. A uni-directional link only requires the possibility of navigation not dependency.

Likewise, a bi-directional link requires that both instances may traverse to each other, but this also does not require dependency.

However, after the traversal of the association, if some property of the target instance's definition is accessed, such as an operation or attribute, a dependency is created.

See also

References

Further reading

Weilkiens, Tim; Oestereich, Bernd (2007). UML 2 Certification Guide. Morgan Kaufmann. ISBN 0-12-373585-8.

"Dependency". Unified Modeling Language 2.5.1. OMG Document Number formal/2017-12-05. Object Management Group Standards Development Organization (OMG SDO). December 2017. p. 42.

🔥 Top keywords: Main PageSpecial:SearchWikipedia:Featured picturesYasukeHarrison ButkerRobert FicoBridgertonCleopatraDeaths in 2024Joyce VincentXXXTentacionHank AdamsIt Ends with UsYouTubeNew Caledonia2024 Indian general electionHeeramandiDarren DutchyshenSlovakiaKingdom of the Planet of the ApesAttempted assassination of Robert FicoLawrence WongBaby ReindeerXXX: Return of Xander CageThelma HoustonFuriosa: A Mad Max SagaMegalopolis (film)Richard GaddKepler's SupernovaWicked (musical)Sunil ChhetriXXX (2002 film)Ashley MadisonAnya Taylor-JoyPlanet of the ApesNava MauYoung SheldonPortal:Current eventsX-Men '97