Title: RTCCM Meeting Agenda
1RTCCM Meeting AgendaOverview of RTCCM
- Nanbor Wang
- Department of Computer Science
- Washington University in St. Louis
- nanbor_at_cs.wustl.edu
- http//www.cs.wustl.edu/nanbor/presentations/RTCC
M-meeting.ppt
2Meeting Schedule
http//www.cs.wustl.edu/nanbor/projects/CIAO/proj
ect-kickoff.html
3Extending CIAO Session Schedule
- Kokyu - Chris Gill
- SCTP - Gautam Thaker and Patrick Lardieri
- IntServ/DiffServe - Irfan Pyarali
- FT-CORBA - Chris Gill, Balachandran Natarajan,
and Joe Cross - RT-Notification Service - Irfan Pyarali
- MIC/MDA - Aniruddha Gokhale, Ted Bapty, Sandeep
Neema, and Jeff Gray - QuO/QoSket - Craig Rodrigues
4Presentation Overview
- 10-minute CCM Overview
- Research problems and proposed approaches
- Project Timeline
5Limitation with the CORBA 2.x Object Model
- Application developers and system integrators are
forced to play multiple roles - Application functional component developers
- tightly coupled application modules
- Computational resource provisioners
- ensuring the availability of common object
services - ad-hoc management
- System configurators
- boiler plate code
- manual application deployment
- Resulting in tight couplings
- Brittle non-standard implementation
- Hard to adapt and maintain
- Increase time-to-market
6Promising Solution Component Models
- Separation of concerns
- Run-time environment configuration
- Connections between objects run-time
- Composition of objects
- Support run-time object composition
- Component a reusable entity
- Container a standardized environment for
components to interact with run-time vice versa - Component Server a generic server process (also
called application server) - Packaging and Assembling tools collection of
tools to package and compose components into
deployable assemblies - Deployment mechanism for deploying component
assemblies to component servers
- J2EE (EJB), COM CORBA Component Model (CCM)
7The CORBA Component Model (CCM)
- Enhances CORBA Object Model
- Provides common run-time environment
- component servers
- containers
- Uses metadata to describe application
composition, resource allocation, and
infrastructure configurations - component dependencies
- component connections
- component configuration
- component run-time services, e.g., transactional,
persistence state
8The CCM Big Picture
implementer
designers
Programming
Home Properties
Component Properties
IDL/CIDL File
User's Code
Language
Tools
IDL/CIDL
Default Properties
Compiler
CORBA
Stubs, Skeletons
Implementation
Component
Package
Assembly
Packaging
Component
CORBA
Tool
Tool
Assembly
Component
Package
Package
Component
packager
assembler
Descriptor
Assembly
Descriptor
softpkg
Deployment
User written file
CORBA
Descriptor
deployer
Tool
Component
Compiler
Package
Generated files
Source OMG CCM Tutorial by Phillipe Merle
9Current CCM Fails to Address Advanced QoS
Requirements
QoS-enabled CCM ? CCM RT CORBAWhy doesn't
running a RT ORB beneath CCM make it a
QoS-enabled CCM implementation?
- Applications requires a wide variety of
infrastructure support, e.g., QoS guarantees - Plain CCM has no mechanisms to specify and
enforce real-time QoS policies - QoS policies need to be assured end-to-end for
components connections - Ensuring QoS policies in component
implementations leads to - QoS mechanisms that are hard to utilize and go
beyond component implementations - Component connections
- private connections
- bandwidth reservation
- Component collaborations
- Thread pools
- Thread borrowing
- Tight couplings among component implementations
- Difficulty in reusing existing components
(without QoS knowledge)
10QoS-Enabled Component Middleware
- Separate the concerns for QoS managements
- Separate the roles
- Application component developers
- QoS assurance mechanism developers
- QoS provisioning managers
- ORB configurators
- Compose QoS assurance mechanisms
- ORB OS
- Application-specific Adaptive
- Specify metadata for QoS requirements of
- components
- component connections
Extend component middleware to support more
advanced infrastructure and resource management
11Specifying QoS Policies in CCM Applications
- Context
- Delay specifying QoS policies till system
composition time - Problems
- CCM specification doesnt consider QoS policies
- QoS policies usually managed via ad-hoc
interfaces, e.g., RT policies - QoS Policies can bind to either
- Components
- Connections
- Solution Approach
- Extend composition metadata to incorporate QoS
policies - Expected Results
- Implement a CCM deployment framework that
realizes extended metadata. - Categorize bindings of QoS policies
12Supporting QoS Assurance Mechanisms
- Context
- Modern applications need to leverage various QoS
assurance mechanisms - Problems
- No standard way to support these QoS mechanisms
- knowledge of ORB internals required a priori
- Unforeseen QoS assurance mechanisms
- Solution Approach
- Configure the middleware dynamically
- Expected Result
- Extend and implement CCM deployment mechanisms to
describe and deploy ORB modules
13QoS Assurances Require End-to-end Enforcement
- Context Many QoS properties
- need to be enforced end-to-end
- require some degree of adaptation
- Problem
- Lack of standard interaction model with QoS
mechanisms - Solution Approach
- Apply meta-programming techniques
- Expected Result
- Extend and Implement CCM metadata to configure
and compose interceptors/smart proxies
14Configuring Component Adaptation
- Context
- Many QoS properties need to be enforced
end-to-end - We need to apply meta-programming techniques to
insert adaptive behaviors - Problem
- Components need to adapt as a whole, not as
multiple individual interfaces - Solution Approach
- Apply reflective middleware technologies to
containers - Expected Result
- Develop QoS-enabled containers in CCM
15Configuring Client-side Adaptation
- Context
- We are applying meta-programming techniques to
insert adaptive behaviors for QoS requirements - Objects with same interface may require different
adaptive behaviors - Problem
- Coarse-grained existing meta-programming support
- Smart proxies all references
- Interceptors all invocations
- Solution Approach
- Control effective meta-mechanisms through CORBA
policies - Utilizing extension interface pattern
- Expected Result
- Develop mechanisms to associate interceptors and
smart proxies with object references via CORBA
policies
www.krones.com
16Client-side Policy Aggregates
- Context
- Modern systems often require multiple QoS
assurance mechanisms - Objects often require multiple adaptive behaviors
- Problem
- Ad-hoc configuration interfaces
- Brittle client-side implementation
- Difficult to update matching client/server
policies requiring end-to-end assurance - Solution Approach
- Configure ORB dynamically
- Define policy aggregates dynamically using
metadata (using Extension Interface pattern) - Expected Results
- Develop a CCM assembly-like client side
configuration mechanisms - Define policy aggregates with XML-based
descriptors - Package required ORB mechanisms and adaptive
strategies - Enable Client to associate objects with named
policy aggregates
17Component-Integrated ACE ORB (CIAO)
- Extension to component assembly descriptors
- Component and connection QoS specifications
- ORB modules
- Adaptation modules
- QoS-enabled containers
- Policy-based adaptation insertion
- Client-side policy aggregates
- Integrating RT-CORBA ACE QoS API (AQoSA)
- Benchmark and document test applications using
various combinations of QoS aggregates
18Project Timeline
CIAO 0.1 alpha release - (TAO 1.3, Oct. 2002)
- Extension to CORBA Core
- Default implementation of
- CCMObject
- Navigations
- Receptacles
- Events
- CCMHome
- KeylessCCMHome
- Partial support for basic container/callback
interfaces - CCMContext, SessionContext
- EnterpriseComponent, SessionComponent
- HomeExecutorBase interface
- Support (hand crafted) monolithic executor
implementation - Extension to IDL compiler and Typecode factory.
- IDL compiler shall recognize all CCM keyword
extensions but not necessarily generate code for
these added keywords. - Adaptive configuration of Notification
Service/Event Channels - Partial implementation of Deployment module
19Project Timeline
CIAO 0.2 beta release - (TAO 1.3.x, Apr. 2003)
- Support for various RT and QoS Policies
- Support for policy-based adaptation mechanism
- HomeFinder interface
- HomeRegistration interface
- Configuration interfaces
- Configurator
- StandardConfigurator
- HomeConfiguration
- Other basic container programming interfaces
- EntityContext
- EntityComponent
- Extension to Interface Repository
- IDL should generate correct client/server side
mapping for component extension - CIDL implementation that generates skeleton
implementation for - Navigations, Receptacles, and Events interfaces
of a components - component executor and home_executor templates
for monolithic component implementation - Complete Deployment implementation, assuming the
revised deployment specification will be available
20Project Timeline
CIAO 1.0 release - (TAO 1.4, Oct. 2003)
- Transaction module?
- CCM2Context, Session2Context, Entity2Context and
- PSS functionality?
- Support for ExecutorLocator based component
implementation - ProxyHomeRegistration interface
21Bryan Hall
Coke machine
Mens room
Coffee tea
We are here!