Upload
stephen-nicholson
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
Model Driven Middleware: A New Approach for Model Driven Middleware: A New Approach for Developing & Provisioning Large-scale Distributed Developing & Provisioning Large-scale Distributed
Real-time and Embedded ApplicationsReal-time and Embedded Applications
Dr. Aniruddha [email protected]
www.dre.vanderbilt.edu/~gokhale
Assistant Professor (EECS & ISIS)Vanderbilt UniversityNashville, TN 37203
Work supported by AFRL contract# F33615-03-C-4112 for DARPA PCES Program
2
Aniruddha Gokhale MDM
Research Synopsis
Develop, validate, & help to standardize technologies that:
(1) Model(2) Analyze(3) Synthesize &(4) 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
Model Driven Middleware for Distributed Real-time & Embedded SystemsModel Driven Middleware for Distributed Real-time & Embedded SystemsModel Driven Middleware for Distributed Real-time & Embedded SystemsModel Driven Middleware for Distributed Real-time & Embedded Systems
Middleware
MiddlewareServices
DRE Applications
Operating Sys& Protocols
Hardware & Networks
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
distributed system
3
Aniruddha Gokhale MDM
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•Resource constrained
•Network-centric & large-scale•Dynamic context•Stringent simultaneous quality of service (QoS) demands
•Part of larger systems•Resource constrained
Total Ship C&C Center
Total Ship Computing Environments
5
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 common operating requirements
•Containers communicate via a middleware busMiddleware Bus
SecurityReplication NotificationPersistence
Container
… …
…
6
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
8
Aniruddha Gokhale MDM
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)
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
Our Solution: Model-Driven Middleware for DRE Applns
Middleware Bus
SecurityReplication NotificationPersistence
Container
… …
Container
… …
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
<CONFIGURATION_PASS> <HOME> <…>
<COMPONENT> <ID> <…></ID> <EVENT_SUPPLIER> <…events this component supplies…> </EVENT_SUPPLIER> </COMPONENT> </HOME></CONFIGURATION_PASS>
9
Aniruddha Gokhale MDM
CIAO: Our Middleware for DRE Applications
EventNotifications
A/V Streaming
Dynamic/StaticScheduling
RT-CORBA 1.0+2.0
CORBASecurity
FT-CORBA & Load
Balancing
ComponentImplementation
Definition Language
CCM Packaging& Deployment
Time/spaceOptimizations
http://www.dre.vanderbilt.edu
11
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
13
Aniruddha Gokhale MDM
Bold Stroke Illustrative Example
Basic Modal Single Process Product Scenario (2 operational modes)
Determining the right assembly and deployment
Determining the right assignment of priorities
Determining the right concurrency strategy
Adapting to changing operating conditions
14
Aniruddha Gokhale MDM
CoSMIC: Our MDM Tool SuiteApplying OMG MDA to address DRE appln development & provisioning challenges w.r.t: 1.the packaging aspect2.the configuration aspect3.the planning aspect4.the dynamic QoS provisioning & adaptation
aspect
…
Container
… …
TIMER20Hz
GPS
NAV DISP
•Our tool suite is called CoSMIC
•CoSMIC = Component Synthesis using Model Integrated Computing
Middleware Bus
SecurityReplication NotificationPersistence
15
Aniruddha Gokhale MDM
Challenge 1: Packaging Aspect
• 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
CONTEXTTIMER20Hz
GPS NAV DISP
16
Aniruddha Gokhale MDM
Challenge1: Packaging AspectPROBLEMS (1/2)
RT EventChannel
Ad hoc techniques for ensuring syntactic & semantic compatibility
End-to-end QoS metric assigned in ad hoc manner
Ad hoc means to determine event channel support
17
Aniruddha Gokhale MDM
Challenge1: Packaging Aspect
<!– 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>
PROBLEMS (2/2)XML file in excess of 3,000 lines for medium sized scenarios
Existing practices involve handcrafting the XML descriptors
Modifications to the assemblies requires modifying XML file
18
Aniruddha Gokhale MDM
Challenge 1: Packaging Aspect
TIMER20Hz
GPS NAV DISPAIRFRAME
Status:• Component & Assembly Descriptor Modeling Language (CADML) developed in GME• Used to model & synthesize assembly descriptor and package descriptor files for Boldstroke
product scenarios
SOLUTION
Point of Contact:Krishnakumar Balasubramaniam ([email protected])
Tao Lu ([email protected])
19
Aniruddha Gokhale MDM
Challenge 1: Packaging AspectNext Steps
Align CADML DSML with OMG’s D&C spec
Improve syntactic & semantic compatibility checks
Benchmarking of assemblies to assign QoS metrics
Synthesize assembly descriptor metadata
20
Aniruddha Gokhale MDM
Challenge 2: Configuration AspectCONTEXT
Platform independent configuration
Configuration of components & assemblies
Configuration of component containers
Configuration of middleware bus (i.e., ORB)
Configuration of component server
Configuration of event channel support
21
Aniruddha Gokhale MDM
server object management middleware
Challenge 2: Configuring Container Policies
•Existing techniques for metadata configurations rely on ad hoc manual configurations e.g., CORBA server-side programming
PROBLEMS (1/3)
Determine the server object management policies
Determine right buffer sizes
Determine thread pool sizes; how are they shared; number of lanes and their priorities; if borrowing is enabled
Determine various middleware policies for server objects e.g., security, lifetime, replication
•This “glue code” is traditionally handcrafted
Ensure semantic compatibility among chosen configurations
Determine end-to-end priority propagation model to use
22
Aniruddha Gokhale MDM
Challenge 2: Configuring RT Event ChannelsPROBLEMS (1/3)
•This “glue code” for event channel integration is traditionally handcrafted
Determine priority propagation policies for events
Determine the right locking strategies
Determine the right strategy for event channel integration i.e., within container or within component
Enable colocation optimizations
PROBLEMS (2/3)
23
Aniruddha Gokhale MDM
Challenge 2: Configuring Middleware End-to-End
I/O Subsystem
M/W Bus
SkeletonStub
20 10 5 1 20 10 5 1
PROBLEMS (3/3)
Determine right concurrency strategy
Determine right demux strategy
Determine right marshaling optimizations
Determine right connection mgmt policy
Configuring subset of underlying transports
•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
24
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
25
Aniruddha Gokhale MDM
Challenge 2: Configuration Aspect
TIMER20Hz
GPS
NAV DISP
Highpriority
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 ContactEmre Turkaye, George Edwards, Gan Deng
26
Aniruddha Gokhale MDM
Challenge 3: Planning AspectContext
Determine current resource allocations on target platforms
Select the appropriate package to deploy on selected target
Select appropriate target platform to deploy packages
27
Aniruddha Gokhale MDM
Challenge 3: Planning Aspect
TIMER20Hz
GPS NAV DISPAIRFRAME
Problems
distributed system
How do you determine current resource allocations?
How do you correlate QoS requirements of packages to resource needs
How do you ensure that the selected targets will deliver required QoS
28
Aniruddha Gokhale MDM
Challenge 3: Planning Aspect
• 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
On going work
Point of Contact• Jaiganesh Balasubramaniam,Arvind Krishna
• 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
29
Aniruddha Gokhale MDM
Challenge 4: Adaptation & Resource Management Aspect
QoSSystemic Path
Operating System
Middleware
SysCondition
Mechanism & PropertiesManager
Applications
Operating System
CONTEXT
Appln Server Appln ServerStatic configuration
Need to provide runtime QoS adaptation along functional path
Made feasible using adaptive & reflective middleware
e.g., BBN QuO, UIUC Quarterware, Lancaster OpenORB
Global, dynamic resource management
30
Aniruddha Gokhale MDM
Challenge 4: Adaptation & Resource Management Aspect
QoSSystemic Path
Operating System
Middleware
SysCondition
Mechanism & PropertiesManager
Applications
Operating System
PROBLEMSGlue code depends on the adaptive/reflective middleware used
Most existing middleware not designed to collect and distribute QoS metadata
Need to retrofit middleware to collect and distribute desired QoS metadata
Need to add instrumentation code to collect QoS metadata
Instrumentation code manually handcrafted
31
Aniruddha Gokhale MDM
Challenge 4: Adaptation & Resource Management AspectSOLUTION
MiddlewareModels
IntegratedModels
QoS Metadata
model
Program Transformation
Tool
Language-specificQoS aspects
generator
Collaboration with Dr. Jeff Gray (UAB)
Middleware
Applications
Operating System
Interceptor
Endsystem
LocalResourceManage-
ment
Infrastructure Middleware
Distribution Middleware
Common Services
Domain-Specific Services
Point of Contact
Bala Natarajan, Jeff Parsons
32
Aniruddha Gokhale MDM
Middleware
Applications
Operating System
Interceptor
Endsystem
LocalResourceManage-
ment
Infrastructure Middleware
Distribution Middleware
Common Services
Domain-Specific Services
Challenge 4: Adaptation & Resource Management AspectNext Steps
MiddlewareModels
IntegratedModels
QoS Metadata
model
Program Transformation
Tool
Language-specificQoS aspects
generator
Domain specific modeling language for QoS metadata
Domain specific modeling language for middleware models
C-SAW model weaver available
Develop generators
Collaboration with Dr. Priya Narsimhan (CMU) on model driven middleware instrumentation for proactive fault tolerance
35
Aniruddha Gokhale MDM
Research SnapshotFunded 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
36
Aniruddha Gokhale MDM
DRE (DOC) Group Capabilities
• 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
Pa
tter
ns
& P
atte
rn
La
ng
ua
ge
s
ACE Host Infrastructure Middleware
ConfigurableCommunication
Systems
Mission CriticalDoD Systems
IndustrialProcessControl
MedicalImagingSystems
TAO CORBA Distribution Middleware
CIAO CORBA Component Middleware
CoSMIC Model Driven Middleware
37
Aniruddha Gokhale MDM
Concluding RemarksModel, 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
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
Model Driven Approach to:
www.dre.vanderbilt.edu/cosmic
38
Aniruddha Gokhale MDM
Downloading the Middleware & Tools
• http://www.dre.vanderbilt.edu/cosmic
• Beta and Stable release can be accessed from http://www.dre.vanderbilt.edu/Download.html
39
Aniruddha Gokhale MDM
EXTRA