eMoflon is a tool suite for Model-Driven Engineering (MDE) that provides a range of visual and formal languages for (meta)modelling and model management.

eMoflon currently consists of the following two tools, which all share a common foundation based on graph pattern matching and graph transformation:



Update: The eMoflon::TIE-GT tool has been discontinued recently and will receive no further updates or support. However, the tool can still be installed and the source code is still available on GitHub.

eMoflon::TIE-GT (Discontinued)

eMoflon logo


Over the years, we have extracted commonalities from our various EMF-based tools into a plugin that provides a thin layer of extra goodies over EMF. This layer, which we constantly extend, currently provides:

  • A project wizard, nature, and builder that fully automate the EMF generation process for your metamodels.
  • A visualisation of Ecore models and metamodels using PlantUML.
  • A collection of useful utils for working with EMF and Eclipse.

You can install and use eMoflon::Core either directly for (meta)modelling with EMF, or as a basis for developing your own modelling tools.

eMoflon logo

To get started we recommend working through our eMoflon::Core handbook.

If you have any problems or questions use our eMoflon::Core issue tracker.

eMoflon::Core is open source (dually licensed under GPL 3.0 and EPL 1.0) and is available on GitHub.


eMoflon::IBeX is an incremental interpreter for graph patterns and graph transformation rules (for unidirectional model transformation), and for Triple Graph Grammars (TGGs) for bidirectional model transformation.
eMoflon::IBeX uses an incremental graph pattern matcher meaning that it can be used for reactive programming and trades memory for almost constant response time to model changes. Due to recent improvements to our incremental graph pattern matching tools, eMoflon::IBeX became just as scalable as eMoflon::TIE was. eMoflon::IBeX was build with flexibility in mind and already offers many more model management operations than has ever been possible in the same tool.
Some of the tasks we already support and which can be automatically derived from a single TGG include: model generation, consistency checking, link creation, incremental model synchronisation, and soon much more. Making eMoflon::IBeX even more efficient is a current research challenge and an ongoing effort.

eMoflon logo

To get started we recommend working through our eMoflon::IBeX handbooks on unidirectional and bidirectional model transformation.

If you have any problems or questions use our eMoflon::IBeX issue tracker.

eMoflon::IBeX is open source (dually licensed under GPL 3.0 and EPL 1.0) and its source code is available on GitHub.

eMoflon::TIE-GT (Discontinued)

Note: The eMoflon::TIE-GT tool has been discontinued recently and will receive no further updates or support.

eMoflon::TIE-GT was a code generator that produced fully EMF-compliant Java code from Ecore meta-models. Compared to other EMF code generators, you could even specify the implementation of methods (i.e., EOperations) using eMoflon::TIE-GT. The MOSL (Moflon specificiation language) control flow language provided constructs such as conditions (if-then, if-then-else), loops (while-do, do-while, foreach), pattern invocations, and operation invocations.

eMoflon logo

If you are interested, we recommend working through this handbook, which introduces eMoflon::TIE-GT based on the famous Sokoban board game.

More experienced users can proceed directly to the quick-setup instructions.

eMoflon::TIE-GT is licensed open source under GPL 3.0 and EPL 1.0. Its source code is available on GitHub. Sample projects can be found here.

eMoflon in Action

Over the years, eMoflon has been applied in diverse application scenarios and domains. In the following, we provide a collection of virtual machines, screen casts, links to lectures and projects using eMoflon, and relevant publications. If you are using or have used eMoflon in a project, publication, lecture, or similar, please contact us as we would love to mention your application scenario.

Screencasts & Virtual Machines

A demonstration of eMoflon::TiE in the context of a past research project is provided by this screencast. To try out eMoflon::TiE yourself you can use one of the following virtual machines:

Projects and institutions using eMoflon

  • A case study using eMoflon for model based testing of Software Product Lines (MoSo-PoLiTe) is presented in this paper.
  • Subproject A1 of Multi-mechanism Adaptation for the Future Internet (Corporate Research Center of the DFG, 1053, MAKI)
  • Integrated Model-based Testing of Continuously Evolving Software Product Lines (DFG Priority Program 1593, IMoTEP, project website)
  • A solution for the Java Refactoring case study of the Transformation Tool Contest 2015. The case resources, the eMoflon solution (available for immediate execution in a Virtual Machine) as well as other solutions for a potential comparison can be found under https://www.transformation-tool-contest.eu/2015/solutions_refactoring.html.
  • Teaching model-driven software development at FH Münster: Model-Driven Development
  • Project Heterogeneous and Distributed Services for the Future Computing Continuum (HEADS), http://heads-project.eu/
  • Computer-aided engineering case study (Software Campus cooperation between Real-Time Systems Lab and Siemens)
  • Noyer A., Iyenghar P., Pulvermueller,E., Pramme F., Engelhardt J., Samson, B., Bikker G., "Tool independent code generation for the UML closing the gap between proprietary models and the standardized UML model," Intl. Conf. on Evaluation of Novel Approaches to Software Engineering (ENASE), pp.1,9, 28-30 (2014) (Details on IEEE Xplore)
  • Peldszus S., Kulcsár G., Lochau M., Schulze S., "Continuous Detection of Design Flaws in Evolving Object-Oriented Programs using Incremental Multi-pattern Matching," Proceedings of the 31st International Conference on Automated Software Engineering (ASE), pp. 578--589, September 2016 (DOI: 10.1145/2970276.2970338)
  • Kluge R., Stein M., Giessing D., Schürr A., Mühlhäuser M.: "cMoflon: Model-Driven Generation of Embedded C Code for Wireless Sensor Networks." In: Anjorin A., Espinoza H. (eds) Modelling Foundations and Applications. ECMFA 2017. Lecture Notes in Computer Science, vol 10376. Springer, Cham (DOI: 10.1007/978-3-319-61482-3_7)


For further background information we refer to the following papers on eMoflon:
  • Erhan Leblebici, Anthony Anjorin, and Andy Schürr. "Developing eMoflon with eMoflon." Theory and Practice of Model Transformations. Springer International Publishing, 138-145 (2014). (DOI: 10.1007/978-3-319-08789-4_10)
  • Anthony Anjorin, et al. "eMoflon: Leveraging EMF and Professional CASE Tools." Informatik, 281 (2011). (PDF)
  • The current TGG algorithm in eMoflon::TiE is documented in: Anthony Anjorin. "Synchronization of Models on Different Abstraction Levels using Triple Graph Grammars" PhD Thesis, (2014) (Online at TUprints).
For a comparison of eMoflon with other tools and approaches see the following publications.
  • Erhan Leblebici et al. "A Comparison of Incremental Triple Graph Grammar Tools." Electronic Communications of the EASST, 67 (2014). (PDF)
  • Stephan Hildebrandt et al. "A Survey of Triple Graph Grammar Tools." Electronic Communications of the EASST 57 (2013). (PDF)
  • Sven Patzina and Lars Patzina. "A Case Study Based Comparison of ATL and SDM." Applications of Graph Transformations with Industrial Relevance. Springer, 210-221 (2012). (PDF)
  • Hildebrandt, Stephan, et al. "A Survey of Triple Graph Grammar Tools." Electronic Communications of the EASST 57 (2013). (PDF)


eMoflon is developed jointly at the Real-Time Systems Lab, TU Darmstadt (TUDA) and the Database and Information Systems Group, Paderborn University (UPB).

Current Developers

Former Developers

  • Scientists: Carsten Amelunxen, Frederik Deckwerth, Felix Klar, Alexander Königs, Geza Kulcsar, Marius Lauder, Erhan Leblebici, Lars Patzina, Sven Patzina, Tobias Rötschke, Roland Speith (né Kluge), Gergely Varró, Ingo Weisemöller, Martin Wieber
  • Student developers: Sascha Zander, Anne-Sophie Ettl, Thomas Kovac Alexander Schleich, Nico Wombacher, Lars Kliegel, Lukas Neumann, and many more.

Impressum und Datenschutzerklärung (German)

eMoflon ist ein Forschungsprojekt der

TU Darmstadt
Fachgebiet Echtzeitsysteme
Magdalenenstr. 4
64289 Darmstadt
Telefon: +49 6151 16-22350
Telefax: +49 6151 16-22352
E-Mail: kontakt(at)es.tu-darmstadt.de
Internet: www.es.tu-darmstadt.de

Für das Fachgebiet Echtzeitsysteme gilt das Impressum der TU Darmstadt Vertretungsberechtigter des FG Echtzeitsysteme ist Prof. Dr. rer. nat. Andy Schürr.


Trotz sorgfältiger inhaltlicher Kontrolle uebernehmen wir keine Haftung für die Inhalte externer Links. Fuer den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.


Diese Webseite wird über GitHub Pages gehostet. Neben den Daten, die laut GithHub Privacy Policy verarbeitet werden, erheben wir keinerlei weitere Daten der Besucher unserer Webseite. Verantwortlich für den Datenschutz ist: TU Darmstadt, Fachgebiet Echtzeitsysteme. Bei Fragen zum Datenschutz wenden Sie sich bitte an kontakt(at)es.tu-darmstadt.de.