View
492
Download
3
Category
Preview:
DESCRIPTION
Citation preview
Juan Castrejón, Genoveva Vargas-Solar, Rafael Lozano University of Grenoble, CNRS, Tecnológico de Monterrey ACME 2012
Model2Roo: Web Application Development based on the Eclipse Modeling Framework and Spring Roo
Background • First version of the project presented in early 2011
2
http://code.google.com/p/model2roo http://dx.doi.org/10.1109/CONIELECOMP.2011.5749344
Google Code Project Conference Paper
Objective • Generate web applications, by transforming Class
diagrams into Spring Roo commands
3
Ecore, UML2 ATL Queries Spring Roo commands
Spring Roo details: Ecore Annotations, UML Profiles
Related 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
4
User-identified issues 1. Insufficient support for graphical environments
• Limited support for complex UML editors, such as Papyrus • Limited support for numeric data types
2. 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 property
3. Troublesome installation procedure • Tool deployed as a single plugin file • Manual installation of the required dependencies (ATL, Papyrus)
5
Technical issues 1. Maintenance of ATL queries
• Not a standard Model-To-Text specification
2. 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 errors
3. Invocation of ATL queries from Eclipse plugin • Limited documentation
6
Recent improvements 1. 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 Annotations
3. Improved installation procedure • Eclipse update site containing all required dependencies
7
8
UML Profile
What do we use it for? 1. Generate test scenarios
9
MexADL http://code.google.com/p/mexadl
MVC Analyzer http://code.google.com/p/mvc-analyzer
Web2MexADL http://code.google.com/p/web2mexadl
Instance Model Bus http://code.google.com/p/instance-model-bus
Model-Driven Cloud Data Storage http://code.google.com/p/modesto
Architecture recovery and verification
Data Storage 2. Research prototypes
Model-Driven Cloud Data Storage
10
UML class diagram Spring Roo
Java web App
Graph database
Relational database
High-level abstractions
1
Low-level abstractions
2
Spring Data/CDMI/etc.
Demonstration / Questions
11
Contact: Juan.Castrejon@imag.fr
Recommended