SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Uml with detail
Uml with detailUml with detail
Uml with detailHamza Khan
 
Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagramsAlaa Ahmed
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingLeveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingEd Seidewitz
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns pptAman Jain
 
SysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsSysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsEd Seidewitz
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
IFML - Interaction Flow Modeling Language - tutorial on UI and UX modeling &...
IFML -  Interaction Flow Modeling Language - tutorial on UI and UX modeling &...IFML -  Interaction Flow Modeling Language - tutorial on UI and UX modeling &...
IFML - Interaction Flow Modeling Language - tutorial on UI and UX modeling &...Marco Brambilla
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14Niit Care
 
Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Ed Seidewitz
 
Model based systems engineering
Model based systems engineeringModel based systems engineering
Model based systems engineeringCapgemini
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagramsSwathy T
 
UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionCherryBerry2
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General IntroductionAsma CHERIF
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 

Was ist angesagt? (20)

Uml with detail
Uml with detailUml with detail
Uml with detail
 
Uml - An Overview
Uml - An OverviewUml - An Overview
Uml - An Overview
 
Unified modeling language diagrams
Unified modeling language diagramsUnified modeling language diagrams
Unified modeling language diagrams
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Ch09
Ch09Ch09
Ch09
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study ModelingLeveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
Leveraging Alf for SysML, Part 2: More Effective Trade Study Modeling
 
Design patterns ppt
Design patterns pptDesign patterns ppt
Design patterns ppt
 
SysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten yearsSysML v2 and MBSE: The next ten years
SysML v2 and MBSE: The next ten years
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
IFML - Interaction Flow Modeling Language - tutorial on UI and UX modeling &...
IFML -  Interaction Flow Modeling Language - tutorial on UI and UX modeling &...IFML -  Interaction Flow Modeling Language - tutorial on UI and UX modeling &...
IFML - Interaction Flow Modeling Language - tutorial on UI and UX modeling &...
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14
 
Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2Introduction to the OMG Systems Modeling Language (SysML), Version 2
Introduction to the OMG Systems Modeling Language (SysML), Version 2
 
Model based systems engineering
Model based systems engineeringModel based systems engineering
Model based systems engineering
 
Uml structural diagrams
Uml structural diagramsUml structural diagrams
Uml structural diagrams
 
UML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussionUML Diagram @ Software engineering discussion
UML Diagram @ Software engineering discussion
 
Design Patterns - General Introduction
Design Patterns - General IntroductionDesign Patterns - General Introduction
Design Patterns - General Introduction
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Ch5 system modeling
Ch5 system modelingCh5 system modeling
Ch5 system modeling
 
Ch7
Ch7Ch7
Ch7
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Kürzlich hochgeladen (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

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