Transformation exercises - Exercise 1

Posted by Jesús Fri, 05 Oct 2007 15:38:00 GMT

This post opens a series of transformation exercises intended to learn to write model transformations in the RubyTL transformation language. The exercises will have an incremental difficulty, and each one will try to teach some features of RubyTL or something about model transformations in general.

I will try to publish an exercise each two or three weeks, and I will set a deadline to solve it (usually two weeks). After the deadline, I will publish "my solution" here, so that they can serve as documented model transformation examples.

Of course, the exercises can be solved in other transformation languages, and I will be glad to compare the solutions in several languages.

First exercise: parsing trees
In this exercise a model representing a generic concrete syntax tree is transformed into an abstract syntax tree of a simple language to define data structures.
You will learn to create simple transformation rules, how the binding mechanism works, and how to query the source model.

Your are provided with the problem statement, as well as a project ready to be imported into AGE.
Resources to address the exercise. *The project only works with the last version of RubyTL. So, please, refer to the quick start guide to know how to install the last version.

The deadline for this exercise is October 25. I hope you enjoy solving it.

1 comment

Version 0.3.2 released

Posted by Jesús Wed, 03 Oct 2007 11:20:00 GMT

The new version of AGE, 0.3.2, has been released. It has several bug fixes as well as a complete refactoring of the RubyTL core. Additionally, an update site has been created, so that it is possible to integrate AGE in an existing Eclipse installation (thanks Marcos!).

ChangeLog summary:
  • RubyTL refactoring.
  • New update site: http://gts.inf.um.es/age-updatesite
  • Support for MagicDraw's UML files (including profiles).
  • Embedded DSL to define BNF grammars + a LL(1) parser generator.
Installing from the update site
To install AGE from the update site the EMF plugin is required. The update site has been tested with Eclipse 3.3 and 3.2.

no comments