Hi Luis, hi Stephane, thanks for your questions. I'll answer them here:
Q: AndroMDA seems to focus only on J2EE? A: No. The philosophy of AndroMDA is to be a code generation framework based on the MDA specification(s) by OMG. The J2EE capabilities contained in AndroMDA are meant only as a proof of concept - we made the cartridges so that people can see: Yes, AndroMDA works for a complex environment. When you look into AndroMDA a little deeper, you will find that: * We load a PIM, currently based on UML 1.4 but now configurable for any metamodel. * We represent that PIM in memory as an abstract syntax tree (AST), one object per model element. * We wrap each element in the AST inside another object (called a "metamodel facade" or "metafacade" for short) that can transform that PIM model element into a set of PSM elements or can simply return a "PSM-formatted representation of that PIM element. * We then run a template engine (Apache Velocity, for example) and let it access that "PSM-formatted representation" and transform it to source code or other text files. The key thing to understand about AndroMDA is: Contrary to other tools we do not ship "out of the box" solutions (although the sample J2EE demo cartridges we supply are very very close). Instead, the process is as follows: 1) An architect of the target project analyzes the repeatable and boring aspects of his architecture and decides which ones should be automated. 2) Then, she writes so-called "cartridges" for AndroMDA that do the code generation for her. Cartridges consist of metafacades (modeled in UML and generated by AndroMDA) and source code templates. 3) AndroMDA takes care of all that model loading, AST building, metafacade instantiation and template engine invocation and finally invokes the architect's cartridge templates. Now, all this is completely generic and independent of a particular target platform (except you need a JVM to run AndroMDA itself at build time!). We have configurable mappings from PIM datatypes to programming language datatypes and to database types. So, nothing would keep us/you from generating code in C# for .Net, using ASP.Net and ADO.Net and let everything run on Mono or Windows Server. When the architect decides that she wants to generate Cobol code for an IBM 360, she can simply write a cartridge for that platform, too! (Although I would not recommend that to her). :-) Summary: * No, AndroMDA is not focused on J2EE. * The J2EE cartridges are just meant to be excellent samples for how to write cartridges. * You need an experienced architect to customize AndroMDA for your project. * I am happy to assist you with that. ---- Your next question: ---- Q: According to my current knowledge of MDA the transformation from Platform Independent Model (PIM) to Platform Specific Module (PSM) should be implemented through a J2EE profile (something I would classify as a passive layer on which the transformation would be based). AndroMDA is more like an active element to which a PIM is given as input and it will make it into a J2EE application (and not a PSM). A: It depends on what you mean by "profile". A UML profile, for example, is just a set of modeling conventions based on stereotypes and tagged values. We use a UML profile for enterprise applications, close to OMG's EDOC profile but much simpler than that. You use stereotypes like <<Entity>>, <<Service>>, <<FinderMethod>>, etc. and parameterize code generation by tagged values that you attach to the PIM classes. An example for such a tagged value is "@andromda.ejb.query" which tags a <<FinderMethod>> operation so that the PSM objects and the templates know which EJB-QL query string is attached to that operation. You could attach more tagged values to the same <<FinderMethod>> that would allow you to generate Hibernate queries or ADO.Net queries from the same PIM. About active vs. passive: AndroMDA itself is an active code generation framework that loads a model and invokes cartridges (a plug-in mechanism) that generate PSM objects and text files, for example source code or config files. Cartridges consist of PSM-generating metafacades and text-generating templates. Summary: * A profile is used during PIM modeling. * AndroMDA is active and extensible. * AndroMDA generates PSM objects and then text files. ---- Your next question: ---- Q: Is AndroMDA approach/architecture flexible enough to use it in the future as a means to transform a PIM into a, for instance, .Net application? Does AndroMDA address this kind of extensibility for a MDA tool? A: Yes, it is flexible and extensible. The AndroMDA 3.0 architecture consists of three main elements: Repository, metamodel and cartridge. A repository is something that can load an arbitrary metamodel and can then load models based on that metamodel. A metamodel is a model that can describe the structure of a set of models (UML has a metamodel, for example). A cartridge is a set of metamodel facades and templates. The repository does not know which metamodel and model it loads. The metamodel does not know into which repository it was loaded. The metafacades in the cartridge know about the metamodel AST objects they hide and transform to PSM objects. The templates know about the metafacades and the PSM objects from which they generate their code but know nothing about the metamodel itself and the repository. Summary: * Everything is pretty independent and light-weight. * You can extend AndroMDA in all three architectural elements, that means: * Yes, you can generate from an arbitrary repository, loaded with models based on an arbitrary metamodel, transform into objects of an arbitrary PSM that will be transformed into arbitrary text files. Is that flexible enough for you? :-) ------ Stephane's question: ----------------- Q: I've told him that AndroMDA "follow MDA pardigm" and is not a real MDA platform, I sent him to openMDX. A: This was possibly a mistake, depending on what Luis calls a "real MDA platform". Luis should decide if AndroMDA is a real MDA platform, based on the answers to his questions above. Luis, what do you say? Cheers... Matthias Original Message: ----------------- From: [EMAIL PROTECTED] Date: Wed, 7 Apr 2004 14:05:22 CEST To: [EMAIL PROTECTED] Subject: [Andromda-devel] A strategical and technical question from Luis Hi evrybody, I've a good question on AndroMDA by Luis ([EMAIL PROTECTED]) from ArgoUML list. I've tried to answer him but I also told him I'll copy to this list so he maybe will have a more pecise answer (It seems to be an good and important question): CUT AND PASTE "As a return to my attemptive (I hope with 50% accuracy) to answering your questions I would like you to answer the following question: AndroMDA seams to focus only on J2EE (I only knew about it a few days ago, so, maybe I'm wrong here). According to my current knowledge of MDA the transformation from Platform Independent Model (PIM) to Platform Specific Module (PSM) should be implemented through a J2EE profile (something I would classify as a passive layer on which the transformation would be based). AndroMDA is more like an active element to which a PIM is given as input and it will make it into a J2EE application (and not a PSM). Is AndroMDA approach/architecture flexible enough to use it in the future as a means to transform a PIM into a, for instance, .Net application? Does AndroMDA address this kind of extensibility for a MDA tool? - This is the approach I've seen proposed for Agile MDA in a white paper in OMG site." I've told him that AndroMDA "follow MDA pardigm" and is not a real MDA platform, I sent him to openMDX. If someone can take pleasure to answer this strategical question : [EMAIL PROTECTED] THANKS ------------------------------------------------------------- NetCourrier, votre bureau virtuel sur Internet : Mail, Agenda, Clubs, Toolbar... Web/Wap : www.netcourrier.com T�l�phone/Fax : 08 92 69 00 21 (0,34 � TTC/min) Minitel: 3615 NETCOURRIER (0,16 � TTC/min) ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&op�k _______________________________________________ Andromda-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/andromda-devel -------------------------------------------------------------------- mail2web - Check your email from the web at http://mail2web.com/ . ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click _______________________________________________ Andromda-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/andromda-devel
