SlideShare a Scribd company logo
1 of 17
MDA
> Model Driven Architecture




                              > Orçun Dayıbaş
                              > December, 2006
                              > METU, Ankara
Agenda
    > Introduction
    > What is MDA?
    > Some Key Terms
    > Development Life Cycle
    > Meta-modeling Architecture
    > Language for PIM
    > Conclusion

2
Hetereogenity in
Software Development
> Programming Languages
     Java, C/C++, C#, COBOL, ADA, V. Basic, Eiffel,
       Smalltalk, ...
> Operating Systems
     Windows (3.1 -> Vista), MacOS, Unix, Mobile (WinCE,
       PalmOS), Embedded, ...
> Networks
     Ethernet, IP, FireWire, USB, Bluetooth, HomeRF, ...
> There will be no consensus on below subjects
   • Hardware
   • Operating System
   • Network Protocols
   • Programming Languages


                                                           3
Middleware solution
> Middleware is a software layer that masks hetereogentiy
     Placed between operating systems and application
       components.
> Middleware itself has various approaches
   • CORBA
   • COM / DCOM
   • Java / EJB
   • XML / SOAPNetworks
> No consensus again
     None of them will come out on top of others. Hence,
       the problem remains.
> Can we agree at a higher level?
     OMG says; Yes!

                                                            4
What is MDA? (1/2)
> Next level of abstraction; model-based development




                                                       5
What is MDA? (2/2)
> The Idea




                     6
MDA in Practice
>   Reduced cost and complexity of application development.
     • Model-oriented implementation.
>   Improved application quality and validation at model
    level.
     • Constraint based, generated test cases.
>   Reuse of business models
>   Platform independence
>   Rapid inclusion of emerging technologies
     • Take a business model (off the shelf).
     • Take a implementation model (off the shelf).
     • Describe links between them.
     • Generate the system.
>   Available modelling products
     • ArcStyler, iUML, OptimalJ, ...

                                                              7
Basic Concepts of MDA
> Model
     A model is a formal specification of the function,
        structure and behavior of a system.
>   Models of different systems are structured explicitly into:
     • Platform Independent Models (PIM)
     • Platform Specific Models (PSM)
>   PIM
       A “formal” specification of the structure and function
        of a system that abstracts away technical detail.
>   PSM
       Specifies how the functionality specified in a PIM is
        realized on a particular platform.




                                                                  8
Developing in MDA(1/2)
> Create the PIM
   • All MDA development projects start with the creation
        of a PIM.
     • PIM at this level represents business functionality and
        behavior.
>   Create and map the PSM
     • After the first iteration, PIM is input to mapping
        which will produce PSM.
     • PIM can be mapped either to a single platform or to
        multiple platforms

                              PIM
         maps to                        maps to
                        maps to

CORBA
 Model
                   Java/EJB
                    Model           …     Other Model
                                                                 9
Developing in MDA(2/2)
> Generating Application
     An MDA tool generates all or most of the
       implementation code for the deployment technology
       selected by the developer


                               PIM
          maps to                        maps to
                         maps to

 CORBA
  Model
                    Java/EJB
                     Model           …     Other Model

                                                           PSMs


 CORBA
   Imp.
                    Java/EJB
                      Imp.           …     Other Imp.

                                                Implementations   10
The Four-Layer
Architecture of OMG(1/2)




                           11
The Four-Layer
      Architecture of OMG(2/2)
      > Beyond M3, M4?
           Yes, we could build a meta-model of M3, but the
               modeling language we use would itself be at M3.
               Hence, we do not need new M4.

                             MOF
               (class, attribute, association)   M3
                   UML, CWM
         (class, att., assoc., state, ...)       M2
                Application
          (classes, DB tables, ...)              M1
  Data of the Application                        M0
(instances, table rows, ...)

                                                                 12
OMG Meta-modeling
Architecture
 Representation                  Interchanging

          UML                           XML


    By using                      By using

                     Mapped by
          MOF                            XMI



 Defined by

                                        Specification
                    Standardized by
       Meta-Model                       CWM


                                                        13
UML as a PIM Language
> UML
   • Based on Object Orientation.
   • Strong in modeling stractural aspects of the system.
   • Weak in modeling behavioral parts.

> xUML (eXecutable UML)
   • Plain UML + AS (Action Semantics)
   • Relays on state machine approach.
   • State machine approach is suitable for specific
      domains (esp. embedded).
    • The AS language is not a very high-level language.




                                                            14
COSEML as a PIM
Language
> Decomposition
   • Based on Component Orientation.
   • In each iteration converges to existent components.
   • Weak in modeling behavioral parts.

> Over Specification
   • Over-specification of the Component Orientation
       provides easier transformation for mapping PIM to
       PSM.


> Dynamic or behavioral parts of system
   • COSEML needs some action semantics.



                                                           15
Thank you...

               Orçun Dayıbaş




                               16
References
> OMG’s MDA An Architecture for Modeling
       Desmond D’Souza
> MDA Distilled: Principles of Model-Driven
  Architecture
     Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise
> OMG’s Model Driven Architecture
     Davide Buscaldi
> MDA Explained: Practice and Promise
     Anneke Kleppe, Jos Warmer, Wim Bast
> Model-Driven Architecture: Vision,
  Standards And Emerging Technologies
     John D. Poole

                                                              17

More Related Content

What's hot

MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )Ahmed Emad
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesJordi Cabot
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architectureBiruk Mamo
 
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionMarco Brambilla
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design PatternSanae BEKKAR
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Marco Brambilla
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSuresh Koujalagi
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application DevelopmentBenny Skogberg
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC PresentationVolkan Uzun
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaEdureka!
 
Rapid Application Development Model
Rapid Application Development ModelRapid Application Development Model
Rapid Application Development ModelDamian T. Gordon
 
Basic Android Animation
Basic Android Animation Basic Android Animation
Basic Android Animation Shilu Shrestha
 
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
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Angelin R
 
Rapid application development
Rapid application developmentRapid application development
Rapid application developmentLombe Kapaya
 

What's hot (20)

MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )MVVM ( Model View ViewModel )
MVVM ( Model View ViewModel )
 
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use casesModel-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
Model-driven Software Engineering in practice: Chapter 3 - MDSE Use cases
 
Model driven architecture
Model driven architectureModel driven architecture
Model driven architecture
 
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
 
RAD Model
RAD ModelRAD Model
RAD Model
 
Design pattern-presentation
Design pattern-presentationDesign pattern-presentation
Design pattern-presentation
 
Introduction to Design Pattern
Introduction to Design  PatternIntroduction to Design  Pattern
Introduction to Design Pattern
 
Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...Model driven software engineering in practice book - Chapter 9 - Model to tex...
Model driven software engineering in practice book - Chapter 9 - Model to tex...
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
DSDM
DSDMDSDM
DSDM
 
Android Application Development
Android Application DevelopmentAndroid Application Development
Android Application Development
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
 
SE chapter 5
SE chapter 5SE chapter 5
SE chapter 5
 
Rapid Application Development Model
Rapid Application Development ModelRapid Application Development Model
Rapid Application Development Model
 
Basic Android Animation
Basic Android Animation Basic Android Animation
Basic Android Animation
 
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...
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Rapid application development
Rapid application developmentRapid application development
Rapid application development
 

Similar to Introduction to MDA

MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools researchRoger Xia
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010MD DAY
 
UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification SimplificationEd Seidewitz
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringPiero Fraternali
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orangesliard
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Akira Tanaka
 
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012Marc Dutoo
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component modelsIvica Crnkovic
 
AIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingAIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingSnowflake Software
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...Jordi Cabot
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsFilip Krikava
 
EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012Istvan Rath
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.pptssuser2ef938
 

Similar to Introduction to MDA (20)

6
66
6
 
1 introduction
1 introduction1 introduction
1 introduction
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
MDD and modeling tools research
MDD and modeling tools researchMDD and modeling tools research
MDD and modeling tools research
 
Stevecook uml mdday2010
Stevecook uml mdday2010Stevecook uml mdday2010
Stevecook uml mdday2010
 
UML 2.5: Specification Simplification
UML 2.5: Specification SimplificationUML 2.5: Specification Simplification
UML 2.5: Specification Simplification
 
Sig A&D - MDA
Sig A&D - MDASig A&D - MDA
Sig A&D - MDA
 
Web technologies: Model Driven Engineering
Web technologies: Model Driven EngineeringWeb technologies: Model Driven Engineering
Web technologies: Model Driven Engineering
 
ALT
ALTALT
ALT
 
Acceleo Day - Orange
Acceleo Day - OrangeAcceleo Day - Orange
Acceleo Day - Orange
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
 
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
 
A classification framework for component models
A classification framework for component modelsA classification framework for component models
A classification framework for component models
 
CoreML
CoreMLCoreML
CoreML
 
AIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to ModellingAIXM, WXXM, FIXM a unified approach to Modelling
AIXM, WXXM, FIXM a unified approach to Modelling
 
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
MDE 2.0.: pragmatic model verification and other stories - Habilitation publi...
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
On the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF ModelsOn the Use of an Internal DSL for Enriching EMF Models
On the Use of an Internal DSL for Enriching EMF Models
 
EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012EMF-IncQuery presentation at TOOLS 2012
EMF-IncQuery presentation at TOOLS 2012
 
xUMLFinalPresentation.ppt
xUMLFinalPresentation.pptxUMLFinalPresentation.ppt
xUMLFinalPresentation.ppt
 

Recently uploaded

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 

Recently uploaded (20)

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 

Introduction to MDA

  • 1. MDA > Model Driven Architecture > Orçun Dayıbaş > December, 2006 > METU, Ankara
  • 2. Agenda > Introduction > What is MDA? > Some Key Terms > Development Life Cycle > Meta-modeling Architecture > Language for PIM > Conclusion 2
  • 3. Hetereogenity in Software Development > Programming Languages   Java, C/C++, C#, COBOL, ADA, V. Basic, Eiffel, Smalltalk, ... > Operating Systems   Windows (3.1 -> Vista), MacOS, Unix, Mobile (WinCE, PalmOS), Embedded, ... > Networks   Ethernet, IP, FireWire, USB, Bluetooth, HomeRF, ... > There will be no consensus on below subjects • Hardware • Operating System • Network Protocols • Programming Languages 3
  • 4. Middleware solution > Middleware is a software layer that masks hetereogentiy   Placed between operating systems and application components. > Middleware itself has various approaches • CORBA • COM / DCOM • Java / EJB • XML / SOAPNetworks > No consensus again   None of them will come out on top of others. Hence, the problem remains. > Can we agree at a higher level?   OMG says; Yes! 4
  • 5. What is MDA? (1/2) > Next level of abstraction; model-based development 5
  • 6. What is MDA? (2/2) > The Idea 6
  • 7. MDA in Practice > Reduced cost and complexity of application development. • Model-oriented implementation. > Improved application quality and validation at model level. • Constraint based, generated test cases. > Reuse of business models > Platform independence > Rapid inclusion of emerging technologies • Take a business model (off the shelf). • Take a implementation model (off the shelf). • Describe links between them. • Generate the system. > Available modelling products • ArcStyler, iUML, OptimalJ, ... 7
  • 8. Basic Concepts of MDA > Model   A model is a formal specification of the function, structure and behavior of a system. > Models of different systems are structured explicitly into: • Platform Independent Models (PIM) • Platform Specific Models (PSM) > PIM   A “formal” specification of the structure and function of a system that abstracts away technical detail. > PSM   Specifies how the functionality specified in a PIM is realized on a particular platform. 8
  • 9. Developing in MDA(1/2) > Create the PIM • All MDA development projects start with the creation of a PIM. • PIM at this level represents business functionality and behavior. > Create and map the PSM • After the first iteration, PIM is input to mapping which will produce PSM. • PIM can be mapped either to a single platform or to multiple platforms PIM maps to maps to maps to CORBA Model Java/EJB Model … Other Model 9
  • 10. Developing in MDA(2/2) > Generating Application   An MDA tool generates all or most of the implementation code for the deployment technology selected by the developer PIM maps to maps to maps to CORBA Model Java/EJB Model … Other Model PSMs CORBA Imp. Java/EJB Imp. … Other Imp. Implementations 10
  • 12. The Four-Layer Architecture of OMG(2/2) > Beyond M3, M4?   Yes, we could build a meta-model of M3, but the modeling language we use would itself be at M3. Hence, we do not need new M4. MOF (class, attribute, association) M3 UML, CWM (class, att., assoc., state, ...) M2 Application (classes, DB tables, ...) M1 Data of the Application M0 (instances, table rows, ...) 12
  • 13. OMG Meta-modeling Architecture Representation Interchanging UML XML By using By using Mapped by MOF XMI Defined by Specification Standardized by Meta-Model CWM 13
  • 14. UML as a PIM Language > UML • Based on Object Orientation. • Strong in modeling stractural aspects of the system. • Weak in modeling behavioral parts. > xUML (eXecutable UML) • Plain UML + AS (Action Semantics) • Relays on state machine approach. • State machine approach is suitable for specific domains (esp. embedded). • The AS language is not a very high-level language. 14
  • 15. COSEML as a PIM Language > Decomposition • Based on Component Orientation. • In each iteration converges to existent components. • Weak in modeling behavioral parts. > Over Specification • Over-specification of the Component Orientation provides easier transformation for mapping PIM to PSM. > Dynamic or behavioral parts of system • COSEML needs some action semantics. 15
  • 16. Thank you... Orçun Dayıbaş 16
  • 17. References > OMG’s MDA An Architecture for Modeling   Desmond D’Souza > MDA Distilled: Principles of Model-Driven Architecture   Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk Weise > OMG’s Model Driven Architecture   Davide Buscaldi > MDA Explained: Practice and Promise   Anneke Kleppe, Jos Warmer, Wim Bast > Model-Driven Architecture: Vision, Standards And Emerging Technologies   John D. Poole 17

Editor's Notes

  1. ~3 million COBOL Programmers ~1.6 million VB Programmers ~1.1 million C/C++ Programmers (Department of Defense Survey)
  2. “ The entire history of software engineering is that of the rise in levels of abstraction" said Grady Booch
  3. MDA is a meta-design pattern
  4. Take a model off the shelf. Subset the model as necessary. Take models of the implementation technologies off the shelf. Describe how the models are to be linked. Generate the system.
  5. PIM is expressed using UML. PSM is expressed using UML extended with platform specific profiles.
  6. All MDA development projects start with the creation of a PIM . PIM at this level represents business functionality and behavior, undistorted by technology details MDA application-modeling tools contain modeling tools contain representations of Pervasive Services and Domain PSM Code is partially automatic and partially hand-written PIM can be mapped either to a single platform or to multiple platforms
  7. Re-integration on new platforms can be done by reverse engineering the existing application into a model and redeploy
  8. Can we build a meta-model of M3 ?
  9. M0 contains the data of the application (instance at runtime, or rows in relational database tables). M1 contains the application (the classes of an object-oriented system, or the table definitions of a relational database). M2 contains the metadata that captures the modeling language (UML elements such as Class, Attribute, and Operation). M3 is the meta - meta - data that describes the properties that metadata can exhibit. This is the level at which modeling languages and meta - models operate, providing for interchange between tools. CWM: Common Warehouse Metamodel
  10. MOF is a standard defining a common, abstract language for the specification of metamodels. (MOF: Meta Object Facility) XMI is a standard that maps the MOF to XML (XMI: XML Metadata Interchange) The CWM is metadata standard for data warehousing and business intelligence (CWM: Common Warehouse Metamodel) CWM also is defined by MOF and is drawn by using UML
  11. The weak area in UML is in the behavioral or dynamic part. UML includes many different diagrams to model dynamics, but their definition is not formal and complete enough to enable the generation of a PSM. For example, what code (for any platform) would you generate from an interaction diagram, or from a use case? In xUML, each state is enhanced with a procedure written in the AS. Relying on state machines to specify complete behavior is only useful in specific domains, especially embedded software development. The AS language is not a very high-level language. In fact, the concepts used are at the same abstraction level as a PSM. ou will have to write the same amount of code, at the same level of abstraction.
  12. Due to the domain analysis based decomposition, outputs reusable components. COSEML also need some action semantics for full PIM modeling and automatic PSM converting.