Search
Thursday, November 20, 2008 ..:: EMF4Net ::.. Register  Login
Site Navigation

 Eclipse Modeling Framework for .Net (EMF4Net) Project Minimize

EMF4Net is an open source (EPL licensed) project with the goal to enhance the Eclipse Modeling Framework (EMF) with a code generation facility for the .Net platform. EMF4Net should allow you to generate C# code from your existing Ecore models and use that code in a similar way you can use the Java code generated by EMF.

The translation of the EMF core runtime from Java to C# is the main task of this project. The EMF core runtime comprises the following plugins:

  • org.eclipse.emf.ecore
  • org.eclipse.emf.common
  • org.eclipse.emf.ecore.xmi
  • org.eclipse.emf.ecore.change

Currently the project is in a early development state. What functionality is working right now? Well, all the samples in the tutorial on this site should work fine and probably a lot more. However plenty is still missing and there are for sure a wealth of bugs. When will it be complete? When will it solve my particular problem? John F. Kennedy probably would have answered this questions (t)his way:

"..my fellow EMF users, ask not what EMF4Net can do for you; ask what you can do for EMF4Net."

You are welcome to contribute to EMF4Net in every way you can. Try it, give feedback, report bugs, suggest changes, improve the code ... and we promise to invest our best effort to make EMF4Net valuable for you and the community.

To give a more precise answer to the question what is working and what is not, in the future it is planed to write unit tests to verify EMF features. The following table lists EMF features and gives hints to their current status:

 
Features Comment
EMF modeling artifacts
The following modeling artifacts have already been used in tests: EClass, EAttribute (which attribute types are supported and how they are mapped is listed here), EReference (unidirectional and bidirectional 1-1, 1-n, n-m, containment was not tested), EEnums, inheritance. Other artifacts are implemented but are not tested yet.
Reflective EObject API
A simple example is already working (see here)
Notification and Adapters
It seems to work.
XML and XMI serialization
Next big milestone. The reflective EObject API is working and a simple XMI serialization use case  is implemented (Class with attributes can be serialized).
Dynamic EMF Not tested yet but some groundwork exists
Eclipse Plugin A EMF4Net Eclipse plugin that makes the usage and customization of the EMF4Net C# codegeneration facility as straight forward and easy as possible. This feature is currently in development.
Visual Studio 2005 project file generation  Generation of a Visual Studio 2005 project (.csproj) file for the generated C# code is implemented. Automatic merging of references to the generated files into an existing project is possible.
C# style XML comments The C# code generated by EMF4Net should contain comments in a XML format as predetermined in the .Net SDK. This task is currently in development.
Validation Nothing has been done for validation so far. Is not high on the priority list.
Translation of org.eclipse.emf.ecore.change Nothing has been done for this so far.
EMF.edit, EMF.editor and EMF.test codegeneration Is currently not in the scope of the EMF4Net project. But once EMF4Net is working it should be possible to implement similar functionality.
Support for Mono Is definitively on the todo list but nothing has been done for it right now
JMerge / C#Merge Merging of existing/edited C# code with generated C# code is (at least currently) out of the scope of the EMF4Net project.
Annotated C# to Ecore importer (analog to the existing annotated Java to Ecore importer) Is currently not in the scope of the EMF4Net project.


Syndicate   Print   
The content of this site is under the EPL   Terms Of Use  Privacy Statement
DotNetNuke® is copyright 2002-2008 by DotNetNuke Corporation