Model2Roo - ACME


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Model2Roo - ACME

  1. 1. Model2Roo: Web ApplicationDevelopment based on the EclipseModeling Framework and Spring RooJuan Castrejón, Genoveva Vargas-Solar, Rafael LozanoUniversity of Grenoble, CNRS, Tecnológico de MonterreyACME 2012
  2. 2. 2Background•  First version of the project presented in early 2011 Google Code Project Conference Paper
  3. 3. 3Objective•  Generate web applications, by transforming Class diagrams into Spring Roo commandsEcore, UML2 ATL Queries Spring Roo commandsSpring Roo details:Ecore Annotations, UML Profiles
  4. 4. 4Related work•  Web application development based on MDE techniques is a widely studied topic •  Web Modeling Language (WebML), WebRatio •  UWE approach •  Acceleo generators•  However, Model2Roo provides an association to modern development tools, through the Spring Roo project •  Spring Roo is responsible for the actual code generation •  Access to a wide variety of SpringSource projects
  5. 5. 5User-identified issues1.  Insufficient support for graphical environments •  Limited support for complex UML editors, such as Papyrus •  Limited support for numeric data types2.  Basic edition of Spring Roo properties •  Spring Roo properties could only be set as free text •  Users were required to know the domains for each property3.  Troublesome installation procedure •  Tool deployed as a single plugin file •  Manual installation of the required dependencies (ATL, Papyrus)
  6. 6. 6Technical issues1.  Maintenance of ATL queries •  Not a standard Model-To-Text specification2.  Output Spring Roo commands into a file •  ATL was designed primarily for M2M not for M2T •  In order to generate files, we had to modify ATL loggers •  Not an elegant solution, prone to subtle errors3.  Invocation of ATL queries from Eclipse plugin •  Limited documentation
  7. 7. 7Recent improvements1.  Transformations implemented as Acceleo templates •  Standard notation (MOFM2T) •  Powerful syntax editors •  Automatic generation of UI Launcher projects (Eclipse plugin)2.  Improved edition of Spring Roo properties •  Full support for Papyrus profiles (UML) •  Properties domains are specified in the UML profiles •  Fixed support for Ecore Annotations3.  Improved installation procedure •  Eclipse update site containing all required dependencies
  8. 8. 8 UMLProfile
  9. 9. 9 What do we use it for? 1.  Generate test scenarios Architecture recovery and verification Web2MexADL MexADL MVC Analyzer 2.  Research prototypes Data Storage Instance Model Bus Model-Driven Cloud Data Storage
  10. 10. 10Model-Driven Cloud Data Storage 1 High-level abstractions Java web App Spring Data/CDMI/etc.UML class diagram Spring Roo 2 Low-level abstractions Graph database Relational database
  11. 11. 11Demonstration / Questions Contact:
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.