hi Lofi,

Hard to tell, we need Matthias to come back from holiday, after that he will have to evaluate the current status and we will discuss how to move onto the next milestone.
My guess is that since the OCL translation is ready to be included with the next release we are going to move quickly, but an estimate on when is impossible because of what I just explained.
All the rest of changes are minor compared to that one, bugfixes and enhancements.

Moving from 2.x to 3.x is a must, especially for cartridge developers. Again, I cannot estimate the amount of trouble it will cause at your side, but I can explain the changes involved:

AndroMDA 2.x
AndroMDA 3.x
CartridgeHelper class: contains most of the logic to provide features to to the template objects. One class containing all the logic.
You will need to model your cartridge in UML, for each modeled object there will be a facade generated that can render services, it will be like each UML element exposed in the templates is intelligent. You can call platform specific methods on the objects, you might consider these facades to be the PSM elements that have been generated from the PIM. Anyway, no more cartridge helper classes.

Supports translation of OCL into Java code in the facades, this code will check the pre/post conditions and invariants on all cartridge facades.

Supports translation of OCL into EJB-QL and Hibernate-QL, very handy to express your finder methods in the UML and remaining on the PIM level
Uses velocity as templating engine
Supports any template engine. Integration is very simple do.
Supports Netbeans MDR
Will support more metadata repositories in the future.
XMI 1.1,1.2
XMI 1.1,1.2
UML 1.4
UML 1.4, UML 1.3 is planned, UML 2.0 is planned

QVT is planned

Future cartridges will probably not be compatible with earlier versions, but it depends. Currently under development (but no commitment): WebServices, WebWork, .Net, ... (people please do not ask for the binaries, they will be committed when they're done)




so basically point #1 is the one you are interested in, but all the others will affect your development too and will make it easier to complete the development.

  1. you will need to use the andromda-meta cartridge to model your cartridge in UML, with each PSM level element + the services it provides
  2. have andromda generate the facades from it
  3. implement the services in these facades
  4. use these object in your templates, your templates will almost read like English when your finished
this is roughly what you need to do, it took me 2 months to complete the first AndroMDA 3.x compliant bpm4struts cartridge, but this includes actual changes to AndroMDA 3.x itself too, and the learning curve to get in deep with XMI (JMI API) .. depending on the complexity of your cartridge this may vary.


I am very busy lately (next 6 weeks) but you can always post your questions and see what I can do.

good luck

-- Wouter



Lofi Dewanto wrote:
Hi Community,

I would like to know, whether it will be a new version
M02 in couple of weeks or so? Or in general, is the 3.x already
stable for a cartridge development? As I see that the development
is getting faster and faster :-)

In the meantime I managed to extend my EnhydraXMLC (presentation
layer) cartridge, so it also has a TreeNavigator, Perspective, etc.
and before I'm just too far from the 3.x (I still use 2.x), I think I should see the 3.x :-)

Can someone from the team tell me, how much trouble is that to upgrade
from 2.x to 3.x (cartridge development)?

Thank you!

Reply via email to