Matthias Bohlen wrote:

>Hello fellow committers,
>
>today it has been a beautiful summer day in Meckenheim, Germany, and
>my wife and I have spent a day in the garden, removing old plants
>and replacing them by new ones.
>
>That inspired me to start the same with AndroMDA! Are you all ready to
>join?
>
>As you may possibly know, I have been analyzing model transformations
>and the OMG's new QVT spec during the last few weeks and I feel it is
>time to act, now. I had a short email contact with Frédéric Jouault
>from the ATL (Atlas transformation language) team. He said they will
>release ATL with the sources at the end of the summer. This would be
>an open source model transformation engine, quite close to the QVT
>spec, a good opportunity for us to jump on the QVT wagon ourselves.
>
>What would be the advantage for us if we use an explicit PSM and model
>transformation from PIM to (possibly several) PSMs in AndroMDA? I see
>two advantages for us:
>
>* It will enable us to do model change propagation (see my Confluence
>page on that exciting feature). Change a class name in the UML model
>and watch Eclipse rename all kinds of artifacts, for example!
>
>* It will make our cartridges much more maintainable and reusable
>across different PSMs.
>
>After thinking about Frédéric's statement that ATL will still take
>some time, I realized that we should not wait but do our homework
>(which is quite a lot). Until ATL becomes available, we can write
>model transformations in Java that translate from one metamodel to
>another (for example, from UML to 3GL). I remember that Pieter van
>Gorp once said he has a metamodel for Java so we could possibly start
>using that one as a starting point.
>
"After thinking about Frédéric's statement that ATL will still take some 
time"

What are you referring to....ATL's convergence with QVT or something else?

Also, what do you mean with "until ATL becomes available"...its seems to 
be available now (at least the binaries), I've been looking at and 
playing with it some and it looks like it already does what we need.    
I think we should look at using that before we decide to do the 
transformations in java (it seems like a lot more work from what ATL 
seems to do already). 

>All this can and should be done based on MOF, e.g. Netbeans MDR. An
>old test case in the AndroMDA core once showed how to create model
>elements in MDR (I do not know whether that one is still part of the
>code base or has been thrown away in the meantime).
>  
>
We already do a small "model transformation" using Java when we add the 
default identifiers to entities (so we know how to do it already).

>The main things for us to do would be the following:
>
>---Begin vision statement---
>
>1) Create a branch for 4.0, enabling us to rearrange things
>arbitrarily and still be able to ship bug fixes for 3.x.
>  
>
Yeah I've been thinking we should start a 4.x branch soon.  I'll go 
ahead and create one.

>2) Introduce one or more new metamodels for PSMs. We would use UML to
>design the metamodels and use the UML2MOF utility of Netbeans MDR to
>transform the UML models into true metamodels based on MOF as a
>meta-meta-model.
>
>3) Make all cartridges translate from the UML AST to the PSM AST
>(based on that new metamodel) or from the PSM AST to source code,
>using the template engine. Or, the cartridge can even translate from
>one intermediate PSM to another, passing it to another cartridge,
>etc., etc. The possibilities are endless. We will have to throw away
>almost all the methods in our current metafacades and replace them by
>methods which contain model transformations.
>
>4) Let's make everything work again. AndroMDA should work perfectly as
>it does today, just as a proof of concept.
>
>5) Then, let's really press the "ignition" button of the rocket: Let's
>generate code in C# for the Mono platform
>(http://www.mono-project.com/Main_Page) with NHibernate as a
>persistence mechanism (see their Confluence pages at
>http://wiki.nhibernate.org/display/NH/Home). Let's write a C#
>cartridge such that our transformations in the Hibernate cartridge
>work identically for Java and C# without changing one single line of
>code in the Hibernate cartridge! That way, we can show that our
>transformations are truly platform-independent. The Hibernate cartrige
>would transform into the (also to be developed) "3GL" metamodel, and
>the Java and C# cartridges would translate from 3GL to code, making
>the persistent entities run in J2EE as well as Mono or dot-Net.
>  
>
>6) As soon as step 4 works, we can develop model change propagation in
>parallel to step 5!
>
>---End of vision statement---
>
>This will take us a year or so but it's worth it! We will be able to
>throw away all kinds of duplicate template code that we have today,
>and our metafacades will become more systematic and maintainable, even
>when the complexity of future requirements from our user base
>increases.
>
>What do you think: Are you all ready to join? Feel free to ask
>questions before you dare to say yes! :-)
>
>Cheers...
>Matthias
>
>P.S.: By the way: AndroMDA will even become more componentized and
>portable: We will be able to exchange metamodels and model
>transformation rules with other MDA tools because everything will
>still be entirely based on OMG standards (at least when ATL will
>completely conform to QVT). We could export or import metamodels in
>XMI and transformations in QVT language. (At least if the other MDA
>tools adhere to the standards!).
>
>---
>
>Matthias Bohlen
>"Beratung, die Projekte erfolgreich macht..."
>
>Internet:
>   http://www.mbohlen.de/
>   [EMAIL PROTECTED]
>





-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_idt77&alloc_id492&op=click
_______________________________________________
Andromda-devel mailing list
Andromda-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/andromda-devel

Reply via email to