1 / 33

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

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.

tinaross
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. DRE Applications Middleware Services distributed system Middleware Operating Sys & Protocols Hardware & Networks Research Synopsis Model Driven Middleware for Distributed Real-time & Embedded Systems • Develop, validate, & help to standardize technologies that: • Model • Analyze • Synthesize & • Provision • multiple layers of middleware for distributed real-time and embedded (DRE) systems that require simultaneous control of multiple quality of service properties end-to-end <CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS>

  3. Total Ship Computing Environments Total Ship C&C Center R&D Focus: Distributed Real-time & Embedded (DRE) Systems • Network-centric & large-scale • Dynamic context • Stringent simultaneous quality of service (QoS) demands • Part of larger systems • Resourceconstrained

  4. … … Middleware Bus Container Replication Security Persistence Notification 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 common operating requirements • Containers communicate via a middleware bus

  5. 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. … … … Middleware Bus Container Container Replication Security Persistence Notification Our Solution: Model-Driven Middleware for DRE Applns Key Benefits • Preserves DRE application functional & systemic QoS properties as high level models • Domain-specific languages & analysis/synthesis tools transform models to customize underlying multi-layered middleware platforms • Leverages & shapes standards for wider applicability <CONFIGURATION_PASS> <HOME> <…> <COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME> </CONFIGURATION_PASS> Related Work: • MIC, Vanderbilt (Sztipanovits, Karsai, et al) • Ptolemy, UC Berkeley (Lee et al) • Cadena, KSU (John Hatcliff et al) • Quality Connector, LMCO (Joe Cross et. al)

  7. Component Implementation Definition Language Event Notifications Dynamic/Static Scheduling CCM Packaging & Deployment A/V Streaming FT-CORBA & Load Balancing Time/space Optimizations RT-CORBA 1.0+2.0 CORBA Security CIAO: Our Middleware for DRE Applications http://www.dre.vanderbilt.edu

  8. 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

  9. Bold Stroke Illustrative Example Adapting to changing operating conditions Determining the right assembly and deployment Determining the right assignment of priorities Determining the right concurrency strategy Basic Modal Single Process Product Scenario (2 operational modes)

  10. … … Container Middleware Bus Replication Security Persistence Notification CoSMIC: Our MDM Tool Suite • Applying OMG MDA to address DRE appln development & provisioning challenges w.r.t: • the packaging aspect • the configuration aspect • the planning aspect • the dynamic QoS provisioning & adaptation aspect • Our tool suite is called CoSMIC • CoSMIC = Component Synthesis using Model Integrated Computing

  11. 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

  12. RT Event Channel Challenge1: Packaging Aspect Ad hoc techniques for ensuring syntactic & semantic compatibility Ad hoc means to determine event channel support PROBLEMS (1/2) End-to-end QoS metric assigned in ad hoc manner

  13. Challenge1: Packaging Aspect XML file in excess of 3,000 lines for medium sized scenarios PROBLEMS (2/2) Existing practices involve handcrafting the XML descriptors <!– Associate components with impls --><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

  14. 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)

  15. Challenge 1: Packaging Aspect Next Steps Improve syntactic & semantic compatibility checks Align CADML DSML with OMG’s D&C spec Synthesize assembly descriptor metadata Benchmarking of assemblies to assign QoS metrics

  16. Challenge 2: Configuration Aspect CONTEXT Platform independent configuration Configuration of components & assemblies Configuration of component server Configuration of event channel support Configuration of component containers Configuration of middleware bus (i.e., ORB)

  17. server object management middleware Challenge 2: Configuring Container Policies PROBLEMS (1/3) • Existing techniques for metadata configurations rely on ad hoc manual configurations e.g., CORBA server-side programming Determine various middleware policies for server objects e.g., security, lifetime, replication Determine thread pool sizes; how are they shared; number of lanes and their priorities; if 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 chosen configurations • This “glue code” is traditionally handcrafted

  18. Challenge 2: Configuring RT Event Channels PROBLEMS (1/3) Determine the right strategy for event channel integration i.e., within container or within component Determine the right locking strategies PROBLEMS (2/3) Determine priority propagation policies for events Enable colocation optimizations • This “glue code” for event channel integration is traditionally handcrafted

  19. Stub Skeleton 20 10 5 1 20 10 5 1 M/W Bus I/O Subsystem Challenge 2: Configuring Middleware End-to-End PROBLEMS (3/3) Determine right marshaling optimizations Determine right demux strategy Determine right concurrency strategy Configuring subset of underlying transports Determine right connection mgmt policy • 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

  20. Challenge 2: Configuration Aspect • 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 SOLUTION

  21. High priority Challenge 2: Configuration Aspect Next Steps • 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, Gan Deng

  22. Challenge 3: Planning Aspect Context Determine current resource allocations on target platforms Select the appropriate package to deploy on selected target Select appropriate target platform to deploy packages

  23. distributed system Challenge 3: Planning Aspect Problems How do you correlate QoS requirements of packages to resource needs How do you determine current resource allocations? How do you ensure that the selected targets will deliver required QoS

  24. 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 end-to-end QoS Point of Contact • Jaiganesh Balasubramaniam,Arvind Krishna

  25. Appln Server Appln Server Static configuration Challenge 4: Adaptation & Resource Management Aspect CONTEXT e.g., BBN QuO, UIUC Quarterware, Lancaster OpenORB Made feasible using adaptive & reflective middleware Need to provide runtime QoS adaptation along functional path Global, dynamic resource management

  26. Challenge 4: Adaptation & Resource Management Aspect Glue code depends on the adaptive/reflective middleware used PROBLEMS Need to add 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

  27. Applications Interceptor Middleware Domain-Specific Services Common Services Distribution Middleware Infrastructure Middleware Operating System Local Resource Manage- ment Endsystem Language-specific QoS aspects generator Challenge 4: Adaptation & Resource Management Aspect SOLUTION QoS Metadata model Middleware Models Integrated Models Program TransformationTool Point of Contact Bala Natarajan, Jeff Parsons Collaboration with Dr. Jeff Gray (UAB)

  28. Applications Interceptor Middleware Domain-Specific Services Common Services Distribution Middleware Infrastructure Middleware Operating System Local Resource Manage- ment Endsystem Language-specific QoS aspects generator Challenge 4: Adaptation & Resource Management Aspect Next Steps QoS Metadata model Domain specific modeling language for middleware models Middleware Models Domain specific modeling language for QoS metadata C-SAW model weaver available Integrated Models Program TransformationTool Develop generators Collaboration with Dr. Priya Narsimhan (CMU) on model driven middleware instrumentation for proactive fault tolerance

  29. 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

  30. DRE (DOC) Group Capabilities Configurable Communication Systems Mission Critical DoD Systems Industrial Process Control Medical Imaging Systems CoSMIC Model Driven Middleware CIAO CORBA Component Middleware Patterns & Pattern Languages 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

  31. Concluding Remarks Model, analyze, synthesize, and provisionmiddleware 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: • Configure and deploy DRE applications end-to-end • Configure application component containers • Synthesize middleware-specific configurations • Synthesize dynamic QoS provisioning and adaptation logic • Benchmark provisioned system www.dre.vanderbilt.edu/cosmic

  32. 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

  33. EXTRA

More Related