Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations

  • Thorsten Arendt
  • Enrico Biermann
  • Stefan Jurack
  • Christian Krause
  • Gabriele Taentzer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6394)


The Eclipse Modeling Framework (EMF) provides modeling and code generation facilities for Java applications based on structured data models. Henshin is a new language and associated tool set for in-place transformations of EMF models. The Henshin transformation language uses pattern-based rules on the lowest level, which can be structured into nested transformation units with well-defined operational semantics. So-called amalgamation units are a special type of transformation units that provide a forall-operator for pattern replacement. For all of these concepts, Henshin offers a visual syntax, sophisticated editing functionalities, execution and analysis tools. The Henshin transformation language has its roots in attributed graph transformations, which offer a formal foundation for validation of EMF model transformations. The transformation concepts are demonstrated using two case studies: EMF model refactoring and meta-model evolution.


Model Transformation Transformation Unit Graph Transformation Transformation Language Eclipse Modeling Framework 
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.
    EMF: Eclipse Modeling Framework,
  2. 2.
    Steinberg, D., Budinsky, F., Patenostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison Wesley, Reading (2008)Google Scholar
  3. 3.
    MOF: Meta Object Facility (MOF) Core,
  4. 4.
  5. 5.
    Kolovos, D.S., Paige, R.F., Polack, F., Rose, L.M.: Update transformations in the small with the Epsilon Wizard Language. Journal of Obj. Tech. 6(9), 53–69 (2007)Google Scholar
  6. 6.
    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
  7. 7.
    Boronat, A.: MOMENT: A Formal Framework for Model Management. PhD thesis, Universitat Politècnica de València (2007)Google Scholar
  8. 8.
    AGG: Attributed Graph Grammar System,
  9. 9.
    Biermann, E., Ehrig, K., Köhler, C., Kuhns, G., Taentzer, G., Weiss, E.: EMF Model Refactoring based on Graph Transformation Concepts. ECEASST 3 (2006),
  10. 10.
    Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: 12th International IEEE Enterprise Distributed Object Computing Conference, pp. 222–231. IEEE Computer Society, Los Alamitos (2008)CrossRefGoogle Scholar
  11. 11.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. Springer, Heidelberg (2006)zbMATHGoogle Scholar
  12. 12.
    Biermann, E., Ermel, C., Taentzer, G.: Lifting Parallel Graph Transformation Concepts to Model Transformation based on the Eclipse Modeling Framework. ECEASST 26 (2010),
  13. 13.
    Kuske, S.: Transformation Units-A structuring Principle for Graph Transformation Systems. PhD thesis, University of Bremen (2000)Google Scholar
  14. 14.
    UML: Unified Modeling Language,
  15. 15.
  16. 16.
  17. 17.
    EMFT: Eclipse Modeling Framework Technology,
  18. 18.
    Giese, H., Hildebrandt, S., Seibel, A.: Improved flexibility and scalability by interpreting story diagrams. ECEASST 18 (2009),
  19. 19.
    GReAT: Graph Rewriting and Transformation,
  20. 20.
    Kastenberg, H., Rensink, A.: Model checking dynamic states in GROOVE. In: Valmari, A. (ed.) SPIN 2006. LNCS, vol. 3925, pp. 299–305. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Garavel, H., Mateescu, R., Lang, F., Serwe, W.: CADP 2006: A toolbox for the construction and analysis of distributed processes. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 158–163. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    OCL: The Object Constraint Language,
  23. 23.
    MOLA: MOdel transformation LAnguage,
  24. 24.
    Balogh, A., Varró, D.: Advanced model transformation language constructs in the VIATRA2 framework. In: SAC 2006: Proceedings of the 2006 ACM Symposium on Applied Computing, pp. 1280–1287. ACM, New York (2006), CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Thorsten Arendt
    • 1
  • Enrico Biermann
    • 2
  • Stefan Jurack
    • 1
  • Christian Krause
    • 3
  • Gabriele Taentzer
    • 1
  1. 1.Philipps-Universität MarburgGermany
  2. 2.Technische Universität BerlinGermany
  3. 3.CWI AmsterdamThe Netherlands

Personalised recommendations