1 / 17

MDA

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. Hetereogenity in Software Development. Programming Languages

careym
Download Presentation

MDA

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 > 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

  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. Java/EJB Model CORBA Model Other Model Developing in MDA(1/2) • Create the PIM • All MDA development projects start with thecreation of a PIM. • PIM at this level represents business functionalityand 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 … 9

  10. Java/EJB Imp. Java/EJB Model CORBA Model CORBA Imp. OtherModel Other Imp. 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 PSMs … Implementations … 10

  11. The Four-Layer Architecture of OMG(1/2) 11

  12. M2 M1 M0 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, ...) Application (classes, DB tables, ...) Data of the Application (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, for your participation...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

More Related