Software & Systems Modeling

, Volume 11, Issue 1, pp 111–125

Reusable model transformations

  • Sagar Sen
  • Naouel Moha
  • Vincent Mahé
  • Olivier Barais
  • Benoit Baudry
  • Jean-Marc Jézéquel
Theme Section

Abstract

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).

Keywords

Adaptation Aspect weaving Genericity Metamodel pruning Model typing Model transformation Refactoring 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Sagar Sen
    • 1
  • Naouel Moha
    • 1
  • Vincent Mahé
    • 1
  • Olivier Barais
    • 1
  • Benoit Baudry
    • 1
  • Jean-Marc Jézéquel
    • 1
  1. 1.INRIA Rennes, Bretagne Atlantique/IRISAUniversité Rennes 1Rennes CedexFrance

Personalised recommendations