Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 345414

Summary: Feature proposal: ATL research VM with built-in composition support
Product: [Modeling] MMT.ATL Reporter: Dennis Wagelaar <dennis.wagelaar>
Component: EngineAssignee: mmt-atl.toolkit-inbox <mmt-atl.toolkit-inbox>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: dwagelaar
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:

Description Dennis Wagelaar CLA 2011-05-11 08:55:07 EDT
As model transformations have become an integral part of the automated software engineering lifecycle, reuse, modularisation, and composition of model transformations becomes important. One way to compose model transformations is to compose modules of transformation rules, and execute the composition as one transformation (internal composition). This kind of composition can provide fine-grained semantics, as it is part of the transformation language. The downside is that internal composition relies on specific transformation language semantics, and often applies to one transformation language only.

The EMF Transformation Virtual Machine (EMFTVM) aims to mitigate the problem of internal composition being specific to one transformation language by defining the composition mechanism at the VM level. The VM provides a common, executable semantics for (composition of) transformation modules and rules. Two internal composition mechanisms for rule-based transformation languages are generalised in this way: module import and rule inheritance. The EMFTVM is based on the Eclipse Modeling Framework (EMF), which represents a de facto standard for modelling today. As a result, the proposed composition mechanisms are specific to EMF.

The generality of EMFTVM – within the scope of EMF – is demonstrated by compiling more than one rule-based model transformation language to the VM, and by extension provide executable semantics for those languages. As a proof of concept, we discuss how ATL and graph transformations can be mapped to modules and rules in our VM. For this purpose, we've developed SimpleGT, a minimal graph transformation language on top of EMF, based on double push-out (DPO) semantics. The combination of ATL and SimpleGT already provides a nice spectrum of rule-based languages, as ATL is a model mapping language, and SimpleGT is a recursive model rewriting language.

The generality of EMFTVM also applies to the composition mechanisms implemented in EMFTVM: ATL's and SimpleGT's notion of module import and rule inheritance are mapped to the same implementation, and therefore have common executable semantics. In the long term, EMFTVM may evolve towards a general interoperability solution for model transformation languages that leverages commonalities between languages.

EMFTVM is available in the form of an Eclipse plug-in. EMFTVM is intended to become part of ATL as a research VM.
Comment 1 Dennis Wagelaar CLA 2011-05-11 09:04:21 EDT
Description: http://soft.vub.ac.be/soft/research/mdd/emftvm
Source code: http://soft.vub.ac.be/svn-pub/EMFTVM/trunk/
Comment 2 Dennis Wagelaar CLA 2011-06-22 05:46:20 EDT
Code approved for CVS check-in: https://dev.eclipse.org/ipzilla/show_bug.cgi?id=5171
Comment 3 Dennis Wagelaar CLA 2011-06-22 05:47:22 EDT
Code checked into the ATL CVS.
Comment 4 Dennis Wagelaar CLA 2017-06-05 09:04:56 EDT
Should have been CLOSED after comment 3.