model2roo - acme

11
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

Upload: jccastrejon

Post on 18-Dec-2014

492 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Model2Roo - ACME

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

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

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

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

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

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

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

8

UML Profile

Page 9: Model2Roo - ACME

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

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.

Page 11: Model2Roo - ACME

Demonstration / Questions

11

Contact: [email protected]