Model Driven
TOPIC 7 Architecture
(MDA)
© OLIVIER RIBOUX
OVERVIEW
What is MDA?
The Challenges MDA addresses
Developing in the MDA
Benefits / Conclusion
Case Study: Magnet
Communications Inc.
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
REALITY =
HETEROGENEITY IS
PERMANENT
Programming languages
~3 million COBOL programmers
~1.6 million VB programmers
~1.1 million C/C++ programmers
Operating systems
Unix, MVS, VMS, MacOS, Windows (all 8!),
PalmOS…
Windows 3.1: it’s still out there!
Embedded devices (mobile, set-top, etc.)
Networks
Ethernet, ATM, IP, SS7, Firewire, USB
Bluetooth, 802.11b, HomeRF © OMG
HOW TO PROTECT
SOFTWARE INVESTMENT?
The problem remains
Tracking the next best thing
Protecting your investment in existing software
base
Retaining qualified staff
Maintaining existing code base
Integrating what you’ve built
With what you’re building, and
With what you will build!
© OMG
THE MODEL DRIVEN
ARCHITECTURE
OMG’s Model Driven Architecture (MDA TM
) initiative
Opportunity to increase your bottom line by
integrating assets
Industry standards support that goal by future-
proofing your application design
The MDA will help you integrate the mix you have
today, and give you an architecture to support the
unexpected
Focus on integrating legacy applications
Ensure smooth integration of COTS applications
Models are testable and simulatable
The aim: a 20-year software architecture
THE CHALLENGES MDA
ADDRESSES
Portability
Cross-Platform Operability
Platform Independence
Domain Specific
Productivity
MODEL DRIVEN
ARCHITECTURE
Source: www.omg.org/mda
SOME KEY TERMS
Model
A formal specification of the function, structure and/or
behavior of a system. (Model .ne. UML)
Platform
Technological and engineering details that are irrelevant to
the fundamental functionality of a software component.
Platform Independent Model (PIM)
A formal specification of the structure and function of a
system that abstracts away technical details (e.g., funds
transfer)
Platform Specific Model (PSM)
The technical details (CORBA, SOAP, EJB)
SYSTEM DEVELOPMENT LIFECYCLE
PROCESS
FOUNDATIONAL CONCEPTS OF
THE MDA
CIM [Computational PIM [Platform PSM [Platform
Independent Model] Independent Model]Specific Model]
DEVELOPING IN THE
MDA
PIM Platform
Platform Independent Model (PIM) Independent
represents business functionality Model
and behavior without technology
details
Platform
PSM Specific
Applies a standard mapping to Model
create or generate a Platform
Specific Model (PSM) from the PIM
Code Model Code
Create or generate the code for Model
PSM
PLATFORM
INDEPENDENCE USING
MDA
THE DIFFERENCE WITH
OTHER SOFTWARE
MODELING TOOLS
MDA:
Classic Approach:
Independence between
The developers must
the:
comprehend:
-problem domain -Application Developers
-Platform features -Platform Experts
-Domain Experts
BUILDING AN MDA
APPLICATION
A Detailed Model, Start with a Platform-
Platform-
stating Pre- and Post- Independent Model
Independent Conditions in OCL, (PIM) representing
Model and Semantics in
business functionality
Action Language
and behavior,
undistorted by
technology details.
GENERATING
PLATFORM-SPECIFIC
MODEL
Map a PIM to Specific MDA tool applies a
Platform-
Middleware standard mapping to
Independent Technologies via OMG generate Platform-
Model Standard Mappings
Specific Model (PSM)
from the PIM. Code is
partially automatic,
CORBA partially hand-written.
Model
MAPPING TO MULTIPLE
DEPLOYMENT
TECHNOLOGIES
Map a PIM to Many MDA tool applies an
Platform-
Middleware standard mapping to
Independent Technologies via OMG generate Platform-
Model Standard Mappings
Specific Model (PSM)
from the PIM. Code is
partially automatic,
CORBA Java/EJB XML/SOAP Other partially hand-written.
Model Model Model Model
GENERATING
IMPLEMENTATIONS
Map PSM to application MDA Tool generates all
Platform-
interfaces, code, GUI or most of the
Independent descriptors, SQL implementation code
Model queries, etc.
for deployment
technology selected
by the developer.
CORBA Java/EJB XML/SOAP Other
Model Model Model Model
CORBA Java/EJB XML/SOAP Other
INTEGRATING LEGACY &
COTS
Reverse-engineer MDA Tools for reverse
Platform-
existing application into engineering automate
Independent a model and redeploy. discovery of models
Model for re-integration on
new platforms.
Legacy COTS Other
App App Model
Other
AUTOMATING BRIDGES
Platform- Bridge generation is
Independent simplified by common
Model application models,
simplifying creation of
MDA Tools integrated applications
combine both within and across
CORBA
application and XML/SOAP enterprises.
platform Model
Model
knowledge to
generate bridges
CORBA XML/SOAP
System System
Interop
Bridge
CONCEPTS:
REFINEMENT
Service Provisioning Billing
Component Independent Component Independent
Computation
Business Model Business Model
independent
Platform Independent Platform Independent
Platform Component view Component view
independent
Platform Specific Platform Specific
CONCEPTS: PATTERNS
Service Provisioning Billing
PIM to
Corba
Business Model
Business Model
Platform Independent
Platform Independent
Platform Specific
Platform Specific
CORBA
CORBA
CONCEPTS: PACKAGES
Package P4
Package P1 Package P2 Abstraction
System from viewpoint 1 System from viewpoint 2
Package P5
Refinement Relation
Package P3
Interrelationship between P1 and P2
Package P6
(a) (b) Realization
MDA EXAMPLE
Credit:
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
MDA IN PRACTICE
Several excellent proofs-of-concept:
Wells Fargo (an architecture that has already been
resilient through a decade of change)
Lockheed Martin Aeronautics
GCPR in US government
These are “MDA-like”
Standards make it portable
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
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
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