Abstract
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.
This work was done during the first author's visit at the University of Linz.
Preview
Unable to display preview. Download preview PDF.
References
Apple Computer: MacAppII Programmer's Guide. Apple Computer Inc., Cupertino, CA, 1989.
Beck K., Johnson R.: Patterns Generate Architectures. In: ECOOP '94, LNCS 821, 139–149.
Cox B.J.: Object Oriented Programming — An Evolutionary Approach. Addison-Wesley 1987.
Fukunaga A., Kimura T., Pree W.: Object-Oriented Development of a Data Flow Visual Language System. In: Proc. of IEEE Visual Language Symposium '93, Bergen, Norway (August 1993), 134–141.
Gamma E., Helm R., Johnson R., Vlissides J.: Design Patterns: Elements of Object-Oriented Software Architecture. Addison-Wesley 1995.
Graver J.O.: The Evolution of an Object-Oriented Compiler Framework. Software Practice & Experience 22(7), July 1992, 519–535.
Johnson R.E.: Documenting Frameworks with Patterns. In: OOPSLA '92, Sigplan Notices 27(10), October 1992, 63–76.
Koskimies K.: Object-orientation in attribute grammars. In: Attribute Grammars, Applications and Systems, Lecture Notes in Computer Science 545 (eds. H. Alblas and B. Melichar), Springer-Verlag 1991, 297–329.
Koskimies K., Mössenböck H.: Designing an Object-Oriented Framework for Language Implementation. Report 2, Department of Systems Software, University of Linz, 1995.
Järnvall E., Koskimies K., Niittymäki M.: Object-Oriented Language Engineering with TaLE. Manuscript, to appear in Object-Oriented Systems.
Krasner G.E., Pope S.T.: A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. JOOP 1(3), August/sept 1988, 26–49.
Mössenböck H.: Object-Oriented Programming in Oberon-2. Springer-Verlag 1993.
Mössenböck H., Wirth N.: The Programming Language Oberon-2. Structured Programming 12,4 (1991), 179–195.
Pree W.: Design Patterns for Object-Oriented Software Development. Addison-Wesley 1995.
Rumbaugh J., Blaha M., Premerlani W., Eddy F., Lorensen W.: Object-Oriented Modelling and Design. Prentice-Hall, 1991.
Weinand A., Gamma E., Marty R.: ET++ — An Object-Oriented Application Framework in C++. In: OOPSLA '88, Sigplan Notices 23(11), October 1988, 46–57.
Author information
Authors and Affiliations
Corresponding author
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Koskimies, K., Mössenböck, H. (1995). Designing a framework by stepwise generalization. In: Schäfer, W., Botella, P. (eds) Software Engineering — ESEC '95. ESEC 1995. Lecture Notes in Computer Science, vol 989. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60406-5_31
Download citation
DOI: https://doi.org/10.1007/3-540-60406-5_31
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60406-8
Online ISBN: 978-3-540-45552-3
eBook Packages: Springer Book Archive