MDA Model Driven Architecture Orun Dayba December 2006
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), Mac. OS, Unix, Mobile (Win. CE, Palm. OS), Embedded, . . . > Networks Ethernet, IP, Fire. Wire, USB, Bluetooth, Home. RF, . . . > 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 • Arc. Styler, i. UML, Optimal. J, . . . 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 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 CORBA Model Java/EJB Model … Other Model PSMs CORBA Imp. Java/EJB Imp. … Other Implementations 10
The Four-Layer Architecture of OMG(1/2) 11
The Four-Layer Architecture of OMG(2/2) > Beyond M 3, M 4? Yes, we could build a meta-model of M 3, but the modeling language we use would itself be at M 3. Hence, we do not need new M 4. MOF (class, attribute, association) UML, CWM (class, att. , assoc. , state, . . . ) Application (classes, DB tables, . . . ) Data of the Application (instances, table rows, . . . ) M 3 M 2 M 1 M 0 12
OMG Meta-modeling Architecture Representation Interchanging UML XML By using MOF By using Mapped by XMI Defined by Specification Meta-Model Standardized by 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. > x. UML (e. Xecutable 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, for your participation. . . 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
- Slides: 17