SlideShare a Scribd company logo
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
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
Context
• Model-driven software development is an approach
that proposes to use models as first-class entities for
creating software products.
3
Model-driven
engineer
Context
Modeler
Model-driven solution
T1 T2 T3
4
Problem
model(Domain-
specific)
Application code
(Platform-specific)
solves
Context
Example
Carolina
5
<<UML>>
University
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
Challenges of the model-driven
engineer
7
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
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
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)
Challenges of the model-driven
engineer
10
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
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
Challenges of the model-driven
engineer
12
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
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
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
15
16
How we can help Willy?
David + Iván
State of the art
17
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
What has be
done?
State of the art
Atlas Model
Management
Architecture
(AMMA)
Megamodel as metadata
repository
Model-centric views
18
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
Model
Management
Framework
Tool
(MMFT)
Graphical editor for
defining interaction of
models and operations
State of the art
20
Merge
Graphical Editor
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?
State of the art
22
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
What has be
done?
State of the art
ANT
(XML-Based)
Simple tasks
Composite tasks
23
XML-Based
o
o
MWE2
(Proper syntax)
Simple tasks
Composite tasks
State of the art
24
Proper syntax
o
o
ATLFlow
(ATL-Based)
Simple tasks
Composite tasks
State of the art
25
Focused on model
transformation chains
written in ATL
t
t
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
State of the art
27
Development artifacts manipulation
Execution of repetitive tasks
Construction of the IDE for the
modeler
What has be
done?
State of the art
Framework-
specific
modeling
Framework-specific
Eclipse-based
28
Domain-
specific tool
generation
Stakeholders-centric
Eclipse-based
State of the art
29
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?
Solution strategy

Overview
31
Development artifacts
manipulation
Megamodel as metadata
repository
Model-centric views
DSL for definition of
models interaction
Execution of repetitive
tasks
Solution strategy

Overview
32
Event-action rules for
tasks automation
Support for composite
tasks
Construction of the IDE
for the modeler
Solution strategy

Overview
33
DSL for modeler’s IDE
definition
Automatic generation of
modeler’s IDE
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
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
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
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
Solution strategy
38
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
Implementation

(Modeling Artifacts Manager)
Model Management System
Modeling artifacts
manager
Operations
launcher
Modeler tooling
generator
Metadata registry
40
Implementation

(Modeling Artifacts Manager)
Model Management System
Modeling artifacts
manager
Operations
launcher
Modeler tooling
generator
Model
Metamodel
conformsTo
Type Metamodel{
attributes{
attribute absolutePath : string
}
}
Type Model{
attributes{
attribute absolutePath : string
}
references{
reference conformsTo : Metamodel
}
41
Implementation

(Operations Launcher)
Model Management System
Modeling artifacts
manager
Operations
launcher
Modeler tooling
generator
Model-driven
engineer
Operation
Simple
Composite
42
Implementation

(Operations Launcher)
Model
Metamodel
conformsTo
validate
OnUpdate
OnUpdate
operations{
simpleOperation validate( ){
Validator.validate(this.absolutePath,
this.conformsTo.absolutePath);
}
}
earules{
earule OnUpdate -> this ->
this.validate();
earule OnUpdate -> this. conformsTo
->
this.validate();
}
}
Model Management System
Modeling artifacts
manager
Operations
launcher
Modeler tooling
generator
43
Implementation

(Modeler’s IDE generation)
Modeler
Input Model(Domain-
specific)
Application code
(Platform-specific)
One single clic
44
Implementation

(Modeler’s IDE generation)
Model Management System
Modeling artifacts
manager
Operations
launcher
Modeler’s IDE
generator
Model-driven
engineer
MoDeTo
45
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

More Related Content

Viewers also liked (18)

PPT
Intrapreneurship
adityaarorawings
 
PPTX
Hawthorne experiments
Piana Monsur Mindia
 
PDF
Outside inc - is social intrapreneurship the new driver for innovation?
Anis Bedda
 
PPTX
Intrapreneurship
Dr. Syed Kashan Ali Shah
 
PPTX
Classical organizational theory(scientific management)
Boyet Aluan
 
PDF
Intrapreneurship
Ragim Abdullaev
 
PPTX
Principles underlying job enlargement, job enrichment and job rotation
Ritika Kumari
 
PPT
The history of management thought
Ahmad Alzbeidat
 
PDF
The Concept of Corporate Entrepreneurship - Intrapreneurship
Gaurav Singh Bisen
 
PPTX
Hawthrone studies explained
Joby Puthussery
 
PPTX
Frederick Herzberg - Two-factor Hygiene-Motivator Theory
Albert Winadi, CISA
 
PDF
PreparedU: The Millennial Mind Goes to Work
Bentley University
 
PPT
Hawthorne experiments
Navin Elias
 
PPTX
Job satisfaction.ppt
sadia saeed
 
PDF
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)
Lean Analytics
 
PDF
25 Mission Statements From the World's Most Valuable Brands
Palo Alto Software
 
PDF
Business policy & strategic management
Shashankdiv
 
Intrapreneurship
adityaarorawings
 
Hawthorne experiments
Piana Monsur Mindia
 
Outside inc - is social intrapreneurship the new driver for innovation?
Anis Bedda
 
Intrapreneurship
Dr. Syed Kashan Ali Shah
 
Classical organizational theory(scientific management)
Boyet Aluan
 
Intrapreneurship
Ragim Abdullaev
 
Principles underlying job enlargement, job enrichment and job rotation
Ritika Kumari
 
The history of management thought
Ahmad Alzbeidat
 
The Concept of Corporate Entrepreneurship - Intrapreneurship
Gaurav Singh Bisen
 
Hawthrone studies explained
Joby Puthussery
 
Frederick Herzberg - Two-factor Hygiene-Motivator Theory
Albert Winadi, CISA
 
PreparedU: The Millennial Mind Goes to Work
Bentley University
 
Hawthorne experiments
Navin Elias
 
Job satisfaction.ppt
sadia saeed
 
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)
Lean Analytics
 
25 Mission Statements From the World's Most Valuable Brands
Palo Alto Software
 
Business policy & strategic management
Shashankdiv
 

Similar to Enriching Tool Support for Model-Driven Software Development (20)

PPT
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Jordi Cabot
 
PDF
Spreadsheets are models too - Richard Paige at Sems 2014
semsworkshop
 
PDF
On the Customization of Model Management Systems for File-Centric IDEs
David Méndez-Acuña
 
PPTX
Design Patterns - General Introduction
Asma CHERIF
 
PDF
A Lightweight MDD Process Applied in Small Projects
Gabor Guta
 
PPTX
Model driven engineering for big data management systems
Marcos Almeida
 
PDF
Mathematical Modeling using MATLAB, by U.M. Sundar Senior Application Enginee...
CdactX Technologies, Ltd.
 
PDF
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
fomenareymar
 
PDF
Best Practices in Object Oriented Analysis and Design
nguyencraft01
 
PPT
Educating in MDE
Jordi Cabot
 
PPTX
Productivity mdd mdb_code_centric
Santiago Meliá
 
ODP
Modeling With Eclipse @SoftShake 2011
Mickael Istria
 
PDF
Webinar: Design Patterns : Tailor-made solutions for Software Development
Edureka!
 
PPTX
Introduction to architectures based on models, models and metamodels. model d...
Vicente García Díaz
 
PDF
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
FestGroup
 
PDF
Domain Driven Design
Harsh Jegadeesan
 
PPTX
Implementing Machine Learning in the Real World
Jesus Rodriguez
 
PPTX
Evolution in the Large and in the Small in Model-Driven Development
Alfonso Pierantonio
 
PDF
Design Patterns - The Ultimate Blueprint for Software
Edureka!
 
PDF
Mda start up
Lai Ha
 
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Jordi Cabot
 
Spreadsheets are models too - Richard Paige at Sems 2014
semsworkshop
 
On the Customization of Model Management Systems for File-Centric IDEs
David Méndez-Acuña
 
Design Patterns - General Introduction
Asma CHERIF
 
A Lightweight MDD Process Applied in Small Projects
Gabor Guta
 
Model driven engineering for big data management systems
Marcos Almeida
 
Mathematical Modeling using MATLAB, by U.M. Sundar Senior Application Enginee...
CdactX Technologies, Ltd.
 
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
fomenareymar
 
Best Practices in Object Oriented Analysis and Design
nguyencraft01
 
Educating in MDE
Jordi Cabot
 
Productivity mdd mdb_code_centric
Santiago Meliá
 
Modeling With Eclipse @SoftShake 2011
Mickael Istria
 
Webinar: Design Patterns : Tailor-made solutions for Software Development
Edureka!
 
Introduction to architectures based on models, models and metamodels. model d...
Vicente García Díaz
 
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
FestGroup
 
Domain Driven Design
Harsh Jegadeesan
 
Implementing Machine Learning in the Real World
Jesus Rodriguez
 
Evolution in the Large and in the Small in Model-Driven Development
Alfonso Pierantonio
 
Design Patterns - The Ultimate Blueprint for Software
Edureka!
 
Mda start up
Lai Ha
 
Ad

Recently uploaded (20)

PPTX
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPTX
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PPTX
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
PPTX
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPT
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Feb 2021 Cohesity first pitch presentation.pptx
enginsayin1
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
Fundamentals_of_Microservices_Architecture.pptx
MuhammadUzair504018
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Ad

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
  • 4. Model-driven engineer Context Modeler Model-driven solution T1 T2 T3 4 Problem model(Domain- specific) Application code (Platform-specific) solves
  • 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
  • 15. 15
  • 16. 16 How we can help Willy? David + Iván
  • 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
  • 20. Model Management Framework Tool (MMFT) Graphical editor for defining interaction of models and operations State of the art 20 Merge Graphical Editor
  • 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
  • 24. MWE2 (Proper syntax) Simple tasks Composite tasks State of the art 24 Proper syntax o o
  • 25. ATLFlow (ATL-Based) Simple tasks Composite tasks State of the art 25 Focused on model transformation chains written in ATL t t
  • 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?
  • 31. Solution strategy
 Overview 31 Development artifacts manipulation Megamodel as metadata repository Model-centric views DSL for definition of models interaction
  • 32. Execution of repetitive tasks Solution strategy
 Overview 32 Event-action rules for tasks automation Support for composite tasks
  • 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
  • 40. Implementation
 (Modeling Artifacts Manager) Model Management System Modeling artifacts manager Operations launcher Modeler tooling generator Metadata registry 40
  • 41. Implementation
 (Modeling Artifacts Manager) Model Management System Modeling artifacts manager Operations launcher Modeler tooling generator Model Metamodel conformsTo Type Metamodel{ attributes{ attribute absolutePath : string } } Type Model{ attributes{ attribute absolutePath : string } references{ reference conformsTo : Metamodel } 41
  • 42. Implementation
 (Operations Launcher) Model Management System Modeling artifacts manager Operations launcher Modeler tooling generator Model-driven engineer Operation Simple Composite 42
  • 43. Implementation
 (Operations Launcher) Model Metamodel conformsTo validate OnUpdate OnUpdate operations{ simpleOperation validate( ){ Validator.validate(this.absolutePath, this.conformsTo.absolutePath); } } earules{ earule OnUpdate -> this -> this.validate(); earule OnUpdate -> this. conformsTo -> this.validate(); } } Model Management System Modeling artifacts manager Operations launcher Modeler tooling generator 43
  • 44. Implementation
 (Modeler’s IDE generation) Modeler Input Model(Domain- specific) Application code (Platform-specific) One single clic 44
  • 45. Implementation
 (Modeler’s IDE generation) Model Management System Modeling artifacts manager Operations launcher Modeler’s IDE generator Model-driven engineer MoDeTo 45
  • 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