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:
You can install and use eMoflon::Core either directly for (meta)modelling with EMF, or as a basis for developing your own modelling tools.
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. eMoflon::IBeX was designed with flexibility in mind and already offers many more model management operations than has ever been possible in the same TGG tool.
Some of the tasks we already support and can be automatically derived from a single TGG include: model generation, consistency checking, link creation, and incremental model synchronisation.
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.
eNeo supports model management as a layer over Neo4j, a fairly well-known graph database. eNeo uses eMSL (the eMoflon Specification Language), a uniform modelling language for metamodelling and modelling, specifying patterns, graph constraints, rules, and triple graph grammars, all in the same uniform textual syntax with advanced support for modularity and reuse via refinement. eNeo provides an export of models (with all referenced metamodels) to Neo4j, as well as an export of patterns, constraints, rules, and triple rules to Cypher, the query and transformation language used by Neo4j. eNeo also supports an API to automate all these tasks programmatically.
To get started we recommend working through our eNeo handbooks. If you have questions or problems, just add comments directly in the handbooks.
eMoflon::Neo is licensed open source under EPL 1.0. Its source code is available on GitHub.
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.
eMoflon is developed jointly at the Real-Time Systems Lab, TU Darmstadt (TUDA) and the Database and Information Systems Group, Paderborn University (UPB).
eMoflon ist ein Forschungsprojekt der
Telefon: +49 6151 16-22350
Telefax: +49 6151 16-22352
Für das Fachgebiet Echtzeitsysteme gilt das Impressum der TU Darmstadt Vertretungsberechtigter des FG Echtzeitsysteme ist Prof. Dr. rer. nat. Andy Schürr.