Jump to content
OpenSplice DDS Forum

Interoperability between OpenSplice and RTI

Recommended Posts


I am trying to establish a communication between OpenSplice and RTI, but so far I haven't been able to do so. The steps I did were the following:

1) Use an IDL that is the same for OpenSplice and RTI (HelloWorld from OpenSplice for example). Import the classes from OpenSplice to RTI, so the topicName, TypeName are the same.

2) Certify that both are on the same domain, both are on domain 0.


Basically, that's it, I am using ospl_ddsi2.xml on OpenSplice and native on RTI. I can see both of them using RTPS2 on Wireshark and I can even see the OpenSplice nodes by using the BuiltInTopics on RTI, but not the other way around (BuiltInTopics on OpenSplice).


What else could be wrong? I checked the ports on Wireshark and one of them is different, should I configure it?


I have been trying for one week already, but I haven't been able to establish the communication. I also tried to use iShapes (simD https://code.google.com/p/simd-cxx/), but I couldn't compile it because of some library issues.

Share this post

Link to post
Share on other sites

If you're running both RTI and OpenSplice app's on the same node you should disable RTI's shared-memory-transport as that will prevent communiation between the two when located on the same machines.

we've demonstrated interoperability using the 'ishapes' application on many occasions, so there shouldn't be a principal issue I'd say ..

Share this post

Link to post
Share on other sites

If the ishapes application has been used on many occasions, where is the source code and information about building and executing this demo?


In the past the only way I managed to execute this demo was when I received a binary compiled for the version of OpenSlice that I was using. Now that I have upgraded to OpenSplice community edition version 6.3 that binary no longer works.


What I have found so far;

     1)  source code for an iShapes demo located at $OSPL_HOME/demos/iShapes. The README.md notes that QT4 is required then all you need to do is 'make', but there is no Makefile available. How is it possible to build this code, and is this demo the current version?

     2) the simd version available at http://code.google.com/p/simd-cxx/downloads/list , but these are older binaries and not compatible with OpenSplice v6.3

     3) The ishapes_V6.1 binary that I received had dependencies. It required boost v1.40 and a libSimD.so.0.10.0 library. But it did work okay with OpenSplice v6.1 :)

     4) the simd source code does contain the demo ishapes source code, but simd will not build with OpenSplice v6.3

     5) The only reference to shapes in the documentation that I have found is in the OpenSplice Gateway's examples/shape-java code, but I should not need the Gateway to get the shapes demo working.


The shapes demo has been the single most frustrating demo when I have been trying to setting up OpenSplice.


Any assistance or web links would be appreciated.

Share this post

Link to post
Share on other sites

Okay, I have managed to work out how to build the iShapes demo :)


Previously I had only downloaded and installed the binaries, ie

    <<< OpenSplice HDE Release V6.3.130716OSS For x86_64.linux2.6, Date 2013-07-30 >>>

and since this included the folder for /demos/iShapes, I assumed this could be built. Rookie mistake!


So to build and execute the iShapes demo, I did the following;

1) download the source code and extract to a <source code dir> location

2) start building according to instructions here http://www.prismtech.com/opensplice/opensplice-dds-community/building

       (the build did not work for me, but this process will set up the environment variables needed)

3) go to the <source code dir>/demos/iShapes directory

4) type in the following command to create the Makefile (needs to be done in the <source code dir> to use all the correct MPC files, as these files are not included in the binary download)

      $OSPL_HOME/bin/mwc.pl -type make

5) copy the iShapes directory from the <source code dir> to the originally installed OpenSplice (eg /opt/HDE/x86_64.linux2.6/demos/iShapes)

6) reset the environment variables to the originally installed OpenSplice

7) goto the iShapes directory and type


8) if there is a problem with QT, try    export QTDIR=/usr/lib64/qt4   rather than using qt-3.3

9) run executable that is in the bin directory (eg /opt/HDE/x86_64.linux2.6/bin/demo_ishapes)


And absolutely amazing, it works and is interoperable with all other DDS implementation that I currently have. :D

Share this post

Link to post
Share on other sites


I just downloaded the shapes demo from OpenSplice and RTI and would like to run a demo showing DDS interoperability, starting locally on my computer then with multiple computers.


Is there an easy way to achieve this result please ?





Share this post

Link to post
Share on other sites

when not on the same computer, they should be interoperable 'out-of-the-box' (to check that there's no networking-setup issues, such as which NIC to use in case of multi-homed systems or having multicast issues as both computers are on diferent networks, you should also check interoperability between 2 ishapes-instances of the same vendor on diferent computers).


When you're running on a single machine, I've noticed that you'll  have to disable the 'shared-memory-transport' of RTI's iShapes demo to allow both vendors to 'discover' each other (as that needs to go over a/any network even the loopback-adapter if there's no other network .. so also a good thing to test/verify that 2 locally running instances of the same vendor communicate before mixing implementations)

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now