Confusion on DDS-XTypes support in Connext 5.0.0

3 posts / 0 new
Last post
Last seen: 9 years 9 months ago
Joined: 02/28/2013
Posts: 3
Confusion on DDS-XTypes support in Connext 5.0.0

I am a little confused about DDS-XTypes support in Connext 5.0.0.

The extensible types addendum states that it has partial support for the OMG DDS-XTypes standard. It says that it only supports additional type checking, and that it does not support "dynamic language binding compliant with the Extensible Types specification: DynamicType and DynamicData".

The online C++ API reference includes a section on Dynamic Data with information on a DynamicData type. If Connext 5.0.0 only supports type checking, what is the purpose of this class? Is Dynamic Data a custom RTI extension, completely separate from the OMG X-Types specification?

rip's picture
Last seen: 1 day 17 hours ago
Joined: 04/06/2012
Posts: 324

I'll take a stab at this...

RTI DDS has had DynamicData for a while.  XTypes defines DynamicData.  The DynamicData that XTypes Specification defines may or may not be how RTI implemented DynamicData.  The key word in your post is "compliant".  Assume that RTI will adjust the DynamicData libraries to be in compliance as time passes, but at the moment it (the pre-XTypes version) is so heavily used within the runtime services and tools that making it immediately compliant (for the 5.0.0 release) may have caused issues with the tools and thus prevented a timely release, etc.

So:  In due course the RTI version and the Spec version will align.





Gerardo Pardo's picture
Last seen: 2 weeks 1 day ago
Joined: 06/02/2010
Posts: 602


Rip is right. The history is this: While it ended up being a joint submission with multi-vendor support RTI essentially wrote the OMG DDS-XTypes specification.  When we wrote the spec we based it on some of the concepts we already had in RTI Connext DDS foir many years. Notably the concepts of DynamicData and TypeCode.  However these concepts were extended and enhanced as the spandardization process provided a good reason for making some incompatible chages we felt were needed to improve performance and scalabilty.

To answer your question directly we are only claiming compatibility with DDS-XTypes in the type checking because this is the only part that is strictly compliant with the APIs and semantics defined in the specification. The DynamicData is "close" to what the XTypes DynamicData defines but it is not the same so we are are not claiming copliance at this point.  We are definitely planning to roll in the support for the XTypes DynamicData and DynamicType. In the meantime you can use the existing DynamicData and TypeCode APIs because they essentially server the same purpose.