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: the eMoflon IDE Eclipse feature and the eMoflon Enterprise Architect addin (only required for visual syntax support).

If you are completely new to eMoflon, we recommend working (at least) through Chapter 1 of our handbook first (Follow the eMoflonHandbook.pdf link.)! 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, please 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 3.0.0. Use the following update-site URL for installing eMoflon: http://emoflon.org/eclipse-plugin/beta/updatesite/

Note: When you first try to install eMoflon, Eclipse may complain about missing dependencies. The reason is that eMoflon refers to additional update sites for its external dependencies. To fix this issue, press Manage... in the Install New Software... dialog and enable the following update sites: Afterwards, proceed with the intallation as usual.

Fingerprints

The eMoflon Eclipse plugin is 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

Need a previous version?

The following link guides you to previous versions of eMoflon.
Previous Versions

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)
  • 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

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)
  • 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

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)

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

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

Haftungsausschluss

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.