MDA – Model Driven Architecture
Overview
What is MDA?
The Challenges MDA addresses
Developing in the MDA
Benefits / Conclusion
Case Study: Magnet Communications Inc.
Questions
What is Model Driven Architecture?
MDA is defined and developed by the OMG since
March 2001.
Main ideas:
– Addresses the complete system development life cycle
– Separate specification from implementation
– Specify a system that is independent of a platform
– Transform a platform-independent (PIM) system
specification into a specific platform (PSM)
– Code generation
– Applies directly to the mix :
Programming language Network
Operating system Middleware
The Challenges MDA addresses
Portability
Cross-Platform Operability
Platform Independence
Domain Specific
Productivity
System Development Lifecycle Process
Foundational Concepts of the MDA
Developing in the MDA
PIM Platform
– Platform Independent Model(PIM) Independent
represents business functionality Model
and behavior without technology
details
PSM Platform
Specific
– Applies a standard mapping to Model
create or generate a Platform
Specific Model (PSM) from the
PIM
Code Model Code
Model
– Create or generate the code for
PSM
Platform Independence using MDA
THE Difference with other software
modeling tools
Classic Approach: MDA:
The developers must comprehend: Independence between the:
-problem domain -Application Developers
-Platform features -Platform Experts
-Domain Experts
MDA Specifications: MOF
MDA is about expressing data and process precisely using formal
languages.
How do we keep up with evolving languages or new
languages?
How do we transform models from one language to another?
Solution: Meta Object Facility
Benefits – The CIO problem solver
Achieve Greater Productivity in Creating Software
Reduced Cost
Reduced Development Time
Increased ROI
Improved Application Quality
Rapid Inclusion of Emerging Technologies
Increases stability and lifetime
Reduces complexity
References
For more information on the subject:
OMG’s MDA Website
- www.omg.org/mda
Great articles to get introduced to MDA
- http://www.jaxmagazine.com/itr/online_artikel/psecom,id,548,nodeid,147.html
Case Study: Magnet
Communications Inc.
Description: provider of secure, Web-based business
banking solutions for financial institutions.
Project: use of J2EE as its target technology to
develop a new system for small-business cash
management.
Problems:
- quality of the code not optimal
- coding consisted of cut-and-paste operations in
order to replicate the design pattern applied to the
code
Case Study: Magnet
Communications Inc.
Solution:
- hired Metanology Inc. as a supplier for UML code
generation
- Created all the PIMs while developing small portion
of the application (Loan Package)
- Defined a plug-in that converts CORBA IDL into a
fully annotated UML models
- Applied the PIMs to these models to generate all of
the infrastructure code
Case Study: Magnet
Communications Inc.
Benefits:
- the PIM and UML models generate over 90%
of the total lines-of-code in applications
where MDA is used
- no errors are introduced from cut and paste
replication of the patterns
Questions?