The System Component Architecture Metamodel (see figure below) is the platform-independent specification of a software system consisting of instantiated components. This means that selected component-definitions are instantiated and initially wired (i.e. connected). Please note, that at this point individual components can still be distributed over (i.e. deployed to) different target platforms (i.e. PCs) without affecting this model.
An instantiated component also instantiates its (internal) structures such as the definition of parameters and the component's provided/required services. By instantiating parameters, it is possible to define system-specific and application-related parameter values (i.e. parameter refinement) that differ from the default parameter values in the original component-definition. It is important to notice that a component-instance cannot instantiate any structures that have not been defined in the component-definition (base-model). Moreover, all the required services of a component-definition also need to be instantiated within the derived component-instance. This can be easily supported by modeling tools that can pre-generate component-instance models (using so called proposal-providers) out of selected component-definitions. This is an important functional constraint that allows checking that each required service also is connected to an according provided service of another component-instance in the system. Finally, a Connection defines initial wiring between provided and required services of different components. It is worth mentioning that this initial wiring can be dynamically changed at run-time (if needed) using the dynamic wiring pattern.
At this point, it is also worth mentioning that at the moment a system is built from components as basic building blocks. In future versions of this meta-model the hierarchical definition for systems-of-systems (i.e. composite components) will be introduced. Composite components will be introduced as an extension to the current meta-model that allows building systems out of sub-systems which again can be built out of yet other sub-systems and so forth.