Model refactoring using MoTMoTModel refactoring using MoTMoT
Faculty of Sciences. Mathematics and Computer Science
Formele technieken in software ontwikkeling (FOTS)
Antwerp Systems and software Modelling (AnSyMo)
International journal on software tools for technology transfer. - Berlin
12(2010):3/4, p. 201-209
University of Antwerp
Reverse and roundtrip engineering have become important research topics in model driven engineering. In this paper, we report on the use of model-to-model transformer (MoTMoT), a tool for model transformation (Schippers et al. in Satellite of the second international conference on graph transformation, vol 127, issue 3, pp 516, 2004), for the realization of a number of refactoring operations; this was proposed as a case study at GraBaTs 2008. MoTMoT is based on the story driven modeling (SDM) language for graph rewriting; thus the refactorings modify a graph model derived from Java source code. Realizing the three refactorings proposed in the case study allows us to demonstrate the strengths and weaknesses of the tool, but it also forces us to consider numerous issues that require the use of standard compliant mechanisms. The case study highlights the benefits of MoTMoT as a transformation engine. Among the advantages of MoTMoT, we may mention that MoTMoT does not depend on a particular modeling tool to represent transformations, and the input models may be produced by arbitrary UML tools, separately from MoTMoT. This is in contrast to other transformation tools which depend on a custom built modeling tool. Moreover, MoTMoT can easily be extended with new language features to improve its support for model transformation. The underlying transformation language, SDM, is based on a very powerful paradigm and is capable of expressing the preconditions and checks required by the case study. We also address other, more general challenges of this case study: conciseness, readability, maintainability, efficiency and scalability are important features for the implementation. MoTMoT turns out to be a robust tool that provides an answer to these challenges.