Vortex OpenSplice DDS DCPS

Vortex OpenSplice DCPS is an Object Management Group (OMG) Data Distribution Service (DDS) rev1.2 compliant Data Centric Publish Subscribe (DCPS) implementation with API's for C, C++, C# and Java.

The DDS DCPS layer is a set of APIs that present a coherent set of standardized "profiles" that target real-time information-availability for domains ranging from small-scale embedded control systems right up to large-scale enterprise information management systems.

Each DDS-DCPS profile adds distinct capabilities that define the service-levels offered by DDS in order to realize the right data at the right time at the right place paradigm:

  • Minimum Profile: this profile defines a publish/subscribe abstraction for highly efficient information-dissemination between multiple publishers and subscribers sharing common interest in so-called Topics. A Topic represents the subject of information sharing and is defined by a unique name, a type and a set of QoS characterizing its non-functional properties. Topic types can be expressed in the OMG's IDL-language (allowing for automatic generation of typed 'Readers' and 'Writers' of those 'topics' for any mix of languages desired).  This profile also includes the QoS framework that allows the middleware to 'match' requested and offered Quality of Service parameters (the minimum profile offering basic QoS attributes such as 'reliability', 'ordering' or 'urgency').
  • Ownership Profile: this “replication” profile offers support for replicated publishers of the same information by allowing a 'strength' to be expressed by each publisher so that only the 'highest-strength' information will be made available to interested parties.
  • Content Subscription Profile: this 'content awareness' profile offers powerful features to express fine-grained interest in specific information content (content-filters). This profile also allows applications to specify projection-views and aggregation of data as well as dynamic queries for subscribed 'topics' by utilizing a subset of the well-known SQL language whilst preserving the real-time requirements for the information-access.
  • Persistence Profile: this 'durability' profile offers transparent and fault-tolerant availability of ‘non-volatile’ data that may either represent persistent ‘settings’ (to be stored on mass-media throughout the distributed system) or ‘state’ preserved in a fault-tolerant manner outside the scope of transient publishers (allowing late-joining of applications and dynamic re-allocation).