SlideShare a Scribd company logo
Lightweight Model-Driven
Engineering
Jordi Cabot
@softmodeling – jordicabot.com June 2017
About
SOM Research Lab
Software runs the world. Models run the software
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
Lightweight Model-Driven Engineering
Disclaimer
“As a writer, my job is to change your
perspective and make you think
outside the box.” - Mary Sage Nguyen
Based on my background
 But keynote used as an excuse to reflect about
 Algú tirant-se a la piscina
Lightweight Model-Driven Engineering
MDE Preliminaries
• 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 code
Everybody is doing it
MDE is just the logical next step
Lightweight Model-Driven Engineering
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
The MDE equation
Models +
Transformations =
Software
Original
model
1st
refinement
nth
refinement
Model-to-model
Transformation
Model-to-text
Transformation
...
Requirements
Use Case
Class Diagram
Java Project
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
Not so different from languages
MDE Grammarware
MOF
(metametamodel)
UML
(metamodel)
ABank.uml
EBNF.g
Java.g
MyProgram.java
(common-sense) code generation
MDE benefits
+productivity +quality +Maintenance ….
2X – 8X 1.2X – 4X 80%
http://matt.might.net/articles/phd-school-in-pictures
I’ll skip my over 500
“introductory” slides to
MDE (but they are onine)
Lightweight adoption of
MDE
BUT he is saying
this since 1985
Is MDE dead?
There is still money to be made on this market
Do you really think Agile has more
market penetration?
MDE Adoption
• Asterix view : resistentes al modelado
Lightweight Model-Driven Engineering
To model, or not to model, this is the WRONG
question
- Shakespeare
What/when/how many
models ?
- Depends on: Size,
Team, Domain,
Complexity
Real question
Why lightweight MDE
Even if MDE is not dead…
We can
do
better
Increase
adoption
Focus on
what
matters to
users
Not losing
the
perspective
MDE Research vs User
needs & interests
Nés papites que el papa
Oh great UML
Spirit, please grant
me
the insight to
valuably use the
UML,
the strength to
challenge its
misuse,
and the wisdom to
MetaModelers anonymousMetamodelers anonymous
UML Fever + UML prayer
Operación bikini
Revisiting MDE under a ligthweight
perspective
Lightweight application of
MDE
Everything is a model
Models in real development processes
Agile Modeling
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
Collaboro process
Discussing the abstract syntax
Discussing the concrete syntax
Representing collaborations
Lightweight learning of MDE
MDE4EDU
Lightweight Model-Driven Engineering
Lightweight Model-Driven Engineering
Lightweight Model-Driven Engineering
What can we learn
from this? How to
effectively teach
MDE?
Lightweight Model-Driven Engineering
1st Attempt: Students as MDE devs
45h
MDE
Foundations
MDE core
technologies
DSLs M2M M2T
Methodology
and
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
2nd Attempt: Students as MDE users
45h
MDE Foundations
MDE core
technologies
Methodology and
Infrastructure
Case Study 1: Java
– to – UML reverse
engineering
Caset Study 2:
Code-generation
of a CRUD web-
based app
CSs chosen to highlight the benefits of MDE
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
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
Lightweight Model-Driven Engineering
• 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
MDE4EDUhttps://mde4edu.github.io/
PAPYRUS GAMIFICATION
GAMIFICATION FRAMEWORK FOR END
USERS - THE DSL
GAMIFICATION FOR END USERS - THE TOOL
NOTIFICATION
S
SUBMIT FORMQUERY
DEFINITIONS
GAME
STATISTICS
https://github.com/SOM-Research/gamification-modeling-learning
Lightweight verification for
MDE
68
Original
model
1st
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
Even “trivial” models can be wrong
Student
EnrolsIn20..*
Course
Likes
1
5 1
Person
name: string children
2
*
+ constraint : Nobody can be his own ancestor
parent
71 © AtlanMod - atlanmod-contact@mines-nantes.fr
….
.No finite (and non-empty) solution
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
MDE
A Grand Challenge
Verification
Automation Efficiency
Expressiveness Precision(completeness)
Pick only 2-3
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
Resolution of the CSP
Define cardinality variables
Constraints on cardinalities
Assign cardinalities
Define attribute variables
Constraints on attributes
Assign attributes
Proof
ATLTest (testing of M2M)
7
7
White-box approach: Analyzing the ATL code to
derive test models that “exercise” it
Lightweight MDE tooling
Eclipse, Papyrus… are great for our community
OPEN SOURCE Part of eclipse
POWERFUL STABLE AND
RELIABLE
WORLDWIDE
USED
INDUSTRIAL-GRADE
Moving to the web: Back-end
Java
Environment
XMI
EMF-REST proposal
81
JAVASCRIPT
+
Web
Environment
JAVASCRIPT
+
REST API
EMF-REST
EMF-REST proposal
82
Collaboration Scalability
Portability
• 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
NeoEMF
Moving to the web: Client-side
Towards Automatic Generation of
Web-based Modeling Editors
Manuel Wimmer, Irene Garrigós, and Sergio Firmenich
ICWE 2017
JavaScript client
87
Existing solution:
IDE-based Modeling Editor
M2T
Java
code
EuGENia GMFM2MM2T
Stencil
code
JointJs Runtime GMF Runtime
DSML
Definition
Our contribution:
Web-based Modeling Editor
P
l
a
t
f
o
r
m
P
l
a
t
f
o
r
m
 Model-to-Text (M2T) transformation to generate Stencils for the JointJS
platform from EuGENia annotated metamodels
ExamplesWeb-based Editor
Show me only what I need to see
Lightweight MDE in
other fields
Governance of open source
projects
Code
Community
Lightweight Model-Driven Engineering
Governance of
open source
projects is not
explicit
******
Project myProject {
Roles: Committers
Deadlines:
myDeadline : 7 days
Rules:
myMajorityRule :
Majority {
applied to Task
when TaskReview
people Committers
range Present
minVotes 3
deadline myDeadline
}
}
All the proposals for new development tasks will be
accepted or rejected in 7 days by the committers of the
project.
Verbalization
Lightweight Model-Driven Engineering
Lightweight MdE for open data
“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”
?
API Discovery: What APIs / open data sources?
?
S1
S2
S1 S2
¿Y cómo los puedo combinar?
JSON Discoverer – Extracting implicit
models in JSON documents
JSON Discoverer
Open Data for All
UML
IFML
GraphQL
Schema
Lightweight Model-Driven Engineering
Lightweight Knowledge
to use MDE
Cognification:
The application of knowledge
to boost the performance
and impact of a process
During the industrial
revolution, every machine got
an electrified version
The next revolution is the
cognificatinof everything via
cheap access to specialized
AIs
Cognification
ML
Crowdsourcing
Ontologies
Big Data
…
Cognifying MDE: 5 examples
Modeling bot as virtual assistant
Model inferences to discover schema of unstructured data
A code generator that mimicks a company programming
style
A real-time model reviewer
A morphing modeling tool that adapts to the user profile
Lightweight Model-Driven Engineering
PhD thesis – CEA + SOM
PhD Thesis: CEA + SOM
Final Thoughts: Research
on Lightweight MDE
Most research papers on MDE are completely
irrelevant for (most) end-users
Category Theory for MT
ATL MapReduce
Temporal UML
More
research on
useful
topics!
We live in a MDE multi-verse
We need to
develop domain-
specific MDEs to
better serve the
needs of users in
different domains
"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
Lightweight Model-Driven Engineering
GrandMDE at STAF’17
• Screenshot of the program
http://modeling-languages.com
Get in touch
jordi.cabot@
icrea.cat
@softmodeling

More Related Content

PDF
Model driven software engineering in practice book - chapter 7 - Developing y...
PPTX
Our research lines on Model-Driven Engineering and Software Engineering
PDF
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
PDF
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
PDF
Model driven software engineering in practice book - Chapter 9 - Model to tex...
PPTX
Towards a UML and IFML mapping to GraphQL
PPT
Web technologies: Model Driven Engineering
PDF
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models
Model driven software engineering in practice book - chapter 7 - Developing y...
Our research lines on Model-Driven Engineering and Software Engineering
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Towards a UML and IFML mapping to GraphQL
Web technologies: Model Driven Engineering
Model-Driven Software Engineering in Practice - Chapter 10 - Managing models

What's hot (20)

PDF
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
PDF
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
PDF
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
PPTX
The secret life of rules in Software Engineering
PDF
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
PDF
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
PPTX
Is there a future for Model Transformation Languages?
PPTX
01 mde principles
PPTX
How to sustain a tool building community-driven effort
PDF
Introducing MDSD
PPTX
A UML profile for OData Web APIs
PPTX
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
PPTX
Model driven development and code generation of software systems
PPT
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
PPTX
Industrial and Academic Experiences with a User Interaction Modeling Language...
PDF
MoDisco EclipseCon2010
PPTX
Low-code vs Model-Driven Engineering
PDF
From MDE to SLE (April 17th, 2015)
PDF
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
PPTX
Cg 2011
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
The secret life of rules in Software Engineering
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-Driven Software Engineering in Practice - Chapter 6 - Modeling Language...
Is there a future for Model Transformation Languages?
01 mde principles
How to sustain a tool building community-driven effort
Introducing MDSD
A UML profile for OData Web APIs
Explicating and Reasoning with Model Uncertainty by Marsha Chechik (ECMFA'14 ...
Model driven development and code generation of software systems
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Industrial and Academic Experiences with a User Interaction Modeling Language...
MoDisco EclipseCon2010
Low-code vs Model-Driven Engineering
From MDE to SLE (April 17th, 2015)
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Cg 2011
Ad

Similar to Lightweight Model-Driven Engineering (20)

PDF
Introduction to MDE
PPTX
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
PDF
Enriching Tool Support for Model-Driven Software Development
PPSX
MDE in Practice
PPT
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
PPT
Educating in MDE
PPTX
Whittle Modeling Wizards 2012
PDF
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
PPTX
Agile MDD
PDF
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
PDF
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
PPT
The Unbearable Stupidity of Modeling
PDF
Agile Modelling Architecture
PDF
Mda introduction and common research problems
PDF
Miso
PPTX
MODEL-DRIVEN ENGINEERING (MDE) in Practice
PPT
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
PDF
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
PDF
The role of MDE in Software Architecture Descriptions
PDF
MDD with Executable UML Models
Introduction to MDE
Keynote at Educators Symposium, ACM/IEEE 19th Intl. Conference on Model Drive...
Enriching Tool Support for Model-Driven Software Development
MDE in Practice
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
Educating in MDE
Whittle Modeling Wizards 2012
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Agile MDD
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
Eclipse Modeling & MoDisco - An Introduction to Modeling and (Model Driven) R...
The Unbearable Stupidity of Modeling
Agile Modelling Architecture
Mda introduction and common research problems
Miso
MODEL-DRIVEN ENGINEERING (MDE) in Practice
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
Solution de génération de rapport OpenDocument à partir de plusieurs sources ...
The role of MDE in Software Architecture Descriptions
MDD with Executable UML Models
Ad

More from Jordi Cabot (20)

PPTX
Who will create the languages of the future?
PPTX
Societal challenges of AI: biases, multilinguism and sustainability
PPTX
¿Cómo será el programador del futuro? ¿Tendremos trabajo?
PPTX
The low-code handbook - Chapter 1: Basic Low-code questions and answers.
PPTX
Who is going to develop the apps of the future? (hint: it’s not going to be ...
PPTX
Application of the Tree-of-Thoughts Framework to LLM-Enabled Domain Modeling
PPTX
AI and Software consultants: friends or foes?
PPTX
Model-driven engineering for Industrial IoT architectures
PPTX
Smart modeling of smart software
PPTX
Modeling should be an independent scientific discipline
PPTX
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
PPTX
All Researchers Should Become Entrepreneurs
PPTX
The Software Challenges of Building Smart Chatbots - ICSE'21
PDF
Lessons learned from building a commercial bot development platform
PDF
Future Trends on Software and Systems Modeling
PPTX
Ingeniería del Software dirigida por modelos -Versión para incrédulos
PPTX
Chatbot Tutorial - Create your first bot with Xatkit
PPTX
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
PPTX
An LSTM-Based Neural Network Architecture for Model Transformations
PPTX
WAPIml: Towards a Modeling Infrastructure for Web APIs
Who will create the languages of the future?
Societal challenges of AI: biases, multilinguism and sustainability
¿Cómo será el programador del futuro? ¿Tendremos trabajo?
The low-code handbook - Chapter 1: Basic Low-code questions and answers.
Who is going to develop the apps of the future? (hint: it’s not going to be ...
Application of the Tree-of-Thoughts Framework to LLM-Enabled Domain Modeling
AI and Software consultants: friends or foes?
Model-driven engineering for Industrial IoT architectures
Smart modeling of smart software
Modeling should be an independent scientific discipline
¿Quién va a desarrollar las Apps del futuro? (aviso: no serán los programador...
All Researchers Should Become Entrepreneurs
The Software Challenges of Building Smart Chatbots - ICSE'21
Lessons learned from building a commercial bot development platform
Future Trends on Software and Systems Modeling
Ingeniería del Software dirigida por modelos -Versión para incrédulos
Chatbot Tutorial - Create your first bot with Xatkit
Création facile de chatbots - Créez votre chatbot en 20 minutes avec une plat...
An LSTM-Based Neural Network Architecture for Model Transformations
WAPIml: Towards a Modeling Infrastructure for Web APIs

Recently uploaded (20)

PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
Introduction to Artificial Intelligence
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
System and Network Administraation Chapter 3
PDF
medical staffing services at VALiNTRY
PPTX
ai tools demonstartion for schools and inter college
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Essential Infomation Tech presentation.pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
top salesforce developer skills in 2025.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Nekopoi APK 2025 free lastest update
PDF
Understanding Forklifts - TECH EHS Solution
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Introduction to Artificial Intelligence
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
System and Network Administraation Chapter 3
medical staffing services at VALiNTRY
ai tools demonstartion for schools and inter college
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Softaken Excel to vCard Converter Software.pdf
Essential Infomation Tech presentation.pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
top salesforce developer skills in 2025.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
How Creative Agencies Leverage Project Management Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Nekopoi APK 2025 free lastest update
Understanding Forklifts - TECH EHS Solution
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus

Lightweight Model-Driven Engineering