Reference: Bhansali, S. & Nii, H. P. Software Design by Reusing Architectures. 1992.
Abstract: Abstraction fosters reuse by providing a class of artifacts that can be instantiated or customized to produce a set of artifacts meeting different specific requirements. We propose that significant leverage can be obtained by abstracting software system designs and the design process. The result of such an abstraction is a generic architecture and a set of knowledge-based, customization tools that can be used to instantiate the generic architecture. In this paper we describe an approach for designing software systems based on the above idea. We illustrate the approach through an implemented example, and discuss the advantages and limitations of the approach.
Full paper available as hqx, ps.