Component (UML)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
A UML Component with provided and required interfaces

A component in the Unified Modeling Language represents a modular part of a system that encapsulates the state and behavior of a number of classifiers. Its behavior is defined in terms of provided and required interfaces[1], is self-contained, and substitutable. A number of UML standard stereotypes exist that apply to components.[2]

A component has an external and internal view, also known as "black-box" and "white-box", respectively. In its external view, there are public properties and operations. For its internal view, there are private properties and realizing classifiers and shows how external behavior is realized internally.[2]

A component may be replaced at design time or run-time by another if and only if their provided and required interfaces are identical. This idea is the underpinning for the plug-and-play capability of component-based systems and promotes software reuse.[1] Larger pieces of a system's functionality may be assembled by reusing components as parts in an encompassing component or assembly of components, and wiring together their required and provided interfaces.[1]

A component acts like a package for all model elements that are involved in or related to its definition, which should be either owned or imported explicitly. Typically the classifiers related to a component are owned by it.[2]

Components of a system are modeled by means of component diagrams throughout the development life cycle and successively refined into deployment and run-time.[2]

In diagrams, components are shown as a rectangle with the keyword «component». Optionally, in the right hand corner a component icon can be displayed. This is a rectangle with two smaller rectangles protruding from its left hand side. If the icon symbol is shown, the keyword «component» may be hidden as seen to the side.[2]

See also[edit]



  1. ^ a b c OMG (2008). OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2 Archived 2010-09-23 at the Wayback Machine
  2. ^ a b c d e "Unified Modeling Language 2.5.1 specification". Object Management Group. December 2017. Retrieved June 15, 2019.

External links[edit]