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

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

Abstract

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    EMF: Eclipse Modeling Framework, http://www.eclipse.org/emf
  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, http://www.omg.org/spec/MOF
  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, http://tfs.cs.tu-berlin.de/agg
  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), http://easst.org/eceasst
  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)MATHGoogle 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), http://easst.org/eceasst
  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, http://www.uml.org
  15. 15.
  16. 16.
  17. 17.
    EMFT: Eclipse Modeling Framework Technology, http://www.eclipse.org/modeling/emft
  18. 18.
    Giese, H., Hildebrandt, S., Seibel, A.: Improved flexibility and scalability by interpreting story diagrams. ECEASST 18 (2009), http://easst.org/eceasst
  19. 19.
    GReAT: Graph Rewriting and Transformation, http://www.isis.vanderbilt.edu/tools/GReAT
  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, http://www.omg.org/technology/documents/formal/ocl.htm
  23. 23.
    MOLA: MOdel transformation LAnguage, http://mola.mi.lu.lv
  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), http://eclipse.org/gmt/VIATRA2 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