Model2Roo - ACME
-
Upload
jccastrejon -
Category
Technology
-
view
492 -
download
3
description
Transcript of Model2Roo - ACME
![Page 1: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/1.jpg)
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
![Page 2: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/2.jpg)
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
![Page 3: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/3.jpg)
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
![Page 4: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/4.jpg)
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
![Page 5: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/5.jpg)
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
![Page 6: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/6.jpg)
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
![Page 7: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/7.jpg)
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
![Page 8: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/8.jpg)
8
UML Profile
![Page 9: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/9.jpg)
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
![Page 10: Model2Roo - ACME](https://reader034.fdocuments.us/reader034/viewer/2022052504/5495fef1b47959794d8b4efa/html5/thumbnails/10.jpg)
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.