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
Inquiry-Based Requirements Analysis
IEEE Software
Design patterns for object-oriented software development
Design patterns for object-oriented software development
Software architecture: perspectives on an emerging discipline
Software architecture: perspectives on an emerging discipline
Software reuse: architecture, process and organization for business success
Software reuse: architecture, process and organization for business success
Systematic framework design by generalization
Communications of the ACM
Design guidelines for “tailorable” frameworks
Communications of the ACM
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
Objects, components, and frameworks with UML: the catalysis approach
Objects, components, and frameworks with UML: the catalysis approach
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
Building application frameworks: object-oriented foundations of framework design
Building application frameworks: object-oriented foundations of framework design
FORM: A feature-oriented reuse method with domain-specific reference architectures
Annals of Software Engineering
The 4+1 View Model of Architecture
IEEE Software
Evolving Object-Oriented Designs with Refactorings
ASE '99 Proceedings of the 14th IEEE international conference on Automated software engineering
A Hierarchical Use Case Model with Graphical Representation
ECBS '96 Proceedings of the IEEE Symposium and Workshop on Engineering of Computer Based Systems
Integrating Feature Modeling with the RSEB
ICSR '98 Proceedings of the 5th International Conference on Software Reuse
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
Establishing a Software Product Line in an Immature Domain
SPLC 2 Proceedings of the Second International Conference on Software Product Lines
Architectural Refactoring in Framework Evolution: A Case Study
GPCE '02 Proceedings of the 1st ACM SIGPLAN/SIGSOFT conference on Generative Programming and Component Engineering
Refactoring use case models: the metamodel
ACSC '03 Proceedings of the 26th Australasian computer science conference - Volume 16
Refactoring Use Case Models on Episodes
Proceedings of the 19th IEEE international conference on Automated software engineering
Applying the responsibility-driven approach in the domain framework development
ACST'07 Proceedings of the third conference on IASTED International Conference: Advances in Computer Science and Technology
Patterns for understanding frameworks
Proceedings of the 15th Conference on Pattern Languages of Programs
The service modeling process based on use case refactoring
BIS'07 Proceedings of the 10th international conference on Business information systems
Towards developing consistent misuse case models
Journal of Systems and Software
Using SMCD to reduce inconsistencies in misuse case models: A subject-based empirical evaluation
Journal of Systems and Software
Hi-index | 0.00 |
Refactoring of source code has been studied as a preliminary step in the evolution of object-oriented software. We extend the concept of refactoring to the whole range of models used to describe a framework in our methodology: feature model, use case model, architecture, design, and code. We view framework evolution as a two-step process: refactoring and extension. The refactoring step is a set of refactorings, one for each model, that cascades through them. The refactorings chosen for a model become the rationale or constraints for the choice of refactorings of the next model.The cascading of refactorings is aided by the alignment of the models. Alignment is a traceable mapping between models that preserves the commonality-variability aspects of the models.