Presentation to a Technical Meeting of the Object Management Group (OMG) describing a revised response to an RFP for improvements to the DDS type system in December 2009.
This presentation "replaces" my earlier presentation http://www.slideshare.net/rickbwarren/extensible-and-dynamic-topic-types-for-dds.
Lots to go through, so questions like this: If you donât understand what Iâm talking about, ask your question right away. If your question/comment is really quick, go ahead and bring it up. If you have a point for discussion, please save it for the end.
DDS is unique among pub-sub systems in providing interoperable static type safety.Applications that use data already expect certain contents; by making expectations explicit, enable: type-aware integration (e.g. relational mapping) compact network representation.
Warning: I donât have several 8 Âœ x 11 prose pages to describe requirements. Theyâre shortened and reordered for quick understanding on the slides.
Many systems are already committed to, deployed on DDS 1.2, RTPS 2 (such as, most of the U.S. Navy). Breaking compatibility with those specs makes integration really hard, costs a lot of time and money for users an vendors alike. Donât do it.People choose DDS for its performance. Donât break that either.
5 parts to the spec
Bottom boxes are orthogonal!
Relationship isnât just defined based on subclass relationships, but if you think of it that way, your intuition will serve you well.
DDS is about data and metadata. Data has it, discovery data has it, types and type members have it.Weâve seen how type system data supports extensibility. Now letâs talk about the metadata side.
âNon-standardâ means vendor-defined + user-defined
Two of them!XSD representation isnât really something new.Instead, builds on existing OMG spec and âblessesâ it as first-class DDS citizen.Goal w/ XML Rep is ease of use, DDS-centricity.It does exactly what this Type System needs, and if you know IDL, the learning curve is low.
Remember why we decided to use parameterized encoding for discovery in the first place:We knew it would change in future versions.We knew vendors would add extensions.But we created a special enclave: built-in topic data types are extensible, but no one else.This spec generalizes the model that has proven itself over a decade.
Nothing very new here: IDL ï WSDL let you do this before. Now itâs official.
C, C++, Java covers almost all DDS users.Ada is a tiny fraction.Scripting languages are covered by Web-Enabled.
Types can be different for different reasons, but itâs really all the same use case: you and I want to talk, and our type definitions arenât the same.This is something people have been asking for for a long time.
âŠbut whatâs the concrete type of the DataReader? That follows from the type of the dataâŠ