SimpleGT

Introduction

SimpleGT is a minimal graph transformation language, based on double push-out (DPO) semantics. SimpleGT is built on top of the Eclipse Modeling Framework (EMF), EMFText, and SimpleOCL, and is intended as a proof-of-concept transformation language for the EMF Transformation Virtual Machine (EMFTVM), which allows integrated execution of heterogeneous model transformation languages, much like Microsoft's Common Language Runtime (CLR). EMFTVM is currently part of the Eclipse ATL project, and also provides a compiler for ATL.

Below you can find an example of SimpleGT code:

Example SimpleGT code

This code transforms a model “g” that conform to the “Graph” metamodel. It first deletes all incoming edges to all nodes named “n1”, and then deletes all nodes named “n1”. For detailed examples, check out the TTC 2011 Hello World Eclipse project from our Subversion:

svn co http://soft.vub.ac.be/svn-pub/TTC2011/

Some more background on the included transformations can be found in the TTC 2011 hello world assignment and the README.txt file included in the above Eclipse project folder.

Update: SimpleGT now also supports unique rules. Unique rules only match once against each distinct input pattern, preventing infinite applications of the same rule to the same pattern. (16/02/2012)

SimpleGT/EMFTVM performance is quite good compared to other graph transformation tools. Here you can find an (informal) performance comparison based on Gergely Varró's STS benchmark.

Contact

System Requirements

You'll need the following installed on your computer:

Download & Install

To download and install the SimpleGT Eclipse plugin, install it from the Eclipse update site:

More help on how to install Eclipse features from update sites can be found here.

See links for the source code.

Running SimpleGT/EMFTVM modules

EMFTVM includes a separate launch configuration dialog that looks very much like ATL's launch configuration dialog. It can be found via “Run → Run Configurations…”.

EMFTVM Launch Configuration Dialog

EMFTVM also includes its own Ant tasks. See this example build.xml file to find out how to use the Ant tasks.

Publications

Links

 
research/mdd/simplegt.txt · Last modified: 10.10.2013 13:35 by dwagelaa
 

© 2014 • Software Languages Lab • Submit comments and bugs to our Bugzilla or to the webmaster