0% found this document useful (0 votes)
48 views

MDA Model Driven Architecture: Väliohjelmistot - Lea Kutvonen 1

This document provides an overview of Model Driven Architecture (MDA). It discusses that MDA uses modeling languages as declarative programming languages to increase abstraction and improve productivity. It also describes challenges for MDA like preserving investments when platforms change. Key terms are defined, such as platform independent models that abstract away technical details, and platform specific models that include technical details. The basic modeling technologies of UML, MOF, and XMI are also introduced.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

MDA Model Driven Architecture: Väliohjelmistot - Lea Kutvonen 1

This document provides an overview of Model Driven Architecture (MDA). It discusses that MDA uses modeling languages as declarative programming languages to increase abstraction and improve productivity. It also describes challenges for MDA like preserving investments when platforms change. Key terms are defined, such as platform independent models that abstract away technical details, and platform specific models that include technical details. The basic modeling technologies of UML, MOF, and XMI are also introduced.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38

MDA

Model
driven
architecture

Väliohjelmistot - Lea Kutvonen 1


Contents
 What is MDA?
 Challenges for MDA
 Program generation from models
 MDA terminology
 Basic modeling technology
 Modeling language extensibility
 Building a MDA application
 Model transformations (information, activities)
 About tools

Väliohjelmistot - Lea Kutvonen 2


What is MDA?
 using modeling languages as declarative
progamming languages
 rising of abstraction level for programmers
 improved productivity, quality, longevity outlook
 has been used to generate real-time and
embedded systems although term MDA
coined later
 strategic direction of OMG as announced in 2002)
 Java community process, ebxml, rosettanet using
similar concepts

Väliohjelmistot - Lea Kutvonen 3


Challenges for MDA
 B2B and B2C integration needs of enterprises
 Reguirement: Preserve investment
 As enterprise borders shift requiring platform shift
 As platforms themselves change
 EJB 1.1 --> EJB 2.0
 XML --> XML Schema
 MTS --> COM+
 CORBA 2.0 --> CORBA 3.0
 Solution: Isolate information and processing logic from technology
specifics
 Build platform independent models
 UML is independent of CORBA, COM, EJB, XML, etc thus is well-suited as a
language for dexcribingn
 Map these models to specific platforms
 Maintain the separation at the implementation level

Väliohjelmistot - Lea Kutvonen 4


Enterprise and its boundaries

Frankel:2001 Väliohjelmistot - Lea Kutvonen 5


No Universal Component Middleware

Major Challenge!

CORBA EJB .NET ...

Väliohjelmistot - Lea Kutvonen 6


Integration communication

Frankel:2001 Väliohjelmistot - Lea Kutvonen 7


Enterprise system integration trend
 ”middleware” addresses integration within the
enterprise with a distributed computer
 today aim for similar integration between
enterprises
 Avoid typing in from computer-printouts
 ebXML, .NET, RosettaNet and other Web
Services initiatives aim to be “the”
middleware to link enterprises
 How to cope with them all?

Väliohjelmistot - Lea Kutvonen 8


Rising the level of abstraction
 Part of general trend
 Already well-established front and back ends
 WYSIWYG GUI modeling and data modelign
 Hand coding no longer predominatees
 Early web-applications wired web front end directly to
back end
 Some companies avoided building intermediate tiers
 Web services and B2B require intermediate tiers to expose coarse
grained business services
 Abstraction to allow reuse of the coarse grain business services via
various technologics.
Väliohjelmistot - Lea Kutvonen 9
Program generation from models
 MDA is about using modeling languages as
programming languages rather than merely
as design languages
 can improve productivity, quality, and
longetivity outlook
 new term, old invention
 CASE-tools in 1980’s, integrated object-oriented
development environments in 1990’s, UML tools,
etc.

Väliohjelmistot - Lea Kutvonen 10


Model Driven
Architecture
• New orientation for OMG activities
– New step beyond the Object
Management Architecture (OMA)
• Models are centric!
– Target middleware is not important!
• Focus on Platform Independent Models (PIM)
– Without middleware details
• Abstract Platform Specific Models (PSM)
– Including all middleware details
• Define PIM to PSM transformations
• Preserving PIM when new middleware appears!
Väliohjelmistot - Lea Kutvonen 11
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)
Väliohjelmistot - Lea Kutvonen 12
Basic modeling technology
 UML – unified modeling language
 MOF – meta object facility
 XMI – XML metadata interchange

Väliohjelmistot - Lea Kutvonen 13


UML
• IDL as abstraction very limited
– generates same level constructs, stubs and
skeletons
• modeling languages – declarative?
– separation of abstract syntax from concrete
syntax
– invariants, pre- and postconditions
– precise action semantics and standard
mappings on various platforms
– mappings represent a standard engineering
solution for a collaboration concept
• UML has defined profiles for introducing
separate sets of transformation rules
– to model particular domain, eg. business
information, busienss services,
collaborations, realtime systems, telecom
– to parametrize mapping to sepcific
technologies
• class vs. behavioural models
Väliohjelmistot - Lea Kutvonen 14
MOF
MOF class,
M3 MOF attribute,
UML class, MOF association
UML association M2:met
UML attribute, amodel
UML state, s class ”customer”, …
M1: models
table ”employee”, …

M0: objects and data

Väliohjelmistot - Lea Kutvonen 15


XMI - XML metadata interchange

Väliohjelmistot - Lea Kutvonen 16


Building an MDA Application
Platfor
A Detailed Model, Start with a Platform-
stating Pre- and Post-
m-
Conditions in OCL,
Independent Model
Indepe
and Semantics in (PIM) representing
ndent
Model Action Language business functionality
and behavior,
undistorted by
technology details.

Väliohjelmistot - Lea Kutvonen 17


Generating Platform-Specific
Model
Platfor
Map a PIM to Specific MDA tool applies a
Middleware
m-
Technologies via OMG
standard mapping to
Indepe
Standard Mappings generate Platform-
ndent
Model Specific Model (PSM)
from the PIM. Code is
partially automatic,
CORBA partially hand-written.
Model

Väliohjelmistot - Lea Kutvonen 18


Mapping to Multiple
Deployment Technologies
Platfor
Map a PIM to Many MDA tool applies an
Middleware
m-
Technologies via OMG
standard mapping to
Indepe
Standard Mappings generate Platform-
ndent
Model Specific Model (PSM)
from the PIM. Code is
XML/SOA partially automatic,
CORBA Java/EJB Other partially hand-written.
P
Model Model Model
Model

PSM can be viewed as


• presentation model (Web): data schemas, web comps, etc
• Business logic model (EJB): data schemas, key classes, etc
• Data models (DBMS): tables, columns, keys, etc
Väliohjelmistot - Lea Kutvonen 19
Generating Implementations
Platfor
Map PSM to application MDA Tool generates
interfaces, code, GUI
m-
descriptors, SQL
all or most of the
Indepe
queries, etc. implementation code
ndent
Model for deployment
technology selected
XML/SOA by the developer.
CORBA Java/EJB Other
P
Model Model Model
Model

XML/SOA
CORBA Java/EJB Other
P

Väliohjelmistot - Lea Kutvonen 20


Integrating Legacy & COTS
Platfor
Reverse-engineer MDA Tools for reverse
existing application into
m-
a model and redeploy.
engineering automate
Indepe discovery of models
ndent
Model for re-integration on
new platforms.
Legacy COTS Other
App App Model

Other

Väliohjelmistot - Lea Kutvonen 21


Automating Bridges
Platfor
m- Bridge generation is
Indepe simplified by common
ndent
Model
application models,
simplifying creation of
MDA Tools integrated applications
combine both within and across
application and XML/SOA
CORBA platform P
enterprises.
Model knowledge to Model
generate bridges

XML/SOA
CORBA P
System
Interop System
Bridge

Väliohjelmistot - Lea Kutvonen 22


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

Väliohjelmistot - Lea Kutvonen 23


Concepts: Patterns

Service Provisioning Billing


PIM to
Corba
Business Model
Business Model

Platform Independent
Platform Independent

Platform Specific
Platform Specific
CORBA
CORBA

Väliohjelmistot - Lea Kutvonen 24


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

Väliohjelmistot - Lea Kutvonen 25


MDA Example

Credit:

Väliohjelmistot - Lea Kutvonen 26


PIM, PSM, and
Transformations in MDA

Platform Independent Model


(PIM)

TRANSFORMATION RULES

Platform Specific Platform Specific


Model Model
(PSM) (PSM)
Väliohjelmistot - Lea Kutvonen 27
PIM to PSM Transformation
Examples with MOF/XMI
UML Model (PIM) XMI Document (PSM)
Auto <Auto>
Color : String <Color> Red </Color>
XMI
Door : Integer <Door> 4 </Door>
Engine : Integer <Engine> 2 </Engine>
M
O </Auto>

X
F
M
I
IDL, Java… (PSM)
XMI DTD, Schema (PSM)
interface Auto
{ <!Element Auto
Class Auto
};
{public String color; (Color*,
public int Door; Door*,
public int Engine; Engine*)>
} Väliohjelmistot - Lea Kutvonen 28
Transformation Models in MDA
PIM
Software PSM
Infrastructure 4E
J J2EE
L
UM UM B
L .
Net
J2E
EPIM to PSM UM
L.
ML Transformation et N
U
PIM Model
HealthCare
PSM
Business
.Net
Application Väliohjelmistot - Lea Kutvonen 29
Why New Component Models?
 Often application designers want to use
concepts not present in PSM
 e.g. CCM has no active JavaBeans properties

1) Creating a new PSM but also requires to


develop
the associated middleware
 Very expensive and time consuming!!!

2) Creating a new PIM and defining PIM to PSM


transformation rules- Lea Kutvonen
Väliohjelmistot 30
The Message Filtering
Example
 A filter has
 1 input for receiving messages to filter
 Configurable filtering properties
 1 filtering function
 1 output for accepted messages
 1 output for rejected messages
Filter O
P1 = V1 K
P2 = V2
N
F = M.C1 == P1 or M.C2 > P2 O
Väliohjelmistot - Lea Kutvonen 31
Application = Assembling Filters

Väliohjelmistot - Lea Kutvonen 32


Problems
 All must be done manually!
 Defining OMG IDL for message eventtypes, filter component
and home types
 Implementing CCM eventtypes, components and homes
 Writing CCM XML descriptors
 Extremely verbose, time consuming and error
prone!!!
 How improving productivity and quality?
 How dealing with thousand messages and filters?
 How dealing with other Message Oriented
Middleware (MOM)?
 Like EJB 2.0 message beans
Väliohjelmistot - Lea Kutvonen 33
Next Step on the Message Filtering
Meta-Model
 Only allow definition of message and filter
types
 Only generate OMG IDL types,
implementations, and CCM XML packaging
descriptors

 Complete the meta model to describe filter


instances and connections between them
 Then allow generation of CCM XML
assembling descriptors for automatic
deployment Väliohjelmistot - Lea Kutvonen 34
Drawback around
MDA-oriented Tools
 Few MOF compliant tools to experiment the creation
of new component meta models!
 Developing UML profiles are time and money
consuming
 UML Profile Builders are still expensive and proprietary
 No portability of developed UML profiles between
UML Tools!!!
 Few formalisms to express MDA transformation
 OMG RFP under work
 Few PSM meta models for
 Programming languages like Java, C++, …
 Component standard middleware

Väliohjelmistot - Lea Kutvonen 35


MDA vs. CASE
 CASE limitations
 Mappings to implementation technologies
were proprietary
 Risk to CASE customers too great
 Very limited to extend specification language
 MDA overcomes these limitations
 Standardized mappings, for each domain
 UML profiles and MOF

Väliohjelmistot - Lea Kutvonen 36


Kirjallisuutta
 Siegel, Jon, Developing in OMG’s Model-Driven
Architecture. Object Management Group White
Paper, Nov 2001.ftp://ftp.omg.org/pub/docs/omg/01-
12-01.pdf (pakkollinen)
 OMG Architecture Board, Model Driven Architecture
(MDA), Jul 2001, ORMSC/2001-07-01
http://cs.ua.edu/630/Resources/MDA%20White
%20Papers/MDA%20-%20Technical%20Perspective
%20-%20OMG%20Board%20-%20ormsc-01-07-
01.pdf
(täydentävä)
Väliohjelmistot - Lea Kutvonen 37
Varhaisia välineitä
 iUML, ICCG www.kc.com
 Adaptive framework www.adaptive.com
 www.kabira.com
 ArchStyler (in Borland’s Enterprise
studio 2) www.io-software.com

Väliohjelmistot - Lea Kutvonen 38

You might also like