Home » Modeling » EMF » Searching THE transformation framework for EMF
| |
Re: Searching THE transformation framework for EMF [message #428700 is a reply to message #428689] |
Thu, 26 March 2009 19:53 |
Krzysztof Kowalczyk Messages: 113 Registered: July 2009 |
Senior Member |
|
|
> Hi there,
>
> I'm looking for THE transformation framework for EMF models to EMF
> models. Is there a quasi-standard for that or something that might
> evolve to that?
Hi,
I spend some time on checking which Model 2 Model solution would be good
for me so maybe my opinion on them would be useful for you. Order does
matter, if not sure which one to choose, take the first from the list
and look buy the mentioned book ;)
In Eclipse there are:
a) QVT (Operational today and QVT Relation in future)
As Ed said already, it is part of standard (OMG QVT) so it is quite
possible that it will survive for few next years ;) It is imperative
language that use OCL.
The good:
- can be used together with Xpand from GMF for model 2 text
transformation (eventually one use M2T)
- it is a standard
- it is a normal Eclipse project
- have really good perspectives for future
- used in Eclipse itself (GMF uses QVTO)
- you can read about it in a book:
http://www.amazon.com/Eclipse-Modeling-Project-Domain-Specif ic-Language/dp/0321534077
The bad:
- verbose, I don't like the syntax
- QVT Relations is not ready
When QVT Relations will be ready it would be a real fun to develop M2M
transformation. QVTR is less verbose in basic transformations, but it
cannot handle complex ones without QVTO. If you would like to check how
does the QVT Relation look you can check
http://www.ikv.de/index.php?option=com_content&task=view &id=75&Itemid=77
b) ATL
Probably the most mature and tested in practise M2M language out there.
The easy things are easy and the complex are possible.
The good:
- fast
- mature, tested, good community
- version 3.0 ;)
- uses OCL
- Many existing transformations
(http://www.eclipse.org/m2m/atl/atlTransformations/) and projects using it
- it is a normal Eclipse project
- will not die in near future, too much project use it today
The bad:
- not a standard
- I don't like the syntax
- not integrated with M2T technologies (so if you will use one, you will
have to learn another language)
c) Xtend from Xpand
(Xpand from http://www.eclipse.org/modeling/m2t/?project=xpand , not the
GMF Xpand!)
Small imperative language that was not intended as M2M language, but
does it quite good. IMHO easiest to learn. Eventually I am using
The good:
- easy end compact (I like the syntax)
- it is derived from OCL
- can work on Ecore models, but also on Java objects ! and XML files
- great integrations with other projects -> can be used with Xpand to
generate text and with Xtext to define your own textual DSL
- really easy to use Java functions
The bad:
- for production you have to use http://www.openarchitectureware.org as
Eclipse version is not ready yet
- not a standard
- maybe QVTO scales (writing and organising the code) better when it
comes to long transformations (not sure about that)
- it is just a part of other project, not primarily focused on M2M
- some things are missing that are in OCL (but you can do it in
different way)
d) Epsilon
A set of languages for model transformation, comparison, merging, text
generation, wizard generation... It has cool support for GMF (you can
create checks, refactorings and scaffold GMF models). Lots of good ideas
not found elsewhere.
The good:
- great ideas
- great tools
- "metamodel agnostic" - can use Ecore, MDR and others
- full set of technologies for different use cases
The bad:
- it is "just" a research project and is not primarily focused on M2M:
"""
Epsilon is a component of the GMT research incubator and as such, it is
predominately research-oriented. This means that in Epsilon, precedence
is given to experimenting with interesting and novel features - as
opposed to producing a comprehensive industrial-strength platform. By
contrast, the OCL/M2M/M2T projects aim at providing industrial-strength
tools that will fully implement the respective OMG standards.
""" from http://www.eclipse.org/gmt/epsilon/faq.php
e) Viatra
Look to complex, but I can be wrong on that. QVT is for sure more future
proof.
Regards,
Krzysztof Kowalczyk
|
|
|
Goto Forum:
Current Time: Fri Apr 26 00:58:39 GMT 2024
Powered by FUDForum. Page generated in 0.03245 seconds
|