|
Themes /
Model Driven EngineeringC. Nebut, M. Huchard Model Driven Engineering (MDE) is a trend in software engineering which aims at reducing development, maintenance and migration costs. High level (often business) models are capitalized. Then the executable models (programs in changing technologies) are derived through successive steps. We study several issues in MDE. Model refactoring and evolutionWe use Galois lattices [Barbut, Monjardet 1970], Formal Concept Analysis [Wille, 1982] and Relational Concept Analysis [Huchard, 2007]:
FCA and RCA allow better abstractions to be discovered on all the model elements (classes, attributes, associations, operations, use cases, actors) and the right specialization/generalization relationships to be identified . The target applications include C++ streams, open-source Java software or APIs, the UML2 meta-model, the DocBook meta-model and environmental information systems. ![]() A class diagram to refactor ![]() The refactored diagram
Model matchingWe study model matching in two ways:
Mandarine software
Generation of model transformation patternsThanks to RCA, we extract model transformation patterns from model transformation examples. The process uses information on models, meta-models and transformation traces (which may be obtained by model matching) and learns transformation patterns at the meta-model level. It has been validated on part of the ATL model transformation zoo and refactoring transformations. Bercamote software
|