Aspect weaver: a model transformation approach for UML models

Aspect-Oriented Modeling (AOM) is an emerging solution for handling crosscutting concerns at the software modeling level in order to reduce the complexity of software models and application code. In this paper, we present the implementation strategies of an aspect-oriented approach for weaving crosscutting concerns into UML models. The main advantages of the design and the implementation of our approach are the portability and the expressiveness thanks to the OMG standards: OCL and QVT languages. We instrument OCL to translate pointcuts into a language that can easily navigate a diagram and query its elements. We implement aspect weaving as a model-to-model transformation using QVT. Additionally, we provide semantics for matching and weaving in UML activity diagrams. Finally, we demonstrate the viability and the relevance of our propositions using a case study.