SlideShare a Scribd company logo
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

PPTX
Model driven architecture
PPT
Introduction to MDA
PDF
5 - Architetture Software - Metamodelling and the Model Driven Architecture
PPT
Unified Modeling Language
PDF
UNIFIED MODELING LANGUAGE
PDF
Model Driven Architecture (MDA): Motivations, Status & Future
PPT
Model driven architecture
Introduction to MDA
5 - Architetture Software - Metamodelling and the Model Driven Architecture
Unified Modeling Language
UNIFIED MODELING LANGUAGE
Model Driven Architecture (MDA): Motivations, Status & Future

What's hot (20)

PDF
[Capella Day 2019] Model execution and system simulation in Capella
PPT
Data Models.ppt
PPT
Design patterns ppt
PPTX
Capability Maturity Model Integration (CMMI)
PPTX
Software Architecture Patterns
PPTX
Functional modeling
PPTX
Introduction to Unified Modeling Language
PPTX
Uml Presentation
PDF
Business Process Modeling
PPS
Software Devlopment Life Cycle
PDF
Introduction to Design Pattern
PPTX
Uml Presentation
PDF
Model-driven architecture (MDA)
PPTX
User Interface Analysis and Design
PPT
Architectural Design in Software Engineering SE10
PPT
Crisp dm
PDF
Software Development Life Cycle (SDLC)
PPT
PPTX
Architectural styles and patterns
PPTX
System Modelling
[Capella Day 2019] Model execution and system simulation in Capella
Data Models.ppt
Design patterns ppt
Capability Maturity Model Integration (CMMI)
Software Architecture Patterns
Functional modeling
Introduction to Unified Modeling Language
Uml Presentation
Business Process Modeling
Software Devlopment Life Cycle
Introduction to Design Pattern
Uml Presentation
Model-driven architecture (MDA)
User Interface Analysis and Design
Architectural Design in Software Engineering SE10
Crisp dm
Software Development Life Cycle (SDLC)
Architectural styles and patterns
System Modelling
Ad

Viewers also liked (20)

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

Similar to An introduction to the MDA (20)

PDF
Mda start up
PDF
Mda introduction and common research problems
PPS
Sig A&D - MDA
PPT
ERP_Up_Down.ppt
PPTX
Cg 2011
PDF
Agile Modelling Architecture
PPT
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
PDF
Introduction to MDE
PPT
Web technologies: Model Driven Engineering
PPS
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
PPT
PDF
OpenTravel Model-Driven Schema at IATA
PPT
UML01
PDF
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
PDF
PPTX
Kahn.theodore
PDF
CS587 Project - Raychaudhury,Shaalmali
PDF
The road ahead for architectural languages [ACVI 2016]
PPT
NEXiDA at OMG June 2009
Mda start up
Mda introduction and common research problems
Sig A&D - MDA
ERP_Up_Down.ppt
Cg 2011
Agile Modelling Architecture
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Introduction to MDE
Web technologies: Model Driven Engineering
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
OpenTravel Model-Driven Schema at IATA
UML01
Download full ebook of Modeldriven Engineering Sondra Cordova instant downloa...
Kahn.theodore
CS587 Project - Raychaudhury,Shaalmali
The road ahead for architectural languages [ACVI 2016]
NEXiDA at OMG June 2009

Recently uploaded (20)

PDF
Empathic Computing: Creating Shared Understanding
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPT
Teaching material agriculture food technology
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
Cloud computing and distributed systems.
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Approach and Philosophy of On baking technology
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
Empathic Computing: Creating Shared Understanding
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Teaching material agriculture food technology
Advanced methodologies resolving dimensionality complications for autism neur...
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Cloud computing and distributed systems.
MIND Revenue Release Quarter 2 2025 Press Release
Diabetes mellitus diagnosis method based random forest with bat algorithm
Mobile App Security Testing_ A Comprehensive Guide.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Approach and Philosophy of On baking technology
The AUB Centre for AI in Media Proposal.docx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
NewMind AI Weekly Chronicles - August'25 Week I
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Reach Out and Touch Someone: Haptics and Empathic Computing

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