
142 3 Conventional Product and Process Modelling
model) has to ensure access to all properties
35
from all aspects either explicitly or
implicitly, otherwise it would not fulfil its purpose.
3.1.3.3.5 Componentization
According to our investigation one of the best methods for achieving integration of
functions, aspects or both is the stepwise, hierarchical, component-based
integration
. According to the model centred approach the simplest models (i.e.
those from the lowest level of the hierarchy) have to be implemented as
components in the sense of the definition of the object management group (OMG):
“
A physical and replaceable part of a system that conforms to and provides the
realization of a set of interfaces
”, cf. Booch et al. (1999). However, on the one
hand they do not have to be “physical” (i.e. they can also be software components
or other immaterial components) and on the other hand they have to be in addition:
21.
self-contained, clearly identifiable artefacts that describe and/or perform
specific functions and have clear interfaces, appropriate documentation and a
defined reuse status Sametinger (1997);
22.
software units that are context-independent both in the conceptual and the
technical domain Ciupke and Schmidt (1996);
23.
building blocks, which can develop independently from the container
application; in contrast to Stal (1997), they can but do not have to be binary.
Finally, components can be encapsulated into other components, forming thus
different levels in the model hierarchy.
Experience shows that best results are achieved when the components are
formed according to functional criteria (and not,
e.g., implementation-related or
other considerations). For software models it is reasonable to keep the functionality
and the structure of each component as close to those of the modelled object as
possible. The question is whether there is a level of componentization (or
integration) hierarchy which is optimal for performing the intensive integration.
Although we still do not have a final answer to this question, we can be assured
that the lowest level (the level of the elements) is seldom well suited to intensive
integration. Despite strong case-dependency of the integration (strategy), it seems
that in general – starting bottom-up – several steps of extensive integration have to
be followed by one or more steps of intensive integration and then the cycle repeats
upwards until the desired result is achieved.
3.1.3.4 Integration-related Issues: Conclusion
Although the presented analysis is very simplified, it allows us to make some
important observations. Probably the most important one is that the best way to
achieve integration is to consider it during the design. Integration by design
resembles other so-called
design for x (DFx) and already well-established
approaches by the fact that it also shifts part of the development effort towards its
early phases. It shows how the following of simple design rules can allow one:
• to reduce the complexity of the components and their models;
35
For completeness, assume that a function can also be viewed as a property.