Real-Time DDS Examination & Evaluation Project (RT-DEEP) C++ Framework


Introduction

 RT-DEEP (Real-Time DDS Examination & Evaluation Project) is an evaluation project conducted by DOC group at Vanderbilt University. This note contains suggestions on how to proceed with the evolution of the RT-DEEP test-suite. Our goal is to end up with a test-suite that allows for benchmarking of any kind of use-case that can be expected for DDS systems.

 

 Conceptual overview

 The RT-DEEP test-suite needs to be extended such that it offers a flexible mechanism that can fulfil many different kinds of scenarios. To achieve this, five different kinds of  RT-DEEP actors can be identified.

 

 

Actors can be combined to run on different nodes, using different partitions. Using Reflectors that read from one and write into another partition, a token ring construction can be built. Using partition expressions that contains several partitions, many-to-many topologies can be built.

The model of how actors are mapped onto processes does not have to be fixed. For now, we assume that one actor will be mapped onto one process.

 The framework should support a limited set of IDL defined types. Examples are simple types, complex types, (multiple) keyed, no keyed, variable sized. Every type should have a common header containing at least enough space for a time-stamp. For every type, an unlimited number of Topics can be defined. Every actor should be acting on one Topic only. This allows us to write generic applications. Exception to this rule is the reflector, which might react on a configurable number of topics.


Scenarios

Once the general framework has been built, all kinds of different scenarios can be created. A scenario might consist of a text file that contains information on which actors should be started on which nodes, and which parameters to feed them.  The scripting framework currently present is almost ready to do that. However, the scripts are difficult to understand. It would be easier to have a single, human readable (XML) file that contains all information about a single scenario.

The scripting framework itself will contain vendor specific deployment parameters. Again, these would have to be isolated for maximal maintainability and understandability. Inserting a new vendor to the scripting framework should not be too difficult.

Obtaining framework source codes

The C++ DEEP framework are written by Reinier Torenbeek from PrismTech. We have been closely working with Reinier to add vendor specific codes and improve the current framework. The current version of framework codes are maintained by ming.xiong@vanderbilt.edu and can be obtained from here

Recent Build Results

RTI with build_RTI

OpenSplice with build_OpenSplice

MPC build results



DOC group welcomes you to help us improve our test codes. If you have questions and comments, please send them to ming.xiong@vanderbilt.edu

Back to DDS Web Page .