mda

Document Sample
mda Powered By Docstoc
					An Analysis of Model Driven
Architecture (MDA) and
Executable UML (xUML)

    The MITRE Corporation
      Tom Massie, D440
      February 19, 2004
     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



                                                          2
The Problem Space…
 New Technologies
     Each year, new technologies are being
      invented and becoming very popular.
• C++,                   • Web Services,
• Java,                  • ASP,
• VB,                    • HTML,
• CORBA,                 • JSP,
• C#,                    • SQL,
• .NET,                  • UML,
• Eiffel,                • J2EE,
• JDBC ,                 • Flash,
• COBOL                  • XML
                                              4
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




                                                                         5
      The CIO’s Challenge:
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

                                                    6
      Rising Interoperability Gap

   CIO challenges with changing technology
   Diverse set of platform 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
                                                                7
Architecture Terminology



                           8
Architectural Terminologies
                                     Java,
                    Programming      C++,
                     Languages
                                      C#,

                                                                Architectural
                                                                Frameworks
 Rational Rose,
System Architect,                                                DODAF,
     CORE
                                  architecture                  NATO C3,
                                                                Zachman
    Modeling
     Tools

                                    RUP,
                                   Waterfall,   Methodologies
                                    Spiral




                                                                                9
Model Driven Architecture
Components

                          C#, JAVA, C++, ASL

                              Languages

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

                              Methodology

                    RUP, Waterfall, Spiral, Agile MDA


                    Model Driven Engineering


                                                                 10
Model Driven Architecture



                            11
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

                                  12
    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


                                                 13
         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

                                                                            14
           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

                                             UML 2.0          15
     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
                                                     16
    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.                                    17
MDA Meta Models



                  18
      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


                                                              19
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




                                                                                                          20
     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
                                                  21
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
                                                                                                           22
    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

                                                          23
        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
                                                                                                                  24
MDA Framework


                25
    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

                                                   26
MDA Methodology


                  27
          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
                                                                                                                    28
    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)


                                                         29
                                          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                                                      30
            Component            Sys.Y                                          Sys.X              Component
MDA Transformation Approach

          PIM



                Marked
                 PIM
                         Transformation
           PSM

                         Marked
                          PSM
           Specific
        Implementation



                                          31
Action Semantic
Language (ASL)
    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

                                                      33
      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)


                                                     34
    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
        UML State Chart diagram

   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


                                                                         35
            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
                         #Do Some        Elif (factor ==2)    Action
                     Action                                   } elseif (factor
                                                              ==2){
                                                                                  36
    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

                                                                                      37
    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


                                                          38
MDA Advantages and Challenges
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)
                                                          40
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




                                                    41

        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



                                                                           42
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




                                              43
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              44
    Thank you !!

Questions/Comments??


                       45

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:33
posted:11/11/2011
language:English
pages:45