Specifying Domain-Specific Refactorings for AndroMDA Based on Graph Transformation

  • Gabriele Taentzer
  • Dirk Müller
  • Tom Mens
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5088)


Applying refactoring in a model-driven software engineering context raises many new challenges that need to be addressed. In this paper, we consider model-driven software development based on the code generation framework AndroMDA. Considering the UML profile for AndroMDA, we come up with a number of domain-specific model refactorings. In its most recent version, the AndroMDA code generation can be based on the Eclipse Modeling Framework (EMF) which has evolved towards the de facto standard technology to specify UML models. We show how domain-specific refactorings can be specified by EMF transformation incorporating graph transformation concepts. This opens up the possibility to reason about domain-specific refactorings in a formal way.


Model Transformation Transformation Rule Object Class Object Constraint Language Graph Transformation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Eclipse model development tools (2007),
  2. 2.
    AndroMDA (2007),
  3. 3.
    Astels, D.: Refactoring with UML. In: Proceedings of 3rd International Conference eXtreme Programming and Flexible Processes in Software Engineering, pp. 159–174 (2002)Google Scholar
  4. 4.
    Biermann, E., Ehrig, K., Köhler, C., Kuhns, G., Taentzer, G., Weiss, E.: Graphical definition of rule-based transformation in the Eclipse Modeling Framework. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 425–439. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  5. 5.
    Bottoni, P., Parisi-Presicce, F., Taentzer, G.: Specifying Coherent Refactoring of Software Artefacts with Distributed Graph Transformations. In: van Bommel, P. (ed.) Handbook on Transformation of Knowledge, Information, and Data: Theory and Applications, pp. 95–125. Idea Group Publishing (2005)Google Scholar
  6. 6.
    Brooks, F.P.: No silver bullet: Essence and accidents of software engineering. In: The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edn. Addison-Wesley, Reading (1995)Google Scholar
  7. 7.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. In: EATCS Monographs in Theoretical Computer Science. Springer, Heidelberg (2006)Google Scholar
  8. 8.
    Fujaba (2007),
  9. 9.
    Grunske, L., Geiger, L., Zündorf, A., Van Eetvelde, N., Van Gorp, P., Varro, D.: Using graph transformation for practical model driven software engineering. In: Beydeda, S., Book, M., Gruhn, V. (eds.) Model-driven Software Development, pp. 91–118. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Köhler, C., Lewin, H., Taentzer, G.: Ensuring containment constraints in graph-based model transformation approaches. In: Ehrig, K., Giese, H. (eds.) 6. Int. Workshop on Graph Transformation and Visual Modeling Techniques. Electronic Communication of the EASST, vol. 6 (2007)Google Scholar
  11. 11.
    Markovic, S., Baar, T.: Refactoring OCL annotated UML class diagrams. In: MoDELS, pp. 280–294 (2005)Google Scholar
  12. 12.
    Mens, T., Taentzer, G., Müller, D.: Model-driven software refactoring. In: Rech, J., Bunse, C. (eds.) Model-Driven Software Development: Integrating Quality Assurance. Idea Group Publishing (to appear, 2008)Google Scholar
  13. 13.
    Mens, T., Taentzer, G., Runge, O.: Analysing refactoring dependencies using graph transformation. Software and System Modeling 6(3), 269–285 (2007)CrossRefGoogle Scholar
  14. 14.
    Moflon (2007),
  15. 15.
    Porres, I.: Model Refactorings as Rule-Based Update Transformations. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 159–174. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Pretschner, A., Prenninger, A.: Computing refactorings of state machines. Journal on Software and Systems Modeling (January 2007)Google Scholar
  17. 17.
    Sunyé, G., Pollet, D., Le Traon, Y., Jezequel, J.M.: Refactoring UML models. In: The Unified Modeling Language, pp. 134–148 (2001)Google Scholar
  18. 18.
    Van Der Straeten, R., D’Hondt, M.: Model refactorings through rule-based inconsistency resolution. In: Proceedings Symposium on Applied Computing, pp. 1210–1217. ACM Press, New York (2006)Google Scholar
  19. 19.
    Van Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards automating source-consistent UML refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 144–158. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Van Kempen, M., Chaudron, M., Koudrie, D., Boake, A.: Towards proving preservation of behaviour of refactoring of UML models. In: Proceedings SAICSIT 2005, pp. 111–118 (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Gabriele Taentzer
    • 1
  • Dirk Müller
    • 1
  • Tom Mens
    • 2
  1. 1.Philipps-Universität MarburgGermany
  2. 2.University of Mons-HainautBelgium

Personalised recommendations