SlideShare a Scribd company logo
1 of 46
Download to read offline
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

Outside inc - is social intrapreneurship the new driver for innovation?
Outside inc -  is social intrapreneurship the new driver for innovation?Outside inc -  is social intrapreneurship the new driver for innovation?
Outside inc - is social intrapreneurship the new driver for innovation?Anis Bedda
 
Classical organizational theory(scientific management)
Classical organizational theory(scientific management)Classical organizational theory(scientific management)
Classical organizational theory(scientific management)Boyet Aluan
 
Principles underlying job enlargement, job enrichment and job rotation
Principles underlying job enlargement, job enrichment and job rotationPrinciples underlying job enlargement, job enrichment and job rotation
Principles underlying job enlargement, job enrichment and job rotationRitika Kumari
 
The history of management thought
The history of management thoughtThe history of management thought
The history of management thoughtAhmad Alzbeidat
 
The Concept of Corporate Entrepreneurship - Intrapreneurship
The Concept of Corporate Entrepreneurship - IntrapreneurshipThe Concept of Corporate Entrepreneurship - Intrapreneurship
The Concept of Corporate Entrepreneurship - IntrapreneurshipGaurav Singh Bisen
 
Hawthrone studies explained
Hawthrone studies explainedHawthrone studies explained
Hawthrone studies explainedJoby Puthussery
 
Frederick Herzberg - Two-factor Hygiene-Motivator Theory
Frederick Herzberg - Two-factor Hygiene-Motivator TheoryFrederick Herzberg - Two-factor Hygiene-Motivator Theory
Frederick Herzberg - Two-factor Hygiene-Motivator TheoryAlbert Winadi, CISA
 
PreparedU: The Millennial Mind Goes to Work
PreparedU: The Millennial Mind Goes to WorkPreparedU: The Millennial Mind Goes to Work
PreparedU: The Millennial Mind Goes to WorkBentley University
 
Hawthorne experiments
Hawthorne experimentsHawthorne experiments
Hawthorne experimentsNavin Elias
 
Job satisfaction.ppt
Job satisfaction.pptJob satisfaction.ppt
Job satisfaction.pptsadia saeed
 
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)Lean Analytics
 
25 Mission Statements From the World's Most Valuable Brands
25 Mission Statements From the World's Most Valuable Brands25 Mission Statements From the World's Most Valuable Brands
25 Mission Statements From the World's Most Valuable BrandsPalo Alto Software
 
Business policy & strategic management
Business policy & strategic managementBusiness policy & strategic management
Business policy & strategic managementShashankdiv
 

Viewers also liked (18)

Intrapreneurship
IntrapreneurshipIntrapreneurship
Intrapreneurship
 
Hawthorne experiments
Hawthorne experimentsHawthorne experiments
Hawthorne experiments
 
Outside inc - is social intrapreneurship the new driver for innovation?
Outside inc -  is social intrapreneurship the new driver for innovation?Outside inc -  is social intrapreneurship the new driver for innovation?
Outside inc - is social intrapreneurship the new driver for innovation?
 
Intrapreneurship
IntrapreneurshipIntrapreneurship
Intrapreneurship
 
Classical organizational theory(scientific management)
Classical organizational theory(scientific management)Classical organizational theory(scientific management)
Classical organizational theory(scientific management)
 
Intrapreneurship
Intrapreneurship Intrapreneurship
Intrapreneurship
 
Principles underlying job enlargement, job enrichment and job rotation
Principles underlying job enlargement, job enrichment and job rotationPrinciples underlying job enlargement, job enrichment and job rotation
Principles underlying job enlargement, job enrichment and job rotation
 
The history of management thought
The history of management thoughtThe history of management thought
The history of management thought
 
The Concept of Corporate Entrepreneurship - Intrapreneurship
The Concept of Corporate Entrepreneurship - IntrapreneurshipThe Concept of Corporate Entrepreneurship - Intrapreneurship
The Concept of Corporate Entrepreneurship - Intrapreneurship
 
Hawthrone studies explained
Hawthrone studies explainedHawthrone studies explained
Hawthrone studies explained
 
Generation Theory
Generation TheoryGeneration Theory
Generation Theory
 
Frederick Herzberg - Two-factor Hygiene-Motivator Theory
Frederick Herzberg - Two-factor Hygiene-Motivator TheoryFrederick Herzberg - Two-factor Hygiene-Motivator Theory
Frederick Herzberg - Two-factor Hygiene-Motivator Theory
 
PreparedU: The Millennial Mind Goes to Work
PreparedU: The Millennial Mind Goes to WorkPreparedU: The Millennial Mind Goes to Work
PreparedU: The Millennial Mind Goes to Work
 
Hawthorne experiments
Hawthorne experimentsHawthorne experiments
Hawthorne experiments
 
Job satisfaction.ppt
Job satisfaction.pptJob satisfaction.ppt
Job satisfaction.ppt
 
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)
Lean Analytics for Intrapreneurs (Lean Startup Conf 2013)
 
25 Mission Statements From the World's Most Valuable Brands
25 Mission Statements From the World's Most Valuable Brands25 Mission Statements From the World's Most Valuable Brands
25 Mission Statements From the World's Most Valuable Brands
 
Business policy & strategic management
Business policy & strategic managementBusiness policy & strategic management
Business policy & strategic management
 

Similar to Enriching Tool Support for Model-Driven Software Development

Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)Jordi Cabot
 
Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014semsworkshop
 
On the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEsOn the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEsDavid Méndez-Acuña
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsGabor Guta
 
Model driven engineering for big data management systems
Model driven engineering for big data management systemsModel driven engineering for big data management systems
Model driven engineering for big data management systemsMarcos Almeida
 
Best Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and DesignBest Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and Designnguyencraft01
 
Educating in MDE
Educating in MDE Educating in MDE
Educating in MDE Jordi Cabot
 
Productivity mdd mdb_code_centric
Productivity mdd mdb_code_centricProductivity mdd mdb_code_centric
Productivity mdd mdb_code_centricSantiago Meliá
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Mickael Istria
 
Webinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software DevelopmentWebinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software DevelopmentEdureka!
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
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
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java UniverseJavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java UniverseFestGroup
 
Implementing Machine Learning in the Real World
Implementing Machine Learning in the Real WorldImplementing Machine Learning in the Real World
Implementing Machine Learning in the Real WorldJesus Rodriguez
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentAlfonso Pierantonio
 
Design Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for SoftwareDesign Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for SoftwareEdureka!
 
Mda start up
Mda start upMda start up
Mda start upLai Ha
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net coreSam Nasr, MCSA, MVP
 

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

Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)Agile and Modeling / MDE : friends or foes? (Agile Tour  Nantes 2010)
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)
 
Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014Spreadsheets are models too - Richard Paige at Sems 2014
Spreadsheets are models too - Richard Paige at Sems 2014
 
On the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEsOn the Customization of Model Management Systems for File-Centric IDEs
On the Customization of Model Management Systems for File-Centric IDEs
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
A Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small ProjectsA Lightweight MDD Process Applied in Small Projects
A Lightweight MDD Process Applied in Small Projects
 
Model driven engineering for big data management systems
Model driven engineering for big data management systemsModel driven engineering for big data management systems
Model driven engineering for big data management systems
 
Best Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and DesignBest Practices in Object Oriented Analysis and Design
Best Practices in Object Oriented Analysis and Design
 
Educating in MDE
Educating in MDE Educating in MDE
Educating in MDE
 
Productivity mdd mdb_code_centric
Productivity mdd mdb_code_centricProductivity mdd mdb_code_centric
Productivity mdd mdb_code_centric
 
Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011Modeling With Eclipse @SoftShake 2011
Modeling With Eclipse @SoftShake 2011
 
Webinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software DevelopmentWebinar: Design Patterns : Tailor-made solutions for Software Development
Webinar: Design Patterns : Tailor-made solutions for Software Development
 
Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...Introduction to architectures based on models, models and metamodels. model d...
Introduction to architectures based on models, models and metamodels. model d...
 
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java UniverseJavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
JavaFest. Антон Лемешко. Model-Driven Development in the Open Java Universe
 
Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
Implementing Machine Learning in the Real World
Implementing Machine Learning in the Real WorldImplementing Machine Learning in the Real World
Implementing Machine Learning in the Real World
 
Evolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven DevelopmentEvolution in the Large and in the Small in Model-Driven Development
Evolution in the Large and in the Small in Model-Driven Development
 
Design Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for SoftwareDesign Patterns - The Ultimate Blueprint for Software
Design Patterns - The Ultimate Blueprint for Software
 
Mda start up
Mda start upMda start up
Mda start up
 
Clean architecture with asp.net core
Clean architecture with asp.net coreClean architecture with asp.net core
Clean architecture with asp.net core
 
MSR Asia Summit
MSR Asia SummitMSR Asia Summit
MSR Asia Summit
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
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
  • 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