I'm under confuse with the Component - Subcomponent relationship and Generalization relationship between the components.
When do we need to mention two components as Component - Subcomponent relationship and when to mention them as Generalization relationship.
Can the Generalization relationship (Figure A) be mentioned as the Component - Subcomponent relationship (Figure B) within in Component Diagrams in all the time? (It is understandable that inverse is false)
Figure A :
Figure B :
The notation in figure B
is used to represent component realization relationship.
www.omg.org/spec/UML/2.5/Beta2:
11.6.3 Structured Classifiers → Components → Semantics
...A
Component
may be realized (or implemented) by a number of Classifiers. In that case, aComponent
owns a set ofComponentRealizations
to theseClassifiers
.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 theClassifiers
that realize aComponent
are owned by it...
You can use the generalization relationship (figure A
) between components as usual because component is an UML classifier like any other class.
But figure A
and figure B
represent different things and figure B
in your example is not ok