Upload
foreducationalpurpose
View
224
Download
0
Embed Size (px)
Citation preview
8/8/2019 mda architecture
1/38
Vliohjelmistot - Lea Kutvonen 1
MDAModeldriven
architecture
8/8/2019 mda architecture
2/38
Vliohjelmistot - Lea Kutvonen 2
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
8/8/2019 mda architecture
3/38
Vliohjelmistot - Lea Kutvonen 3
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 andembedded systems although term MDA
coined later strategic direction of OMG as announced in 2002)
Java community process, ebxml, rosettanet usingsimilar concepts
8/8/2019 mda architecture
4/38
Vliohjelmistot - Lea Kutvonen 4
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 technologyspecifics
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
8/8/2019 mda architecture
5/38
Vliohjelmistot - Lea Kutvonen 5
Enterprise and its boundaries
Frankel:2001
8/8/2019 mda architecture
6/38
Vliohjelmistot - Lea Kutvonen 6
No Universal Component Middleware
CORBA EJB .NET . . .
Major Challenge!
8/8/2019 mda architecture
7/38
Vliohjelmistot - Lea Kutvonen 7
Integration communication
Frankel:2001
8/8/2019 mda architecture
8/38
Vliohjelmistot - Lea Kutvonen 8
Enterprise system integration trend
middleware addresses integration within theenterprise with a distributed computer
today aim for similar integration betweenenterprises Avoid typing in from computer-printouts
ebXML, .NET, RosettaNet and other Web
Services initiatives aim to be themiddleware to link enterprises How to cope with them all?
8/8/2019 mda architecture
9/38
Vliohjelmistot - Lea Kutvonen 9
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 toback 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 viavarious technologics.
8/8/2019 mda architecture
10/38
Vliohjelmistot - Lea Kutvonen 10
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 1980s, integrated object-oriented
development environments in 1990s, UML tools,etc.
8/8/2019 mda architecture
11/38
Vliohjelmistot - Lea Kutvonen 11
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!
Model Driven
Architecture
8/8/2019 mda architecture
12/38
Vliohjelmistot - Lea Kutvonen 12
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 areirrelevant to the fundamental functionality of asoftware 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)
8/8/2019 mda architecture
13/38
Vliohjelmistot - Lea Kutvonen 13
Basic modeling technology UML unified modeling language
MOF meta object facility XMI XML metadata interchange
8/8/2019 mda architecture
14/38
Vliohjelmistot - Lea Kutvonen 14
UML IDL as abstraction very limited
generates same level constructs, stubs andskeletons
modeling languages declarative? separation of abstract syntax from concretesyntax
invariants, pre- and postconditions
precise action semantics and standardmappings on various platforms
mappings represent a standard engineeringsolution for a collaboration concept
UML has defined profiles for introducingseparate sets of transformation rules to model particular domain, eg. business
information, busienss services,collaborations, realtime systems, telecom
to parametrize mapping to sepcifictechnologies
class vs. behavioural models
8/8/2019 mda architecture
15/38
8/8/2019 mda architecture
16/38
Vliohjelmistot - Lea Kutvonen 16
XMI - XML metadata interchange
8/8/2019 mda architecture
17/38
Vliohjelmistot - Lea Kutvonen 17
Building an MDA Application
Start with a Platform-Independent Model
(PIM) representingbusiness functionalityand behavior,undistorted bytechnology details.
Platform-
Independent
Model
A Detailed Model,stating Pre- and Post-
Conditions in OCL,
and Semantics inAction Language
8/8/2019 mda architecture
18/38
Vliohjelmistot - Lea Kutvonen 18
Generating Platform-Specific
Model
Platform-
Independent
Model
Map a PIM to SpecificMiddleware
Technologies via OMG
Standard Mappings
MDA tool applies astandard mapping to
generate Platform-Specific Model(PSM)from the PIM. Code ispartially automatic,partially hand-written.CORBA
Model
8/8/2019 mda architecture
19/38
Vliohjelmistot - Lea Kutvonen 19
Mapping to Multiple
Deployment Technologies
Platform-
Independent
Model
CORBAModel
MDA tool applies anstandard mapping to
generate Platform-Specific Model(PSM)from the PIM. Code ispartially automatic,partially hand-written.Java/EJB
Model
XML/SOAP
Model
OtherModel
Map a PIM to ManyMiddleware
Technologies via OMG
Standard Mappings
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
8/8/2019 mda architecture
20/38
Vliohjelmistot - Lea Kutvonen 20
Generating Implementations
Platform-
Independent
Model
CORBAModel
MDA Tool generates allor most of the
implementation codefor deploymenttechnology selectedby the developer.
Java/EJBModel
CORBA
XML/SOAP
Model
Java/EJBXML/SOA
POther
OtherModel
Map PSM to applicationinterfaces, code, GUI
descriptors, SQL
queries, etc.
8/8/2019 mda architecture
21/38
Vliohjelmistot - Lea Kutvonen 21
Integrating Legacy & COTS
Platform-
Independent
Model
Legacy
App
MDA Tools for reverseengineering automate
discovery of modelsfor re-integration onnew platforms.
COTS
App
Other
OtherModel
Reverse-engineerexisting application intoa model and redeploy.
8/8/2019 mda architecture
22/38
Vliohjelmistot - Lea Kutvonen 22
Automating Bridges
CORBAModel
XML/SOAP
Model
Platform-
Independent
Model
CORBASystem
XML/SOAP
SystemInterop
Bridge
MDA Toolscombine
application andplatform
knowledge to
generate bridges
Bridge generation issimplified by common
application models,simplifying creation ofintegrated applicationsboth within and acrossenterprises.
8/8/2019 mda architecture
23/38
Vliohjelmistot - Lea Kutvonen 23
Concepts: Refinement
Billing
Platform Specific
Component Independent
Business Model
Platform Independent
Component view
Platform Specific
Component Independent
Business Model
Platform Independent
Component view
Service Provisioning
Platform Specific
Component Independent
Business Model
Platform Independent
Component view
Service Provisioning
Platform Specific
Component Independent
Business Model
Platform Independent
Component view
Computation
independent
Platform
independent
8/8/2019 mda architecture
24/38
Vliohjelmistot - Lea Kutvonen 24
Concepts: Patterns
Billing
Platfor Specific
CORBA
usiness odel
Platfor Independent
Platfor Specific
CORBA
usiness odel
Platfor Independent
Service rovisioning
Platfor Specific
CORBA
Business odel
Platfor Independent
PI toorba
PI toorba
PI toorba
8/8/2019 mda architecture
25/38
Vliohjelmistot - Lea Kutvonen 25
Concepts: Packages
Package P1
Syste fro vie point 1
Package P2
Syste fro vie point 2
Package P3
Interrelationship bet een P1 andP2
Package P4
Abstraction
Package P5
Refine ent Relation
Package P6
Realization(a) (b)
8/8/2019 mda architecture
26/38
Vliohjelmistot - Lea Kutvonen 26
MDA Example
Credit:
8/8/2019 mda architecture
27/38
Vliohjelmistot - Lea Kutvonen 27
PIM, PSM, and
Transformations in MDA
TRANSFORMATION RULES
Platform SpecificModel(PSM)
Platform Independent Model
(PIM)
Platform SpecificModel(PSM)
8/8/2019 mda architecture
28/38
Vliohjelmistot - Lea Kutvonen 28
PIM to PSM TransformationExamples with MOF/XMI
UML Model (PIM)
Aut
l r : Stri g
D r : I t g r
E gi : I t g r
Red
4
2
XMI Document (PSM)
XMI
(Color*,
Door*,
Engine*)>
XMI DTD, Schema (PSM)
interface Auto{
};
IDL, Java (PSM)
Class Auto
{public String color;
public int Door;
public int Engine;
}
8/8/2019 mda architecture
29/38
Vliohjelmistot - Lea Kutvonen 29
Transformation Models in MDAPIM
Software
Infrastructure
PSM
J2EE
PIM
HealthCare
Business
Application
.Net
PIM to PSMTransformation
Model
J2EE
PSM
.N
et
8/8/2019 mda architecture
30/38
Vliohjelmistot - Lea Kutvonen 30
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 todevelop
the associated middleware Very expensive and time consuming!!!
2) Creating a new PIM and defining PIM to PSM
transformation rules
8/8/2019 mda architecture
31/38
Vliohjelmistot - Lea Kutvonen 31
The Message Filtering
ExampleA filter has
1 input for receiving messages to filter
Configurable filtering properties
1 filtering function
1 output for accepted messages
1 output for rejected messagesFilter
P1 = V1P2 = V2
F = M.C1 == P1 or M.C2 > P2
OK
N
O
8/8/2019 mda architecture
32/38
Vliohjelmistot - Lea Kutvonen 32
Application = Assembling Filters
8/8/2019 mda architecture
33/38
Vliohjelmistot - Lea Kutvonen 33
Problems All must be done manually!
Defining OMG IDL for message eventtypes, filter componentand home types
Implementing CCM eventtypes, components and homes
Writing CCM XML descriptors
Extremely verbose, time consuming and errorprone!!!
How improving productivity and quality? How dealing with thousand messages and filters?
How dealing with other Message OrientedMiddleware (MOM)? Like EJB 2.0 message beans
8/8/2019 mda architecture
34/38
Vliohjelmistot - Lea Kutvonen 34
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 packagingdescriptors
Complete the meta model to describe filterinstances and connections between them
Then allow generation of CCM XMLassembling descriptors for automatic
deployment
8/8/2019 mda architecture
35/38
Vliohjelmistot - Lea Kutvonen 35
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 betweenUML Tools!!!
Few formalisms to express MDA transformation OMG RFP under work
Few PSM meta models for Programming languages like Java, C++,
Component standard middleware
8/8/2019 mda architecture
36/38
Vliohjelmistot - Lea Kutvonen 36
MDA vs. CASE
CASE limitations
Mappings to implementation technologies
were proprietary Risk to CASE customers too great
Very limited to extend specificationlanguage
MDA overcomes these limitations
Standardized mappings, for each domain
UML profiles and MOF
8/8/2019 mda architecture
37/38
Vliohjelmistot - Lea Kutvonen 37
Kirjallisuutta Siegel, Jon, Developing in OMGs Model-Driven
Architecture. Object Management Group WhitePaper, 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-01http://cs.ua.edu/630/Resources/MDA%20White%20P
apers/MDA%20-%20Technical%20Perspective%20-%20OMG%20Board%20-%20ormsc-01-07-01.pdf
(tydentv)
8/8/2019 mda architecture
38/38
Vliohjelmistot - Lea Kutvonen 38
Varhaisia vlineit iUML, ICCG www.kc.com
Adaptive framework www.adaptive.com
www.kabira.com
ArchStyler (in Borlands Enterprisestudio 2) www.io-software.com