Metamodels can be considered one of the key artifacts of any model-based project. Similarly to other software artifacts, metamodels are expected to evolve during their life- cycle and consequently it is crucial to develop approaches and tools supporting the definition and re-use of metamodel refactorings in a disciplined way. This paper proposes Edelta, a domain specific language for specifying reusable libraries of metamodel refactorings. The language allows both atomic and complex changes and it is supported by an Eclipse-based IDE. The developed supporting environment allows the developer to apply refactorings both in a batch manner and in a step-by-step fashion, which provides developers with an immediate view of the evolving Ecore model before actually changing it.
Edelta: an approach for defining and applying reusable metamodel refactorings / Bettini, Lorenzo; Davide Di Ruscio, ; Ludovico, Iovino; Alfonso, Pierantonio. - STAMPA. - (2017), pp. 1-10. (Intervento presentato al convegno Models and Evolution (ME2017) workshop @MoDELS 2017).
Edelta: an approach for defining and applying reusable metamodel refactorings
Lorenzo Bettini;
2017
Abstract
Metamodels can be considered one of the key artifacts of any model-based project. Similarly to other software artifacts, metamodels are expected to evolve during their life- cycle and consequently it is crucial to develop approaches and tools supporting the definition and re-use of metamodel refactorings in a disciplined way. This paper proposes Edelta, a domain specific language for specifying reusable libraries of metamodel refactorings. The language allows both atomic and complex changes and it is supported by an Eclipse-based IDE. The developed supporting environment allows the developer to apply refactorings both in a batch manner and in a step-by-step fashion, which provides developers with an immediate view of the evolving Ecore model before actually changing it.I documenti in FLORE sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.