Components in the Software Development Process often a mixture of top-down and bottom-up
- some are already implemented and specified - for some components only the idea exists of what they should do must be specifiable in a software architecture
we distinguish three abstraction levels for software components (from abstract to concrete): provided types, complete types, and implementation types.
implementation types represent fully specified components, also the internal structure of the component is known. complete types fully specify a component's required and provided interfaces, but does not make any statements about its internal structure provided types only specify a component's provided interfaces leaving its requirements and implementation open.
concreter levels are refinements of abstract ones defined relationship
Section provides an overview on the different component types and their relationship. two part: first ideas and concepts of the type hierarchy, second meta modelling constructs and OCL-constraints
First part begins with the concepts of the three types, starting with the most concrete implementation type. Then the more abstract concepts of complete and provided type are motivated and introduced.