eMoflon is a tool for building tools. It allows you to model software systems using a visual or a textual syntax, afterwards generating EMF-compliant Java code from your model.

Getting started

eMoflon in action

eMoflon development
eMoflon logo

Getting started with eMoflon

eMoflon is currently composed of two parts: eMoflon IDE Eclipse plugin Enterprise Architect addin (only required for visual syntax support) If you are completely new to eMoflon, we recommend working through our handbook first!

eMoflon is documented by our extensive handbook. Additionally, the eMoflon GitHub Wiki contains an FAQ site for specific questions. In the eMoflon Google group, we spread exciting eMoflon-related news (e.g., new releases). The file changelog.txt contains an overview of the changes introduced by each eMoflon version.

Downloads

If you encounter problems, pleas consult our issue tracker or drop us a mail at contact(at)emoflon.org. Thanks!

A well-known problem is that the dependency from eMoflon to PlantUML is not resolved automatically. Please consult this post to solve the issue manually.

The current version of eMoflon is eMoflon 2.32.0. eMolfon is available via the Eclipse Marketplace. Just drag and drop the following button to your Eclipse instance.

Drag to your running Eclipse workspace.

Previous Versions

Fingerprints

The eMoflon Eclipse plugin is digitally signed. The following fingerprints allow you to verify the validity of the certificate.
MD5:    F1:E9:FF:4E:7B:D7:6D:90:9F:4D:A8:24:34:66:46:24
SHA1:   F7:23:92:9D:9A:92:86:7C:9A:16:04:8C:2E:E7:04:1D:AE:BB:5A:B6
SHA256: 07:69:56:2D:7F:63:28:B6:CE:1C:77:9B:4F:1E:F4:3E:BE:10:CC:48:14:A7:7D:7E:71:55:72:35:24:A9:3A:39

eMoflon in Action

Screencasts & Virtual Machines

You may have a look at this screencast or at one of the following virtual machines for trying out eMoflon:

Projects and institutions using eMoflon

The following is an overview of applications of eMoflon in industrial and scientific projects and for teaching purposes.

  • 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 http://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 (Details at ACM library)

Publications

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). (PDF)
  • Anthony Anjorin, et al. "eMoflon: Leveraging EMF and Professional CASE Tools." Informatik, 281 (2011). (PDF)

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)

The current TGG algorithm in eMoflon is documented in: Anthony Anjorin. "Synchronization of Models on Different Abstraction Levels using Triple Graph Grammars," PhD Thesis, (2014). (Online at TUprints)

A Survey of Triple Graph Grammar Tools

Reference: Hildebrandt, Stephan, et al. "A survey of triple graph grammar tools." Electronic Communications of the EASST 57 (2013). (PDF)

Test data: The test data used in the survey can be downloaded here.

Virtual machines: SHARE images for all three TGG tools:

Development

Source Code

eMoflon is open source (dually licensed under GPL 3.0 and EPL 1.0). The source code of eMoflon is available at GitHub.

Development Team

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

Current Developers

Former Developers The following people have contributed to eMoflon or its Java JMI-based predecessor MOFLON.

  • Scientists: Carsten Amelunxen, Frederik Deckwerth, Felix Klar, Alexander Königs, Marius Lauder, Lars Patzina, Sven Patzina, Tobias Rötschke, Ingo Weisemöller, Martin Wieber
  • Student developers: Anne-Sophie Ettl, Thomas Kovac Alexander Schleich, Nico Wombacher, Lars Kliegel, Lukas Neumann, and many more.

Real-Time Systems Lab logo
TU Darmstadt logo
Software Quality Lab logo
Uni Paderborn logo

Previous versions of eMoflon

The following list contains all available previous versions of eMoflon:

Impressum

eMoflon ist ein Forschungsprojekt der

TU Darmstadt
Fachgebiet Echtzeitsysteme
Prof. Dr. rer. nat. Andy Schuerr

Merckstrasse 25
64283 Darmstadt
Germany

Telefon: +49 6151 16-22350
Telefax: +49 6151 16-22352
E-Mail: kontakt(at)es.tu-darmstadt.de
Internet: www.es.tu-darmstadt.de

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

Haftungsausschluss

Trotz sorgfaeltiger inhaltlicher Kontrolle uebernehmen wir keine Haftung fuer die Inhalte externer Links. Fuer den Inhalt der verlinkten Seiten sind ausschliesslich deren Betreiber verantwortlich.