Introduction

The increasing demand for more and more complex software systems makes it necessary to change the process of software development. It is important to reuse already developed software systems for different applications. In order to achieve this goal and to get the confidence of the system developers, reuseable software must be of high quality.

Therefore formal methods become an integrated part of the software construction process: formal methods provide abstract language concepts for supporting the certification of software; language specific theory of reuse provides the foundations for computer aided development with reuse and formal methods support the evolution of reusable objects and other reuse activities such as construction, search and classification, integration and configuration of reusable components. Moreover the integration of formal methods into the software life cycle is becoming an important research issue [Dort 91].

In the following a formal approach to software development will be presented which integrates reuse as an essential part: the Spectrum approach has its roots in the CIP project [Baue 81] and several ESPRIT projects such as METEOR (on algebraic specification and development), PROSPECTRA (on transformational techniques) and DRAGON (on reusability).Based on type-theoretic, algebraic and functional methods, the Spectrum project aims at studying methodical aspects, language issues, theory and support tools in an integrated way.