Analysis of crosscutting concerns in QVT-based model transformations

Nguyen, H.Q. (2006) Analysis of crosscutting concerns in QVT-based model transformations.

[img]
Preview
PDF
1MB
Abstract:The Model Driven Architecture (MDA) framework aims at the idea of separating the specification of a system from the details of the way that system uses the capabilities of its platform. It intends to reach this goal by defining models and transformations between models which are both based on metamodels. To provide a language for model transformations, a Query, Views and Transformations (QVT)specification has been proposed as a combination from several submissions in response to the QVT Request for Proposal by the Object Management Group (OMG. Separation of concerns is a basic principle in software engineering. The principle states that a given problem involves different kinds of concerns, which should be identified and modularized to cope with complexity and to achieve quality factors such as robustness, adaptability, maintainability and reusability. However, crosscutting concerns like security, persistence and distribution cause difficulties to the achievement of this principle. Aspect-Oriented Software Development (AOSD) emerges to address this problem in order to improve modularity and maintainability of systems, and is dealing with the problem of crosscutting concerns. AOSD provides systematic techniques for the identification, modularization, representation and composition of crosscutting concerns. Despite its importance, the problem of crosscutting concerns has not been extensively considered in MDA. The consequence is that it is not known what problems crosscutting concerns cause to QVT model transformations, and how QVT model transformations can be used to deal with the problem of crosscutting concerns. To analyze this problem, we make a detailed review of the concepts related to QVT model transformations and crosscutting concerns. We then choose a formal definition of crosscutting which is based on dependency graphs between elements of a source and a target. Traceability in model transformations could be used to derive this kind of dependency graphs. We propose a method to derive dependency graphs for transformation rules at both metamodel and model levels. This method is based on the specification of the rules written in the Relations and Core languages of the QVT specification and the related tracing model. It also distinguishes two different types of mappings in these dependency graphs: direct and indirect mappings. These dependency graphs help to identify problems that crosscutting concerns cause to model transformations. Some of the problems relate to properties of model transformations, such as transformation rule interaction and execution order of transformation rules. Others are general problems, such as the complexity and change impact on model transformations. It is also concluded that these dependency graphs could be used to identify crosscutting concerns. However, there is a tendency that every element crosscuts other elements as the dependency graphs become very large and complex in a real-life model transformation. It is recommended that these dependency graphs should be further processed in order to identify crosscutting concerns more effectively. Some directions are to take into account the number of mappings between and the degree of granularity of the source and target elements.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:http://purl.utwente.nl/essays/57284
Export this item as:BibTeX
EndNote
HTML Citation
Reference Manager

 

Repository Staff Only: item control page