Lightweight Model-Driven Engineering - GDR...
Transcript of Lightweight Model-Driven Engineering - GDR...
![Page 1: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/1.jpg)
Lightweight Model-Driven Engineering
Jordi Cabot
@softmodeling – jordicabot.com June 2017
![Page 2: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/2.jpg)
About
![Page 3: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/3.jpg)
SOM Research LabSoftware runs the world. Models run the software
![Page 4: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/4.jpg)
Nuestra misión
Interested in the broad area of systems and
software engineering, especially promoting the rigorous use of software
models and engineering principles in all software
engineering tasks.
Flickr/clement127
![Page 5: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/5.jpg)
![Page 6: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/6.jpg)
Disclaimer
![Page 7: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/7.jpg)
“As a writer, my job is to change your perspective and make you think
outside the box.” - Mary Sage Nguyen
![Page 8: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/8.jpg)
Based on my background
▪ But keynote used as an excuse to reflect about
▪ Algú tirant-se a la piscina
![Page 9: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/9.jpg)
![Page 10: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/10.jpg)
MDE Preliminaries
![Page 11: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/11.jpg)
• Grady Booch – history of softwre engineering
The entire history of software engineering is that of the rise in levels of abstraction
- Grady Booch
Goal: Write less and less codeto produce the same SW
![Page 12: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/12.jpg)
Everybody is doing it
![Page 13: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/13.jpg)
MDE is just the logical next step
![Page 14: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/14.jpg)
![Page 15: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/15.jpg)
Model
Rapid prototyping
Static analysis
Code generation
Automated testing
Refactoring/Transformation
Documentation
[Illustration by Bernhard Rumpe]
MDE = Models as key elements in all aspects of Software Engineering
![Page 16: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/16.jpg)
The MDE equation
Models +
Transformations =
Software
![Page 17: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/17.jpg)
Original
model1st
refinement
nth
refinement
Model-to-model Transformation
Model-to-text Transformation
...
Requirements
Use Case
Class Diagram
Java Project
![Page 18: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/18.jpg)
What is a model
18
City of Nantes = “system” to be modeled
A map is a model of this system
Its legend is the grammar/ metamodel
Different maps can focus on different “views” of the city
![Page 19: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/19.jpg)
Not so different from languages
MDE Grammarware
MOF (metametamodel)
UML (metamodel)
ABank.uml
EBNF.g
Java.g
MyProgram.java
![Page 20: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/20.jpg)
(common-sense) code generation
![Page 21: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/21.jpg)
MDE benefits
+productivity +quality +Maintenance ….
2X – 8X 1.2X – 4X 80%
![Page 22: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/22.jpg)
http://matt.might.net/articles/phd-school-in-pictures
I’ll skip my over 500 “introductory” slides to MDE (but they are onine)
![Page 23: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/23.jpg)
Lightweight adoption of MDE
![Page 24: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/24.jpg)
BUT he is saying
this since 1985
![Page 25: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/25.jpg)
Is MDE dead?
![Page 26: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/26.jpg)
There is still money to be made on this market
![Page 27: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/27.jpg)
Do you really think Agile has moremarket penetration?
![Page 28: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/28.jpg)
MDE Adoption
![Page 29: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/29.jpg)
• Asterix view : resistentes al modelado
![Page 30: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/30.jpg)
![Page 31: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/31.jpg)
To model, or not to model, this is the WRONG question
- Shakespeare
![Page 32: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/32.jpg)
What/when/how many
models ?
- Depends on: Size,
Team, Domain,
Complexity
Real question
![Page 33: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/33.jpg)
Why lightweight MDE
![Page 34: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/34.jpg)
Even if MDE is not dead…
We can do
better
Increaseadoption
Focus onwhat
matters tousers
Not losingthe
perspective
![Page 35: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/35.jpg)
MDE Research vs Userneeds & interests
![Page 36: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/36.jpg)
Nés papites que el papaOh great UML Spirit,
please grant methe insight to valuably
use the UML,the strength to
challenge its misuse,and the wisdom to see
the difference
![Page 37: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/37.jpg)
MetaModelers anonymousMetamodelers anonymous
![Page 38: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/38.jpg)
UML Fever + UML prayer
![Page 39: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/39.jpg)
Operación bikini
![Page 40: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/40.jpg)
Revisiting MDE under a ligthweight perspective
![Page 41: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/41.jpg)
Lightweight application of MDE
![Page 42: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/42.jpg)
Everything is a model
![Page 43: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/43.jpg)
Models in real development processes
![Page 44: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/44.jpg)
Agile Modeling
![Page 45: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/45.jpg)
Collaboro: end-user driven DSL Development
• Providing means to discuss about language elements
• Overcoming technical barriers
Participation
• Suitable environment fostering end-user discussion
• Facilitating voting and decision processes
• Keeping traceability
Collaboration
![Page 46: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/46.jpg)
Collaboro process
![Page 47: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/47.jpg)
Discussing the abstract syntax
![Page 48: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/48.jpg)
Discussing the concrete syntax
![Page 49: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/49.jpg)
Representing collaborations
![Page 50: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/50.jpg)
Lightweight learning of MDE
![Page 51: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/51.jpg)
MDE4EDU
![Page 52: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/52.jpg)
![Page 53: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/53.jpg)
![Page 54: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/54.jpg)
![Page 55: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/55.jpg)
What can we learnfrom this? How to effectively teach
MDE?
![Page 56: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/56.jpg)
![Page 57: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/57.jpg)
1st Attempt: Students as MDE devs
45h
MDE Foundations
MDE coretechnologies
DSLs M2M M2T
Methodologyand
Infrastructure
Exercises on building
new MDE artefacts
(e.g. a new modeling
language with code-
generation)
Too complicated – surviving mode
MDE as devs – unlikely role in practice
![Page 58: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/58.jpg)
2nd Attempt: Students as MDE users
45h
MDE FoundationsMDE core
technologiesMethodology and
Infrastructure
Case Study 1: Java – to – UML reverse
engineering
Caset Study 2: Code-generationof a CRUD web-
based app
CSs chosen to highlight the benefits of MDE
![Page 59: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/59.jpg)
Better in theory – Blame the tools for the results
Lots of installation problems
Lack of optimization for the generated app
Tool crashes and corrupted projects
Lack of documentation
Difficult to customize the code
![Page 60: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/60.jpg)
Blame the chosen examples
Maybe good for the database and back-end, not the front-end
This can already be done with current programming frameworks
Missing common pre-implemented patterns (login, social networks)
Difficult trade-off.
• Too expressive and people feel it’s a huge investment to learn
• Too simple and people don’t perceive the benefits
![Page 61: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/61.jpg)
![Page 62: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/62.jpg)
• Start with a very compelling development scenario
• Change the requirements late in the development
• Use a repetitive scenario
• Compile a set of reference examples to give a kickstart
• Keep you target audience in mind
For instructors
• Document, document and document
• Hide all underlying technical details (also for errors)
• Offer a well-packaged and standalone installation
• Keep up with the trends in the software industry
• Favour trust over everything else
For tool vendors
![Page 63: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/63.jpg)
MDE4EDUhttps://mde4edu.github.io/
![Page 64: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/64.jpg)
PAPYRUS GAMIFICATION
![Page 65: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/65.jpg)
GAMIFICATION FRAMEWORK FOR END USERS - THE DSL
![Page 66: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/66.jpg)
GAMIFICATION FOR END USERS - THE TOOL
NOTIFICATIONS
SUBMIT FORMQUERY DEFINITIONS
GAME STATISTICS
https://github.com/SOM-Research/gamification-modeling-learning
![Page 67: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/67.jpg)
Lightweight verification for MDE
![Page 68: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/68.jpg)
68
Original
model1st
refinement
nth
refinement
Model Transformation
Model Transformation
Source Code
...
MDE-based software development process
Errors in models breed and generate more errors in the code
Why model verification
![Page 69: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/69.jpg)
Even “trivial” models can be wrong
Student
EnrolsIn20..*
Course
Likes
1
5 1
![Page 70: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/70.jpg)
Person
name: string children
2
*
+ constraint : Nobody can be his own ancestor
parent
![Page 72: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/72.jpg)
Consistent?
Proven?
Formalism / Logics
• Dynamic Logic (KEY)
• High-Order Logics (HOL-OCL)
• Deductive database queries (CQC)
• SAT (Alloy + UML2Alloy), …
Translate
Prove
Deduce
UML model
Class diagram + OCL constraints
Typical solutions
![Page 73: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/73.jpg)
MDE
A Grand Challenge
![Page 74: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/74.jpg)
Verification
Automation Efficiency
Expressiveness Precision(completeness)
Pick only 2-3
![Page 75: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/75.jpg)
Our pragmatic approach: Bounded verification
75
Solution?
Constraint Satisfaction Problem
1. Variables – basic types + struct/list
2. Domains – finite
3. Constraints – Prolog
4. Property Additional Constraint
Translate
Solve
Deduce
Property?+Model Constraints
![Page 76: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/76.jpg)
Resolution of the CSPDefine cardinality variablesConstraints on cardinalities
Assign cardinalities
Define attribute variables
Constraints on attributes
Assign attributesProof
![Page 77: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/77.jpg)
ATLTest (testing of M2M)
77
White-box approach: Analyzing the ATL code to derive test models that “exercise” it
![Page 78: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/78.jpg)
Lightweight MDE tooling
![Page 79: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/79.jpg)
Eclipse, Papyrus… are great for our community
OPEN SOURCE Part of eclipse
POWERFUL STABLE AND RELIABLE
WORLDWIDE USED
INDUSTRIAL-GRADE
![Page 80: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/80.jpg)
Moving to the web: Back-end
![Page 81: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/81.jpg)
Java
Environment
XMI
EMF-REST proposal
81
JAVASCRIPT
+
Web
Environment
JAVASCRIPT
+
REST API
EMF-REST
![Page 82: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/82.jpg)
EMF-REST proposal
82
Collaboration Scalability
Portability
![Page 83: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/83.jpg)
• Addressable resources– Eclipse: platform:/resource/project/Simpsons.xmi
– Web API: https://example.com/rest/Family/Simpsons
▪ Uniform and Constrained Interface & Statelessness‒ CRUD operations using HTTP verbs : POST, GET, PUT, DELETE
PUT https://example.com/rest/Family/Simpsons/parents/Homer
• Representation-oriented– JSON: {"family":{"address":"742 Evergreen Terrace",…}}
– XML: <family><address>742 Evergreen Terrace</address></family>
83
![Page 84: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/84.jpg)
NeoEMF
![Page 85: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/85.jpg)
Moving to the web: Client-side
![Page 86: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/86.jpg)
Towards Automatic Generation of Web-based Modeling Editors
Manuel Wimmer, Irene Garrigós, and Sergio Firmenich
ICWE 2017
![Page 87: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/87.jpg)
JavaScript client
87
Existing solution: IDE-based Modeling Editor
M2T
Java code
EuGENia GMFM2MM2T
Stencilcode
JointJs Runtime GMF Runtime
DSML Definition
Our contribution:Web-based Modeling Editor
Platform
Platform
▪ Model-to-Text (M2T) transformation to generate Stencils for the JointJSplatform from EuGENia annotated metamodels
![Page 88: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/88.jpg)
Examples Web-based Editor
![Page 89: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/89.jpg)
Show me only what I need to see
![Page 90: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/90.jpg)
Lightweight MDE in other fields
![Page 91: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/91.jpg)
Governance of open source projects
![Page 92: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/92.jpg)
Code
Community
![Page 93: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/93.jpg)
![Page 94: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/94.jpg)
Governance of
open source
projects is not
explicit
![Page 95: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/95.jpg)
******
![Page 96: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/96.jpg)
Project myProject {Roles: CommittersDeadlines: myDeadline : 7 days
Rules:myMajorityRule : Majority {
applied to Taskwhen TaskReviewpeople Committersrange PresentminVotes 3deadline myDeadline
}}
All the proposals for new development
tasks will be accepted or rejected in 7
days by the committers of the project.
Verbalization
![Page 97: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/97.jpg)
![Page 98: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/98.jpg)
Lightweight MdE for open data
![Page 99: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/99.jpg)
“the goal of the project is to
make the promise of
open data a reality by
giving non-technical
users tools they can use
to find and compose the
information they need”
![Page 100: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/100.jpg)
?
API Discovery: What APIs / open data sources?
![Page 101: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/101.jpg)
?
S1
S2S1 S2
¿Y cómo los puedo combinar?
![Page 102: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/102.jpg)
JSON Discoverer – Extracting implicitmodels in JSON documents
![Page 103: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/103.jpg)
JSON DiscovererThe advanced mode analyzes sets of JSON definitions and discover the common schema among them.
![Page 104: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/104.jpg)
Open Data for All
![Page 105: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/105.jpg)
UML
IFML
GraphQLSchema
![Page 106: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/106.jpg)
![Page 107: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/107.jpg)
Lightweight Knowledge to use MDE
![Page 108: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/108.jpg)
Cognification:
The application of knowledge to boost the performance and impact of a process
![Page 109: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/109.jpg)
During the industrial revolution, every machine got an electrified version
The next revolution is thecognificatinof everything via cheap access to specializedAIs
![Page 110: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/110.jpg)
Co
gnif
icat
ion
ML
Crowdsourcing
Ontologies
Big Data
…
![Page 111: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/111.jpg)
Cognifying MDE: 5 examples
Modeling bot as virtual assistant
Model inferences to discover schema of unstructured data
A code generator that mimicks a company programmingstyle
A real-time model reviewer
A morphing modeling tool that adapts to the user profile
![Page 112: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/112.jpg)
![Page 113: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/113.jpg)
PhD thesis – CEA + SOMPhD Thesis: CEA + SOM
![Page 114: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/114.jpg)
Final Thoughts: Research on Lightweight MDE
![Page 115: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/115.jpg)
Most research papers on MDE are completelyirrelevant for (most) end-users
Category Theory for MT
ATL MapReduce
Temporal UML
![Page 116: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/116.jpg)
Moreresearch on usefultopics!
![Page 117: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/117.jpg)
We live in a MDE multi-verse
We need to
develop domain-
specific MDEs to
better serve the
needs of users in
different domains
![Page 118: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/118.jpg)
"Publishing something in the most advanced journal doesn't change the world … What changes the world is converting research to something that is available in the market, pleases customers and improves the quality of life“ – Tharman. Deputy PM. Singapore
![Page 119: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/119.jpg)
![Page 120: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/120.jpg)
GrandMDE at STAF’17
• Screenshot of the program
![Page 121: Lightweight Model-Driven Engineering - GDR GPLgdr-gpl.cnrs.fr/sites/default/files/documentsGPL/JourneesNationales/GPL2017/... · Lack of optimization for the generated app Tool crashes](https://reader034.fdocuments.in/reader034/viewer/2022042300/5eca82df6fb10865241b874e/html5/thumbnails/121.jpg)
http://modeling-languages.com