Executing ATL transformations from Java

Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone

Victor Guana has announced the release of ATLauncher an eclipse project with a simple standalone Java class, that can be reused to run ATL (EMFTVM) model-to-model transformations programmatically.

This has been always possible but as he says it was not documented so for non-ATL experts it was very difficult to make it happen so as part of his vision (shared by myself and many others in the modeling community as key point for a wider adoption of MDE techniques) to facilitate the integration of MDE tools in general Software Engineering toolboxes, he “has carefully picked the right dependency libraries required to use the ATL engine outside of its eclipse-plugin capsule. The ATLauncher can be seamlessly integrated with any Java solution, it can be used in mobile applications, and even made into a web service that execute small transformation scripts.”. If you like the idea, feel free to contribute/fork the ATLauncher project on GitHub.

In case you wonder, this is not the only tool with a similar goa. The ATL EMFTVM Standalone engine is another utility to run ATL transformations (using the EMFTVM VM) outside of the Eclipse environment. It’s been mainly designed to be executed from command line easing the execution of ATL transformations in shell/ant scripts, but nothing hinders you from reusing it to embed ATL into your own application. All the required dependencies are already bundled, providing a ready-to-use tool.

We provide a self-contained fat JAR that can be directly downloaded from here

The standalone engine is used as follows:



$ java -jar atl-emftvm-fatjar.jar
Missing required options: f, s, t, i
usage: java -jar  -f  -s
        -t  -i 
       [-o ] [-q]
 -f,--file      ATL transformation file
 -s,--source-metamodel   Source metamodel file
 -t,--target-metamodel   Target metamodel file
 -i,--input                 Input file
 -o,--output               Output file (optional)
 -q,--quiet                                    Do not print any information
                                               about the transformation
                                               execution on the standard output
                                               (optional, defaults to false)

$ java -jar atl-emftvm-fatjar.jar -f Class2Relational.emftvm -s Class.ecore -t 
Relational.ecore -i input.xmi
Timing data:
      Loading finished at 1,108435 seconds (duration: 1,108435 seconds)
      Matching finished at 1,138189 seconds (duration: 0,029753 seconds)
      Applying finished at 1,149688 seconds (duration: 0,011499 seconds)
      Post-applying finished at 1,149742 seconds (duration: 0,000054 seconds)
      Recursive stage finished at 1,149776 seconds (duration: 0,000034 seconds)
      Execution finished at 1,149847 seconds (duration: 0,000105 seconds)

Unleash the power of ATL!

Tweet about this on TwitterShare on FacebookBuffer this pageShare on RedditShare on LinkedInShare on Google+Email this to someone
Tags:,
Comments
  1. Christoforos Zolotas

Reply

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