Glossary

Common Terms

Adaptive Communication Environment
ACE

ACE is an open source C++ framework that is maintained alongside TAO and is extensively used by OpenDDS. It provides a platform abstraction layer and various utilities such as reactors for event handing.

See ACE for more information.

Built-in Topics
BITs

Built-in Topics are topics that contain meta-information about local and remote DDS entites and the operational status of OpenDDS.

See Built-in Topics for more information.

Common Data Representation
CDR
Extended Common Data Representation
XCDR

CDR is a family of binary encoding formats used by OpenDDS to serialize and deserialize samples. XCDR is an extended form of CDR defined by the XTypes specification.

See Data Representation for more information.

Common Object Request Broker Architecture
CORBA

CORBA, put simply, is a set of specifications that allows a client to perform remote procedure calls on objects held in a server. It is separate from DDS, but both are published by the OMG and make use of IDL and CDR. TAO is a CORBA implementation that OpenDDS uses for InfoRepo discovery.

See https://www.corba.org/ for more information.

Condition

Conditions are a method of being notified of events from entities, such a new sample being available from a DataReader, via a status that can be checked synchronously.

See Conditions and Listeners for more information.

Data Distribution Service
DDS

DDS is a specification for exchanging strongly-typed data across a distributed system. It is essentially synonymous with DCPS, but can specifically refer to the main DDS specification.

See Data Distribution Service (DDS) for Real-Time Systems for more information.

Data-Centric Publish-Subscribe
DCPS

DCPS is essentially synonymous with DDS, but can specifically refer to the API described in the main DDS specification.

DataReader

A DataReader is an Entity that is used to read samples from a topic. DataReaders are created and managed by Subscribers.

DataWriter

A DataWriter is an Entity that is used to write samples to a topic. DataWriters are created and managed by Publishers.

Discovery

Discovery is the configurable method that DomainParticipants use to find one another.

See Discovery, Matching, and Association for more information.

Dispose

When an instance is disposed by a DataWriter, it means keeping the cached data related to it is no longer necessary. This is done automatically if the instance is unregistered and autodispose_unregistered_instances of Writer Data Lifecycle QoS is set to true. This can also be done manually using dispose method on DataWriter.

Domain

Domains are sets of DomainParticipant that can interact with one another. To interact they must share the same domain identifier and must have compatible discovery and transport.

DomainParticipant

DomainParticipant is an Entity that is used to create and manage Publishers and Subscribers.

Entity

Entity is the abstract base class for the main classes in the DDS/DCPS API, including DataReader and DataWriter. All entities have QoS and can accept Listeners and Conditions.

Instance

In the specific context of DDS and samples, instances refer to a set of samples that share a common key value. Many parts of the DDS API involve instances, including the dispose and unregister operations.

See Keys for more information.

Interface Definition Language
IDL

IDL, specifically OMG IDL, is a C-like language for describing data-structures and interfaces. In OpenDDS opendds_idl and tao_idl are used to generate code from IDL.

Listener

Listeners are a method of being notified of events from entities, such a new sample being available from a DataReader, via asynchronous callbacks.

See Conditions and Listeners for more information.

Makefile, Project, and Workspace Creator
MPC
mwc.pl
mpc.pl

A build-system that generates GNU Makefiles, Visual Studio projects, and other such files. It serves the same role that CMake, Meson, and Automake do in other projects.

See MPC for more information.

Object Management Group
OMG

A standards organization which publishes DDS and the other specifications used by OpenDDS.

See https://www.omg.org/ for more information.

opendds_idl

A program that generates C++ code from IDL for use in OpenDDS.

Publisher

Publisher is an Entity that is used to create and manage DataWriters.

Quality of Service
QoS

QoS is a set of requested policies for how entities should behave.

See Quality of Service for more information.

Real-time Publish-Subscribe
RTPS

RTPS, sometimes also called DDSI-RTPS, is a specification that defines how different DDS implementations can interact with one another.

See Real-time Publish-Subscribe (RTPS) for more information.

Sample

Samples are the messages sent from DataWriters and received by DataReaders.

Subscriber

Subscriber is an Entity that is used to create and manage DataReaders.

tao_idl

A program that is part of TAO that generates C++ code from IDL for use in TAO and OpenDDS.

The ACE ORB
TAO

TAO is a CORBA implementation that is maintained alongside ACE. OpenDDS uses it for InfoRepo discovery and tao_idl.

See TAO for more information.

Topic

A Topic is an Entity with a name and a type that the system uses to figure out which DataReaders get a sample from a DataWriter.

Topic type

A topic type, sometimes also called a data type, is the IDL type of a topic and also type of the samples of the DataWriters and DataReaders that use that topic.

Transport

Transports are the configurable methods that DataWriters and DataReaders use to communicate.

Unregister

When an instance is unregistered by a DataWriter, it means the writer “no longer has ‘anything to say’ about the instance”, as phrased by the DDS specification. This is similar, but separate from disposing an instance. They are usually done at the same time, but this can be changed using Writer Data Lifecycle QoS and the unregister_instance method of DataWriter to make what unregister means application-defined.

XTypes
Extensible and Dynamic Topic Types for DDS

XTypes is an OMG specification that defines how DDS systems can have topic types that can evolve over time and be used without defining IDL.

See Extensible and Dynamic Topic Types for DDS (XTypes) and XTypes for more information.

Environment Variables

ACE_ROOT

The path of the ACE source tree or installation prefix being used.

DDS_ROOT

The path of the OpenDDS source tree or installation prefix being used.

TAO_ROOT

The path of the TAO source tree or installation prefix being used.

OPENDDS_CONFIG_DIR

Makes -DCPSConfigFile paths relative to the path in the environment variable.

See here for more information.