Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Enriching Tool Support for Model-Driven Software Development
1. Universidad de los Andes
Departamento de Ingeniería de Sistemas y Computación
Enriching tool support for model-driven
software development
David Fernando Méndez Acuña
Iván Mauricio Sánchez Morcote
Advisor: Dr. Rubby Casallas
MASTER’S THESIS DEFENSE
1
2. AGENDA
• Context
• Challenges of the model-driven engineer
• What do we need to overcome the challenges
• Thesis objectives
– Individual contributions
• Solution strategy
• Implementation
• Validation
• Conclusions
2
3. Context
• Model-driven software development is an approach
that proposes to use models as first-class entities for
creating software products.
3
6. Willy
Context
Carolina
Model Transformation Chain for UML 2 SQLCode
UML RDB
SQL
Code
SQL
Tm2m Tm2m Tm2t
It is not easy! There are a lot of
challenges to overcome
<<UML>>
University
<<SQL>>
University DB
Schema
Example
solves
6
7. Challenges of the model-driven
engineer
7
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
8. Challenges of the model-driven engineer
Development artifacts manipulation
8
Example
Willy
Model Transformation Chain for UML 2 SQLCode
University
UML
University
RDB
University
SQL
University
SQL
UML RDB SQL Metamodels
Models
Transformations
9. Challenges of the model-driven engineer
Development artifacts manipulation
Example
University
UML
University
RDB
University
SQL
University
SQL
UML RDB SQL
?
Models are
manipulated as files
There is not information
about how models are
related among them
(relationship metadata)
10. Challenges of the model-driven
engineer
10
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
11. Challenges of the model-driven engineer
Execution of repetitive tasks
11
Example
University
UML
University
RDB
University
SQL
University
SQL
UML RDB SQL
It is different in JAVA
12. Challenges of the model-driven
engineer
12
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
13. Challenges of the model-driven engineer
Construction of the IDE for the modeler
<<UML>>
University
<<SQL>>
University DB Schema
One single clic
13
Example
Carolina
14. Challenges of the model-driven engineer
Construction of the IDE for the modeler
ECLIPSE IDEExtension
14
Ok! I must learn how to
build eclipse plug-ins
17. State of the art
17
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
What has be
done?
18. State of the art
Atlas Model
Management
Architecture
(AMMA)
Megamodel as metadata
repository
Model-centric views
18
19. State of the art
19
Family of
interoperable
languages for
model
management
(EPSILON)
Languages for defining
operations for model
manipulation (e.g., merge,
compare, match)
EML
Epsilon Merge
Language
21. State of the art
Summary (challenge 1)
Atlas Model
Management
Architecture
(AMMA)
Family of
interoperable
languages for
model
management
(EPSILON)
Model
Management
Framework
Tool
(MMFT)
Megamodel as metadata
repository
Model-centric views
Languages for defining
operations for model
manipulation (e.g., merge,
compare, match)
Graphical editor for
defining interaction of
models and operations
21
Predefined types of models. What if Willy does need new ones?
22. State of the art
22
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
What has be
done?
23. State of the art
ANT
(XML-Based)
Simple tasks
Composite tasks
23
XML-Based
o
o
26. State of the art
Summary (challenge 2)
ANT
(XML-Based)
Simple tasks
Composite tasks
MWE2
(Proper syntax)
Simple tasks
Composite tasks
ATLFlow
(ATL-Based)
Simple tasks
Composite tasks
26
Predefined operations. What if Willy does need new types of tasks?
He would have to implement the corresponding connectors
27. State of the art
27
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
What has be
done?
28. State of the art
Framework-
specific
modeling
Framework-specific
Eclipse-based
28
30. State of the art
Summary (challenge 3)
30
Framework-
specific
modeling
Framework-specific
Eclipse-based
Domain-
specific tool
generation
Stakeholders-centric
Eclipse-based
Willy needs not only framework-specific but also domain-specific?
33. Construction of the IDE
for the modeler
Solution strategy
Overview
33
DSL for modeler’s IDE
definition
Automatic generation of
modeler’s IDE
34. Solution strategy
Overview
34
Development artifacts
manipulation
Megamodel as metadata
repository
Model-centric views
DSL for definition of
models interaction
Execution of repetitive
tasks
Event-action rules for
tasks automation
Support for composite
tasks
Construction of the IDE
for the modeler
DSL for modeler’s IDE
definition
Automatic generation of
modeler’s IDE
35. Thesis objectives
Megamodel as metadata
repository
Model-centric views
Models searching
Simple tasks
Composite tasks
Framework-specific
Eclipse-based
Stakeholders-centric
Challenge 1: Development
artifacts manipulation
Challenge 2: Execution of
repetitive tasks
Challenge 3: Construction of
the IDE for the modeler
35
36. Individual contributions
Megamodel as metadata
repository
Model-centric views
Models searching
Simple tasks
Composite tasks
Framework-specific
Eclipse-based
Stakeholders-centric
Challenge 1: Development
artifacts manipulation
Challenge 2: Execution of
repetitive tasks
Challenge 3: Construction of
the IDE for the modeler
David Iván David + Iván
36
37. Solution strategy
Model-driven
engineer
Modeler
Model-driven solution
Model management system
Metadata
Views
Searching
Execution rules
MoDeTo
MMS engineer
Integrated Development Environment
Problem
model(Domain-
specific)
Application code
(Platform-specific)
One single clic
MoMS
(Domain-specific language)
?
37
39. Model Management System
Implementation
(Overview)
MoMS Script
M.A.M Generation process
Modeling artifacts
manager
Operations
launcher
Modeler’s IDE
generator
Tools deposit
MoMS Model
O.L. Generation process
M.T.G. Generation process
39
46. Validation
MoMS script 1 MoMS script 2
Case study A:
From UML 2 SQL
Case study B:
ViVaGUI
Case study C:
Maze Games
Scenario 1:
Simple MTCs
Scenario 2:
Weaving MTCs
46