Data Distribution Service CoreDX DDS TOC Shapes

Explore CoreDX DDS with a Shapes Demo

We provide the source code so you can see how it works.

The TOC Shapes Demonstration provides a visual and hands-on experience with common DDS concepts, including Discovery, Topics, and Quality of Service policies.

In addition, we provide the source code for TOC Shapes, in both the C and Java programming languages. The source code provides clear examples of programming a medium complexity CoreDX DDS application.

Get it now...


This demonstration provides both C and Java language implementations of the Shapes interoperability test tool. The Shapes data-types and application has been used to demonstrate DDS interoperability at several OMG meetings and now you can get access to the source code.

We provide access to the source code for Shapes as an example of how easy it is to integrate CoreDX DDS into an application.

The TOC Shapes demonstration is a step up in complexity from the "Hello World" examples. Many CoreDX DDS features are demonstrated with TOC Shapes, including:

Dynamic Discovery: Dynamic Discovery, the ability for CoreDX DDS application to automatically discovery and start communication with their appropriate peers, is one of the most powerful features of the CoreDX DDS technology. See this feature in action with the TOC Shapes demo. You can run copies of the TOC Shapes demo anywhere on your network: on different machines or on the same machine, and they will automatically discovery each other.

Multiple Topics, Readers, and Writers: Each shape (Circle, Square, Triangle) represents a DDS Topic. Create multiple Readers and Writer on each Topic to see the effects of different Quality of Service (QoS) Policy settings. Run multiple copies of the TOC Shapes demo, on the same machine or over a network.

Configuring multiple Quality of Service Policies: With TOC Shapes, you can control the QoS policies on the Readers and Writers you create. TOC Shapes allows you to configure Reliability, Durability, History, Filters, Ownership, and more. The results of configuring the QoS policies on Shape Readers and Writers are easy to see in the resulting display of shapes. Experiment with different combinations of QoS policies, and see how Readers and Writers match (or do not match) depending on the compatibility of these QoS configurations.

Instances: Each shape (Circle, Square, Triangle) is a DDS Topic, and each color is an instance. This helps display the CoreDX DDS concepts of Ownership, Filtering, and History.

Getting it

The Pre-Compiled Binary

The pre-compiled TOC Shapes downloads allow you to hit the ground running, experimenting with publish-subscribe communications, dynamic discovery, and different QoS policies. Check out the Prerequisites below.

TOC Shapes for Linux
TOC Shapes for Windows

The Source Code

Take a look at the TOC Shapes source code. This is a medium-complexity CoreDX DDS application, and both the Java and C source code is freely available here. Take a look at the instructions below.

Platform/Language TAR ZIP
C v1.2 TAR v1.0 ZIP
Java v4.0 TAR
Android Contact Twin Oaks Computing for Android Shapes

[Note, registration is required to download these packages - it's quick and easy, don't worry!]


For the Pre-compiled Linux Binary

The TOC Shapes demonstration requires the GTK2 library set, with a version level of at least 2.24.32.

For the Source Code in C

To compile from source, you will need a recent CoreDX DDS distribution (CoreDX DDS v3.2.0 or greater). You can get an evaluation version at the CoreDX DDS Downloads page.

For the Java Version

To run the demonstration, you will need a recent CoreDX DDS distribution with support for Java (CoreDX DDS v2.2.2 or greater). You can get an evaluation version at the CoreDX DDS Downloads page.

You will also need the Java run-time environment for your platform. (See the Java website to download Java run-time if you don't already have it.)

If you want to compile from source, you will need the Java Development Kit for your platform. (See Sun's download page to get the JDK.)