Refactoring has become a valuable activity during the software development lifecycle, because it can be induced by di erent causes, like new requirements or quality improvement. In code-based development contexts this activity has been widely studied, whereas in model-driven ones, where models are rst-class development entities, there are many issues yet to be tackled. In this paper we present a metamodel that supports the speci cation of pre-and post-conditions of model refactoring actions, and the automated derivation and veri cation of such conditions in speci c modeling languages. Our work is aimed at helping users to implement refactoring actions in the adopted modelling language by providing an environment for guaranteeing the feasibility of refactoring actions. Our primary focus is on the de nition of applicable sequences of refactoring actions, rather than on the user-driven step-by-step application of refactoring actions. As an example, we illustrate the applicability of our metamodel for UML models refactoring.
CCS CONCEPTS• Software and its engineering → Model-driven software engineering; Software maintenance tools;