mda architecture

download mda architecture

of 38

Transcript of mda architecture

  • 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