SoTeSoLa 2012 Hackathon on Re-engineering: a model-based solution using MoDisco, ATL, Acceleo and Xtext


Jean-Sébastien Sottet (Public Research Centre Henri Tudor, Luxemburg) and Hugo Bruneliere (AtlanMod Team – Inria, Ecole des Mines de Nantes & LINA) collaborated and won a prize during the last SoTeSoLa 2012 Hackathon  in August.

The objective of this hackathon was to experiment on innovative Reverse & Re-engineering technologies by using the 101companies initiative as the source context (i.e. the legacy). To this intent, a small solution has been developed and proposed based on several Eclipse Modeling tools, namely MoDisco , ATL , Acceleo  and Xtext .

It implements three different (model driven) reverse engineering scenarios to demonstrate the variety and capabilities of these modeling tools:

  • Java model discovery from Java source code (using the MoDisco Java model discoverer) + Simple metrics computation from the obtained Java model (using a model transformation implemented in ATL) + HTML rendering/visualization of these computed metrics (reusing the MoDisco metrics visualization builder implemented with ATL)
  • Java model discovery from Java source code (using the MoDisco Java model discoverer) + Refactoring on the obtained Java model (using a model transformation implemented in ATL)  + Regeneration of the Java source code from the refactored model (reusing the MoDisco Java generator implemented with Acceleo
  • Json model discovery (new model discoverer implemented with Xtext) + Mapping from the Json model to UML2 for simplifying the representation as classes and instances (using a model transformation implemented in ATL)

All these scenarios have been integrated into a single project thanks to the MoDisco framework. Thus, three directly runnable MoDisco workflows are also provided. This solution is fully downloadable from here.

If you liked this post, you should subscribe to the blog feed or facebook page and follow my thoughts on twitter about software development or web design and social media .

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Powered by WordPress
More in reverse, tools
pynsourceGuiBeta01
PyNSource – Python UML tool – 1.6 released

enso
Ensō: Don’t Design Your Programs, Program Your Designs

Zurmo Homepage
Building Zurmo, an open source CRM

Close