A Composite Structure diagram reflects the internal collaboration of Classes, Interfaces or Components to describe a functionality. Composite Structure diagrams are similar to Class diagrams, except that they model a specific usage of the structure. Class diagrams model a static view of Class structures, including their attributes and behaviors. A Composite Structure diagram is used to express run-time architectures, usage patterns, and the participating elements' relationships, which might not be reflected by static diagrams.
In a Composite Structure diagram, Classes are accessed as Parts or run-time instances fulfilling a particular role. These Parts can have multiplicity, if the role filled by the Class requires multiple instances. Ports defined by a Part's Class should be represented in the composite structure, maintaining that all connecting Parts provide the required interfaces specified by the Port. There is extensive flexibility, and an ensuing complexity, that come with modeling composite structures. To optimize your modeling, consider building Collaborations to represent reusable patterns responding to your design issues.
The following diagram shows a Collaboration used in Composite Structure diagrams to model common patterns. This particular example shows a relationship for performing an installation.
The following diagram uses the Install Collaboration in a Collaboration Occurrence, and applies it to the UtilLoad Class via a <<represents>> relationship. This indicates that the classifier UtilLoad uses the collaboration pattern within its implementation.
For further examples of Composite Structure diagrams, see the Toolbox elements listed below.
Toolbox Elements and Connectors
Select Composite Structure diagram elements and connectors from the Composite pages of the Enterprise Architect UML Toolbox.
Tip: Click on the elements and connectors below for more information.
OMG UML Specification
The OMG UML specification (UML Superstructure Specification, v2.0, p. 7) states:
"A diagram that depicts the internal structure of a classifier, including the interaction points of the classifier to other parts of the system. It shows the configuration of parts that jointly perform the behavior of the containing classifier. The architecture diagram specifies a set of instances playing parts (roles), as well as their required relationships given in a particular context."