Reusable model transformations - Inria - Institut national de recherche en sciences et technologies du numérique Access content directly
Journal Articles Software and Systems Modeling Year : 2012

Reusable model transformations


Model transformations written for an input metamodel may often apply to other metamodels that share similar concepts. For example, a transformation written to refactor Java models can be applicable to refactoring UML class diagrams as both languages share concepts such as classes, methods, attributes, and inheritance. Deriving motivation from this example, we present an approach to make model transformations reusable such that they function correctly across several similar metamodels. Our approach relies on these principal steps: (1) We analyze a transformation to obtain an effective subset of used concepts. We prune the input metamodel of the transformation to obtain an effective input metamodel containing the effective subset. The effective input metamodel represents the true input domain of transformation. (2) We adapt a target input metamodel by weaving it with aspects such as properties derived from the effective input metamodel. This adaptation makes the target metamodel a subtype of the effective input metamodel. The subtype property ensures that the transformation can process models conforming to the target input metamodel without any change in the transformation itself. We validate our approach by adapting well known refactoring transformations (Encapsulate Field, Move Method, and Pull Up Method) written for an in-house domain-specific modeling language (DSML) to three different industry standard metamodels (Java, MOF, and UML).
Fichier principal
Vignette du fichier
Sen10b.pdf (8.08 Mo) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

inria-00542766 , version 1 (03-12-2010)



Sagar Sen, Naouel Moha, Vincent Mahé, Olivier Barais, Benoit Baudry, et al.. Reusable model transformations. Software and Systems Modeling, 2012, 11 (1), pp.111-125. ⟨10.1007/s10270-010-0181-9⟩. ⟨inria-00542766⟩
400 View
118 Download



Gmail Facebook X LinkedIn More