OpenDDS Programming with C++

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 provides students with a working knowledge of the DDS specification, the OpenDDS implementation, and hands-on experience developing applications using OpenDDS.

Upcoming Offerings

Classes Currently being scheduled. Contact Us to set up yours!


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, and 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)

This course can be conducted at your location or in our Midwest training lab (12140 Woodcrest Executive Drive; St. Louis, MO. 63141).


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

Maximize your training experience by adding these courses to your curriculum.

Professional Training for Modern Technology Teams

Flexible Technology Training

Keep your team on the cutting edge with our technology training offerings.

  • Courses are developed and led by practicing software engineers and subject matter experts.
  • All courses can be customized to meet your organization's unique needs.
  • Courses can be conducted at your location, online, or in our state-of-the-art training lab in St. Louis, Missouri.

Many of our courses are also offered to the public both online and at our Midwest training lab for your convenience.

Visit our training schedule to sign up for upcoming webinars, workshops, and classes, or conduct your next training program in our technology training lab.