Model driven software engineering is a method which automatically creates a software product from the models. A concept that plays a major role in model driven approaches is the transformation of models to other models and finally to executable code of the system, which in general is called transformation.
In model driven approaches, the main concern for developers is to create quality transformations. Increasing the complexity and size of transformations, results in the difficulty in generating quality transformations. Therefore, a transformation should be built using sound engineering principles, just like any other kind of software. This is called model transformation engineering or briefly transformation engineering. Obviously, improving the transformation engineering causes improvement in transformation quality. Considering the importance of transformations in model driven approaches, several researches have been performed in the last decade on transformation engineering and a few frameworks have been proposed. This research uses two most complete frameworks in this area named as transML and MeTAGeM.
This research proposes two approaches as improvements in transformation engineering which are based on transML and MeTAGeM. The first approach presents a transformation to increase the automation and cohesion in the transformation engineering framework of transML. This transformation automatically generates the architecture model from the requirement model in transML. This causes increasing of automation, cohesion, requirements tracking and raising the level of abstraction in transML framework. The evaluations indicate that the architecture models that are generated by the proposed approach are equivalent to the architecture models created by expert developers.
The second approach, following the idea of design patterns, presents a Method for Using Proper Patterns In Transformations, called “MUPPIT”. “MUPPIT” consists of three phases: check the necessity of a pattern, detection and proposition of patterns, and applying the pattern. This process gets a transformation design model, which is generated in transML or MeTAGeM, as input, and then creates a new transformation design model, in which the concepts of appropriate transformation patterns are applied. The transformation design model which is based on patterns results in producing quality, more efficient, reusable, simpler, and faster transformation. The evaluation of “MUPPIT” process shows considerable improvement in transformation design models which are generated as output of “MUPPIT”.
PhD Student, Research Assistant in University of Alberta
Papers in English