Documents
Resources
Learning Center
Upload
Plans & pricing Sign in
Sign Out

Model Driven Architecture

VIEWS: 1,584 PAGES: 49

How MDA helps enterprise agility

More Info
									Model Driven Architecture


  Maher Dahdour
  Sr. Strategic Consultant

  Maher.dahdour@gmail.com
              Business Perspective

    Business Goals

    •         Lean and Mean Enterprise

                   •      Improve Business Process Performance
                   •      Decrease Costs
                   •      Improve Business Operations
                   •      Improve Management Efficiency
                   •      Reduce Risks
                   •      Customer Satisfaction
                   •      Visibility and Transparency
                   •       .etc




2010 – Maher A. Dahdour                                          MDA
               Problem and Opportunity
               Perspective
    Advancement means changes and complexity
    Technology Changes
     -    New Platforms
     -    New Programming Languages
     -    Databases and Contents Repositories

    Business Changes
    -    Acquire new capabilities, Products and Services requirements
    -    Overall Model
     -   New Business Principles
     -   New Strategic Directions
     -   Business Frameworks and Principals

    Industrial Changes
    -     Standards
    -     Best Practices




2010 – Maher A. Dahdour                                     MDA
             Problem and Opportunity
             Perspective:
             Requires

    -     Continues quality improvement through Business Process Improvement
          and if required radical business process re-engineering.
    -     Continues service and products changes and integration specially IT
          related.
    -     Agility is key to achieve business goals and their objectives.




2010 – Maher A. Dahdour                               MDA
             Architectural (Business and IT) Terminologies



                                                                                      Programming
              UML 2.x,    Standards                      VB, Java,C, Cobol,
                                                                                       Languages
              BPMNs                                            C++,
               SysML                                            C#,




   SPARX,Rational Rose,
                                                                      Zachman
     System Architect,
          CORE
                                  architecture                         TOGAF,
                                                                      DODAF,
               Modeling                                               MODAF,
                Tools
                                                                         .etc
                                                                      Architectural
                                         Vee,                         Frameworks
                                                    Methodologies
                                         RUP,
                                       Waterfall,
                                      Spiral, RAD


2010 – Maher A. Dahdour                                         MDA
              The Model Driven Architecture



                          “…A common approach for
                          designing and building a
                          system that remains
                          decoupled from the eventual
                          languages, platforms and
                          middleware environments…”

                          -Object Management Group,
                          2001

2010 – Maher A. Dahdour               MDA
              OMG’s MDA Vision

    • Provide A Different Way to Specify and Build Systems

            – Provide a coarse separation of views

            – Provide a viable strategy for system integration

            – Motivate a new breed of modeling tools

            – Provide support for tool integration




2010 – Maher A. Dahdour                              MDA
                Object Management Group

                               The OMG Sponsors Research Committees Including:

•A non-profit corporation
Founded in April 1989.

•Goal: To accelerate the
introduction of standardized
object software.

•Over 800 members, from
Industry, Academia, and
Government.

•Introduced MDA in 2001 as
an evolution of OMG’s
CORBA architecture

  2010 – Maher A. Dahdour                           MDA
                OMG Milestones

                             OMG is
1989                        founded

                                        CORBA
                    1991                 2.0

CORBA
1.0, IDL
                                 1996

                                        1997                         MDA

                UML, MOF,
                XMI, CWM                         2001

                                           UML 1.5                   2003

  2010 – Maher A. Dahdour                            MDA   UML 2.0
              OMG MDA
              Model Driven Architecture Advantages


    • Open Standards.

    • Increase software engineers and developers productivity by
      separating between Platform Independent Model (PIM) and
      Platform Specific Model (PSM). Reduce the time of
      development and integration; Modeler and designer don’t
      need to changes analysis and design models every time
      platform changes. Integration will be the Platform Specific
      Implementer.

    • Complexity Reduction by separating between the
      conceptual model from the physical model, which It


2010 – Maher A. Dahdour                      MDA
              OMG MDA
              Model Driven Architecture
              Components

                                      C#, JAVA, C++, ASL

                                           Languages

                                  Tools                 Frameworks DODAF
              Rational Rose
                                                                   NATO C3
             System Architect
                  CORE
                                           MDA                     Zachman
                                                                   MDA
                  iUML
                                          Methodology


                                RUP, Waterfall, Spiral, Agile MDA


                                Model Driven Engineering


2010 – Maher A. Dahdour                                             MDA
              IT Role

    • Simulation (Simulate organizational activities and scenarios)

    • Flow diagrams (Modeling of the flows of things through the
      organization)

    • Work analysis (Analysis of the existing process and
      proposed solutions)

    • Application development (Create application to
      support/institutionalize the change)

    • Workflow software (System controls into the hands of end-
      user – help automate business processes and provide a
      quality interface between business systems)



2010 – Maher A. Dahdour                      MDA
    An Analysis of Model Driven
    Architecture (MDA) and Executable
    UML (xUML)




2010 – Maher A. Dahdour       MDA
              Objectives

  •     Problem Space (Rise of MDA)

  •     Architecture Terminology

  •     MDA Defined

  •     xUML/Action Semantic Language Defined

  •     Joint SIAP Systems Engineering Organization (JSSEO)

  •     Advantages/Disadvantages of MDA

  •     MDA Tools

  •     MDA Vendors




2010 – Maher A. Dahdour                             MDA
  The Problem Space…




2010 – Maher A. Dahdour   MDA
              New Technologies

    • Each year, new technologies are being invented and
      becoming very popular.


    • C++,
    • Java,                      • Web Services,
    • VB,                        • ASP,
    • CORBA,                     • HTML,
    • C#,                        • JSP,
    • .NET,                      • SQL,
    • Eiffel,                    • UML,
    • JDBC ,                     • J2EE,
    • COBOL                      • Flash,
                                 • XML



2010 – Maher A. Dahdour                     MDA
Technology Adoption Curve:

                                          Java
                                  CORBA
                                                 J2EE
                                                         .NET
                           DCOM
                                                            Web
 TCP/IP                                                   Services
                                                                 CCM       Jini     Future…
                                                                       JavaSpaces
                                                                               Adoption

Laggards                     Late          Early         Early       Innovators
                            Majority      Majority      Adopters




 2010 – Maher A. Dahdour                                   MDA
             The CIO’s Challenge:
             Needs for MDA

    All of this constant change presents a real
    problem to an organization’s CIO who wants to:
•    continue to use and integrate their existing software;

•    employ industry standards;

•    curtail massive integration costs;

•    balance need for interoperability and growing trend in system-of-
     systems evolution




2010 – Maher A. Dahdour                              MDA
              Rising Interoperability Gap
•    CIO challenges with changing technology

•    Diverse set of platforms and standards

       – J2EE, CORBA, .NET, Web Services

       – Oracle, SQL Server, XML

•    Current and growing need:

       – To unify the system model and implementation

       – Provide an agile process to preserve the investment in a system
         architecture


       – Overcome challenges with system interoperability and integration


2010 – Maher A. Dahdour                               MDA
              Model Driven Architecture [1]


 •    MDA is a framework for software development

 •    Key to MDA is the importance of models in the software development
      process (PIM, PSM, PSI)

 •    Provides independence from a diverse set of IT environments

        – operating system

        – network topology

        – programming language

        – middleware independence



2010 – Maher A. Dahdour                           MDA
               Model Driven Architecture [2]

   •        Provides a common approach for design and building a
            system that remains decoupled from the:

           –      Eventual languages,

           –      Platforms

           –      Middleware environments that will be used

   •        The code is completely derived by the model

   •        Future Proofing

           –      Provides a mechanism for an organization to design their
                  systems once and then transition them over time when the
                  next best technology comes along.

2010 – Maher A. Dahdour                               MDA
MDA Meta Models




2010 – Maher A. Dahdour   MDA
              Platform Independent Model (PIM)




•   High level abstraction that is independent of any implementation technology

•   Describes a software system that supports some business and are specified
    using xUML

•   System is modeled from the viewpoint of how it best supports the business

•   Describes “peer” system behavior, independent of the computing environment
    & implementation technologies

•   PIMs are reused across multiple platforms




2010 – Maher A. Dahdour                                 MDA
          Platform Independent Model (PIM)
               PIMs




                                            <<PIM Context.abstraction level>>
                                                                  Context


                                                               <<refine>>
                                                                                              Functional Requirements


                                      <<PIM Requirements.abstraction level>>
                                                               Requirements


                                                               <<refine>>



                                            <<PIM Analysis.abstraction level>>
                                                                                                 Performance Requirements
                                                                   Analysis

                                                                                 <<refine>>
                                     <<refine>>



                          <<PIM Design>>                                             <<PIM Design>>
                           Objects Design                                         Components Design




2010 – Maher A. Dahdour                                                                               MDA
        Platform Specific Model (PSM)
• Specifies how the functionality in a PIM is realized on a
  computing platform.

• Derived from the PIM by adding platform-specific attributes to
  the standard components

• Common to have multiple PSMs with one PIM

• Is tailored to specify the target platform system




2010 – Maher A. Dahdour                      MDA
              Platform Specific Model
                   PIMs




                                           <<PIM Context.abstraction level>>
                                                               Context

                                                             <<refine>>



                                        <<PIM Requirements.abstraction level>>
                                                            Requirements


                                                             <<refine>>


                                           <<PIM Analysis.abstraction level>>
                                                                Analysis
                                                                                        <<refine>>
                                    <<refine>>



                          <<PIM Design>>                                                   <<PIM Design>>
                           Objects Design                                                Components Design



                   PSMs    <<refine>>                                      <<refine>>                          <<refine>>




                          PSM_CORBA                                             PSM_EJB                      PSM_CCM




2010 – Maher A. Dahdour                                                                                      MDA
              Platform Specific Implementation (PSI)

   •     Generation of an Object Model

   •     Model repository contains all necessary information to produce a runtime
         specific platform

   •     Model compiler translates abstractions in the model to a specific
         implementation

   •     PSI is executable code that runs on a target architecture

   •     Object Model Compiler Requires for Generation

           – C++ file

           – Make File

           – IDL File

           – XML File
2010 – Maher A. Dahdour                                    MDA
            Platform Specific Implementation (PSI)

   •     PSI is executable code that runs on a target architecture



                           xUML Model
        customer                            account
                             1       1..*
        Customer id                      account id
        customer address    Is      owns data opened
                            owned        balance
                            by
                                                              Target Code
                           AC1:create_account
                                                              Class data structure
          Creating Account
          Entry/                                              Typedef struct D7_C3 struct {
          New_account = create unique Account with \           /*account Class header * /
                            balance = opening_balance
                                                                 struct s_object *next_object; /linked list */
          Link owing_customer R1 new_account
                                                                 struct s_object *prev_object; /objects */
                                                                 struct s_object *rel_ptr;      /list of rel ‘ns */
                           AC6:delete_account                 }D7_C3;
          Deleting Account
          Entry/                                              Section of state action ASL
          owing_customer =  R1                               #ifdef HARNESS
          Unlink this R1 owing_customer                       SMM_At_Line (7, 3, State, 1, 1, CGEN_FUNCT,
          {other_owned_accounts} = owning_customer  R1
                                                              #endif
          If countof {other_owned_accounts} = 0 then
           generate C99:delete_customer() to owing_customer   new_account = cgen_create_object (7, 3, sideof(d7);
          endif                                               new_account -> account_id = cgen_get_next_unique;
          delete this




2010 – Maher A. Dahdour                                                 MDA
MDA Framework



2010 – Maher A. Dahdour   MDA
              MDA Framework


  •     Construction of the PIM metamodel with class and state diagrams

  •     Integrating PIMs into one or more PSMs through auto-generation
        and action semantics language (ASL)

  •     Automation of PSM into a Platform Specific Implementations
        (PSIs)

  •     Model compilation of PSI code in simulation environment




2010 – Maher A. Dahdour                            MDA
MDA Methodology



2010 – Maher A. Dahdour   MDA
          Software Development Methodologies
                                                                     Mostly
                                             requirements            text
 Mostly      requirements
 text
                                                                                                         Waterfall
                                                                                 diagrams
                                  analysis                analysis               & text
              PIM
              (metamodel)          design

                                                                        design                diagrams
                                                                                              and text

                            PSM
                                             integration

                                                                                                             Code
                                                                                    coding

                                     Code                  coding
MDA Agile                                                                                          testing          Code


                                                                     integration
                                                    PSI
                                                                                                         deployment
                                                               Code
                                                                                   testing


                                                                                        deployment
  2010 – Maher A. Dahdour                                                                    MDA
              Model Driven Engineering (MDE)



    •     Somewhat similar to other software engineering methodologies (spiral,
          waterfall, etc)

    •     Agile process with iterative model builds that are linked together and then
          mapped to a single combined model, translated into code

    •     Agile MDA, Model is constructed, run, tested and modified in short
          incremental cycles

    •     Results are more rapidly immediate (couple of classes, state machines,
          etc)




2010 – Maher A. Dahdour                                    MDA
                                          Anatomy of MDA
                         Functional                                                          System

                        Operational
                                          New Requirements                                   Domain




                 Sensor
  PIM                                                                                                                  PIM
(Generic)                                       Tracking                      COM                   Peer             (Generic)
               Navigation
                                                 PIM-PSM Integration Layer


             Sensor                                                                                      Sensor
                                                                                                                     System X
System Y                                                 PSM
  PSM
                               Tracking   COM   Peer           Peer          COM         Tracking                      PSM
                                                        Bridge
            Navigation                                                                                  Navigation

                                                       PSI Layer


System Y     Sensor                                                                                      Sensor      System X
  PSI       interface                                                                                   interface      PSI
                               Tracking   COM   Peer               Peer      COM         Tracking
            Navigation                                                                                 Navigation
             interface                                                                                  interface

            New Modular                                                                             New Modular
                                                        Network
            Component            Sys.Y                                         Sys.X                Component
        2010 – Maher A. Dahdour                                                    MDA
                 MDA Transformation Approach



                            PIM



                                  Marked
                                   PIM
                                           Transformation
                             PSM

                                           Marked
                                            PSM
                             Specific
                          Implementation




2010 – Maher A. Dahdour                                     MDA
  Action Semantic
  Language (ASL)


2010 – Maher A. Dahdour   MDA
               eXectuable UML (xUML)


    •     Foundation of xUML is the Action Specification Language (ASL)

    •     Language allows platform-independent specification of state
          actions, operations, and corresponding relationships

    •     Provides the complete syntactic and semantic language to fully
          specify models

    •     Specifies the mapping rules that generate PIMs and PSMs




2010 – Maher A. Dahdour                             MDA
              Action Semantic Language



•   Allows Access to Data Described by Class Diagrams

•   Allows Access to Data Supplied by Signals initiating actions

•   Provides the ability to generate signals

•   Action Semantics is executed in the Context of numerous interacting
    state machines (UML State Diagrams)




2010 – Maher A. Dahdour                            MDA
                 Executable Unified Modeling
                 Language (xUML)
    •     A non-standardized, formalized subset of UML that enforces constraints on the
          description

    •     The only mandatory UML diagrams within xUML:

            – UML Class diagram (Static View)

            – UML State Chart diagram (Dynamic View)


    •     All other diagrams or certain constructs within these diagrams are semantically weak,
          and therefore not a part of xUML

    •     Specifies the use of UML 2’s Action Semantics for the definition of model actions


                                                       Semantically             Precisely
          xUML                    UML                     Weak                Defined Action
                                                        Elements                Semantics


2010 – Maher A. Dahdour                                           MDA
                     Action Semantics


     • Today, UML does not prescribe an ASL
     • MDA tool vendors can create their own ASL
         Examples                        ASL (KC)   AL (ProjectTech)                     AS (Kabira)




If then else logic             If factor = 2 then   If (factor == 2)            If (factor ==2) {

                                # Do some Action      // Do some Action           // Do some Action



Multi-Way Decision             Switch factor        If (factor == 1)            If (factor==1) {

                                case 1                // Do Some Action           // Do Some Action

                                  #Do Some Action   Elif (factor ==2)           } elseif (factor ==2){




     2010 – Maher A. Dahdour                                              MDA
              Domains and Bridges

  •     A system is decomposed into domains, where each domain encapsulates the knowledge for one
        subject matter:

         – Examples: UI, persistence, networking, and one or more application subject
           matters
  •     Domains are semantically autonomous, because you can understand one domain without
        understanding others

  •     Domains depend on one another without actual knowledge of one another

  •     Bridges tie together the loose ends in the domains by specifying the inter-domain dependencies

  •     Domains are pure within a subject matter and bridges is where the pollution is kept

  •     An interface is actually defined twice: once by the domain using the service and once by the
        domain supplying the service

  •     The bridge is the piece of logic that translates between using domain interface and the supplying
        domain interface




2010 – Maher A. Dahdour                                                    MDA
               ASL Summary

   •     A programmer must develop the execution process for the UML model

   •     The goal of ASL is an unambiguous, concise and readable definition of
         model processing

   •     The use of ASL allows the modeler to decouple from target languages

   •     Each vendor can implement the programming constructs differently thus
         creating different ASLs

   •     Use of ASLs allows for automatic code generation




2010 – Maher A. Dahdour                                  MDA
  MDA Advantages and Challenges




2010 – Maher A. Dahdour    MDA
              Advantages of MDA [1]
    •     Hand coding of model behavior is bypassed

    •     Focus on modeling forces better designs

    •     Essentials of system model are behavior algorithms

    •     Model uses middleware abstractions for platform independence
          (PIM)

    •     Model Compiler is written once per platform

            – Updated for hardware or operating system changes

            – Validate compiler with simple models exercising associations,
              facilities and actions

            – Creates the Platform Specific Model (PSM)




2010 – Maher A. Dahdour                                   MDA
Advantages of MDA [2]

•    Evolutionary step that raise the level of abstraction

•    Models always reflect the current baseline

•    Better supports inclusion of emerging technologies

•    Help separate business rules from the diverse implementation
     environments




2010 – Maher A. Dahdour                              MDA
              Challenges for MDA
•    How to fully integrate and leverage the growing abundance of OMG
     technologies into MDA

       – Unified Modeling Language (UML)

       – Meta Object Facility (MOF)

       – Common Warehouse Metamodel (CWM)

       – XML-based Metadata Interchange (XMI)

•    Need for more mature MDA modeling tools

       – Translation between PIMs and PSMs

       – Better coordination between mappings of different models (avoidance of hand-
         coding)

       – Tools to support model driven testing (setting thresholds, touch points)

       – Tools for version control and distributed working

       – Model Compilers

2010 – Maher A. Dahdour                                       MDA
              MDA User Base
    •     Thales Research and Technology (Europe)

    •     Lockheed Martin (F-16) Mission Avionics

    •     Wells Fargo (Business)

    •     Pacific DataWorks (E-Business)

    •     IBM (Web Business)

    •     U.S. Air Force (Kabria)

    •     Lucent Technologies (Kabria)

    •     Ericsson

    •     AT&T Fixed Wireless




2010 – Maher A. Dahdour                             MDA
              Sample Vendor List

    •     Kennedy-Carter / iUML+iCCG

    •     Project Technology/BridgePoint

    •     Telelogic Tau

    •     (IBM) Rational/XDE

    •     Interactive Objects/ArcStyler

    •     SoftTeam –Objecteering/UML

    •     Codagen Architect

    •     Compuware/OptimalJ

    •     MetaMatrix/Metabase


2010 – Maher A. Dahdour                    MDA
                          To be continued




2010 – Maher A. Dahdour                 MDA


								
To top