Vortex OpenSplice

Tweaking durability service performance

About the durability service The durability service is one of the services that can be configured when deploying a federation. At most, one durability service can be configured per federation. However, since a system typically consists of multiple federations, multiple durability services may be deployed in a single system. The durability service has two main […]

Using OpenSplice DDS with Python

Do you want to model your DDS applications in Python? This article explains how to start using OpenSplice DDS with Python. OpenSplice DDS comes with a Python DCPS API that provides Python classes allowing you model your DDS application using Python. The Python DCPS API is a native Python binding that supports full DDS functionality. […]

Overview of DDS

This guide gives a quick and simple overview of the concepts you will meet when you use a Distributed Data Service (DDS) System. What is DDS? In today’s connected world data is everywhere.  Information is stored on computers and needs to quickly travel around the globe.  Consider a train system.  The trains travel on tracks […]

Controlling the DDSi Networking Service Ports

There may be cases where you need to know what ports the DDSi networking service uses. For example if you are using a firewall you will need to open these ports so communication can take place. This article explains how you can work out these values. In order for the participants in a domain to […]

How can I connect to multiple DDS domains?

This article explains the steps you need to take to connect one application to multiple DDS domains using Vortex OpenSplice. Using DDS in multiple domains For two DDS applications to communicate with each other they need to join the same DDS domain. Occasionally your application may need to receive data from one domain and send […]

Creating Topics in the Data Distribution Service (DDS)

Creating topics in the Data Distribution Service explores how to make a topic to allow you to send data around the system. The Data Distribution Service (DDS) sends data to the components that need it. Topics are the basic unit of information that the DDS system reads and writes. To allow data to flow around […]

How to use LogRotate to limit the size of OpenSplice log files

This article describes how to use LogRotate to limit the size of the OpenSplice log files. This will ensure that the files do not grow too large. The Vortex OpenSplice middleware can produce a number of different trace and log files which allow you to find out what is going on in the system. The […]

Setting up Microsoft Visual Studio to use ISOC++2 with OpenSplice DDS

This article explains how to set up Microsoft Visual Studio to build ISOC++2 Vortex OpenSplice DDS based applications. Setting up Microsoft Visual Studio to use ISOC++2 with OpenSplice DDS Setting up Microsoft Visual Studio to use ISOC++2 for Vortex OpenSplice DDS applications can seem complex. This article gives a step by step overview of the […]

Metaconfig.xml and validating the Configuration File

The metaconfig.xml file was added in v6.7.2 of the product and is used to validate most of the configuration file during startup. This means that any obvious invalid configuration will stop the dds services from starting and feedback quickly to the user. Once the services start these will also individually check the configuration (which they […]

Compiling ISOC++2 Applications under Visual Studio: Release and Debug Configuration

This article gives the settings you need to compile and run an ISO C++ OpenSplice application using Visual Studio for Release and Debug builds For a more detailed explanation of general setup see setting up Microsoft Visual Studio to use ISOC++2 with OpenSplice DDS.  In order to successfully compile and run a ISOC++2 OpenSplice application, […]

The Topic Instance Lifecycle

For each data sample accessed via a read or take, DDS provides you with a SampleInfo. This SampleInfo contains meta-information about the Sample, such as timestamp, lifecycle information, etc.,  and tells you if the data is valid or not. The lifecycle information can be used to filter the data received by a DataReader (state based selection). […]

Data Distribution Service (DDS) Built-in topics

DDS built-in topics are a special kind of topic that the Data Distribution Service uses to help applications discover each other. The middleware handles these topics automatically. An application can also access them to get information about the Domain. Read on to find out how to do this.   DDS middleware needs to keep track […]

DDS Security: Using signed governance and permissions documents

Introduction The DDS security specification defines five Service Plugin Interfaces (SPIs) that when combined together provide Information Assurance to DDS systems. For access control SPI, an important step is the usage of signed documents to configure the built-in plugin. Configuration From specification, the DDS:Access:Permissions plugin is configured with three documents: The Permissions CA certificate The […]

Creating and deleting a writer quickly causes sample loss

If you are creating and deleting a writer quickly it may cause sample loss. This explanation shows why creating and deleting a writer in short period of time may cause a loss of samples.   What happens when an application creates an entity When an application creates an entity, e.g. a DataWriter, it publishes samples […]

Introduction to DDS Security

This introduction to DDS security looks at why we need a security standard in the Data Distribution Service (DDS)  and gives an overview of its use. Introduction to DDS Security What prompted the need for the DSS Security standard? Many of Internet of Things systems are being built using DDS. These systems need to secure […]

Vortex OpenSplice ishapes example

The ishapes example is a visual example to show DDS in action. Vortex OpenSplice publishes and subscribes to different coloured shapes seen on the screen. [cmtoc_table_of_contents] Running the Vortex OpenSplice ishapes example What does the ishapes example show? The ishapes example is a visual example showing DDS in action.  It allows you to create a […]

How to Configure the DBMS Connect Service

In this article we will demonstrate how to configure the Vortex OpenSplice DBMS Connect service to work with MySQL on both Windows and Linux. The data-centric model utilised by DDS is a natural fit for the data-centric model utilised by relational database systems. DBMS Connect provides seamless integration between the two systems. It allows the […]

Configuring Shared Memory in Vortex OpenSplice

This article explains how you can configure shared memory in Vortex OpenSplice DDS.  There may be occasions when you need to alter the default settings. Vortex OpenSplice DDS can run in two different architectural modes. These are: Single process or standalone deployment Federated or shared memory mode [cmtoc_table_of_contents] Shared Memory Mode In shared memory mode […]

Communication stops after 10 seconds

Description of the issue When running any combination of Vortex DDS products using DDSI protocol on UDP multicast, communication sets up as expected at applications startup, but stops 10 seconds after startup. In Vortex Café logs, the following message appears at INFO level : Duration lease expired for remote Participant XXXXXXXX.XXXXXXXX.XXXXXXXX – remove it   […]

Memory Claim Denied Error

Memory claim denied errors may appear in the Vortex OpenSplice log file. This is a symptom of running out of shared memory. These are the steps to follow to troubleshoot this problem. Memory Claim Denied Error in ospl.error log Vortex OpenSplice DDS can runs in two modes, federated or shared memory mode and single process […]