Abstract
The Know-It-All Project is investigating methodologies for the development, application, and evolution of frameworks. A concrete framework for database management systems is being developed as a case study for the methodology research. The methodology revolves around a set of models for the domain, the functionality, the architecture, the design, and the code. These models reflect the common and variable features of the domain.
Refactoring of source code has been studied as a preliminary step in the evolution of object-oriented software. In cascaded refactoring, we view framework evolution as a two-step process: refactoring and extension. The refactoring step is a set of refactorings, one for each model. The refactorings chosen for a model determine the rationale or constraints for the choice of refactorings of the next model.
There are several issues with respect to architecture that we have encountered and are exploring. These include (1) the choice of models for the architecture; (2) the design of the architecture and its evaluation; (3) the evolution of the architecture by extending the concept of refactoring from source code to architecture; and (4) the modeling of variation in architectures across the product line. Here we focus on the refactoring of the architecture.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J. Banerjee and W. Kim. Semantics and implementation of schema evolution in object-oriented databases. In Proceedings of the ACM SIGMOD Conference, 1987.
I. D. Baxter, Design maintenance systems, Communications of the ACM, 35(4):73–89, 1992.
I. D. Baxter, DMS (transformational software maintenance by reuse): A production research system?, Proceedings of the Fifth Symposium on Software Reusability, ACM, 1999, p. 163.
G. Butler, L. Chen, X. Chen, A. Gaffar, J. Li, L. Xu. The Know-It-All Project: A Case Study in Framework Development and Evolution. In Domain Oriented Systems Development: Perspectives and Practices, K. Itoh and S. Kumagai (eds). Gordon Breach Science Publishers, UK, 2002, to appear.
G. Butler and L. Xu. Cascaded refactoring for framework evolution. In Proceedings of 2001 Symposium on Software Reusability, ACM Press, 2001, pp. 51–57.
M. E. Fayad, D. C. Schmidt, and R. E. Johnson, editors. Building Application Frameworks: Object-Oriented Foundations of Framework Design. Wiley, 1999.
M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
C. Hofmeister, R. Nord, D. Soni. Applied Software Architecture. Addison-Wesley, 1999.
Ralph E. Johnson and B. Foote. Designing reusable classes. Journal of Object-Oriented Programming. pp. 22–35, July 1988.
H.F. Korth and A. Silberschatz. Database System Concepts. McGraw-Hill, 1988.
Kai-Uwe Mätzel, Walter Bischofberger. Designing object systems for evolution. TAPOS, Vol. 3, No. 4, 1997.
P. W. Madany, R. H. Campbell, V. Russo, and D. E. Leyens A class hierarchy for building stream-oriented file systems. Proceedings of ECOOP’89 (Nottingham, UK, July 1989), pp. 311–328.
G. G. Miller, J. D. McGregor and M. L. Major. Capturing framework requirements. inD. C. Schmidt, and R. E. Johnson, editors. Building Application Frameworks: Object-Oriented Foundations of Framework Design. Wiley, 1999. [6].
W.F. Opdyke. Refactoring Object-Oriented Frameworks. Ph.D. thesis, University of Illinois, 1992.
D. Roberts, J. Brant and R. Johnson. A refactoring tool for Smalltalk. In Theory and Practice of Object Systems, Vol. 3, No. 4, 1997.
D. Roberts and R. Johnson. Patterns for evolving frameworks. In R. C. Martin, D. Riehle, and F. Buschmann, editors, Pattern Languages of Program Design 3, pages 471–486. Addison-Wesley, 1997.
Lance Tokuda and Don Batory Automating software evolution via design pattern transformations. In 3rd International Symposium on Applied Corporate Computing, Monterrey, Mexico, Oct. 1995.
Lance Tokuda and Don Batory Automating three modes of evolution for objectoriented software architectures, 5th USENIX Conference on Object-Oriented Technologies, (COOTS’ 99), May 1999.
Lance Tokuda. Evolving object-oriented architectures with refactorings. Proceedings of ASE-99: The 14th Conference on Automated Software Engineering, IEEE CS Press, October 1999.
D. M. Weiss and C. T. R. Lai. Software Product-Line Engineering. Addison-Wesley, 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Butler, G. (2002). Architectural Refactoring in Framework Evolution: A Case Study. In: Batory, D., Consel, C., Taha, W. (eds) Generative Programming and Component Engineering. GPCE 2002. Lecture Notes in Computer Science, vol 2487. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45821-2_8
Download citation
DOI: https://doi.org/10.1007/3-540-45821-2_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44284-4
Online ISBN: 978-3-540-45821-0
eBook Packages: Springer Book Archive