Conference on Software Maintenance and Reengineering (CSMR'06)
A Framework for Software Architecture Refactoring using Model Transformations and Semantic Annotations
Bari, Italy
March 22-March 24
ISBN: 0-7695-2536-9
Software-intensive systems evolve continuously under the pressure of new and changing requirements, generally leading to an increase in overall system complexity. In this respect, to improve quality and decrease complexity, software artifacts need to be restructured and refactored throughout their lifecycle. Since software architecture artifacts represent the highest level of implementation abstraction, and constitute the first step in mapping requirements to design, architecture refactorings can be considered as the first step in the quest of maintaining system quality during evolution. In this paper, we introduce an approach for refactoring software architecture artifacts using model transformations and quality improvement semantic annotations. First, the conceptual architecture view is represented as a UML 2.0 profile with corresponding stereotypes. Second, instantiated architecture models are annotated using elements of the refactoring context, including soft-goals, metrics, and constraints. Finally, the actions that are most suitable for the given refactoring context are applied after being selected from a set of possible refactorings. The approach is applied to a simple example, demonstrating refactoring transformations for improved maintainability, performance, and security.
Index Terms:
software evolution, software architecture refactoring,model transformations, UML profiles, qualitydriven re-engineering
Citation:
Igor Ivkovic, Kostas Kontogiannis, "A Framework for Software Architecture Refactoring using Model Transformations and Semantic Annotations," csmr, pp.135-144, Conference on Software Maintenance and Reengineering (CSMR'06), 2006