The Community for Technology Leaders
Green Image
Issue No. 11 - Nov. (2014 vol. 40)
ISSN: 0098-5589
pp: 1042-1060
Jesus Sanchez Cuadrado , Department of Computer Science, Universidad Autónoma de Madrid, Spain
Esther Guerra , Department of Computer Science, Universidad Autónoma de Madrid, Spain
Juan de Lara , Department of Computer Science, Universidad Autónoma de Madrid, Spain
Model-driven engineering promotes an active use of models to conduct the software development process. In this way, models are used to specify, simulate, verify, test and generate code for the final systems. Model transformations are key enablers for this approach, being used to manipulate instance models of a certain modelling language. However, while other development paradigms make available techniques to increase productivity through reutilization, there are few proposals for the reuse of model transformations across different modelling languages. As a result, transformations have to be developed from scratch even if other similar ones exist. In this paper, we propose a technique for the flexible reutilization of model transformations. Our proposal is based on generic programming for the definition and instantiation of transformation templates, and on component-based development for the encapsulation and composition of transformations. We have designed a component model for model transformations, supported by an implementation currently targeting the Atlas Transformation Language (ATL). To evaluate its reusability potential, we report on a generic transformation component to analyse workflow models through their transformation into Petri nets, which we have reused for eight workflow languages, including UML Activity Diagrams, YAWL and two versions of BPMN.
Unified modeling language, Adaptation models, Petri nets, Analytical models, Logic gates, Software, Proposals

J. S. Cuadrado, E. Guerra and J. de Lara, "A Component Model for Model Transformations," in IEEE Transactions on Software Engineering, vol. 40, no. 11, pp. 1042-1060, 2014.
542 ms
(Ver 3.3 (11022016))