Skip to main content
Jump to: navigation, search

Modeling Corner

Revision as of 20:08, 24 December 2006 by (Talk | contribs) (Reviews)

Welcome to the Modeling Corner! On this page you will find materials contributed by the Eclipse Modeling Community. Want to contribute something? If you have a Bugzilla account, you can edit this page to add your own contribution or review others' work.

Or, you can post your contribution to Modeling @ Eclipse Plugin Central.


Atom Syndication Format in EMF

By Peter Nehrer, 2006-06-09
This project aims to provide an EMF-based model for representing the Atom Syndication Format. Its deliverables include an extensible Ecore model along with a set of generated implementation classes (both model and editing support). The Ecore model closely follows the official Atom Syndication Format Specification. Content rules that cannot be represented in the model itself are encapsulated in a set of external validators. This gives the model the ability to represent incomplete Atom documents or those that are not 100% standard compliant.


No reviews yet. Edit this document to contribute a review.

EMF Persistency Layer using Hibernate/JPOX with support for EJB3-EAnnotations

By Martin Taal, 2006-06-08
Elver EMF Store is a persistency solution for EMF using Hibernate or JPOX/JDO 2.0. It supports automatic creation of EMF to Relational Mappings and the related database schemas. The solution also contains a runtime layer to support specific EMF features. EMF Objects can be stored and retrieved using advanced queries (HQL or JDOQL). EMF resource implementations are provided for integration with EMF Editors. The persistence logic and mapping can be controlled using EJB3-like annotations. Most of the EJB3 mapping standard is supported.


Eclipse.pngEclipse.pngEclipse.pngEclipse.png EMF Persistency Layer using JDO/JPOX, 
a distribution and screenshot, by Noud deBrouwer, 2006-03-30
Zero-effort persistency. 

Sympedia GenFw Generator Framework

By Eike Stepper, 2006-02-04
Sympedia GenFw is a flexible and easy to use framework for software artifact generation. Input models can be associated with generators via extensible rule sets. Additional Content providers, generators and rules can be provided by Eclipse plugins.


Eclipse.pngEclipse.pngEclipse.pngEclipse.png Sympedia GenFw Generator Framework Review, 
by Philipp W. Kutter, 2006-05-25
We have been using GenFw productively in a large project in the financial industry over the last 3 months. 
Originally we have chosen GenFw because it allowed to do certain things (like project specific code 
formatting/adding removing templates) which where not working in EMF back then. The usage of GenFw was 
straight forward, and it helped us nicely manage our custom JET templates. The option to do EMF without 
merging is something very interesting in very large projects, like the one we worked on. The developer 
of GenFw, Eike Stepper did a tremendous job porting his framework back from Eclipse 3.2/EMF 2.2 to 
Eclipse 3.1/EMF 2.1. Without this special effort, our EMF introduction would have been canceled by 
the management. In the meantime the two main issues with EMF (formatting, adding/removing templates) 
are solved, and our client was ready to move on to 3.2. Currently we investigate the usage of GenFw 
for pure code generation with Jet Templates, which are triggered by OCL rules. Last but not least, 
I would like to mention that the tutorials where great to get our people started with the framework.

XML Processing Instruction support

By Peter Nehrer, 2006-12-05
This small project provides support for modeling XML Processing Instructions in EMF. It consists of a model for representing Processing Instructions and a customized XMLResourceImpl, which handles loading and saving of PIs. Currently, Processing Instructions are not supported natively in EMF.

To add support for Processing Instructions to your model, modify your model's Resource implementation to subclass PIResourceImpl instead of XMLResourceImpl. Furthermore, add PIItemProviderAdapterFactory to your ComposedAdapterFactory instances. When a Processing Instruction is encountered in the context of a mixed-content element (or the document root), it will be added to the corresponding feature map, much like text, comments, and cdata sections.

The code was compiled against Eclipse 3.2.1 and EMF 2.2.1 in J2SE-1.4 execution environment.


No reviews yet. Edit this document to contribute a review.



By Mark Kofman, 2005-08-02
MetaDiff is a generic model comparison solution. Generic, in a sense, that it should make possible to compare models based on different meta-models specified by EMF. It is important to point out that result is not a tool but a framework. In addition to model comparison functionality, framework should also give a possibility to extend available comparison algorithms, and provide practical way of working with different meta-models.


No reviews yet. Edit this document to contribute a review.

Open ArchitectureWare for EMF

By Sven Efftinge, 2005-05-25
The open ArchitectureWare framework for EMF consists of the following parts:

Workflow engine: You could think of it as an Ant for MDSD processes. [more]

Xpand ported to EMF: Xpand is a template language created for code generators, only. Therefore it's very simple and effective. It provides:

  • expressions on core model level (not Java level)
  • operations for ELists (filter, union, intersection, complement)
  • invocation of features on ELists (e.g "" will return a list of ecore:EString instances) - simple constructs (FOREACH, IF, LET)
  • a FILE construct (define which files to generate inside the templates)
  • Call to Helpers (static Java-Methods)

Xpandeditor ported to EMF:

  • syntax highlighting
  • code completion
  • syntax validation
  • outline view

An example and basic documentation is included.



Anyone doing complex model driven code generation should check oAW out.

I did my first pilot project in EMF using JET templates and was underwhelmed and then thrilled to discover another option after reading the MDSD article. Not to be critcal -- JET is a neat and simple solution for generating text from backing models and neccessary as a bootstrapping mechanism. But I the JET syntax was too "scripty" for my tastes -- it is after all a derivitave of JSP and I have a clinical aversion to angle brackets. But I did find JET very difficult to scan, and a more significant issue was a lack of abstraction and generality. It just didn't seem to be a solution that would be easy to quickly grok and to maintain in a team environment. Caveat- I have not kept up with JET in the last few months and I was not able to try the JET editor which I am sure would have made my expereince more positive.

Still, oAW was a revelation. Now, setup was difficult, and installation documentation was out of date. It appeared fiddly, and it seemed like I would never find the magical incantation to make everything work. The XTend language seemed to be arbitraily orthogonal to Java/C syntax. I mean, come on, «French Quotation Marks»!? Finally the range of technologies offerred seemed random and bewildering. All of this made me think of the joke about every programmer wanting to write his or her own language one day, using completly "novel" syntax, except for those of us who want to write ten.

But the forums had great support and really most of the issues I had came about because I hadn't read the (very terse) documentation correctly or had made some incorrect assumption about setup. And it turned out that the funky XTend syntax was actually an indication of great design. Precisely because the language doesn't look like Java or XML one can shift between the XTend code and the target language code very seemlessly and naturally. In fact, I think the biggest problem with JET is the use of the same language constructs at the meta-level. Even though my mind could handle the different levels conceptually, I felt like I was always doing mental backflips. And other oAW languages do follow the very consistent Expression language syntax, which is a quite elegant splice of Java and Functional languages. In short, I found myself using all of these langauges very quickly and very happily. But even without these benefits oAW would be worth using. XPand together with Extend is orders of magnitude more powerful, expressive and maintainable than a JET template based approach.

I've gone on too long, but if I sound like I am cheerleading it is out pure self-interest -- I want to see other EMF developer's using oAW too! In fact my pipe-dream is to see the .ecore codegen itself migrated to XTend.

IBM Model Transformation Framework

By Catherine Griffin, 2005-01-05
The IBM Model Transformation Framework supports the development of tools that compare, merge, transform or generate text from EMF models. Samples include generation of HTML documentation from Ecore models and a bi-directional UML2.0 to XSD transformation.


No reviews yet. Edit this document to contribute a review.

CDO Example Workspace

By Eike Stepper, 2004-10-11
CDO (Connected Data Objects) is an object persistence technology that integrates with EMF (Eclipse Modelling Framework) to transparently store objects of an arbitrary business model in a relational database system. This is an example workspace to demonstrate the basic functionality of CDO. Please visit the website for further instructions. Any feedback is greatly appreciated. Happy persisting...


A must have for those who love EMF and distributed applications, by Seweryn Niemiec, 2006-05-18
Imagine you have the same instance of
EMF model on many Eclipse platforms and machines. Editors are notified about changes made in other editors. Additionally you get model persistence in relational database. New version utilizes non-blocking IO and has well prepared, ready to use example of distributed EMF Editor and CDO Resource Browser.


TOPCASED Graphical Ecore Editor

By David Sciamma, 2006-05-09
TOPCASED provides a graphical ecore editor:

  • Wizard to create new ecore diagram from scratch or from an existing ecore model
  • Handle multi-diagrams
  • Tree or overview outline with full edition capabilities
  • Image export
  • Dedicated documentation view
  • ...lots of new features are coming TOPCASED is an opensource project licensed under EPL.
  • Download
  • Visit Site


No reviews yet. Edit this document to contribute a review.


By Jonathan Musset, 2006-04-25
Acceleo is an OpenSource code generator designed to implement the MDA approach and to improve software development productivity. It includes tools and editors making it easy to learn and to adapt to any kind of technology and it is fully based on EMF. Acceleo main features are the followings :

  • Any meta-model support including UML 2.0, UML1.4 (using a MDR bridge)
  • Template Editor with syntax colouring, in-line completion for meta-model elements, scripts, services and error detection for compilation and runtime errors
  • Reflective Editor for precise and real-time preview of generation results
  • Execution chains acting as a “glue” for real project generation, specifying which model to use & where and what to generate
  • Tree-like syntax very easy and natural to use
  • Fully extensible thanks to the use of Services developed in Java
  • Incremental generation support: manual code is kept after every generation Acceleo has been designed by MDA experienced users for real users, so we hope you enjoy it!
  • Download
  • Visit Site
  • Screenshot


Acceleo Review, by Adelino, 2006-05-21
After doing the quick start tutorial found on the Acceleo web site, I am very impressed by the simplicity and quality of this plug-in. Acceleo allows with a few clicks to generate code from an EMF model using one or more JET-like templates.

realMethods Framework

By Tyler Winston, 2006-01-30
Quickly generate multi-tier design pattern based J2EE applications from one or more ECore files. Includes complete support for Struts, Hibernate, Ant, Axis Web Services, and more. Portal and AJAX support are coming soon.


No reviews yet. Edit this document to contribute a review.

Open Source IDE for Laszlo 2.1 / Eclipse 3.1

By gham, 2005-08-12
IDE (Integrated Development Environment) for Laszlo is an open source technology preview of an Eclipse-based development environment for creating, editing, debugging, and testing applications based on the LZX (an XML and JavaScript description language. Version 2.1 adds support for Eclipse 3.1 and the Eclipse Web Tools project, as well as several different bug fixes. [more]


No reviews yet. Edit this document to contribute a review.


By michael lawley, 2005-06-22
Tefkat is an implementation of a fully-declarative model transformation language for EMF.

Tefkat features include:

  • support for multiple source and target models,
  • models based on Ecore, MOF2, UML2, and those derived from XML Schema,
  • a built-in editor,
  • a source-level debugger, and
  • generation of trace models linking source and target elements. 2006/04/04: Tefkat is

now Open Source!


Way Cool, by Simon Pope, 2005-07-16
I`ve been waiting for a public version of TEFKAT with much anticipation.

Dynamic JET Generator

By Joel Cheuoua, 2004-12-10
This is an Eclipse plugin, based on EMF and JET templates, whose goal is to ease the process of automating the code generation process. Using Merlin JET Generator, you'll be able not only to dynamically generate code from your EMF Genmodel, but also yo can have a better control on the generation thanks to a customizable mapping capability between the JET templates and any Genmodel elements


Dynamic JET Generator Review, by Ed Merks, 2005-06-01
I highly recommend the JET editor if you are doing editing of JET templates. It's cool!
Great .jet editor, by J366rg von Frantzius, 2005-04-06
The included .jet editor has very good syntax highlighting and some code completion, better than JETEditor. Works with Eclipse 3.1 M5 (0.4.6 unfortunately is broken with 3.1 M6).


By Chris Daly, 2004-11-10
Emfatic is a language for representing EMF Ecore models in a simple textual form.

There are currently several different ways to construct and modify EMF Ecore models, including annotated Java, XML Schema, Unified Modeling Language (UML) tools, and the EMF model editor. The advantage of Emfatic is that it represents an entire Ecore model in a single source file and it uses a Java-like syntax familiar to many programmers.

Emfatic comprises several Eclipse plug-ins, which include an editor and a parser for the language. The Eclipse plug-ins add actions that allow Emfatic source code to be compiled into an Ecore model and also allow Ecore models to be decompiled into Emfatic source code.


Emfatic Review, by Felix Leipold, 2006-06-12
Emfatic is a nice and clear way to express emf meta models. It's way less cluttered than annotated interfaces. I'd love to see it in the standard emf distribution, perhaps with autobuild emf->ecore.
Emfatic Review, by Rui Figueira, 2004-12-14
very cool! Auto-completion would be nice, however :D


By julien, 2004-10-25
EclipseUML provides an EMF native graphic editors with 8 diagrams and the Java code generation driving through class diagram directly. In the version 2.0.0 of Free edition, it is possible to export UML model to EMF.


No reviews yet. Edit this document to contribute a review.


By Alexander Rupsch, 2004-10-03
Editor for JET-templates. It is intended to support the development of JET-templates in a quality which is adequate to other eclipse language support.


JET-Editor Review, by Ed Merks, 2004-11-23
It's very cool and definitely makes templates easier to read and write.
Must have!, by Jorg von Frantzius, 2004-10-05
Working on complex .jet sources without this editor can drive you nuts. Made my JET coding life much easier.


By Alexander Rupsch, 2004-10-03
Marven is a model based generator implemented as eclipse plugin. It is based on EMF JET-templates and the UML 2.0 metamodel implementation for eclipse. It comes with a comprehensive example to generate EJBs out of UML-models.


No reviews yet. Edit this document to contribute a review.

XPath Support for EMF

By Peter Nehrer, 2006-02-16
This software component provides support for using the XPath language to navigate arbitrary EMF models. Jaxen is used as the underlying XPath engine, with a custom document model adapter that allows it to navigate EMF object graphs using XPath constructs.


No reviews yet. Edit this document to contribute a review.

Notification Gatherer

By Constantine A Plotnikov (on behalf of IBM ATS), 2004-10-07
The Notification Gatherer component is a simple utility component that automates listening to events that happen in EMF object graph. Such code usually is not very complex, but it is quite error prone because a lot of small things should be done in a lot of places. So, from our experience, the component enhances clarity of the code and reduces number of bugs. The component is a reimplementation of the idea that was previously implemented in NSMDF and NSUML open source projects. These projects have an idea that is similar to EMF one, but their APIs significantly differ from EMF API. The plug-in is submitted as patch to EMF team. URL points to corresponding RFE.


No reviews yet. Edit this document to contribute a review.


EMF Eclipse Forms Editor

By Steve Blass, 2004-10-04
This example demonstrates how to convert a generated EMF editor to an Eclipse Forms based editor by changing the generated editor to extend FormEditor rather than MultipageEditorPart and using addPages() rather than createPages(). In particular this example implements Master/Details form editing of the libary model presented in the EMF overview documentation.


EMF Eclipse Forms Editor Update, by Steve Blass, 2004-10-26
The form editor example has been revised. The new version is a stand alone plugin delivering a Master/Details editor able to edit arbitrary EMF models.
EMF Eclipse Forms Editor Review, by Mark Diggory, 2004-10-13
Great example, I might recommend packaging the source as a plugin projects so it can be reused without going through the process of setting up each plugin project just to get the source compiling. Great job.
EMF Eclipse Forms Editor Review, by Kiran, 2004-10-07
Hi Steve, This is a very good example which helped me a lot.

Sandwich Pattern

By Philipp W. Kutter, 2004-10-04
Frameworks on top of EMF: the Sandwich Pattern - see for details


No reviews yet. Edit this document to contribute a review.


Lightweight Modeling

By Ronald, 2006-04-30
This article on TheServerSide brought my attention to EMF. It might be interesting to others (newbies like me?).


No reviews yet. Edit this document to contribute a review.

EMF / GEF Shapes Example

By Chris Aniszczyk, 2005-06-17
This takes the GEF Shapes example and replaces its custom model with an EMF based one.


No reviews yet. Edit this document to contribute a review.

Back to the top