Designing a Framework by Stepwise Generalization
Kai Koskimies, Hanspeter Mössenböck
Frameworks are class collections that capture the common aspects of applications in a certain problem domain. It is argued that conventional object-oriented design methods do not suit well to frameworks. As an alternative, we suggest a two-phase design method. The first phase is a stepwise generalization of a problem to its most general form. The second phase proceeds in the opposite direction, giving an implementation for every generalization level. The implementation of a certain level can be regarded as a framework for implementing the next more specific level. The main advantage of our method is that it enhances the generality (and therefore reusability) of the framework architecture, and explains the design decisions in the simplest possible context. As a case study, we describe a framework supporting the analysis of formal languages.
Paper at the 5th European Software Engineering Conference (ESEC'95), Barcelona, 1995.
Published in Proceedings of ESEC'95, Lecture Notes in Computer Science 989, Springer-Verlag, 1995. pp. 479-497.