. *]-esupertypes,

. *]-egenericsupertypes,

. *]-etypearguments,

. *]-esubpackages,

. *]-eliterals,

. *]-eclassifiers,

. *]-estructuralfeatures,

. *]-eannotations,

, Rename metaelement (vertices, FSM, states)

, Eliminate metaproperty (entry, State)

, Eliminate metaproperty (exit, State)

, Eliminate metaproperty (sin, Action)

, Eliminate metaproperty (sout, Action)

, Eliminate metaproperty (name, Action)

, Eliminate metaclass (Action)

, Change metaproperty type (Vertex, states, State) 9. Flatten hierarchy (Vertex)

/. Edapt and . Cope,

, Delete Opposite Reference (entry, State) 2. Delete Feature (entry, State)

, Delete Opposite Reference (exit, State)

, Delete Feature (exit, State)

, Delete Feature (sin, Action)

, Delete Feature (sout, Action)

, Delete Feature (name, Action)

, Delete Class (Action)

, Create Reference (states, FSM, State) 10. Make Ref. Comp. (states, FSM) 11. Switch Reference Composite (states, vertices) 12. Delete Feature (vertices, FSM) 13. Inline Super Class

, Eliminate class (Action) 4. introduce property (FSM, states, State)

, Eliminate property (vertices, FSM) 6. flatten hierarchy (Vertex)

, Rename (vertices, FSM, states)

, Flatten (Vertex)

, Hide (Vertex)

, Remove (Action)

, 101 4.2.1 Création et édition d'une spécification de refactoring

. .. Choix-de-conception,

.. .. Conclusion,

. *]-detailsentrymodification,

. *]-featuremodification,

. *]-datatypemodification,

*. Connecting,

. *]-initializes,

. *]-instructions,

. *]-invocations,

. *]-outputs,

. *]-numtokensmap,

. *]-ports,

. *]-porttovarmap,

. *]-variables,

. *]-vartoportmap,

. *]-expressions,

. *]-procedures,

, Afin de faire cette transformations nous utilisons la spécification de SimpleOrcc2HierarchicalStructure.modif (est présentée dans le listing 5.4), elle est le résultat des actions suivantes : -Génération d'une spécification de refactoring qui par défaut n'apporte pas de modifications (NoModif)

, Édition de la spécification de refactoring de la façon suivante : -Application des opérateurs flatten et hide sur les classes Attributable et Edge

, Suppression de la classe Instance parce qu'elle n'est pas présente dans le métamodèle de structures hiérarchiques. -Renommage de Actor en Component. -Renommage de Network en Composite. Listing 5.4 -Edition of Orcc-to-hierarchicalstructure.modif root SimpleOrcc to HierarchicalStructure Prefix SimpleOrcc to HierarchicalStructure, Ces opérateurs suppriment les classes, mais gardent certains attributs et références qui sont dans le méta-modèle de structures hiérarchiques

, Actor to Component {ref inputs att name ref outputs}

, Connection {ref sourcePort ref targetPort} ; flatten hide Attributable {att UUID}

, Graph {ref edges ref verties}

, Vertex {att label} ; flatten hide Edge {att label}

, remove Instance {remove ref entity remove att name}

L. Dèle and . Méta-modèle, Dans notre framework de migration, la migration est gérée par un moteur générique, qui n'as pas à être générée pour chaque migration et qui migre les modèles sans prendre en compte leur méta-modèle

, En général, cette migration est vue comme une migration inverse simple en réponse à la migration appliquée préalablement. Par exemple, si la migration appliquée implique la suppression d'un élément, alors la migration inverse rajoute cet élément au résultat produit par l'outil. L'effet de bord de cette façon de voir la migration inverse est que le résultat de l'outil n'a pas de lien avec le contexte initial et des éléments qui étaient importants pour le DSML sont perdus. Pour palier à ce problème, nous proposons un mécanisme de recontextualisation qui récupère des méta-informations de l'outil. Ces méta-informations permettent de connaitre le lien entre les éléments de l'entrée et de la sortie de l'outil. En fait, la recontextualisation établit des liens entre la sortie de l'outil et les éléments du modèle initial. Notre approche garantie que quand on utilise des opérateurs simples, la recontextualisation ne défait pas les actions réalisées par l'outil et que tous les éléments supprimés lors de la migration sont récupérés. Par contre nous ne pouvons pas garantir que le résultat est sémantiquement correct. Dans le framework de réutilisation, la majorité des actions effectuées par la migration, la migration inverse et la recontextualisation sont automatisées. Si l'utilisateur veut produire des migrations spécifiques ou s'il veut modifier le résultat de la recontextualisation, il est guidé pour que la réalisation de ces tâches soit plus facile. Mais nous proposons à l'utilisateur des helpers qui lui, Si les données sont migrées et l'outil est réutilisé, il reste à mettre le résultat produit par l'outil dans le contexte du DSML pour lequel cet outil est réutilisé

D. Enfin and . Cas-d'étude-ont-permis-d'évaluer-l'approche, Le premier permet de réutiliser un outil d'analyse et le deuxième permet de réutiliser des outils de réécriture, Dans les deux cas, nous avons obtenu le résultat attendu. Les lignes de code à développer sont minimales. L'approche réduit la complexité des données à manipuler parce qu'il

, Perspectives Les travaux présentés dans cette thèse ouvrent la voie à des nombreuses perspectives que nous présentons maintenant

&. Jusqu, E. Thorsten-arendt, S. Biermann, C. Jurack, G. Krause et al., Nous proposons deux templates, l'un utile quand la majorité des éléments du méta-modèle doit être supprimée, et l'autre pour conserver la majorité des éléments. L'utilisateur doit ensuite faire des modifications à la main pour indiquer les opérateurs à appliquer afin de produire le méta-modèle cible. Ces modifications impliquent un effort à l'utilisateur. Une perspective est de faciliter la définition des opérateurs de migration. Une piste est de faire le calcul des opérateurs à appliquer de façon automatique. La spécification de refactoring pourrait par exemple se baser sur une notion de distance (Levenshtein) entre les deux méta-modèles. Cette distance est une métrique de, Proceedings of the 13th International Conference on Model Driven Engineering Languages and Systems : Part I, MODELS'10, pp.121-135, 2010.

K. Biju, T. Appukuttan, A. Clark, G. Evans, S. Maskeri et al., QVT-Partners revised submission to QVT RFP, vol.17, p.50, 2003.

A. Abou and D. , Une approche formelle de l'interopérabilité pour une famille de langages dédiés, 2009.

H. David, K. D. Akehurst, . Howells, and . Gareth-abd-mcdonald-maier, Kent model transformation language, Proc. Model Transformations in Practice Workshop, part of MoDELS, p.45, 2005.

D. Akehurst, S. Kent, and O. Patrascoiu, A Relational Approach to Defining and Implementing Transformations in Metamodels. Software and Systems Modeling, vol.2, p.16, 2003.

A. Agrawal, G. Karsai, and F. Shi, Graph transformations on domain-specific models, p.41, 2003.

. Atl, , 2014.

J. Bézivin, On the unification power of models. Software and System Modeling, vol.4, p.15, 2005.

R. Victor, L. C. Basili, W. L. Briand, and . Melo, How reuse influences productivity in object-oriented systems, Commun. ACM, vol.39, issue.10, p.12, 1996.

A. Blouin, B. Combemale, B. Baudry, and O. Beaudoux, Modeling Model Slicers, ACM/IEEE 14th International Conference on Model Driven Engineering Languages and Systems, vol.6981, p.49, 2011.
URL : https://hal.archives-ouvertes.fr/inria-00609072

P. A. Bernstein, Applying model management to classical meta data problems, vol.22, 2003.

J. Bézivin, In search of a basic principle for model driven engineering, Novatica Journal, Special Issue, vol.5, issue.2, p.14, 2004.

R. , I. Bull, and J. Favre, Visualization in the context of model driven engineering, Proceedings of the MoDELS'05 Workshop on Model Driven Development of Advanced User Interfaces, p.16, 2005.

J. Bézivin, F. Jouault, P. Rosenthal, and P. Valduriez, Modeling in the large and modeling in the small, Model Driven Architecture, European MDA Workshops : Foundations and Applications, MDAFA 2003 and MDAFA, pp.33-46, 2003.

J. , P. Babau, and M. Kerboeuf, Domain Specific Language Modeling Facilities, 5th MoDELS Workshop on Models and Evolution, vol.41, p.105, 2011.
URL : https://hal.archives-ouvertes.fr/hal-00632336

P. Braun and F. Marschall, Alle Rechte Vorbehalten, Peter Braun, Frank Marschall, and Technische Universität München. Botl -the bidirectional object oriented transformation language, p.45, 2003.

F. Richard, D. S. Gruschko, and . Kolovos, Towards synchronizing models with evolving metamodels, Proc. Int. Workshop on Model-Driven Software Evolution held with the ECSMR, vol.22, p.41, 1921.

C. Brun and A. Pierantonio, Model differences in the eclipse modeling framework. UPGRADE, The European Journal for the Informatics Professional, vol.34, p.141, 2008.

A. Cicchetti, D. D. Ruscio, and A. Pierantonio, Managing dependent changes in coupled evolution, Theory and Practice of Model Transformations, vol.5563, p.50, 2009.

K. Czarnecki, J. N. Foster, Z. Hu, R. Lämmel, A. Schürr et al., Bidirectional transformations : A crossdiscipline perspective, Theory and Practice of Model Transformations, vol.5563, p.47, 2009.

K. Czarnecki and S. Helsen, Classification of model transformation approaches, OOPSLA'03 Workshop on Generative Techniques in the Context of Model-Driven Architecture, p.17, 2003.

K. Czarnecki and S. Helsen, Feature-based survey of model transformation approaches, IBM Syst. J, vol.45, issue.3, p.47, 2006.

G. Csertán, G. Huszerl, I. Majzik, and Z. Pap, András Pataricza, and Dániel Varró. Viatra " visual automated transformations for formal verification and validation of uml models, Proceedings of the 17th IEEE International Conference on Automated Software Engineering, ASE '02, vol.45, p.50, 2002.

A. Cicchetti, D. D. Ruscio, R. Eramo, and A. Pierantonio, Automating co-evolution in model-driven engineering, Proceedings of the 2008 12th International IEEE Enterprise Distributed Object Computing Conference, EDOC '08, vol.22, p.50, 2008.

A. Cicchetti, D. D. Ruscio, and A. Pierantonio, A metamodel independent approach to difference representation, Journal of Object Technology, vol.6, issue.9, p.49, 2007.

L. Jacob and . Cybulski, Introduction to software reuse. Department of Information Systems, vol.11, p.12, 1996.

M. D. , D. Fabro, and P. Valduriez, Semi-automatic model integration using matching transformations and weaving models, Proceedings of the 2007 ACM Symposium on Applied Computing, SAC '07, p.23, 2007.
URL : https://hal.archives-ouvertes.fr/hal-00483503

P. Didonet and . Valduriez, Towards the efficient development of model transformations using model weaving and matching transformations. Software and Systems Modeling, 2009.
URL : https://hal.archives-ouvertes.fr/hal-00483446

, The eclipse modeling framework (emf), vol.1, p.17, 2015.

. Epsilon, , 2014.

J. Favre, Cacophony : Metamodel-driven software architecture reconstruction, p.16, 2004.

B. William, C. J. Frakes, and . Fox, Sixteen questions about software reuse, Commun. ACM, vol.38, issue.6, p.75, 1995.

J. Falleri, M. Huchard, M. Lafourcade, and C. Nebut, Metamodel matching for automatic model transformation generation, Model Driven Engineering Languages and Systems, 11th International Conference, vol.21, p.40, 2008.
URL : https://hal.archives-ouvertes.fr/lirmm-00322879

F. Fouquet, G. Nain, B. Morin, E. Daubert, O. Barais et al., Kevoree modeling framework (KMF) : efficient modeling techniques for runtime use, 2014.
URL : https://hal.archives-ouvertes.fr/hal-00996764

P. Freeman, Reusable software engineering : Concepts and research directions, p.11, 1983.

E. Guerra, J. De-lara, D. S. Kolovos, and R. F. Paige, A visual specification language for model-to-model transformations, VL/HCC, p.45, 2010.

T. Gardner, . Griffin, R. Koehler, and . Hauser, Review of omg mof 2.0 query/views/transformations submissions and recommendations towards final standard. Misc, p.17, 2003.

K. Garcés, F. Jouault, P. Cointe, and J. Bézivin, Managing Model Adaptation by Precise Detection of Metamodel Changes, Proc. of ECMDA 2009, vol.23, p.50, 2009.

M. Greenwald, J. Moore, B. Pierce, and A. Schmitt, A language for bidirectional tree transformations, vol.47, p.48, 2003.

I. Graham, Object-Oriented Methods. Principles and Practice. Harlow, England : Addison-Wesley, an imprint of Pearson Education, p.12, 2001.

, Graph rewriting and transformation language

K. Hassam, Adaptation des contraintes OCL lors de l'évolution des métamodèles et modèles, Salah STIC Lorient, vol.21, 2011.

M. Herrmannsdoerfer, S. Benz, and E. Juergens, Copeautomating coupled evolution of metamodels and models, Proceedings of the 23rd European Conference on ECOOP 2009 -Object-Oriented Programming, vol.23, p.50, 2009.

T. Hemmann, Reuse in software and knowledge engineering, p.12, 1992.

. Henshin, , 2014.

W. Heuvel, Matching and adaptation. core techniques for mda-(adm)-driven integration of new business, Proceeding of MELS Workshop (EDOC), p.35, 2004.

M. Herrmannsdoerfer and M. Koegel, Towards semanticspreserving model migration, International Workshop on Models and Evolution, vol.24, p.41, 2010.

M. Herrmannsdoerfer and D. Ratiu, Limitations of automating model migration in response to metamodel adaptation, Proceedings of the 2009 International Conference on Models in Software Engineering, MODELS'09, vol.24, pp.205-219, 2010.

P. Hudak, Domain-specific languages. Handbook of Programming Languages, vol.3, pp.39-60

M. Herrmannsdörfer, S. Vermolen, and G. Wachsmuth, An extensive catalog of operators for the coupled evolution of metamodels and models, Software Language Engineering -Third International Conference, SLE 2010, vol.17, p.46, 2010.

J. Hutchinson and J. Whittle, Mark Rouncefield, and Steinar Kristoffersen. Empirical assessment of mde in industry, Proceedings of the 33rd International Conference on Software Engineering, ICSE '11, p.20, 2011.

I. Ivkovic and K. Kontogiannis, Tracing evolution changes of software artifacts through model synchronization, Proceedings of the 20th IEEE International Conference on Software Maintenance, ICSM '04, p.16, 2004.

, Jamda, 2015.

J. Jézéquel, B. Combemale, and D. Vojtisek, Ingénierie Dirigée par les Modèles : des concepts à la pratique, Références sciences. Ellipses, vol.13, p.15, 2012.

F. Jouault and I. Kurtev, On the architectural alignment of atl and qvt, Proceedings of the 2006 ACM Symposium on Applied Computing, SAC '06, p.40, 2006.
URL : https://hal.archives-ouvertes.fr/hal-00483592

F. Jouault and I. Kurtev, Transforming models with atl, Proceedings of the 2005 International Conference on Satellite Events at the MoDELS, MoDELS'05, vol.40, pp.128-138, 2006.
URL : https://hal.archives-ouvertes.fr/hal-00448120

H. Kadima, MDA : Conception orientée objet guidée par les modèles. Dunod, vol.1, p.13, 2005.

. Kermeta, , 2014.

A. Kleppe, Software language engineering : creating domain-specific languages using metamodels, p.20, 2008.

C. Krueger, Models of reuse in software engineering. School of computer science, p.12, 1989.

T. Kuhne, Matters of (meta-) modeling. Software and Systems Modeling, vol.5, p.14, 2006.

G. Anneke, J. Kleppe, W. Warmer, and . Bast, MDA Explained : The Model Driven Architecture : Practice and Promise, vol.15, p.16, 2003.

R. Lämmel, Coupled software transformations, p.38, 2004.

T. Levendovszky, D. Balasubramanian, A. Narayanan, and G. Karsai, A novel approach to semi-automated evolution of dsml model transformation, Software Language Engineering, vol.5969, p.38, 2010.

W. C. Lim, Effects of reuse on quality, productivity, and economics, IEEE Softw, vol.11, issue.5, p.12, 1994.

J. Lara and H. Vangheluwe, Atom3 : A tool for multi-formalism and meta-modelling, Fundamental Approaches to Software Engineering, vol.2306, p.45, 2002.

P. Langer, M. Wimmer, J. Gray, G. Kappel, and A. Vallecillo, Language-specific model versioning based on signifiers, Journal of Object Technology, vol.11, issue.3, p.48, 2012.

G. Manzonetto, Models and theories of lambda calculus. CoRR, abs/0904, vol.4756, p.15, 2009.
URL : https://hal.archives-ouvertes.fr/tel-00715207

D. Mendez, A. Etien, A. Muller, and R. Casallas, Towards Transformation Migration After Metamodel Evolution, Model and Evolution Workshop, Model and Evolution Workshop, p.21, 2010.
URL : https://hal.archives-ouvertes.fr/inria-00524145

P. Muller, F. Fleurey, and J. Jézéquel, Weaving executability into object-oriented meta-languages, Proceedings of the 8th International Conference on Model Driven Engineering Languages and Systems, MoDELS'05, vol.45, pp.264-278, 2005.
URL : https://hal.archives-ouvertes.fr/hal-00795095

T. Mens and P. Van-gorp, A taxonomy of model transformation, Electron. Notes Theor. Comput. Sci, vol.152, p.16, 2006.

A. Narayanan, T. Levendovszky, D. Balasubramanian, and G. Karsai, Automatic domain model migration to manage metamodel evolution, Model Driven Engineering Languages and Systems, vol.5795, p.50, 2009.

I. Ober, A. A. Dib, L. Féraud, and C. Percebois, Towards interoperability in component based development with a family of DSLs, European Conference on Software Architecture (ECSA, pp.148-163, 2008.

, Object managment group, 0141.

P. Paetau, Object-oriented reuse -on the benefits and problems object-oriented software reuse, vol.11, p.12, 2015.

O. Patrascoiu, Yatl : Yet another transformation language, University of Twente, the Nederlands, p.45, 2004.

R. Prieto-diaz, Software reusability : Vol. 1, concepts and models. chapter Classification of Reusable Modules, p.11, 1989.

P. Quyet-thang, Model Transformation Reuse : A Graph-based Model Typing Approach, p.37, 2012.

, Platypus, 2001.

, QVT, 2015.

A. Radding, Fast track to app success, InformationWeek, p.11, 1999.

E. Rahm and P. A. Bernstein, A survey of approaches to automatic schema matching, The VLDB Journal, vol.10, issue.4, pp.334-350, 2001.

. Louism, . Rose, . Dimitrioss, R. Kolovos, . Paige et al., Epsilon flock : a model migration language. Software and Systems Modeling, p.21, 2014.

L. M. Rose, D. S. Kolovos, R. F. Paige, and F. A. , Polack. Model migration with epsilon flock, Proceedings of the 3rd ICMT conference, vol.34, p.50, 2010.

U. Rüegg, C. Motika, and R. Von-hanxleden, Interactive transformations for visual models, conference INFOR-MATIK 2011, GI-Edition -Lecture Notes in Informatics (LNI), vol.41, p.50, 2011.

L. M. Rose, R. F. Paige, D. S. Kolovos, and F. A. , Polack. An analysis of approaches to model migration, Proc. Models and Evolution (MoDSE-MCCM) Workshop, 12th ACM/IEEE International Conference on Model Driven Engineering, Languages and Systems, vol.23, p.47, 2009.

D. Steinberg, F. Budinsky, M. Paternostro, and E. Merks, EMF : Eclipse Modeling Framework 2.0, p.15, 2009.

P. Shvaiko and J. Euzenat, A survey of schema-based matching approaches, Springer, vol.3730, pp.146-171, 2005.
URL : https://hal.archives-ouvertes.fr/hal-00922287

E. Seidewitz, What models mean, IEEE Softw, vol.20, issue.5, pp.26-32, 2003.

A. Solberg and R. France, Navigating the metamuddle, Proceedings of the 4th Workshop in Software Model Engoneering, vol.16, p.36, 2005.

R. Silaghi, F. Fondement, and A. Strohmeier, weaving" mtl model transformations, Uwe Abmann, Mehmet Aksit, and Arend Rensink, vol.3599, p.45, 2005.

M. Schmidt and T. Gloetzner, Constructing difference tools for models using the sidiff framework, Companion of the 30th International Conference on Software Engineering, ICSE Companion '08, vol.34, p.49, 2008.

S. Sendall and W. Kozaczynski, Model transformation : The heart and soul of model-driven software development, IEEE Softw, vol.20, issue.5, p.16, 2003.

J. Sprinkle and G. Karsai, A domain-specific visual language for domain model evolution, Journal of Visual Languages & Computing, vol.15, issue.3, p.50, 2004.

S. Sen, N. Moha, B. Baudry, and J. Jézéquel, Metamodel pruning, Lecture Notes in Computer Science, vol.5795, p.49, 2009.
URL : https://hal.archives-ouvertes.fr/inria-00468514

T. B. Sousa, Dataflow programming concept, languages and applications, Doctoral Symposium on Informatics Engineering, p.126, 2012.

G. Sunyé, D. Pollet, Y. L. Traon, and J. Jézéquel, Refactoring UML models, Proceedings of UML 2001, vol.2185, p.16, 2001.

P. Stevens, A landscape of bidirectional model transformations, Generative and transformational techniques in software engineering II, p.47, 2008.

W. Tracz, Software reuse : Motivators and inhibitors. Digest of Papers COMPCON, p.12, 1988.

, Object managment group. uml infrastructure specification, 2001.

D. Varró and A. Balogh, The model transformation language of the {VIATRA2} framework, Science of Computer Programming, vol.68, issue.3, p.45, 2007.

G. Wachsmuth, Metamodel adaptation and model co-adaptation, Proceedings of ECOOP, p.46, 2007.

A. Wider, Towards lenses for view synchronization in metamodel-based domain-specific workbenches, In : 3rd Workshop 'Methodische Entwicklung von Modellierungswerkzeugen' at INFORMATIK 2011, p.47, 2010.

A. Wider, Towards combinators for bidirectional model transformations in scala, Post-Proceedings of the 4th International Conference on Software Language Engineering (SLE'11), vol.6940, pp.367-377, 2011.

. Springer, , p.59, 2012.

M. Wipliez, Compilation infrastructure for dataflow programs, p.129, 2010.
URL : https://hal.archives-ouvertes.fr/tel-00598914

D. Wagelaar, L. Iovino, D. D. Ruscio, and A. Pierantonio, Translational semantics of a co-evolution specific language with the EMF transformation virtual machine, Theory and Practice of Model Transformations -5th International Conference, ICMT 2012, vol.41, p.50, 2012.

, Rigorous EBNF-based definition for a graphic modeling language, vol.15, 2003.

, Omg formal versions of xml, p.15, 2015.

Z. Xing and E. Stroulia, Umldiff : An algorithm for objectoriented design differencing, Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, ASE '05, vol.34, p.49, 2005.

. Xtext, , 2015.

V. Zaytsev and A. Bagge, Parsing in a broad sense, Model-Driven Engineering Languages and Systems, vol.8767, p.125, 2014.

J. Zhang, Y. Lin, and J. Gray, Generic and domain-specific model refactoring using a model transformation engine, Model-Driven Software Development, p.16, 2005.