SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Jordi Cabot
 
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
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Marco Brambilla
 

Mais procurados (20)

Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
Model-Driven Software Engineering in Practice - Chapter 8 - Model-to-model tr...
 
Agile Process models
Agile Process modelsAgile Process models
Agile Process models
 
Ooad (object oriented analysis design)
Ooad (object oriented analysis design)Ooad (object oriented analysis design)
Ooad (object oriented analysis design)
 
Object Oriented Design
Object Oriented DesignObject Oriented Design
Object Oriented Design
 
UML ile Modelleme
UML ile ModellemeUML ile Modelleme
UML ile Modelleme
 
Let us understand design pattern
Let us understand design patternLet us understand design pattern
Let us understand design pattern
 
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...
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Spiral Model
Spiral ModelSpiral Model
Spiral Model
 
Design principle vs design patterns
Design principle vs design patternsDesign principle vs design patterns
Design principle vs design patterns
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Prototyping model
Prototyping modelPrototyping model
Prototyping model
 
Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...Conditional interval variables: A powerful concept for modeling and solving c...
Conditional interval variables: A powerful concept for modeling and solving c...
 
Model-Based Testing: Why, What, How
Model-Based Testing: Why, What, HowModel-Based Testing: Why, What, How
Model-Based Testing: Why, What, How
 
003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Uml class Diagram
Uml class DiagramUml class Diagram
Uml class Diagram
 

Destaque

MDA Framework with SissyFight 3000
MDA Framework with SissyFight 3000MDA Framework with SissyFight 3000
MDA Framework with SissyFight 3000
David 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 16
Shane Gallagher
 
MeCCSA 2013 Pub Quiz
MeCCSA 2013 Pub QuizMeCCSA 2013 Pub Quiz
MeCCSA 2013 Pub Quiz
_
 
Gamification in life
Gamification in lifeGamification in life
Gamification in life
choigd
 
Figuras retóricas ejercicios
Figuras retóricas   ejerciciosFiguras retóricas   ejercicios
Figuras retóricas ejercicios
lojeda69
 

Destaque (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
 

Semelhante a An introduction to the MDA

Mda start up
Mda start upMda start up
Mda start up
Lai Ha
 
CS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,ShaalmaliCS587 Project - Raychaudhury,Shaalmali
CS587 Project - Raychaudhury,Shaalmali
sagar.247
 
Mda introduction and common research problems
Mda   introduction and common research problemsMda   introduction and common research problems
Mda introduction and common research problems
Lai Ha
 
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
randymartin91030
 

Semelhante a 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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...
 
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
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

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