Docstoc

mdm

Document Sample
mdm Powered By Docstoc
					 Model Driven Middleware: A New Approach for
Developing & Provisioning Large-scale Distributed
     Real-time and Embedded Applications

             Dr. Aniruddha Gokhale
              a.gokhale@vanderbilt.edu
            www.dre.vanderbilt.edu/~gokhale

            Assistant Professor (EECS & ISIS)
                  Vanderbilt University
                   Nashville, TN 37203




      Work supported by AFRL contract# F33615-03-C-4112
                  for DARPA PCES Program
 Aniruddha Gokhale                                                                MDM

                     Research Synopsis
Model Driven Middleware for Distributed Real-time & Embedded Systems

                                                               Develop, validate, & help to
                                                               standardize technologies
                                                               that:

                                                               (1) Model
               DRE Applications                                (2) Analyze
                                                               (3) Synthesize &
                 Middleware                                    (4) Provision
                  Services        <CONFIGURATION_PASS>

distributed                        <HOME>            <…>



  system
                                      <COMPONENT>
                                     <ID> <…></ID>
                                     <EVENT_SUPPLIER>
                                                               multiple layers of
                 Middleware          <…events this component
                                  supplies…>                   middleware for distributed
                                     </EVENT_SUPPLIER>
                                     </COMPONENT>
                                     </HOME>
                                  </CONFIGURATION_PASS>
                                                               real-time and embedded
                Operating Sys                                  (DRE) systems that require
                 & Protocols
                                                               simultaneous control of
                                                               multiple quality of service
                 Hardware &                                    properties end-to-end
                  Networks

                                              2
  Aniruddha Gokhale                                          MDM

R&D Focus: Distributed Real-time & Embedded (DRE) Systems
               Total Ship Computing Environments
                                 Total Ship C&C Center




                • Network-centric & large-scale
                • Dynamic context
                • Stringent simultaneous quality
                  of service (QoS) demands
                • Part of larger systems
                • Resource constrained


                                                         3
   Aniruddha Gokhale                                                                   MDM

    Growing Trend: Component Middleware for DRE Applns

                                                      •Component middleware gaining
                                                       importance (CCM, J2EE, .NET)
                    …                                 •Components encapsulate application
                                                       core logic
                                                      •Components possess ports:
                                                          • Event sinks & sources
                                                          • Connection points e.g., receptacles
                                                          • Interfaces e.g., facets
               …               …                          • attributes
                                                      •Containers provide execution
                                                       environment for components with
               Container
                                                       common operating requirements
                                                      •Containers communicate via a
                                                       middleware bus
              Middleware Bus
Replication   Security   Persistence   Notification


                                                      5
     Aniruddha Gokhale                                                              MDM

     Different Aspects in Component Middleware-
     based DRE Appln Provisioning & Deployment
• Specification & Implementation
    • Application functionality specification, partitioning and implementation as standalone
       components
• Packaging
    • bundling a suite of software binary modules and metadata representing application
       components
• Installation
    • populating a repository with the packages required by the application
• Configuration
    • configuring the packages with the appropriate parameters to satisfy the functional and
       systemic requirements of application without constraining to any physical resources
• Planning
    • making appropriate deployment decisions including identifying the entities, such as CPUs,
       of the target environment where the packages will be deployed
• Preparation
    • moving the binaries to the identified entities of the target environment
• Launching
    • triggering the installed binaries and bringing the application to a ready state
• Adaptation
    • Runtime reconfiguration & resource management to maintain end-to-end QoS
                                                  6
  Aniruddha Gokhale                                                                            MDM

Our Solution: Model-Driven Middleware for DRE Applns
                                                           Key Benefits
                                                           •Preserves DRE application functional
                                                            & systemic QoS properties as high
                                                            level models
                            <CONFIGURATION_PASS>

                                                           •Domain-specific languages &
                             <HOME>            <…>

                                <COMPONENT>
                               <ID> <…></ID>
                               <EVENT_SUPPLIER>
                               <…events this component
                            supplies…>
                                                            analysis/synthesis tools transform
                               </EVENT_SUPPLIER>
                               </COMPONENT>
                               </HOME>
                                                            models to customize underlying multi-
                            </CONFIGURATION_PASS>
                                                            layered middleware platforms
                                                           •Leverages & shapes standards for
…         …                 …                   …           wider applicability
                                                                 Related Work:
 Container                      Container                            • MIC, Vanderbilt (Sztipanovits,
                                                                       Karsai, et al)
                                                                     • Ptolemy, UC Berkeley (Lee et al)
               Middleware Bus                                        • Cadena, KSU (John Hatcliff et al)
 Replication   Security   Persistence             Notification
                                                                     • Quality Connector, LMCO (Joe
                                                                       Cross et. al)
                                                                 8
Aniruddha Gokhale                                                MDM


 CIAO: Our Middleware for DRE Applications
                                         Component
   Event            Dynamic/Static                         CCM Packaging
                                       Implementation
Notifications        Scheduling                             & Deployment
                                     Definition Language
           A/V Streaming
                                                               FT-CORBA
                                                                 & Load
                                                                Balancing


                                                              Time/space
                                                             Optimizations
                  RT-CORBA 1.0+2.0
                                                                CORBA
                                                                Security




                                     9   http://www.dre.vanderbilt.edu
Aniruddha Gokhale                                         MDM

    Boeing Bold Stroke: Our Research Vehicle
                     • Avionics Product Line Component
                       Model
                     • DRE system with 3,000+ domain-
                       specific software components, 3-5
                       million lines of C++ code
                     • 100+ developers
                     • Mission-control software for Boeing
                       military aircraft, e.g., F-18 E/F, Harrier,
                       UCAV
                     • Leverages the ACE+TAO middleware
                     • Used as Avionics Open Experimental
                       Platform (OEP) for DARPA/IXO PCES
                       & MoBIES programs
                     • Moving towards using CIAO CCM

                         11
  Aniruddha Gokhale                                               MDM

          Bold Stroke Illustrative Example
Determining the                     Adapting to
right assembly and                  changing operating
deployment                          conditions



Determining the
right assignment of                                      Determining the
priorities                                               right concurrency
                                                         strategy




   Basic Modal Single Process Product Scenario (2 operational modes)
                                    13
Aniruddha Gokhale                                                                MDM

             CoSMIC: Our MDM Tool Suite
                            Applying OMG MDA to address DRE appln
                             development & provisioning challenges w.r.t:
                …
                              1.the packaging aspect
                              2.the configuration aspect
                              3.the planning aspect
                              4.the dynamic QoS provisioning & adaptation
                                aspect
                                                           •Our tool suite is called
                                        …                   CoSMIC
                       …
                                                               •CoSMIC = Component
                                                                Synthesis using Model
                        Container                               Integrated Computing


                       Middleware Bus
         Replication   Security   Persistence   Notification

                                                14
Aniruddha Gokhale                                          MDM

             Challenge 1: Packaging Aspect
 CONTEXT




                            • Application components are bundled
                              together into assemblies
                            • Several different assemblies tailored
                              towards delivering different end-to-
                              end QoS and/or using different
                              algorithms can be part of the package
                               • e.g., Bold Stroke scenarios involve
                                 assembling & deploying hundreds
                                 of components
                            • Packages describing the components
                              and assemblies can be scripted by
                              using XML descriptors

                           15
   Aniruddha Gokhale                                    MDM

                  Challenge1: Packaging Aspect
Ad hoc techniques for      PROBLEMS (1/2)   Ad hoc means to
ensuring syntactic &                        determine event
semantic                                    channel support
compatibility




                             RT Event
                             Channel


                                            End-to-end QoS
                                            metric assigned in
                                            ad hoc manner
                                 16
   Aniruddha Gokhale                                               MDM

                  Challenge1: Packaging Aspect
XML file in                     PROBLEMS (2/2)             Existing
excess of 3,000                                            practices involve
lines for medium                                           handcrafting the
           <!– Associate components with impls -->
sized scenarios                                            XML descriptors
         <componentfiles>
             <componentfile id=“RateGenerator">
               <fileinarchive name=“HouseRateGen.csd"/>
             </componentfile>

             <componentfile id=“HiResGPS">
               <fileinarchive name=“aGPS.csd"/>
             </componentfile>

             <componentfile id=“cockpitDisplay">
               <fileinarchive name=“navDisplay-if.csd"/>
             </componentfile>

          </componentfiles>
   Modifications to the
   assemblies requires
   modifying XML file
                                      17
    Aniruddha Gokhale                                                  MDM

                  Challenge 1: Packaging Aspect
                                   SOLUTION




Status:
• Component & Assembly Descriptor Modeling Language (CADML) developed in GME
• Used to model & synthesize assembly descriptor and package descriptor files for
  Boldstroke product scenarios




   Point of Contact:
   Krishnakumar Balasubramaniam (kitty@dre.vanderbilt.edu)
   Tao Lu (lu@dre.vanderbilt.edu)
                                         18
Aniruddha Gokhale                                       MDM

             Challenge 1: Packaging Aspect
                            Next Steps
   Improve syntactic &                   Align CADML DSML with
   semantic compatibility                OMG’s D&C spec
   checks




                                           Synthesize assembly
                                           descriptor metadata


Benchmarking of
assemblies to assign
QoS metrics

                                19
  Aniruddha Gokhale                                    MDM

                Challenge 2: Configuration Aspect
CONTEXT                                       Configuration of
  Platform
                                              components &
independent
configuration                                 assemblies


                                               Configuration of
                                               component
                                               server

Configuration of
event channel                                  Configuration of
support                                        component
                                               containers




                                              Configuration of
                                              middleware bus
                                              (i.e., ORB)
                                 20
    Aniruddha Gokhale                                             MDM

         Challenge 2: Configuring Container Policies
                              PROBLEMS (1/3)
 Determine various                              Determine thread pool
 middleware policies for                        sizes; how are they
 server objects e.g.,                           shared; number of lanes
 security, lifetime,                            and their priorities; if
 replication                                    borrowing is enabled


                                                Determine right buffer sizes
 Determine end-to-end
 priority propagation
 model to use
                                                Determine the server
                                                object management
                                                policies
Ensure semantic
compatibility among             server object      • Existing techniques for
chosen configurations           management           metadata configurations
                                 middleware          rely on ad hoc manual
                                                     configurations e.g.,
• This “glue code” is                                CORBA server-side
  traditionally handcrafted                          programming
                                      21
   Aniruddha Gokhale                                           MDM

       Challenge 2: Configuring RT Event Channels
                            PROBLEMS (1/3)
Determine the right                          Determine the right
strategy for event                           locking strategies
channel integration i.e.,
within container or
within component



 PROBLEMS (2/3)
                                             Determine priority
                                             propagation policies for
Enable colocation                            events
optimizations


• This “glue code”
  for event channel
  integration is
  traditionally
  handcrafted
                                   22
    Aniruddha Gokhale                                                  MDM

        Challenge 2: Configuring Middleware End-to-End
                                       PROBLEMS (3/3)
Determine
                    Determine right                 Determine right
right
                    demux strategy                  concurrency strategy
marshaling
                        Stub                        Skeleton
optimizations
                  20     10    5   1    M/W    20   10      5    1
                                        Bus              Configuring subset of
Determine right
connection mgmt                                          underlying transports
                                                            I/O
policy                                                   Subsystem




  • Highly flexible middleware tend to provide numerous configuration knobs
    that can be configured to deliver required systemic properties to
    applications
  • Existing techniques of metadata configurations rely on ad hoc manual
    selection of configuration parameters

                                         23
Aniruddha Gokhale                                         MDM

            Challenge 2: Configuration Aspect
               SOLUTION            • Developed a domain-specific
                                     modeling language for
                                     TAO/CIAO called Options
                                     Configuration Modeling
                                     Language (OCML) using GME
                                   • User provides a model of
                                     desired options & their values
                                     e.g.,
                                     • Middleware bus resources
                                     • Concurrency & connection
                                       management strategies
                                   • Constraint checker flags
                                     incompatible options
                                   • Synthesizes XML descriptors
                                     for middleware configuration



                            24
Aniruddha Gokhale                                                MDM

            Challenge 2: Configuration Aspect                 Next Steps
 High
priority    • Extend OCML to capture
              application QoS
              requirements in a platform
              independent form


           • Design model
             transformers to
             synthesize platforms-
             specific configuration
             models

           • Design tools that will
             determine the right values
             for various platform-specific
             configuration parameters
                                             Point of Contact
                                             Emre Turkaye, George Edwards,
                                      25     Gan Deng
 Aniruddha Gokhale                                     MDM

            Challenge 3: Planning Aspect
 Context




                                       Determine current
Select the                             resource allocations on
appropriate                            target platforms
package to
deploy on
selected target




                               Select appropriate
                               target platform to
                               deploy packages

                          26
Aniruddha Gokhale                                              MDM

         Challenge 3: Planning Aspect
                         Problems




                                           How do you correlate
                                           QoS requirements of
                                           packages to resource
                    distributed system     needs




 How do you
 determine
                                   How do you ensure that
 current resource
                                   the selected targets will
 allocations?
                                   deliver required QoS

                              27
    Aniruddha Gokhale                                                      MDM

               Challenge 3: Planning Aspect
                                     On going work
                                                  • Target platforms will be selected
                                                    based on a priori benchmarking
                                                    data obtained by running
                                                    different packages on target
                                                    configurations
                                                  • Modeling paradigms being
                                                    developed to represent target
                                                    platforms
                                                  • Modeling paradigms being
                                                    developed for synthesizing
                                                    appropriate benchmarking test
                                                    suites

                                                  • Collaboration with Dr. Swapna
                                                    Gokhale, Univ of Connecticut on
                                                    analysis techniques for
                                                    selecting right set of assemblies
                                                    for deployment that will assure
Point of Contact                                    end-to-end QoS
• Jaiganesh Balasubramaniam,Arvind Krishna   28
  Aniruddha Gokhale                                  MDM

Challenge 4: Adaptation & Resource Management Aspect
  CONTEXT

e.g., BBN QuO,                          Made feasible
UIUC Quarterware,                       using adaptive
Lancaster OpenORB                       & reflective
                                        middleware


        Appln Server       Static        Appln Server
                        configuration

  Need to provide
  runtime QoS                            Global, dynamic
  adaptation along                       resource
  functional path                        management




                           29
  Aniruddha Gokhale                                                       MDM

Challenge 4: Adaptation & Resource Management Aspect
                                      Glue code depends on the
 PROBLEMS
                                      adaptive/reflective
    Need to add                       middleware used
    instrumentation code to
    collect QoS metadata

                                               Instrumentation
                                               code manually
                                               handcrafted



                                               Need to retrofit middleware to
                                               collect and distribute desired QoS
                                               metadata

 Most existing middleware not
 designed to collect and distribute
 QoS metadata
                                          30
   Aniruddha Gokhale                                              MDM

 Challenge 4: Adaptation & Resource Management Aspect
                                                          SOLUTION
  QoS
 Metadata
  model
                                                               Applications

                              Middleware                        Interceptor

                                Models                         Middleware
                                                         Domain-Specific Services

                                                            Common Services
   Integrated
     Models                                               Distribution Middleware

                                      Program            Infrastructure Middleware

                                   Transformation           Operating System
                                                                      Local
                                        Tool                        Resource
                                                                     Manage-
                                                                      ment
                  generator                                    Endsystem
                                    Language-
                                    specific        Point of Contact
Collaboration with Dr.
                                    QoS aspects
Jeff Gray (UAB)                                     Bala Natarajan, Jeff
                                   31               Parsons
   Aniruddha Gokhale                                                   MDM

 Challenge 4: Adaptation & Resource Management Aspect
                                                               Next Steps
  QoS
 Metadata
  model
                                                    Domain specific
                                                                 Applications
                                                    modeling language for
                                                                 Interceptor
                                 Middleware
                                                    middleware models
 Domain specific                   Models
                            C-SAW model                             Middleware

 modeling language          weaver available                  Domain-Specific Services

 for QoS metadata                                                Common Services
   Integrated
     Models                                                    Distribution Middleware

                                          Program             Infrastructure Middleware

                                       Transformation
                            Develop generators                   Operating System
                                                                           Local
                                            Tool                         Resource
                                                                          Manage-
                                                                           ment
                generator                                           Endsystem
                                         Language-
Collaboration with Dr. Priya             specific
Narsimhan (CMU) on model driven          QoS aspects
middleware instrumentation for
                                       32
proactive fault tolerance
    Aniruddha Gokhale                                          MDM

                        Research Snapshot
Funded Projects
•   DARPA Program Composition of Embedded Systems (PCES)
•   DARPA Adaptive & Reflective Middleware Systems (ARMS)
•   ITS Warehouse Management (Siemens)
•   Fault Tolerant CORBA (Lockheed Martin)
Collaborations
•   Dr. Douglas C. Schmidt, Vanderbilt University
•   Dr. Jeff Gray (Univ of Alabama, Birmingham)
•   Dr. Swapna Gokhale (Univ of Connecticut)
•   Dr. Marina Thottan (Bell Labs)
•   Dr. Priya Narsimhan (CMU)
•   Dr. Sylvester Fernandez (Lockheed Martin)


          Spring ’04: CS292/CS396 – Special Topics Course on
                         Model Driven Middleware

                                           35
  Aniruddha Gokhale                                                         MDM

        DRE (DOC) Group Capabilities
    Configurable                                         Industrial   Medical
   Communication                 Mission Critical
                                                          Process     Imaging
      Systems                     DoD Systems
                                                          Control     Systems


                                    CoSMIC Model Driven Middleware
            Patterns & Pattern
               Languages



                                  CIAO CORBA Component Middleware

                                   TAO CORBA Distribution Middleware

                                    ACE Host Infrastructure Middleware

• Faculty:             Dr. Douglas C. Schmidt, Dr. Aniruddha Gokhale
• Research Engineers:  Bala Natarajan, Jeff Parsons, Boris Kolpakov, Tao Lu
• Grad/UGrad Students: B. Krishnakumar, George Edwards, Emre Turkay,
                       Arvind Krishna, J. Balasubramaniam, Gan Deng
                                                    36
Aniruddha Gokhale                                           MDM

                           Concluding Remarks
                            Model, analyze, synthesize, and
                            provision middleware technologies at
                            multiple layers for distributed real-time
                            and embedded systems that require
                            simultaneous control of multiple
                            quality of service properties end-to-
                            end

                             Model Driven Approach to:

                            1. Configure and deploy DRE
                               applications end-to-end
                            2. Configure application component
                               containers
                            3. Synthesize middleware-specific
                               configurations
                            4. Synthesize dynamic QoS
                               provisioning and adaptation logic
                            5. Benchmark provisioned system

                            37
       www.dre.vanderbilt.edu/cosmic
Aniruddha Gokhale                                                   MDM

   Downloading the Middleware & Tools




            • Beta and Stable release can be accessed from
              http://www.dre.vanderbilt.edu/Download.html




                           • http://www.dre.vanderbilt.edu/cosmic



                                   38
Aniruddha Gokhale           MDM

                    EXTRA




                      39

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