Comparison and Evaluation of Model Transformation Tools Nafiseh Kahani and James R. Cordy fKahani,
[email protected] Technical Report 2015-627 School of Computing, Queen's University Kingston, Ontario December, 2015 Abstract An impressive number of model transformation languages and associated tools have been developed over the last few years. These tools can be used to develop, transform, merge, exchange, compare and verify models or meta-models. In this paper, we compare and evaluate the current model transformation tools based on a qualitative framework. We begin with looking at the background areas of model transformation, and an overall taxonomy of current tools. We then classify, compare and evaluate the tools based on a number of facets, each one consisting of several attributes with the possibility of overlap. Keywords: Model-driven engineering, model transformation tools, classification 1 Introduction Model-driven engineering (MDE) is a rapidly expanding field that uses models as the fundamental ele- ments in the entire process of software engineering. MDE techniques can simplify the design process, increase productivity and compatibility between systems, and boost the efficiency of the development process. Be- sides, MDE provides a comprehensive description of the system since various models can be used to describe different viewpoints. In this context, a system can be anything, such as a program or a computer system. A subset of MDE is model-driven development (MDD), a model-centric framework that uses models as the primary artifacts in the software development process. MDD extends the level of abstraction, while reducing the complexity of development. In MDD, abstract models are transformed into detailed models or code, so model transformations are essential.