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 […]
OpenSplice DDS
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. […]
What is the best way of guaranteeing messages are received in the same order in which they are published?
Two scenarios Making sure messages on the same topic are received in the order they are published (i.e. publisher send messages 1, 2, and 3 on topic A → subscriber receives messages 1, 2, and 3 on topic A in this exact order) Making sure messages of different topics are also received in the same […]
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 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 it […]
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 […]
Questions on how Shared Memory is Allocated
When a topic is written by a writer on a particular node, what is the data path to shared memory? Writer -> Writer Cache -> Publisher ->Publisher Cache-> Shared Memory A sample is written in some programming language (let’s say C++) and passed to its application Writer by invoking its write() call. The Writer allocates […]
Why OpenSplice does not allow QoS to change
There are a number of technical reasons that OpenSplice does not allow QoS changes even though the OMG specification does indicate that some should be allowed. This article covers this reasoning and why QoS changes can lead to inconsistencies if allowed. Difficulties The first difficulty is that the specification does not define whether an individual […]
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 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 exact […]
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 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 OpenSplice DDS applications can seem complex. This article gives a step by step overview of the process. [cmtoc_table_of_contents] […]
Why might Sample Data not arrive?
Why might Sample Data not arrive? There are a couple of main reasons the sample data may not arrive and here are the causes, and solutions, to these problem The Configuration is not Strict Reliable Setting the Reliability Qos Policy to RELIABLE is not enough on its own to guarantee that a DataWriter delivers a […]
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, […]
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 […]
RLM Error initializing license system (-130)
When using the Windows 64 bit Visual Studio 2015 OpenSplice build a RLM Error initializing license system(-130) error is seen. There is a known issue with OpenSplice V6.8.2 running on Windows 64 bit Visual Studio 2015 (the platform P738 build). When you try to start anything that requires a license checkout, for example the OpenSplice […]
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 […]
OpenSplice ishapes example
The ishapes example is a visual example to show DDS in action. OpenSplice publishes and subscribes to different coloured shapes seen on the screen. [cmtoc_table_of_contents] Running the 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 writer which […]