OpenDDS Programming with C++

OpenDDS Programming with C++

In this 4-day (24-hour), intensive workshop, students get hands-on experience using the OMG DDS specification and the OpenDDS™ implementation in their C++ applications.


The OMG Data Distribution Service (DDS) for Real-time Systems is a publish-and-subscribe service designed to meet the performance, scalability, and quality-of-service needs of real-time and embedded systems.

The OpenDDS project is an open source, C++ implementation of the OMG DDS specification. 

This course prepares students to:

  • Understand the Data Distribution Service's role in developing distributed applications
  • Define custom DDS data types using OMG Interface Definition Language (IDL)
  • Create DDS publishers and data writers
  • Create DDS subscribers and data readers
  • Understand DDS Quality-of-Service (QoS) settings and apply them to DDS entities


To get the most out of this course, we recommend students have a working knowledge of C++ and familiarity with object-oriented programming concepts.

This is a live, hands-on training course. No recording of this training event will be made available for on-demand consumption.


The following topics are covered in this course:

  • DDS defined
  • Defining DDS types with Interface Definition Language
  • Writing a DDS publishing application
  • Writing a DDS subscribing application
  • Configuring a pluggable transport for data transfer
  • Understanding DDS samples, instances, and keys
  • Applying Quality-of-Service settings to DDS entities
  • DDS built-in topics
  • Conditions and WaitSets
  • Content-Subscription Profile
  • Fault tolerance with Ownership Qos
  • OpenDDS configuration
  • The OpenDDS concurrency model
  • The OpenDDS discovery model
  • Advanced topics

Upcoming Offerings

Classes currently being scheduled. Contact us to set up yours!

Professional Training for Modern Technology Teams

Sign up today for open enrollment technology training.

Open Enrollment Courses

Open enrollment courses are a great, cost-effective option for organizations that have an immediate need to train a small number of employees.

View Course Schedule

Customized technology training designed to meet your team's specific needs

Customized Training Programs

Customized training programs can be delivered on-site, in our training lab, or online to help organizations enhance the skills of their internal development teams.

Request More Information