SIG Architecture & Design Model Driven Architecture David Meijers
Agenda Introduction Key concept Metamodeling Benefits & drawbacks References
Introduction Framework for SW development defined by OMG Focus on using modeling languages as programming languages rather than design languages only. The ‘A’ in MDA is the  architecture of  the  development environment Standardization of MDSD Alternative for non-prevailing, proliferated middleware solutions
Modeling Maturity Levels MML 0: No specification MML 1: Textual Specification MML 2: Text with Diagrams MML 3: Diagrams with Text MML 4: Precise Models MML 5: Models only
Key Concept JSP Code SQL Code EJB Code CIM    SQL - EJB      EJB - JSP   PSM JSP PSM SQL PSM EJB PIM    
Components Computation independent model (CIM) Platform independent model (PIM) Platform specific model (PSM) PSM bridges Code bridges
Traditional  SDLC vs MDA SDLC
Metamodeling (1/3) Defining modeling languages Metamodel    Modeling language Metalanguage    Metamodel Modeling language Common Warehouse Metamodel   (CWM). Unified Modeling Language (UML) Metalanguage Standard that defines the language to define modeling languages Meta Object Facility (MOF)
Metamodeling (2/3) Metalanguage Metamodels UML models Real life
Metamodeling (3/3) Transformation definition language Metalanguage Defines transformations based on the metamodels of languages Quey View Transformation (QVT)
MDA Framework
Roles and tools
MDA requirements Modeling languages (UML, OCL, CWM, ...; Meta: MOF) Transformation definitions (QVT, scripts) Tools
The logo explained Pervasive Services (CORBA services) Directory Services  Transaction Services  Security Services  Distributed Event and Notification Services  Domain Facilities
MDA benefits Portability Interoperability Productivity Locality of change \ separation of concerns Abstraction level Documentation Design By Contract (OCL)
MDA drawbacks Dynamic specification insufficient in existing modeling languages “ ... the  transformation tools will not be that good for a few years  ...”   No standard for transformations (mapping models to models or code)    QVT How to handle legacy? Targeted at large scale projects preferably with multiple-implementation technologies.
Remarks Can you generate a working program from a model? MDA and SOA are not mutual exclusive MDA and Agile Development are not mutual exclusive
Adoption thermometer 2003, MDA was at the peak position. Many technologies come apart on the downslope of the curve.
References “ Model Driven Architecture – Applying MDA to Enterprise Computing”, David Frankel “ MDA Explained – The Model Driven Architecture: Practice and Promise”, Anneke Kleppe, et al “ Model-Driven Software Development – Technology, Engineering, Management”, Thomas Stahl, et al
More References “ MDA Distilled”, Stephen Mellor, et al http://www.omg.org/mda

Sig A&D - MDA

  • 1.
    SIG Architecture &Design Model Driven Architecture David Meijers
  • 2.
    Agenda Introduction Keyconcept Metamodeling Benefits & drawbacks References
  • 3.
    Introduction Framework forSW development defined by OMG Focus on using modeling languages as programming languages rather than design languages only. The ‘A’ in MDA is the architecture of the development environment Standardization of MDSD Alternative for non-prevailing, proliferated middleware solutions
  • 4.
    Modeling Maturity LevelsMML 0: No specification MML 1: Textual Specification MML 2: Text with Diagrams MML 3: Diagrams with Text MML 4: Precise Models MML 5: Models only
  • 5.
    Key Concept JSPCode SQL Code EJB Code CIM  SQL - EJB   EJB - JSP  PSM JSP PSM SQL PSM EJB PIM    
  • 6.
    Components Computation independentmodel (CIM) Platform independent model (PIM) Platform specific model (PSM) PSM bridges Code bridges
  • 7.
    Traditional SDLCvs MDA SDLC
  • 8.
    Metamodeling (1/3) Definingmodeling languages Metamodel  Modeling language Metalanguage  Metamodel Modeling language Common Warehouse Metamodel (CWM). Unified Modeling Language (UML) Metalanguage Standard that defines the language to define modeling languages Meta Object Facility (MOF)
  • 9.
    Metamodeling (2/3) MetalanguageMetamodels UML models Real life
  • 10.
    Metamodeling (3/3) Transformationdefinition language Metalanguage Defines transformations based on the metamodels of languages Quey View Transformation (QVT)
  • 11.
  • 12.
  • 13.
    MDA requirements Modelinglanguages (UML, OCL, CWM, ...; Meta: MOF) Transformation definitions (QVT, scripts) Tools
  • 14.
    The logo explainedPervasive Services (CORBA services) Directory Services Transaction Services Security Services Distributed Event and Notification Services Domain Facilities
  • 15.
    MDA benefits PortabilityInteroperability Productivity Locality of change \ separation of concerns Abstraction level Documentation Design By Contract (OCL)
  • 16.
    MDA drawbacks Dynamicspecification insufficient in existing modeling languages “ ... the transformation tools will not be that good for a few years ...” No standard for transformations (mapping models to models or code)  QVT How to handle legacy? Targeted at large scale projects preferably with multiple-implementation technologies.
  • 17.
    Remarks Can yougenerate a working program from a model? MDA and SOA are not mutual exclusive MDA and Agile Development are not mutual exclusive
  • 18.
    Adoption thermometer 2003,MDA was at the peak position. Many technologies come apart on the downslope of the curve.
  • 19.
    References “ ModelDriven Architecture – Applying MDA to Enterprise Computing”, David Frankel “ MDA Explained – The Model Driven Architecture: Practice and Promise”, Anneke Kleppe, et al “ Model-Driven Software Development – Technology, Engineering, Management”, Thomas Stahl, et al
  • 20.
    More References “MDA Distilled”, Stephen Mellor, et al http://www.omg.org/mda

Editor's Notes

  • #2 Anyone witness a successful MDA implementation? Is MDA theoretical and boring? This is informational, not a promo.