Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
12 views31 pages

Topic 7 Model Driven Architecture

Model Driven Architecture (MDA), developed by OMG since 2001, focuses on improving system development by separating specification from implementation and enabling platform-independent system design. It addresses challenges such as portability and productivity while providing benefits like reduced costs and improved application quality. A case study of Magnet Communications Inc. illustrates MDA's effectiveness in generating code and enhancing software development processes.

Uploaded by

Mohd Aidel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views31 pages

Topic 7 Model Driven Architecture

Model Driven Architecture (MDA), developed by OMG since 2001, focuses on improving system development by separating specification from implementation and enabling platform-independent system design. It addresses challenges such as portability and productivity while providing benefits like reduced costs and improved application quality. A case study of Magnet Communications Inc. illustrates MDA's effectiveness in generating code and enhancing software development processes.

Uploaded by

Mohd Aidel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

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

You might also like