1 / 29

UML – What is it and what is it good for ? MDA – What is it and what is it good for ? MDA – Sample Process QVT – A Vi

MDA and Application Development– a Vision. Agenda. UML – What is it and what is it good for ? MDA – What is it and what is it good for ? MDA – Sample Process QVT – A View into Transformation. MDA and Application Development. Agenda. UML – What is it and what is it good for ?

danyl
Download Presentation

UML – What is it and what is it good for ? MDA – What is it and what is it good for ? MDA – Sample Process QVT – A Vi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MDA and Application Development– a Vision Agenda • UML – What is it and what is it good for ? • MDA – What is it and what is it good for ? • MDA – Sample Process • QVT – A View into Transformation Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  2. MDA and Application Development Agenda • UML – What is it and what is it good for ? • MDA – What is it and what is it good for ? • MDA – Sample Process • QVT – A View into Transformation Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  3. UML - Motivation MDA UML – what it is • UML is a language, it is not a method • UML is a specification of the OMG → so it may be/is a standard • UML is unified → it contains many concepts to describe many aspects of the real world in models • UML is a language based on MOF → it is fully MOF compliant • UML and OCL belong together → defining constraints is part of modeling Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  4. UML - Motivation UML UML – what it is good for Objects, Relationships, Processes, Rules, Constraints, ... The Real World Natural Languages, Domain Languages, Specific Modeling Languages The Computer World Implementation Languages, Databases, Application Server, … Datastructures, Programcode, Configuration, ... Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  5. UML - Motivation UML UML – what it is good for Objects, Relationships, Processes, Rules, Constraints, ... Objects, Relationships, Processes, Rules, Constraints, ... The Real World Natural Languages, Domain Languages, Specific Modeling Languages Analysis Design The Computer World Implementation Languages, Databases, Application Server, … Datastructures, Programcode, Configuration, ... Construction – Datastructures, Programcode, Configuration, ... Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  6. UML - Motivation UML UML – what it is good for Objects, Relationships, Processes, Rules, Constraints, ... Objects, Relationships, Processes, Rules, Constraints, ... The Real World Natural Languages, Domain Languages, Specific Modeling Languages Analysis UML (/ BPMN) Design UML The Computer World Implementation Languages, Databases, Application Server, … Datastructures, Programcode, Configuration, ... Construction – Datastructures, Programcode, Configuration, ... Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  7. MDA and Application Development Agenda • UML – What is it and what is it good for ? • MDA – What is it and what is it good for ? • MDA – Sample Process • QVT – A View into Transformation Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  8. MDA - Motivation MDA MDA – what it is • MDA is - like UML and OCL - a specification of the OMG • MDA is not a language and not a method → it is a concept • MDA is an approach for model-driven development of architectures • MDA is not primarily an approach for developing software • MDA is based on other OMG concepts like UML2, OCL, QVT, MOF Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  9. MDA - Motivation MDA One of the basic ideas – thinking in abstraction layers CIM - Computation Independet Modeling PIM - Platform Independet Modeling PSM - Platform Specific Modeling IM - Implementation Modeling (C - and of course coding, instead this is not a MDA abstraction layer) Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  10. MDA - Motivation MDA Another basic idea – thinking in model and metamodel layers M3 - Meta-Metamodel, the concepts and elements for modeling metamodels, f.e. the UML2 Class Diagram and OCL M2 - Metamodel, a formal model for a modeling language, f.e. the specification of UML2 M1 - Model, f.e. some UML model of an aspect of the real world M0 - Instances in the real world, f.e. objects, actions, states, communication Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  11. MDA - Motivation MDA Yet the „most“ basic idea – doing the application development with models • A (necessary) pre-condition for MDA: formal models, based on UML-Metamodels • Example: all UML-modeltypes are based on UML-Metamodels these are formal models Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  12. MDA - Motivation MDA MDA – what it is good for Objects, Relationships, Processes, Rules, Constraints, ... CIM: natural languages, specific modeling languages, BPMN Analysis PIM: UML PSM: UML Design Construction: Datastructures, Programcode, Configuration, ... IM: implementation models(JMI, CMI, EJB, ...) Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  13. MDA - Motivation MDA MDA – what it is good for Objects, Relationships, Processes, Rules, Constraints, ... 1. Modeling CIM: BPMN Analysis PIM: UML Design PSM: UML Construction: Datastructures, Programcode, Configuration, ... IM: JMI, CMI, ... Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  14. MDA - Motivation MDA MDA – what it is good for Objects, Relationships, Processes, Rules, Constraints, ... 2. Transformation CIM: BPMN Analysis PIM: UML Design PSM: UML Construction: Datastructures, Programcode, Configuration, ... IM: JMI, CMI, ... Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  15. MDA and Application Development Agenda • UML – What is it and what is it good for ? • MDA – What is it and what is it good for ? • MDA – Sample Process • QVT – A view into transformation Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  16. MDA - Process MDA MDA – let‘s drive models from the real world to applications Objects, Relationships, Processes, Rules, Constraints, ... Modeling CIM: BPMN • Step: Requirement AnalysisDescription of the real world‘s aspects, circumstances and conditions using natural language or some domain language. Modeling with domain relevant models, f.e. BPMN Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  17. MDA - Process MDA MDA – let‘s drive models from the real world to applications Objects, Relationships, Processes, Rules, Constraints, ... Transformation CIM: BPMN Analysis PIM: UML 2. Step: TransformationTransfer of CIM models into the next layer, f.e. transfer of BPMN-models into UML Activity-Diagrams Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  18. MDA - Process MDA MDA – let‘s drive models from the real world to applications Objects, Relationships, Processes, Rules, Constraints, ... Modeling Analysis PIM: UML • Step: Analysis – domain specific system definition modeling of domain circumstances in formal models; distinction between structure and behavior Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  19. MDA - Process MDA MDA – let‘s drive models from the real world to applications Objects, Relationships, Processes, Rules, Constraints, ... Transformation 4. Step: TransformationTransfer of formal domain models into platform-specific models Analysis PIM: UML Design PSM: UML Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  20. MDA - Process MDA MDA – let‘s drive models from the real world to applications Objects, Relationships, Processes, Rules, Constraints, ... Modeling • Step: IT-specific modeling – IT conceptSpecification of the application concerning to DP, platform-specific aspects, f.e. J2EE or .NET.Refinement and concretizing of the architectures, i.e. UML class diagrams into ERM. Analysis Design PSM: UML Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  21. MDA - Process MDA MDA – let‘s drive models from the real world to applications Objects, Relationships, Processes, Rules, Constraints, ... Transformation 6. Step: Transformation into implementation modelTransfer of platform specific models into implementation models (code, data structures, DB schemes, ...) Analysis Design PSM: UML Construction: Datastructures, Programcode, Configuration, ... IM: JMI, CMI, ... Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  22. MDA - Process MDA MDA – let‘s drive models from the real world to applications Objects, Relationships, Processes, Rules, Constraints, ... Modeling Analysis 7. Step: Implementation modelingModeling in the IM layer means working on the technical concepts with models and languages of the concrete DP environment;coding, building, constructing, configuring, … Design Construction: Datastructures, Programcode, Configuration, ... IM: JMI, CMI, ... Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  23. MDA and Application Development Agenda • UML – What is it and what is it good for ? • MDA – What is it and what is it good for ? • MDA – Sample Process • QVT – A View into Transformation Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  24. Query View Transformation QVT QVT – what it is QVT is - like UML and OCL - a specification of the OMG QVT describes a concept and languages for Model-to-Model transformation QVT languages are seperated into a descriptive one – Relations Language – and an imperative one – Operational Mappings QVT languages are based on a Core Language, that is something like a „virtual mapping machine“ QVT is developed from OCL so transformation mappings are more or less OCL-expressions Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  25. Query View Transformation QVT QVT - Architektur Black Box Operational Mappings Relations Language Relation to Core Transformation Core Language Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  26. Query View Transformation QVT A simple sample model Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  27. Query View Transformation QVT A transformation with Relations Language • /* • * transform a UMl package into a ERM schema • */ • transformation HelloWorld ( source : UML, target : ERM ) • { • top relation SourceToTarget • { • packageName : String; • checkonly domain source sourcePackage : UML::Package • { • name = packageName • }; • enforce domain source targetSchema : ERM::Schema • { • name = packageName • }; • } • } Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  28. Query View Transformation QVT A transformation with Operational Mapping • /* • * transform a UM package into a ERM schema • */ • transformation HelloWorld ( in source : UML, out target : ERM ); • main() • { • source.objects()[Package]->map createHello(); • } • mapping Package::createHello () : Schema • { • name := "HelloWorld"; -- Erzeugung eines Schemas namens 'HelloWorld‚ • end { log ("Hello, World!"); } –- log-Ausgabe auf der Konsole • } Model Driven Architecture – 3. März 2008 – Siegfried Nolte

  29. Query View Transformation QVT Model Driven Architecture – 3. März 2008 – Siegfried Nolte

More Related