RTI DDS Workshop Course Outline
General Introduction
Objective: Understand RTI products and services, brief company history and schedule.
- Agenda review
- Examples of customer applications
- RTI products and services
DDS Introduction
Objective: Understand the problem that DDS solves; describe general concepts and terminologies in RTI Data Distribution Services.
- What is DDS?
- Evolution of the DDS communication model
- Entities in the DDS infrastructure
- Quality of Service parameters that govern those entities
- Demo of DDS at work
Quality of Service (QoS) in DDS
Objective: Gain detailed understanding of QoS and what they can do
- Data volatility and delivery
- Presentation options
- Redundancy measures
- User data delivery
Basic Hands-on Exercises
Objective: Use RTI tools to generate code and diagnose the application; apply changes to QoS parameters to alter behavior
- RTI tools: nddsgen, nddsspy, nddsping
- “Hello World” publisher and subscriber
- RTI manual, API documentation
- Modifying default QoS
Dynamic Discovery
Objective: Understand the dynamic discovery process to be able to tune and configure according to your own requirements
- Participant discovery phase
- Endpoint discovery phase
- Configuration parameters
- Tuning parameters
Keys and Instances
Objective: Understand the difference between topics, instances and keys; discuss use cases of these.
- Advantage of using keys
- Common use cases
- Relevant API calls and QoS parameters
Reliable Communication
Objective: Illustrate the send and receive queue management, timeout constraints and important events.
- Reliability mechanisms
- Reliability objects
- QoS parameters and default behavior
- Design challenge
Threading Model
Objective: Understand the underlying threads in RTI middleware
- Database thread
- Event thread
- Receive thread
- Callbacks and settings for each thread
Listener Callbacks
Objective: Understand the different types of events and their corresponding listener callbacks
- Listener hierarchy
- Callback ordering
- Status and event definitions
Multicast Communication
Objective: Understand how to use multicast to send/receive data
Troubleshooting
Objective: Illustrate the various methods and tools used to trouble-shoot.
- Common design errors
- Common implementation errors
- Debugging tools and methods