A Non-Invasive Approach for Evolving Model Transformation Chains

A Non-Invasive Approach for Evolving Model Transformation Chains

Chain (MTC) generates applications from high level models that are defined in terms of problem domain concepts. The MTC produces a low-Ievel model that is rooted in the solution domain. An evolution problem arises when we need to include an unanticipated concern (e.g., security) to the generated applications. If there is a mismatch between the expressiveness of the high-Ievel metamodel and the new concern, then we need to adapt the existing assets (i.e., metamodels, models, and transformations). A MODEL TRANSFORMATION Chain (MTC) generates applications from high level models that are defined in terms of problem domain concepts. The MTC produces a low-Ievel model that is rooted in the solution domain. An evolution problem arises when we need to include an unanticipated concern (e.g., security) to the generated applications. If there is a mismatch between the expressiveness of the high-Ievel metamodel and the new concern, then we need to adapt the existing assets (i.e., metamodels, models, and transformations). The evolution of an MTC gives rise to several problems mainly related to the strong dependencies between metamodels and models, metamodels and transformations, and between each transformation step and the following. In this dissertation we present an approach that reduces the complexity of evolving a model transformation chain. Our approach offers several advantages: 1) it reuses the existing assets (metamodels, models and transformations), 2) it modularizes the changes in a new set of metamodels, models and transformations.3) it facilitates the modeling of different concerns in separate models which are close to the problem domain. 4) it offers an automatic derivation mechanism to identify the elements to compose in the low-Ievel models based on relationships defined in the high-Ievel.5) it eases the use of a reusable mechanism to integrate the changes.1) it reuses the existing assets (metamodels, models and transformations), 2) it modularizes the changes in a new set of metamodels, models and transformations.3) it facilitates the modeling of different concerns in separate models which are close to the problem domain. 4) it offers an automatic derivation mechanism to identify the elements to compose in the low-Ievel models based on relationships defined in the high-Ievel.5) it eases the use of a reusable mechanism to integrate the changes.2) it modularizes the changes in a new set of metamodels, models and transformations.3) it facilitates the modeling of different concerns in separate models which are close to the problem domain. 4) it offers an automatic derivation mechanism to identify the elements to compose in the low-Ievel models based on relationships defined in the high-Ievel.5) it eases the use of a reusable mechanism to integrate the changes.3) it facilitates the modeling of different concerns in separate models which are close to the problem domain. 4) it offers an automatic derivation mechanism to identify the elements to compose in the low-Ievel models based on relationships defined in the high-Ievel.5) it eases the use of a reusable mechanism to integrate the changes. 4) it offers an automatic derivation mechanism to identify the elements to compose in the low-Ievel models based on relationships defined in the high-Ievel.5) it eases the use of a reusable mechanism to integrate the changes.5) it eases the use of a reusable mechanism to integrate the changes.
Acknowleogments
Abstract
Samenvatting
List of tables
List of figures
Abbreviations

Introduction
Problem statement
Research goals
Approach
Approach scope
Contributions
Outline of the dissertation

1. MDE, evolution in MDE, ano separation of concerns in MDE

1.1. Introduction
1.2. Context: model driven engineering
1.3. Problem: evolution in MDE
1.4. Solution: separation of concerns in MDE
1.5. Summary

2. Evolving a model transformation chain


2.1. Introduction
2.2. A running example: business-to-java MTC
2.3. Adding a new concern
2.4. Evolution strategies
2.5. Summary

3. Correspondence relationships derivation

3.1. Introduction
3.2. Approach overview
3.3. Case study: deriving correspondence relationships
3.4. Derivation requirements
3.5. Tracing back corresponding elements
3.6. Constraining the correspondence relationships
3.7. Extending the scope of the derivation mechanism
3.8. Summary

4. Correspondence relationships resolution

4.1. Introduction
4.2. Correspondence metamodel
4.3. High-level correspondences
4.4. Extended correspondence metamodel
4.5. Low-level correspondences
4.6. Resolving correspondence relationships
4.7. Summary

5. Tool support

5.1. Introduction
5.2. Architecture overview
5.3. MTC developer tasks
5.4. Application modeler tasks
5.5. ATL traceability extension
5.6. Summary

6. Validation: evolving transformation chains

6.1. Introduction
6.2. Case study: 4 aligned MTCs
6.3. Key criteria analysis
6.4. Research goals
6.5. Limitations
6.6. Summary

7. Conclusion

7.1. Introduction
7.2. Summary
7.3. Contributions
7.4. Discussion
7.5. Future work

A. Metamodels

A.1. Business metamodel
A.2. Architecture metamodel
A.3. JEE metamodel
A.4. Java metamodel
A.5. Security metamodel
A.6. Navigation metamodel
A.7. Presentation metamodel
A.8. JSF metamodel

B transformation rules


B.1. Tracing models composer and verifier transformation
B.2. Correspondence derivation transformation

C. ATL tutorial

Bibliography
  • COM004000 ORDENADORES > Inteligencia (IA) y Semántica
  • UYQ
  • Ingeniería de Sistemas