|[SpPu01]||Andreas Speck, Elke PulvermĂĽller, Versioning in Software Engineering, Proceedings of 27th Annual Conference of the IEEE Industrial Electronics Society (IECONÂ´01), Denver, CO, IEEE Press, Dec 2001.
Software reuse usually has the drawback that
the documentation of the software units is rather incomplete and inaccurate.
It is hard to verify that such a component offers both
the required and promised features / behavior.
In this paper we present an approach to describe the components' features
and dynamic behavior as finite state machines which may automatically be verified by model checkers.
The model of the component is derived from the code providing
consistency between documentation and implementation.
The models of several components may be combined to larger systems
(according to the composition of the real code components).
To deal with the state explosion problem, our approach allows
to "abstract" of the complete component's behavior as needed
(compression and inflation).
In the beginning of a reuse-based system development the
requirements are modeled similarly as the reusable code
Model checking can be employed to determine the consistency
between these requirement models and the models of the complete
systems, subsystems or components.
The tool support eases incremental system development and rapid
prototyping / checking.
The impact of a composed component (the component's model respectively)
may be instantly examined (against the modeled requirements).