Title: Finegrained Middleware Composition for the Boeing NEST OEP
1Fine-grained Middleware Composition for the
Boeing NEST OEP
- Venkita Subramonian,Chris Gill,
- Jeff Parsons, Huang-Ming Huang, Stephen Torri
- Washington University, St. Louis
- venkita,cdgill,hh1,storri
- _at_cs.wustl.edu
Jeanna Gossett, Tom Corcoran, Douglas Stuart The
Boeing Company, St. Louis jeanna.m.gossett,
tom.corcoran,douglas.a.stuart _at_boeing.com
Research Supported under the NEST program DARPA
contract F33615-01-C-1898 with AFRL
2Topics
- NEST overview
- Boeing OEP overview and architecture
- Motivation for nORB
- Relationship of CORBA to nORB
- nORB components
- Future work
3NEST overview
- Networked Embedded Software Technology
- Distributed Real-Time system with 100 to 100,000
networked sensor-actuator nodes - Resource constrained hardware components
- Requires fine-grained fusion of hardware and
software components - Applications in advanced avionics and space
systems, weapon systems, wireless devices
4NEST middleware services
- Real-time Coordination Services
- Fault tolerance
- Data exchange
- Synchronization
- Self-stabilizing protocols
- Replication
- Automated synthesis of services
- Services should address three orthogonal
dimensions - Scalability, Resource Constraints, Real-time
- OEPs to create challenge problems
5Boeing NEST OEP
Acoustic and Structural Damping
6Boeing OEP architecture
Application Components
Configuration
System Identification
Group Control
Low Level Control
Domain Services
Clock Synchronization
Scheduling
Group Communication
Constraint Satisfaction
Group Management
System Services
Dispatch
Time Service
Discovery
Naming
NEST ORB
NEST subset of ACE
Operating System
ACE Adaptive Communication Environment
7Why Not a Full CORBA ORB?
- Mis-match with the NEST Domain
- Most CORBA features not necessary in NEST
- Application specificity is a key issue
- Limited number of objects in NEST
- Scalability in terms of number of nodes
- not number of objects per node
- Footprint constraints
8Motivation for nORB
- Provide primitives for NEST middleware and
services - Limit communication middleware features to
application requirements - Reduce footprint
- Assure Timeliness, Support Adaptation
- Top-down approach very difficult, prolonged, and
error-prone to achieve - More minimal than minimum-CORBA
9Related work
- Ubicore
- Framework to hide different middleware protocols
like IIOP, COM, Java RMI - Generic request broker for hand-held devices
- Vertel eORB
- Uses well known patterns embodied by ACE
- MicroQoSCORBA
- CASE-tool based approach to middleware
customization/composition - Prototyped in Java
10CORBA-ness of nORB
- GIOP messages
- Request, Reply, Locate request, Locate reply
- Object Adapter, albeit a very simple one
- Remote Object References
- IDL compiler generated stubs and skeletons
- Limited form of Exception support
11nORB interface
- registerObject()
- resolveReference()
- objectToString()
- stringToObject()
- init()
- run()
- shutdown()
12nORB - Under the hood
- ACE - Adapative Communication Environment
- Highly efficient, portable primitive components
- ACE components used in NEST
- Reactor, Timer, Threads, Acceptor, Connector,
CDRStream - Further decomposition of ACE primitives on an
as-needed basis.
13Towards a Fine-Grained Substrate
- Decoupling concerns
- Reactor
- Acceptor
- Connector
- Event Handler
- Svc Handler
- Task
ACE_Event_Handler
ACE_Event_Handler
ACE_Service_Object
ACE_Task_Base
PS_Event_Handler
ACE_Task
Peer stream
ACE_Svc_Handler
14nORB Dispatcher
- Based on Kokyu Scheduling Framework
- Adaptive Scheduling in NEST
- Scheduler as a middleware service in NEST
- Dispatching infrastructure to support the
scheduler - Support for FIFO (RMS)
- Future support for different scheduling
strategies EDF, MLF
15Dispatcher interface
- initQueues()
- clearQueues()
- registerDispatchable()
- mergeSchedule()
- clearSchedule()
- dispatch()
- start()
- stop()
16Future work
- Infrastructure Composition techniques for
scheduling/dispatching - Further decomposition of ACE classes to achieve
additional footprint reductions - Apply Generative/Generic/AOP techniques for
customizable middleware composition - nORB performance metrics/optimizations