AndroMDA is a code generation framework that follows the Model Driven Architecture (MDA) paradigm. It takes a UML model from a CASE-tool and generates classes and deployable components (J2EE or other) specific for your application architecture.
The AndroMDA Team is proud to release the first release candidate of version 3.0! It includes many new features, bug fixes, and much more documentation. Some of the more notable new features include:
- Code generation targeting the Spring framework has been improved greatly - generating Spring applications is now easier than ever
- Completely new How-to documentation for both Spring and bpm4struts cartridges
- Hibernate inheritance support has been tremedulously improved (all flavors of hibernate inheritance are now supported)
- Performance improvements (AndroMDA is now more than 30% faster for larger projects)
For exact details of all improvements that have been made in this release, please see our release site: http://www.andromda.org/changes-report.html#3_0-RC1
Enjoy working with Open Source MDA!
The AndroMDA Team
-
MDA code generation framework AndroMDA 3 released (20 messages)
- Posted by: Matthias Bohlen
- Posted on: March 31 2005 05:25 EST
Threaded Messages (20)
- Next AndroMDA training on April 25-28 in Bonn, Germany by Matthias Bohlen on April 01 2005 02:14 EST
- Who's Right? by Jon Kofal on April 01 2005 06:03 EST
- Wikipedia knows by naoli naoli on November 04 2009 07:46 EST
- Who's Right? by Jon Kofal on April 01 2005 06:03 EST
- Model transformation support by Donatas Ciuksys on April 01 2005 05:45 EST
- Re: Model transformation support by Matthias Bohlen on April 02 2005 08:18 EST
-
Re: Model transformation support by Donatas Ciuksys on April 02 2005 11:54 EST
-
Re: Model transformation support by Matthias Bohlen on April 02 2005 04:05 EST
- Re: Model transformation support by Donatas Ciuksys on April 04 2005 04:45 EDT
- Re: Model transformation support by Donatas Ciuksys on April 04 2005 04:48 EDT
-
Re: Model transformation support by Matthias Bohlen on April 02 2005 04:05 EST
-
Re: Model transformation support by Brian Miller on April 04 2005 10:42 EDT
-
Re: Model transformation support by Wouter Zoons on April 04 2005 12:18 EDT
-
Re: Model transformation support by Brian Miller on April 04 2005 03:40 EDT
- Re: Model transformation support by Wouter Zoons on April 04 2005 04:16 EDT
-
Re: Model transformation support by Brian Miller on April 04 2005 03:40 EDT
-
Abstract syntax tree by Matthias Bohlen on April 06 2005 11:44 EDT
-
Abstract syntax tree by Brian Miller on April 06 2005 05:26 EDT
- Re: Abstract syntax tree by Matthias Bohlen on April 07 2005 03:30 EDT
-
Abstract syntax tree by Brian Miller on April 06 2005 05:26 EDT
-
Re: Model transformation support by Wouter Zoons on April 04 2005 12:18 EDT
-
Re: Model transformation support by Donatas Ciuksys on April 02 2005 11:54 EST
- Re: Model transformation support by Matthias Bohlen on April 02 2005 08:18 EST
- MDA code generation framework AndroMDA 3 released by Michael Klaene on April 01 2005 08:28 EST
- MDA code generation framework AndroMDA 3 released by Michael Klaene on April 01 2005 08:29 EST
-
MDA code generation framework AndroMDA 3 released by Chad Brandon on April 01 2005 09:49 EST
- MDA code generation framework AndroMDA 3 released by portuzerus porto on March 18 2006 04:32 EST
-
MDA code generation framework AndroMDA 3 released by Chad Brandon on April 01 2005 09:49 EST
- MDA code generation framework AndroMDA 3 released by Michael Klaene on April 01 2005 08:29 EST
-
Next AndroMDA training on April 25-28 in Bonn, Germany[ Go to top ]
- Posted by: Matthias Bohlen
- Posted on: April 01 2005 02:14 EST
- in response to Matthias Bohlen
AndroMDA, the leading open source MDA code generation framework, is now backed with professional training and consulting services under the name AndroMDA.com. Matthias Bohlen, the founder of the AndroMDA project, is an expert in Model Driven Architecture and AndroMDA technology and designed a series of training courses that will give users the knowledge they need to make the most out of AndroMDA.
Whether you are a manager and ask yourself which impact MDA may have on your project or whether you are a software architect or developer, looking to use Model Driven Architecture to create a robust and responsive application - in-depth, hands-on training will take you through open source MDA and teach you how to optimize AndroMDA for your needs.
Explore the internals of MDA and the AndroMDA code generation framework together with a person who shares the passion for communicating what MDA is about. This is a unique offering in the industry where you learn directly from the creators of the technology.
Public training sessions are unique experiences. You meet your peers while immersing yourselves in the inner workings of AndroMDA. Trainings take place at high level business hotels.
You will need to bring your own laptop computer for all public technical courses.
Private hands-on training courses enable you to train a team of developers at one time at your own site. There is also some flexibility in the course curricula allowing you to tailor the training course to meet your specific needs - both in terms of subject matter and knowledge-level of your staff. Contact AndroMDA.com, we'll find a way to satisfy your needs!
The next public AndroMDA Boot Camp takes place from April 25 to April 28 in Bonn, Germany. Register online at http://www.andromda.com . In the boot camp, I'll guide you from scratch to writing your own AndroMDA cartridge in only 4 days time! I am looking forward to welcome you there, and I promise: it will be an exciting time!
Cheers...
Matthias Bohlen -
Who's Right?[ Go to top ]
- Posted by: Jon Kofal
- Posted on: April 01 2005 06:03 EST
- in response to Matthias Bohlen
from www.openmdx.org:
"What is openMDX?
openMDX is the leading open source MDA platform based on the Object Management Group’s Model Driven Architecture standards."
There's really no independent comparison of the MDA Frameworks, and would be interested in how AndroMDA differentiates itself from the competition. DOes anyone know if this information is available? -
Wikipedia knows[ Go to top ]
- Posted by: naoli naoli
- Posted on: November 04 2009 19:46 EST
- in response to Jon Kofal
see this wikipedia page: http://en.wikipedia.org/wiki/Comparison_of_code_generation_tools http://tankogen.free.fr: Tankogen is a free code generator framework that allows to quickly develop reusable and user-friendly code generators. No new language to learn: Xpath basic knowledge is sufficient: -
Model transformation support[ Go to top ]
- Posted by: Donatas Ciuksys
- Posted on: April 01 2005 05:45 EST
- in response to Matthias Bohlen
Hello Matthias,
Are you thinking about supporting model transformations (via your own implementation or just integrating/interoperating with other transformation tool, e.g. Mia-Software http://www.mia-software.com/) ?
Thank you,
Donatas -
Re: Model transformation support[ Go to top ]
- Posted by: Matthias Bohlen
- Posted on: April 02 2005 08:18 EST
- in response to Donatas Ciuksys
Hi Donatas,
yes, we support model transformation although most of our users might not be aware of it and are not yet using it because our samples do not yet show it :-)
The necessary steps inside AndroMDA are:
1) It loads the model into a MOF repository.
2) It instantiates the PIM abstract syntax tree (AST).
3) It wraps the AST objects with metafacade objects.
4) The facades transform the PIM AST into a PSM AST.
5) Templates generate text from the PSM AST objects.
6) The PSM AST objects are thrown away after the templates have transformed them to text (e.g. source code).
At the moment, most users skip step #4 and let the metafacades produce String objects that fill the placeholders inside the templates. True model transformation has significant advantages over this simple approach.
At the JAX conference this year (see http://www.jax.de ), I'll show model to model translation from step #4 above in a practical demo ("model transformation in practice"). The AndroMDA Boot Camp training also shows how to do it in practice.
Cheers...
Matthias -
Re: Model transformation support[ Go to top ]
- Posted by: Donatas Ciuksys
- Posted on: April 02 2005 11:54 EST
- in response to Matthias Bohlen
Thanks for information, Matthias.
One more question: does AndroMDA have (or will have) some language to define model-to-model transformations and what are relationships to emerging Q/V/T OMG standard?
Greetings,
Donatas -
Re: Model transformation support[ Go to top ]
- Posted by: Matthias Bohlen
- Posted on: April 02 2005 16:05 EST
- in response to Donatas Ciuksys
Does AndroMDA have (or will have) some language to define model-to-model transformations and what are relationships to emerging Q/V/T OMG standard?
Hi Donatas,
currently, the model-to-model transformations are done in plain Java. As soon as the OMG will select one of the QVT proposals to finalize a standard, we will support that one. In the meantime, we stick to Java.
Cheers...
Matthias -
Re: Model transformation support[ Go to top ]
- Posted by: Donatas Ciuksys
- Posted on: April 04 2005 04:45 EDT
- in response to Matthias Bohlen
<blockquoteHi Donatas,currently, the model-to-model transformations are done in plain Java. As soon as the OMG will select one of the QVT proposals to finalize a standard, we will support that one. In the meantime, we stick to Java.Cheers...MatthiasSo this going to be interesting! It is already now interesting :)
If somebody is interested in the latest 2nd revision of Q/V/T proposal, here it is (March 2 2005): Revised submission for MOF 2.0 Query/View/Transformation version 2 -
Re: Model transformation support[ Go to top ]
- Posted by: Donatas Ciuksys
- Posted on: April 04 2005 04:48 EDT
- in response to Matthias Bohlen
Hi Donatas,currently, the model-to-model transformations are done in plain Java. As soon as the OMG will select one of the QVT proposals to finalize a standard, we will support that one. In the meantime, we stick to Java.Cheers...Matthias
So this going to be interesting! It is already now interesting :)
If somebody is interested in the latest 2nd revision of Q/V/T proposal, here it is (March 2 2005): Revised submission for MOF 2.0 Query/View/Transformation version 2 -
Re: Model transformation support[ Go to top ]
- Posted by: Brian Miller
- Posted on: April 04 2005 10:42 EDT
- in response to Matthias Bohlen
It instantiates the PIM abstract syntax tree (AST).
What you strangely call an AST is presumably just a document object model (DOM) ?It wraps the AST objects with metafacade objects.
Metafacade? -
Re: Model transformation support[ Go to top ]
- Posted by: Wouter Zoons
- Posted on: April 04 2005 12:18 EDT
- in response to Brian Miller
<quote>Metafacade?</quote>
metafacades are services that wrap elements from the meta-model: let's say you have modeled a simple class in UML but you would like to interface with it using a domain specific API such as for DBs, then you could have a metafacade called 'Table' wrapping this 'class' element: doing $table.columns would return the underlying class attributes and associations, $table.tableName could return the name modeled in UML but with all characters in uppercase, etc..
each cartridge defines it own meta-model with its unique set of metafacades that map onto the the elements in the UML model, the runtime instances of these facades make up the PSM for that specific UML model
FYI, AndroMDA exposes these facades in templates to easily generate code, it makes the templates much more readable as the transformation know-how is defined in these facades (java code)
-- Wouter -
Re: Model transformation support[ Go to top ]
- Posted by: Brian Miller
- Posted on: April 04 2005 15:40 EDT
- in response to Wouter Zoons
metafacades are services that wrap elements from the meta-model ... each cartridge defines it own meta-model with its unique set of metafacades that map onto the the elements in the UML model...
This sounds like stereotypes, an OMG-standardized artifact. -
Re: Model transformation support[ Go to top ]
- Posted by: Wouter Zoons
- Posted on: April 04 2005 16:16 EDT
- in response to Brian Miller
<quote>
This sounds like stereotypes, an OMG-standardized artifact.
</quote>
they are closely related yes, you can use stereotypes to control how a metafacade is mapped
in AndroMDA you can use a stereotype such as 'ValueObject' on a class to have the ValueObjectFacade wrapped around it, but this approach is rather limited
recently the AndroMDA core has been extended to allow these 'wrappings' to be based on metafacade properties in addition to stereotypes, this clearly has allowed much greater flexibility in the use of metafacades
example: suppose an AndroMDA cartridge-developer wants to put the 'MyPackage' stereotype on a package to denote that all classes owned by that package are to be wrapped by a MyClassFacade
instead of requiring the user to model the 'MyClass stereotype onto each individual class the developer can now simply say: "if the package owning this class has the 'MyPackage' stereotype then wrap it, otherwise don't",
so you see, mapping metafacades envelopes more than just the notion of stereotypes -
Abstract syntax tree[ Go to top ]
- Posted by: Matthias Bohlen
- Posted on: April 06 2005 11:44 EDT
- in response to Brian Miller
What you strangely call an AST is presumably just a document object model (DOM) ?
Well, a DOM on a much higher level, yes. It is an in-memory graph made of instances of the metamodel classes. At the moment, our metamodel is mostly UML so the types of the objects that make up the AST are the classes in the UML metamodel.
Example: If you model a "Person" class with a "birthday:Date" attribute and a "calculateAge:int" operation, then you get an abstract syntax tree made of several objects:
a UMLClass object, name="Person"
an Attribute object, name="birthday"
a Datatype object, name="Date"
an Operation object, name="calculateAge"
a Parameter object, kind=VK_RETURN
another Datatype object, name="int"
When AndroMDA sees the UMLClass object, it wraps it with a ClassifierFacade object so that you can suddenly can call ClassifierFacade.getFullyQualifiedName() and you will get "com.yourcompany.somepackage.Person" as a result. And this is only the beginning!
In the AndroMDA Boot Camp (April 25-28 in Bonn), I'll explain everything in detail.
Cheers...
Matthias -
Abstract syntax tree[ Go to top ]
- Posted by: Brian Miller
- Posted on: April 06 2005 17:26 EDT
- in response to Matthias Bohlen
What you strangely call an AST is presumably just a document object model (DOM) ?
Well, a DOM on a much higher level, yes. It is an in-memory graph made of instances of the metamodel classes.
From your clarification I infer that Andro's engine is based neither on the XMI DOM nor JMI. This surprises me since presumably if JMI isn't good enough to base a model compiler on, then what exactly is JMI good for?! -
Re: Abstract syntax tree[ Go to top ]
- Posted by: Matthias Bohlen
- Posted on: April 07 2005 03:30 EDT
- in response to Brian Miller
From your clarification I infer that Andro's engine is based neither on the XMI DOM nor JMI. This surprises me since presumably if JMI isn't good enough to base a model compiler on, then what exactly is JMI good for?!
The engine we use for metadata processing is called Netbeans MetaData Repository (MDR, see http://mdr.netbeans.org). It parses an XMI file with the model, builds the in-memory AST that I was talking about, and makes the AST objects implement the JMI interfaces of the metamodel, as well as the reflective JMI interfaces.
So, all this is 100% compliant to the MOF standards by the OMG.
Based on the JMI-accessible objects, we add model transformation behavior by wrapping them with metafacades. A pure JMI metaobject has no behavior, that's why.
Cheers...
Matthias -
MDA code generation framework AndroMDA 3 released[ Go to top ]
- Posted by: Michael Klaene
- Posted on: April 01 2005 08:28 EST
- in response to Matthias Bohlen
If I want to generate an app completely independent of EJB, and deploy to Tomcat, can I do that today with MDA?
I see mention of Hibernate, Spring, etc., but at a quick glance it looked as if the example apps still used Stateless Session Beans.
Thanks,
Mike -
MDA code generation framework AndroMDA 3 released[ Go to top ]
- Posted by: Michael Klaene
- Posted on: April 01 2005 08:29 EST
- in response to Michael Klaene
If I want to generate an app completely independent of EJB, and deploy to Tomcat, can I do that today with MDA?I see mention of Hibernate, Spring, etc., but at a quick glance it looked as if the example apps still used Stateless Session Beans.Thanks,Mike
Sorry, meant can I do that with 'AndroMDA'? -
MDA code generation framework AndroMDA 3 released[ Go to top ]
- Posted by: Chad Brandon
- Posted on: April 01 2005 09:49 EST
- in response to Michael Klaene
Hi Mike,
Yes you can do that, very easily. The Spring cartridge by default wraps the services with stateless session beans, however all you need to do is change a property and the ejb generation goes away (no code changes at all). A lot of our users use the Spring cartridge without EJB and deploy to Tomcat.
The application generator (for getting started very quickly with AndroMDA), doesn't generate a standalone war structure yet, it assumes an ear (however it can be easily changed once the structure has been generated). We're planning on making the application generator generate structures for stand-alone wars as well for 3.0 final. -
MDA code generation framework AndroMDA 3 released[ Go to top ]
- Posted by: portuzerus porto
- Posted on: March 18 2006 16:32 EST
- in response to Chad Brandon
Me too, I saw a mention of Hibernate, Spring, also a I saw a lot of Examples that is for you!
AndroMDA comes with an array of sample applications. We have set up these sample applications on our server so you can have a look at what is possible with AndroMDA.
CRUD Sample: http://www.andromda.org/crud
Animal Quiz: http://www.andromda.org/animal-quiz/
Online Store: http://www.andromda.org/OnlineStore/
Enjoy!
Alexis Quirós - Argentina
=========================
(aquiros at cubika dot com)
(alexisquiros at gmail dot com)