|Re: roadmap for m2m and m2t [message #462831 is a reply to message #450838]
||Sun, 02 August 2009 15:15
| Krzysztof Kowalczyk
Registered: July 2009
> There is an MTL lang for m2t. Is this the only available lang?|
If you are interested only in Eclipse projects we have:
- Acceleo (I guess that you call it MTL) - the M2T language that try to
implement OMG standard.
There is also:
- JET2 language - language similar to JSP / ASP using XPath to query the
model. It handle Java generation especially good but it is quite verbose
- M2T Xpand - language family M2T (Xpand), M2M (Xtend), validation
(Check) languages that are really productive, but look strange on
beginning. It is based on OCL but goes quite far from it. It handle UML
profiles in cool way.
- Espilon language family - huge family of languages (M2M (ETL),
M2T(EGL), model comparison, merging, wizard generation...). It has
probably best looking documentation and tools of all modelling projects.
- GMF Xpand language (from GMF project )- GMF is using its own (not
compatible with normal Xpand) implementation of Xpand M2T language and
provide integration with QVTo so one can use QVTo queries in Xpand.
AFAIK normal Xpand has better tools (editor, debugger, etc.)
> Is there a dependency on m2m lang to be able to use MTL; I mean can I
> use MTL(m2t) even if I use qvto or qvtr or atl(m2m)?.
You can use any number of languages as long as you use EMF models. You
can compose your transformation with steps defined in MWE or ANT. You
get EMF model after M2M steps so you can use such model in M2T step.
Each M2T language is using some query language, but AFAIK Acceleo is
using OCL and does not need any other M2M components.
MWE (Modeling Workflow Engine) is dedicated for MDA workflow definition,
but tools like ATL or Epsilon use ANT by default. Right now MWE is used
mostly in M2T Xpand and partially in MoDisco.
But if you need both M2M and M2T you should consider the aspect of
queries reusability. AFAIK you can not reuse query / function from ATL
or QVTo in Acceleo. So if you use both M2M and M2T you can end up
writing similar functions 2 times.
M2T Xpand and Epsilon provide integration between M2M and M2T languages
(and Java!). Both provide really good tools and additional components.
They can handle models that are not EMF based (e.g. Epsilon can handle
MDR models, Xpand can handle XML files with XML Schema or Java objects
like normal models).
Here is discussion about some differences between projects:
Powered by FUDForum
. Page generated in 0.01842 seconds