Title: MDA
1MDA
- gt Model Driven Architecture
gt Orçun Dayibas gt December, 2006 gt METU, Ankara
2Agenda
- Introduction
- What is MDA?
- Some Key Terms
- Development Life Cycle
- Meta-modeling Architecture
- Language for PIM
- Conclusion
3Hetereogenity in Software Development
- Programming Languages
- Java, C/C, C, COBOL, ADA, V. Basic, Eiffel,
Smalltalk, ... - Operating Systems
- Windows (3.1 -gt 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
4Middleware 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
5What is MDA? (1/2)
- Next level of abstraction model-based
development
5
6What is MDA? (2/2)
6
7MDA 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
8Basic 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
9Developing 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
9
10Developing 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
11The Four-Layer Architecture of OMG(1/2)
11
12The 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
13OMG Meta-modeling Architecture
Interchanging
Representation
XML
UML
By using
By using
Mapped by
MOF
XMI
Defined by
Specification
Standardized by
Meta-Model
CWM
13
14UML 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
15COSEML 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
16Thank you, for your participation...
Orçun Dayibas
16
17References
- OMGs MDA An Architecture for Modeling
- Desmond DSouza
- MDA Distilled Principles of Model-Driven
Architecture - Stephen J. Mellor, Kendall Scott, Axel Uhl, Dirk
Weise - OMGs 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