Model Driven Architecture (MDA)
An Introduction and
Commonly Research Problems




Ha Lai Duy
Østfold University College
October 19, 2011
Outline
 An Introduction
 Commonly Research Problems
 Conclusions
Overview about MDA
 Model driven architecture: was launched by
  the OMG in 2001.
 Model-centric approach: models are the
  main focus of the software process.
Traditional Software
Development problems
            Most of the
             artifacts during the
             first three phases is
             just paper and
             nothing more.
            Productivity
            Maintenance
            Document
            Portability
MDA development process
            The artifacts are
             formal models
             (which can be
             understood by
             computers)
            Models are the core
             at MDA
Model, Language, and System
MDA models
 Platform Independent Model (PIM)
   a high level abstraction.
   independent of any implementation
    technology.
 Platform Specific Model (PSM)
   tailored to specify system in terms of the
    implementation.
 Code
   final artifacts in the development
MDA transformation steps
Meta-model
 A meta-model is simply a model of a modeling
  language.
 It defines the structure, semantics, and
  constraints for a family of models.
OMG's four-layer architecture
Transformation
 Transformation is the automatic process to transform a
  set of source models to a set of target model.
      Model to text: Visitor, template.
      Model to model: OMG’s QVT specification in 2008.
The Complete MDA Framework
M3
                                      MOF



                         is                         is
                       written                    written
                         in                         in
                                     QVT
                                          is
                                        written
M2                                        in

                     UML         Transformation      ERD
                    Profiles        definition      Profiles

                                        defines
M1
                    Class        Transform to     Relational
                   diagram                         diagram
Outline
 An Introduction
 Commonly Research Problems
 Conclusions
Commonly Research Problems
   Model
   Transformation
   Metamodelling
   Apply MDA
Model research field
 Evaluate the essential of UML in
  practice.
   Due to its complexity & power.
   Like 3GLs, it does not fit to model
    specific domain problems.
Model research field
 Domain Specific Language (DSL)
   Propose the modeling language for
    specific domains e.g. ERD, EBNF, XML
    Schema, Ontology language,...
   Buid the model-based DSL framework to
    take the advantage of MDA features e.g.
    code generation, transformation…
   Support to develop a new DSL language
    in both notation and textual ways.
Model research field
 Model operation
   Support version control system:
       Models comparision.
       Conflict detection and resolution.
       Copy-paste-merge operations.
     Model validation
     Debuging model
     Model query
     Model transaction
Transformation research field
 Exploring possibilities and eliciting
  requirements.
 Implement the QVT standard.
 Evaluate in practical applications.
Transformation research field
 Model interpretation vs. code generation
   Pros:
     It enables faster changes.
     It enables changes at runtime.
     Easier to update and scale.
   Cons:
     Customers could not choose their execution
      environment.
     We have the freedom at the model aspect, but we
      left the freedom at the generator rules.
Metamodelling research field
 The evolution of the meta-models:
   Transformation defination should be
    changed to adapt with new meta-model.
   Model is invalid with the new version of
    meta-model.
   Co-evolution approaches.
Apply MDA in practice
 Software development approaches:
   Agile MDA.
 MDA framework introduces some risks:
   It is too rigid:
      requirement team should understand what is
       allowed and what is not.
   The roles is changed in MDA approaches.
 Enviroment for MDA
   Education.
   Culture gap.
Outline
 An Introduction
 Commonly Research Problems
 Conclusions
Conclusions
 Advantages:
     Gain of productivity.
     High level of abstraction.
     Documentation.
     Maintaining.
     ...
 Disadvantages:
     Rigidity.
     Require the new roles in software development.
     Not fully implementation.
     Does not support version control for collaboration.
Conclusions
 Problem statements:
   The rigidtity of MDA:
     When request of change comes:
       Going back and modify the meta-models
         Effect to other artifacts e.g. models
       Hack the code:
         Not well documented  maintaning.
       Manipulating the source models to make it
        procudes desire result.
         Models are not truly reflected to the
           problem domain.
Thank you

Mda introduction and common research problems

  • 1.
    Model Driven Architecture(MDA) An Introduction and Commonly Research Problems Ha Lai Duy Østfold University College October 19, 2011
  • 2.
    Outline  An Introduction Commonly Research Problems  Conclusions
  • 3.
    Overview about MDA Model driven architecture: was launched by the OMG in 2001.  Model-centric approach: models are the main focus of the software process.
  • 4.
    Traditional Software Development problems  Most of the artifacts during the first three phases is just paper and nothing more.  Productivity  Maintenance  Document  Portability
  • 5.
    MDA development process  The artifacts are formal models (which can be understood by computers)  Models are the core at MDA
  • 6.
  • 7.
    MDA models  PlatformIndependent Model (PIM)  a high level abstraction.  independent of any implementation technology.  Platform Specific Model (PSM)  tailored to specify system in terms of the implementation.  Code  final artifacts in the development
  • 8.
  • 9.
    Meta-model  A meta-modelis simply a model of a modeling language.  It defines the structure, semantics, and constraints for a family of models.
  • 10.
  • 11.
    Transformation  Transformation isthe automatic process to transform a set of source models to a set of target model.  Model to text: Visitor, template.  Model to model: OMG’s QVT specification in 2008.
  • 12.
    The Complete MDAFramework M3 MOF is is written written in in QVT is written M2 in UML Transformation ERD Profiles definition Profiles defines M1 Class Transform to Relational diagram diagram
  • 13.
    Outline  An Introduction Commonly Research Problems  Conclusions
  • 14.
    Commonly Research Problems  Model  Transformation  Metamodelling  Apply MDA
  • 15.
    Model research field Evaluate the essential of UML in practice.  Due to its complexity & power.  Like 3GLs, it does not fit to model specific domain problems.
  • 16.
    Model research field Domain Specific Language (DSL)  Propose the modeling language for specific domains e.g. ERD, EBNF, XML Schema, Ontology language,...  Buid the model-based DSL framework to take the advantage of MDA features e.g. code generation, transformation…  Support to develop a new DSL language in both notation and textual ways.
  • 17.
    Model research field Model operation  Support version control system:  Models comparision.  Conflict detection and resolution.  Copy-paste-merge operations.  Model validation  Debuging model  Model query  Model transaction
  • 18.
    Transformation research field Exploring possibilities and eliciting requirements.  Implement the QVT standard.  Evaluate in practical applications.
  • 19.
    Transformation research field Model interpretation vs. code generation  Pros:  It enables faster changes.  It enables changes at runtime.  Easier to update and scale.  Cons:  Customers could not choose their execution environment.  We have the freedom at the model aspect, but we left the freedom at the generator rules.
  • 20.
    Metamodelling research field The evolution of the meta-models:  Transformation defination should be changed to adapt with new meta-model.  Model is invalid with the new version of meta-model.  Co-evolution approaches.
  • 21.
    Apply MDA inpractice  Software development approaches:  Agile MDA.  MDA framework introduces some risks:  It is too rigid:  requirement team should understand what is allowed and what is not.  The roles is changed in MDA approaches.  Enviroment for MDA  Education.  Culture gap.
  • 22.
    Outline  An Introduction Commonly Research Problems  Conclusions
  • 23.
    Conclusions  Advantages:  Gain of productivity.  High level of abstraction.  Documentation.  Maintaining.  ...  Disadvantages:  Rigidity.  Require the new roles in software development.  Not fully implementation.  Does not support version control for collaboration.
  • 24.
    Conclusions  Problem statements:  The rigidtity of MDA:  When request of change comes:  Going back and modify the meta-models  Effect to other artifacts e.g. models  Hack the code:  Not well documented  maintaning.  Manipulating the source models to make it procudes desire result.  Models are not truly reflected to the problem domain.
  • 25.