Docstoc

MDA Model driven architecture.ppt

Document Sample
MDA Model driven architecture.ppt Powered By Docstoc
					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
              A Detailed Model,             Start with a Platform-
 Platfor    stating Pre- and Post-
   m-
             Conditions in OCL,
                                            Independent Model
 Indepe                                     (PIM) representing
  ndent       and Semantics in
  Model       Action Language               business functionality
                                            and behavior,
                                            undistorted by
                                            technology details.




           Väliohjelmistot - Lea Kutvonen                    17
Generating Platform-Specific
Model
              Map a PIM to Specific            MDA tool applies a
    Platfor        Middleware
      m-
              Technologies via OMG
                                               standard mapping to
    Indepe                                     generate Platform-
     ndent     Standard Mappings
     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
                           Map a PIM to Many              MDA tool applies an
    Platfor                   Middleware
      m-
                         Technologies via OMG
                                                          standard mapping to
    Indepe                                                generate Platform-
     ndent                Standard Mappings
     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
                         Map PSM to application           MDA Tool generates all
    Platfor               interfaces, code, GUI
      m-
                            descriptors, SQL
                                                          or most of the
    Indepe                                                implementation code
     ndent                     queries, etc.
     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
                         Reverse-engineer              MDA Tools for reverse
     Platfor          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
                                 System
             Interop
             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>
                                              <Color> Red </Color>
                              XMI
                                              <Door> 4 </Door>
                                              <Engine> 2 </Engine>
                                            </Auto>

      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                                      J2EE

                 .Ne
                  t
                  J2E
                    EPIM to PSM
                    Transformation
     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%20P
    apers/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

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:238
posted:7/19/2012
language:English
pages:38
censhunay censhunay http://
About