JunoMDA(TM) is an implementation that follows the MDA pattern. Its purpose is to generate php web based application starting from a PIM model. Juno takes its name from ancient Greek mythology – Giunone (Hera) and it is a "multiface" for which JunoMDA(TM) with different cartridges (for PHP or .net or others) can generate runnable applications (for this release only php is supported). It creates the part of code that is usually considered trivial, so it is useful since it allows to save time that is usually spent to write the common part of the code, where it is also easily to make small trivial errors, hence the programmer can concentrate his time only on the business logic of the application, the core of the project. JunoMDA(TM) consists of an UML profile and a PHP AndroMDA Cartridge. A PIM of the target application is annotated with the PIM profile and the AndroMDA Cartridge generates an entire and complete php web based application. In compliance to the CBD approach, the generator takes care of creating the tTier, the eTier, the wTier and the uTier: the architectural style adopted is Component Based Development Approach (Herzum and Sims). The uTier generates the user interface in a template based presentation technology: Smarty. It uses a combination of HTML tags and template tags to format the presentation of the elements passed by the application, so it allows to separate application logic from its presentation.
JunoMDA(TM) start from a platform independent model (PIM), that is designed with UML and it is draw using a tool that allow to import/export models in XMI code. The PIM is analysed by the AndroMDA framework that combines the XMI code with a set of cartridges and translation-libraries to produce some components. JunoMDA(TM) is an AndroMDA plugin, it use a set of own cartridges (AndroMDA compatible) in order to generate php applications.
JunoMDA(TM) major features are: