SlideShare a Scribd company logo
1 of 27
Download to read offline
An introduction to MDA
MDA presentation




Lai Duy Ha
Outline
 Motivation
 The MDA framework
 Case study – triathlon project
Motivation
 Boring code cause by:
   Follow templates or coding style guide.
   The consistent of the system.
   The benefit of maintaining.
 Disadvantage
   Reduce inspiration of developers.
   Silly copy/paste code.
Motivation




   Example of one normal module:
     Insert, update, delete record in one table.
     Each field has its own validation.
     Field’s presentation (type of control, row, column,….)
     etc…
   One system may contains more than 20+ modules like this
Motivation
 My approach:
   Using configuration data.
     Validation.
     Layout data.
   Using template file & complier to generate
    code.
Motivation
 Challenge
   The change of configuration data’s structure over
    time.
   Need to re-construct the structure of configuration
    data.
Outline
 Motivation
 The MDA framework
 Case study – triathlon project
Overview about MDA
 Model driven architecture: was
  launched by the OMG in 2001.
MDA development process
            The artifacts are
             formal models
             (which can be
             understood by
             computers)
            Models are the core
             at MDA
What is a model?
 A model is always an abstraction of
  something that exists in reality.
 A model is different from the thing it
  models, e.g., details are left out or its
  size is different.
 A model can be used as an example to
  produce something that exists in reality.
 A model is a description of (part of) a system
  written in a well-defined language.
What is a model?
How the models are created?
 Formally, they are based on a
  metamodel.
 A metamodel is simply a model of a
  modeling language. It defines the
  structure, semantics, and constraints
  for a family of models.
How the models are created?
 Because a metamodel is also a model, a
  metamodel itself must be written in a well-
  defined language. This language is called a
  metalanguage
Four-level metamodel hierarchy
Transformation
 While the models can be considered as the core of MDA.
  The most important feature, that makes the MDA
  different from the traditional process, is the
  transformation.
 There are two types of transformation:
      Model 2 model:
          QVT, ALT.
      Model 2 code:
          using template engine such as: Velocity, Acceleo, Xpand, ....
Transformation
 A transformation definition is a set of
  transformation rules that together describe
  how a model in the source language can be
  transformed into a model in the target
  language.
The complete MDA framework
Outline
 Motivation
 The MDA framework
 Case study – triathlon project
Case study
 The sample project is the enterprise
  system, which is used to tracking in
  triathlon race.
Case study
 System architecture:
   In this case study, we only pay attention to the
    communication between client-server via restful
    service.
Generator project
Metamodel
Model editor
Template editor
Generate code
What’s next !!!
 Buiding custom Domain Specific
  Language using Xtext.
 Modeling Java Entrerprise System
  using mod4j.
References
 Kleppe, A. G., J. Warmer, et al. 2003 MDA Explained:
  TheModel Driven Architecture: Practice and Promise,
  Addison-Wesley Longman Publishing Co., Inc

More Related Content

What's hot

Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Jordi Cabot
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4Mohammed Romi
 
Software Architecture Lab
Software Architecture LabSoftware Architecture Lab
Software Architecture LabHenry Muccini
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagramsSwathy T
 
Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminariesMoutasm Tamimi
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSAbrar ali
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7mohammad hossein Jalili
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
 
Mc call's software quality model
Mc call's software quality modelMc call's software quality model
Mc call's software quality modelYatharth Aggarwal
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture tigneb
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesJordi Cabot
 
Model-driven architecture (MDA)
Model-driven architecture (MDA) Model-driven architecture (MDA)
Model-driven architecture (MDA) Alia Hamwi
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
Spiral Model in Software Engineering with Case Study
Spiral Model in Software Engineering with Case StudySpiral Model in Software Engineering with Case Study
Spiral Model in Software Engineering with Case StudySahil Bansal
 
SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING Abhinav Shukla
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLMalek Sumaiya
 

What's hot (20)

Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Chapter1
Chapter1Chapter1
Chapter1
 
UML
UMLUML
UML
 
Ian Sommerville, Software Engineering, 9th Edition Ch 4
Ian Sommerville,  Software Engineering, 9th Edition Ch 4Ian Sommerville,  Software Engineering, 9th Edition Ch 4
Ian Sommerville, Software Engineering, 9th Edition Ch 4
 
Software Architecture Lab
Software Architecture LabSoftware Architecture Lab
Software Architecture Lab
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagrams
 
Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminaries
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
Mc call's software quality model
Mc call's software quality modelMc call's software quality model
Mc call's software quality model
 
Aspect oriented architecture
Aspect oriented architecture Aspect oriented architecture
Aspect oriented architecture
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
 
Model-driven architecture (MDA)
Model-driven architecture (MDA) Model-driven architecture (MDA)
Model-driven architecture (MDA)
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
Spiral Model in Software Engineering with Case Study
Spiral Model in Software Engineering with Case StudySpiral Model in Software Engineering with Case Study
Spiral Model in Software Engineering with Case Study
 
SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING
 
Object Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UMLObject Oriented Modeling and Design with UML
Object Oriented Modeling and Design with UML
 

Viewers also liked

MDA Framework with SissyFight 3000
MDA Framework with SissyFight 3000MDA Framework with SissyFight 3000
MDA Framework with SissyFight 3000David Gagnon
 
Game design to enhance ca webinar final 12 16
Game design to enhance ca webinar final 12 16Game design to enhance ca webinar final 12 16
Game design to enhance ca webinar final 12 16Shane Gallagher
 
MeCCSA 2013 Pub Quiz
MeCCSA 2013 Pub QuizMeCCSA 2013 Pub Quiz
MeCCSA 2013 Pub Quiz_
 
Fun and the MDA framework
Fun and the MDA frameworkFun and the MDA framework
Fun and the MDA framework_
 
Gamification and serious games - a great duo
Gamification and serious games - a great duoGamification and serious games - a great duo
Gamification and serious games - a great duoRoman Rackwitz
 
Dai Videogames alla Gamification: Una proposta di Framework operativo
Dai Videogames alla Gamification: Una proposta di Framework operativoDai Videogames alla Gamification: Una proposta di Framework operativo
Dai Videogames alla Gamification: Una proposta di Framework operativoFabio Viola
 
Transparency in Game Mechanics
Transparency in Game MechanicsTransparency in Game Mechanics
Transparency in Game MechanicsPier Luca Lanzi
 
Procedural Content Generation
Procedural Content GenerationProcedural Content Generation
Procedural Content GenerationPier Luca Lanzi
 
Procedural Content Generation with Unity
Procedural Content Generation with UnityProcedural Content Generation with Unity
Procedural Content Generation with UnityPier Luca Lanzi
 
A modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkA modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkRoberto Dillon
 
Gamification in life
Gamification in lifeGamification in life
Gamification in lifechoigd
 
5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOs5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOsTony
 
Figuras retóricas ejercicios
Figuras retóricas   ejerciciosFiguras retóricas   ejercicios
Figuras retóricas ejercicioslojeda69
 

Viewers also liked (20)

MDA Framework with SissyFight 3000
MDA Framework with SissyFight 3000MDA Framework with SissyFight 3000
MDA Framework with SissyFight 3000
 
Game design to enhance ca webinar final 12 16
Game design to enhance ca webinar final 12 16Game design to enhance ca webinar final 12 16
Game design to enhance ca webinar final 12 16
 
MeCCSA 2013 Pub Quiz
MeCCSA 2013 Pub QuizMeCCSA 2013 Pub Quiz
MeCCSA 2013 Pub Quiz
 
Mda for course design 8-12-15
Mda for course design 8-12-15Mda for course design 8-12-15
Mda for course design 8-12-15
 
Gamedesign
GamedesignGamedesign
Gamedesign
 
Fun and the MDA framework
Fun and the MDA frameworkFun and the MDA framework
Fun and the MDA framework
 
Gamification and serious games - a great duo
Gamification and serious games - a great duoGamification and serious games - a great duo
Gamification and serious games - a great duo
 
Dai Videogames alla Gamification: Una proposta di Framework operativo
Dai Videogames alla Gamification: Una proposta di Framework operativoDai Videogames alla Gamification: Una proposta di Framework operativo
Dai Videogames alla Gamification: Una proposta di Framework operativo
 
Transparency in Game Mechanics
Transparency in Game MechanicsTransparency in Game Mechanics
Transparency in Game Mechanics
 
Procedural Content Generation
Procedural Content GenerationProcedural Content Generation
Procedural Content Generation
 
Procedural Content Generation with Unity
Procedural Content Generation with UnityProcedural Content Generation with Unity
Procedural Content Generation with Unity
 
A modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE frameworkA modern approach to game analysis and design: the AGE framework
A modern approach to game analysis and design: the AGE framework
 
Game Balancing
Game BalancingGame Balancing
Game Balancing
 
Game Mechanics
Game MechanicsGame Mechanics
Game Mechanics
 
Making Video Games. Everyone! Get in Here!
Making Video Games. Everyone! Get in Here!Making Video Games. Everyone! Get in Here!
Making Video Games. Everyone! Get in Here!
 
PGI3 - Mechanics, Dynamics, and Aesthetics
PGI3 - Mechanics, Dynamics, and AestheticsPGI3 - Mechanics, Dynamics, and Aesthetics
PGI3 - Mechanics, Dynamics, and Aesthetics
 
Game Design by Stephanie Bouchard
Game Design by Stephanie BouchardGame Design by Stephanie Bouchard
Game Design by Stephanie Bouchard
 
Gamification in life
Gamification in lifeGamification in life
Gamification in life
 
5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOs5 The Logical Framework - a short course for NGOs
5 The Logical Framework - a short course for NGOs
 
Figuras retóricas ejercicios
Figuras retóricas   ejerciciosFiguras retóricas   ejercicios
Figuras retóricas ejercicios
 

Similar to An introduction to the MDA

Mda start up
Mda start upMda start up
Mda start upLai Ha
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmalisagar.247
 
Mda introduction and common research problems
Mda   introduction and common research problemsMda   introduction and common research problems
Mda introduction and common research problemsLai Ha
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of livingijseajournal
 
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
 
Service Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesService Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesPankaj Saharan
 
Applying sys ml_with_magicdraw
Applying sys ml_with_magicdrawApplying sys ml_with_magicdraw
Applying sys ml_with_magicdrawelheshk
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignDr. C.V. Suresh Babu
 
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkCarlo Bernaschina
 
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...ijcsit
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxArifaMehreen1
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE Jean-Sebastien Sottet
 
Data warehouse design
Data warehouse designData warehouse design
Data warehouse designines beltaief
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)Jordi Cabot
 
Third AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docxThird AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docxrandymartin91030
 

Similar to An introduction to the MDA (20)

Mda start up
Mda start upMda start up
Mda start up
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmali
 
Mda introduction and common research problems
Mda   introduction and common research problemsMda   introduction and common research problems
Mda introduction and common research problems
 
5
55
5
 
Model versioning in context of living
Model versioning in context of livingModel versioning in context of living
Model versioning in context of living
 
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)
 
Service Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesService Oriented & Model Driven Architectures
Service Oriented & Model Driven Architectures
 
Applying sys ml_with_magicdraw
Applying sys ml_with_magicdrawApplying sys ml_with_magicdraw
Applying sys ml_with_magicdraw
 
ALT
ALTALT
ALT
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation FrameworkALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
ALMOsT.js: an Agile Model to Model and Model to Text Transformation Framework
 
java
javajava
java
 
Design patterns
Design patternsDesign patterns
Design patterns
 
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
DESIGN AND DEVELOPMENT OF BUSINESS RULES MANAGEMENT SYSTEM (BRMS) USING ATLAN...
 
Software_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptxSoftware_Engineering_Presentation (1).pptx
Software_Engineering_Presentation (1).pptx
 
JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE JavaScript Modelling Framwork : MDE
JavaScript Modelling Framwork : MDE
 
Data warehouse design
Data warehouse designData warehouse design
Data warehouse design
 
gn-160406200425 (1).pdf
gn-160406200425 (1).pdfgn-160406200425 (1).pdf
gn-160406200425 (1).pdf
 
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)MDE=Model Driven Everything (Spanish Eclipse Day 2009)
MDE=Model Driven Everything (Spanish Eclipse Day 2009)
 
Third AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docxThird AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docx
 

Recently uploaded

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

An introduction to the MDA

  • 1. An introduction to MDA MDA presentation Lai Duy Ha
  • 2. Outline  Motivation  The MDA framework  Case study – triathlon project
  • 3. Motivation  Boring code cause by:  Follow templates or coding style guide.  The consistent of the system.  The benefit of maintaining.  Disadvantage  Reduce inspiration of developers.  Silly copy/paste code.
  • 4. Motivation  Example of one normal module:  Insert, update, delete record in one table.  Each field has its own validation.  Field’s presentation (type of control, row, column,….)  etc…  One system may contains more than 20+ modules like this
  • 5. Motivation  My approach:  Using configuration data.  Validation.  Layout data.  Using template file & complier to generate code.
  • 6. Motivation  Challenge  The change of configuration data’s structure over time.  Need to re-construct the structure of configuration data.
  • 7. Outline  Motivation  The MDA framework  Case study – triathlon project
  • 8. Overview about MDA  Model driven architecture: was launched by the OMG in 2001.
  • 9. MDA development process  The artifacts are formal models (which can be understood by computers)  Models are the core at MDA
  • 10. What is a model?  A model is always an abstraction of something that exists in reality.  A model is different from the thing it models, e.g., details are left out or its size is different.  A model can be used as an example to produce something that exists in reality.  A model is a description of (part of) a system written in a well-defined language.
  • 11. What is a model?
  • 12. How the models are created?  Formally, they are based on a metamodel.  A metamodel is simply a model of a modeling language. It defines the structure, semantics, and constraints for a family of models.
  • 13. How the models are created?  Because a metamodel is also a model, a metamodel itself must be written in a well- defined language. This language is called a metalanguage
  • 15. Transformation  While the models can be considered as the core of MDA. The most important feature, that makes the MDA different from the traditional process, is the transformation.  There are two types of transformation:  Model 2 model:  QVT, ALT.  Model 2 code:  using template engine such as: Velocity, Acceleo, Xpand, ....
  • 16. Transformation  A transformation definition is a set of transformation rules that together describe how a model in the source language can be transformed into a model in the target language.
  • 17. The complete MDA framework
  • 18. Outline  Motivation  The MDA framework  Case study – triathlon project
  • 19. Case study  The sample project is the enterprise system, which is used to tracking in triathlon race.
  • 20. Case study  System architecture:  In this case study, we only pay attention to the communication between client-server via restful service.
  • 26. What’s next !!!  Buiding custom Domain Specific Language using Xtext.  Modeling Java Entrerprise System using mod4j.
  • 27. References  Kleppe, A. G., J. Warmer, et al. 2003 MDA Explained: TheModel Driven Architecture: Practice and Promise, Addison-Wesley Longman Publishing Co., Inc