Composite structure diagram
   HOME

TheInfoList



OR:

Composite structure diagram in the
Unified Modeling Language The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system. The creation of UML was originally m ...
(UML) is a type of static structure diagram, that shows the internal structure of a
class Class or The Class may refer to: Common uses not otherwise categorized * Class (biology), a taxonomic rank * Class (knowledge representation), a collection of individuals or objects * Class (philosophy), an analytical concept used differently ...
and the ''collaborations'' that this structure makes possible. This diagram can include internal ''parts'', ''ports'' through which the parts interact with each other or through which instances of the class interact with the parts and with the outside world, and ''connectors'' between parts or ports. A ''composite structure'' is a set of interconnected elements that collaborate at runtime to achieve some purpose. Each element has some defined ''role'' in the collaboration.


Concepts

The key composite structure entities identified in the UML 2.0 specification are structured classifiers, parts, ports, connectors, and collaborations.OMG (2008).
OMG Unified Modeling Language (OMG UML), Superstructure, V2.1.2
'' p.161-192.
* Part : A ''part'' represents a role played at runtime by one instance of a classifier or by a collection of instances. The part may only name the role, it may name an abstract superclass, or it may name a specific concrete class. The part can include a multiplicity factor, such as the ..*shown for Viewer in the diagram. * Port : A ''port'' is an interaction point that can be used to connect structured classifiers with their parts and with the environment. Ports can optionally specify the services they provide and the services they require from other parts of the system. In the diagram, each of the small squares is a port. Each port has a type and is labelled with a name, such as "var", "indVar1", or "view" in the diagram. Ports may contain a multiplicity factor, for example :Ports can either delegate received requests to internal parts, or they can deliver these directly to the behavior of the structured classifier that the port is contained within. Public ports that are visible in the environment are shown straddling the boundary, while protected ports that are not visible in the environment are shown inside the boundary. All the ports in the diagram are public, except for the view port along the right boundary of FibonacciSystem. * Connector : A ''connector'' binds two or more entities together, allowing them to interact at runtime. The connector is shown as a line between some combination of parts, ports and structured classifiers. The diagram shows three connectors between ports, and one connector between a structured classifier and a part. * Collaboration : A ''collaboration'' is generally more abstract than a structured classifier. It is shown as a dotted oval containing roles that instances can play in the collaboration. * Structured classifier : A ''StructuredClassifier'' represents a class, often an abstract class, whose behavior can be completely or partially described through interactions between parts. * Encapsulated classifier : An ''EncapsulatedClassifier'' is a type of structured classifier that contains ports. In the
diagram A diagram is a symbolic representation of information using visualization techniques. Diagrams have been used since prehistoric times on walls of caves, but became more prevalent during the Enlightenment. Sometimes, the technique uses a three ...
below, both FibonacciSystem and Variable are encapsulated classifiers because they both have ports along their boundaries.


Examples

As an example, consider one possible way of modeling production of the Fibonacci sequence. This UML 2.0 composite structure diagram specifies that instances of the 'FibonacciSystem' class are composed of a number of parts. The topmost of these parts is identified as having the classifier 'FibonacciFunction'. Three of the parts are identified by the role they play within instances of ''FibonacciSystem'' - the ''NMinus2'' role, the ''NMinus1'' role, and the ''N'' role. The fifth part, identified by its classifier ''Viewer'', includes a multiplicity specification. At runtime there can be 0 or more instances of Viewer or some concrete subclass of Viewer. At runtime the class instances that implement these three roles must provide the services specified by the ''IVar'' interface through their ''var'' ports. One such class is ''Variable'', shown on the diagram with a port named ''var'' of type ''Var'' that realizes the ''IVar'' interface. The port named "view" is a non-public port that can be used by an instance of ''FibonacciSystem'' to access the optional instance(s) of ''Viewer''.


References


External links


General information on UML
including the official UML 2.0 specification. See especially the large section on Composite Structures. * The Xholon open-source project maintains
set of links
having to do with composite structure.

{{DEFAULTSORT:Composite Structure Diagram Unified Modeling Language diagrams