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

5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentationanasz3z3
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentationNiat Murad
 
003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]Erol Bozkurt
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and viewsDr Reeja S R
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSuresh Koujalagi
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Futureelliando dias
 
Architecture business cycle ( abc )
Architecture business cycle ( abc )Architecture business cycle ( abc )
Architecture business cycle ( abc )Dr Reeja S R
 
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
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxNwabueze Obioma
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpointsHenry Muccini
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSAbrar ali
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelSandesh Jonchhe
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | EdurekaEdureka!
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall modelREHMAT ULLAH
 

What's hot (20)

5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Uml Presentation
Uml PresentationUml Presentation
Uml Presentation
 
Incremental model presentation
Incremental model presentationIncremental model presentation
Incremental model presentation
 
003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]003 Uml Semalari [94 Slides]
003 Uml Semalari [94 Slides]
 
Architectural structures and views
Architectural structures and viewsArchitectural structures and views
Architectural structures and views
 
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
 
Model Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & FutureModel Driven Architecture (MDA): Motivations, Status & Future
Model Driven Architecture (MDA): Motivations, Status & Future
 
Architecture business cycle ( abc )
Architecture business cycle ( abc )Architecture business cycle ( abc )
Architecture business cycle ( abc )
 
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...
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Design patterns
Design patternsDesign patterns
Design patterns
 
UML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptxUML and Software Modeling Tools.pptx
UML and Software Modeling Tools.pptx
 
Software Architecture: views and viewpoints
Software Architecture: views and viewpointsSoftware Architecture: views and viewpoints
Software Architecture: views and viewpoints
 
SE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELSSE CHAPTER 2 PROCESS MODELS
SE CHAPTER 2 PROCESS MODELS
 
Iterative model
Iterative modelIterative model
Iterative model
 
Waterfall, Spiral and iterative model
Waterfall, Spiral and iterative modelWaterfall, Spiral and iterative model
Waterfall, Spiral and iterative model
 
What is Integration Testing? | Edureka
What is Integration Testing? | EdurekaWhat is Integration Testing? | Edureka
What is Integration Testing? | Edureka
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 

Similar to Introduction to MDA

6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
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
 

Similar to Introduction to MDA (20)

6
66
6
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
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
 

Recently uploaded

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 FMESafe Software
 
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.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
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 educationjfdjdjcjdnsjd
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
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 Takeoffsammart93
 
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 FMESafe Software
 
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.pptxRemote DBA Services
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Recently uploaded (20)

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
 
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
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
+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...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
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
 
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
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

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.