Semantics and implementation of schema evolution in object-oriented databases
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Communications of the ACM
Refactoring object-oriented frameworks
Refactoring object-oriented frameworks
Patterns for evolving frameworks
Pattern languages of program design 3
A refactoring tool for Smalltalk
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
Designing object systems for evolution
Theory and Practice of Object Systems - Special issue object-oriented software evolution and re-engineering
DMS (transformational software maintenance by reuse): a production research system? (keynoted talk)
SSR '99 Proceedings of the 1999 symposium on Software reusability
Refactoring: improving the design of existing code
Refactoring: improving the design of existing code
Software product-line engineering: a family-based software development process
Software product-line engineering: a family-based software development process
Applied software architecture
Building application frameworks: object-oriented foundations of framework design
Building application frameworks: object-oriented foundations of framework design
Cascaded refactoring for framework
SSR '01 Proceedings of the 2001 symposium on Software reusability: putting software reuse in context
Database System Concepts
Evolving Object-Oriented Designs with Refactorings
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
Automating three modes of evolution for object-oriented software architectures
COOTS'99 Proceedings of the 5th conference on USENIX Conference on Object-Oriented Technologies & Systems - Volume 5
Hi-index | 0.00 |
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.