next up previous contents index
Next: Connectors Up: Implementation Type Occurrence Previous: Basic Components   Contents   Index


Composite Components

The use of composite components is a mechanism to create hierarchies of components. Furthermore composite components are an abstraction of their inside. They support the principle of information hiding if they are only viewed via their outer interfaces (as a component type; cf. section 3.3).

Composite components are the other available realisation for implementation component types. Their internal realisation is not done by the composite component itself, but through the use of further components and through a structure that describes how those components are wired (see figure 3.6). A composite component has no realisation via source code. Its behaviour is a sole result of the behaviour of inner components. Composite components subsume a set of components, that belong together in a logical or functional way, and result in a new component type. Since composite components are usual component types they are available in a repository (c. f. section [*]) after their creation. From the repository they can be used like all other component types.

All internal components of a composite component are parts of a contains-relation for the outer composite component. To allow reuse of component types without side-effects the contains-relation is only a reference from one composite component to one inner component type. In so doing, component types, which are part of a repository, do not need to store information about their usage (in assemblies or composite components).

Recursive nesting of composite components is disallowed. Otherwise infinite component structures could be realised.


next up previous contents index
Next: Connectors Up: Implementation Type Occurrence Previous: Basic Components   Contents   Index
Snowball 2007-03-16