# Real-Time CORBA Support in TAO

Support for OMG Real-Time CORBA 1.0 specification is currently being added to TAO. The implementation effort is in full gear, so please check back often - these pages are updated frequently. For a list of recently added features and work in progress see the Current Status section below.

As usual, questions, comments, and contributions should be posted to the comp.soft-sys.ace newsgroup, and bug reports can be submitted either through our web-based bug-tracking system (best) or by filling out the TAO/PROBLEM-REPORT-FORM and posting it to the newsgroup. Please indicate "RTCORBA" in the component field when submitting a bug report.

Points of contact for the project are:

- Angelo Corsaro - collocation and policy encoding into ior
- Irfan Pyarali - POA threadpools and RT POA
- Marina Spivak - all other features and online documentation

## Current Status

Status last updated on: 2001/09/18 00:05:08

### Recently Completed

Items completed recently. (For a complete list of supported features see this section).

- POA Threadpools
- Online Documentation
- New tests
- New collocation scheme
- Private Connections
- Explicit Binding
- RT Mutex

### In Progress

Feature | Due Date | Contact

### Supported Features

Following is the complete list of features from the Real-Time CORBA 1.0 specification that are currently supported in TAO. (These do not include work in progress).

- Real-Time ORB
- Real-Time POA
- Real-Time Current
- Priority Mappings
- Client_Propagated Priority Model
- Server_Declared Priority Model
- Server Protocol Policy
- Client Protocol Policy
- Priority Banded Connections
- Explicit Binding
- Private Connections
- Invocation Timeout
- RT Mutex
- POA Threadpools

### Unsupported Features

The following features are not currently supported, and there are no immediate plans for their implementation:

- POA Threadpool request buffering
- POA Threadpool thread borrowing
- Priority Transforms
- ORBinit command-line option

### Future Work

1. Currently, persistent objects are not supported for RT POAs. We need to add this feature.
2. Currently, purging of connection only happens for the lane of the thread that runs out of connection. We need to change this such that we allow system wide purging.
3. Currently, all user-created threads are part of the default thread pool. There is nothing done to separate out these threads into different (implicit) lanes based on their priorities. We may need to add this separation to get better/predictable behavior with respect to sharing of resources across threads of different priorities.
4. Currently, some CDR memory pools are global. We should reevaluate them to see which of them can be made a per-lane resource.
5. Improve current RT CORBA implementation through benchmarking and optimizations, resolving known bugs and issues, adding examples, and other enhancements.
6. Implement an alternative real-time orb architecture using a queue-per-lane approach, as described in the TAO Real-Time Architecture section. In this approach, each threadpool lane owns a queue, while I/O resources are being shared among all the threadpool lanes of the same priority within a server. Strategize TAO to use either queue-per-lane or reactor-per-lane implementation, and compare the two.
7. As both real-time and fault tolerance implementations mature separately, explore issues in combining them, and, ultimately, enable TAO to provide applications with both real-time and fault tolerance support at the same time.

Last modified: 2001/09/18 00:05:08