OpenDDS Programming with C++

In this 4-day, 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. OpenDDS 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


Working knowledge of C++ and familiarity with object-oriented programming concepts

Duration & Format

4 days (24 hours)


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

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