Monday, January 31, 2011
 

MPS export to Eclipse EMF

Over the last couple of days I have created an EMF export facility for MPS. You can export ecore files from language definitions, as well as XMI files from the instance models.

The export is integrated into the MPS generator facilities. Here is how you use it:

To export an ecore meta model, take any concept declaration in your language of choice and add an ecore export specification annotation (there is an intention for that). In this annotation, you have to specify the name of the to-be-created EPackage, the nsURI as well as the (absolute) path to where the file should be stored. The file's name will correspond to the name of the EPackage. Once you (re-)generate your language, the ecore file will automatically be written as well.

To export an XMI file, select any root element you want to export into an XMI file (currently it's one XMI file per root node). Once again, you create an annotation via an intention. Note that you can only annotate root nodes whose concept has an ecore export specification. In the annotation, you specify path and name, and when you generate the model, the XMI file is written as well.

Notice how nicely one can use the EMF export facility with any language (incl the meta language used for language definition) because of the annotation facility.

Note that the export currently doesn't yet support enumerations (I will work on that...).

You can find the code at https://github.com/markusvoelter/MPSEMFIntegration.
 
Comments: Post a Comment

<< Home

back to voelter.de

ABOUT ME
This is Markus Voelter's Blog. It is not intended as a replacement for my regular web site, but rather as a companion that contains ideas, thoughts and loose ends.

ARCHIVES
December 2005 / January 2006 / February 2006 / March 2006 / April 2006 / May 2006 / June 2006 / July 2006 / August 2006 / September 2006 / October 2006 / November 2006 / December 2006 / February 2007 / March 2007 / April 2007 / May 2007 / June 2007 / July 2007 / September 2007 / October 2007 / November 2007 / December 2007 / January 2008 / February 2008 / March 2008 / April 2008 / May 2008 / June 2008 / July 2008 / August 2008 / September 2008 / October 2008 / November 2008 / December 2008 / January 2009 / February 2009 / March 2009 / April 2009 / May 2009 / June 2009 / July 2009 / August 2009 / September 2009 / October 2009 / November 2009 / December 2009 / January 2010 / February 2010 / April 2010 / May 2010 / June 2010 / July 2010 / August 2010 / September 2010 / October 2010 / November 2010 / December 2010 / January 2011 / March 2011 / April 2011 / May 2011 / June 2011 / July 2011 / October 2011 / November 2011 / December 2011 / January 2012 / February 2012 / October 2012 / January 2013 /

FEED
You can get an atom feed for this blog.