Data Distribution Service: Difference between revisions

Content deleted Content added
Monkbot (talk | contribs)
m Task 18 (cosmetic): eval 10 templates: del empty params (5×); hyphenate params (12×); del |url-status= (1×);
Line 24:
Both commercial and [[open-source software]] implementations of DDS are available. These include [[application programming interface]]s (APIs) and libraries of implementations in [[Ada (programming language)|Ada]], [[C (programming language)|C]], [[C++]], [[C Sharp (programming language)|C#]], [[Java (programming language)|Java]], [[Python (programming language)|Python]], [[Scala (programming language)|Scala]], [[Lua (programming language)|Lua]], [[Pharo]] and [[Ruby (programming language)|Ruby]].
 
DDS vendors participated in interoperability demonstrations at the OMG Spring technical meetings from 2009 to 2013.<ref name="2009DemoNotes">{{Cite web|url=http://www.omg.org/news/meetings/GOV-WS/pr/rte-pres/ddsi-demo.pdf|title=DDS Interoperability Demo|author=Angelo Corsaro, Gerardo Pardo-Castellote and Clark Tucker|date=August 12, 2009|publisher=Object Management Group|archiveurlarchive-url=https://web.archive.org/web/20110915193450/http://www.omg.org/news/meetings/GOV-WS/pr/rte-pres/ddsi-demo.pdf|archivedatearchive-date=September 15, 2011|url-status=dead|accessdateaccess-date=November 9, 2016}}</ref><ref name="2010DemoNotes">{{Cite web|url=https://d2vkrkwbbxbylk.cloudfront.net/sites/default/files/dds_interop_demo_santa_clara_dds_2010_12_04.pdf|title=DDS Interoperability Demo December 2010|date=December 11, 2010|publisher=Real-Time Innovations, Inc|accessdateaccess-date=November 9, 2016}}</ref><ref name="2011DemoNotes">2011, March 2011, https://community.rti.com/content/presentation/omg-dds-interoperability-demo-2011</ref><ref name="2012DemoNotes">2012, March 2012, https://community.rti.com/content/presentation/omg-dds-interoperability-demo-2012</ref><ref name="2013DemoNotes">2013, March 2013, http://www.slideshare.net/GerardoPardo/dds-interoperability-demo-2013-washington-dc</ref><ref>{{Cite web|url=https://www.youtube.com/watch?v=Bn56V0NLW1E|title=DDS Interoperability Demonstration|date=December 14, 2010|work=video|publisher=Real-Time Innovations|accessdateaccess-date=November 9, 2016}}</ref>
 
During demos, each vendor published and subscribed to each other's topics using a test suite called the shapes demo. For example, one vendor publishes information about a shape and the other vendors can subscribe to the topic and display the results on their own shapes display. Each vendor takes turns publishing the information and the other subscribe.
Two things made the demos possible: the DDS-I or Real-Time Publish-Subscribe (RTPS) protocol,<ref name="RtpsRef">{{Cite web|url=http://www.omg.org/spec/DDSI-RTPS/|title=The Real-time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol Specification (DDSI-RTPS)|last=|first=|date=May 2019|website=|url-status=live|archive-url=|archiveaccess-date=|accessdate=October 28, 2019}}</ref> and the agreement to use a common model.
[[File:Notional OMG DDS Interoperability.jpg|thumb|upright=2.4|OMG Data Distribution Service interoperability]]
 
Line 43:
 
== History ==
Development of the DDS specification started in 2001. It was developed by Real-Time Innovations (RTI), a software framework company, and [[Thales Group]], a French defense company. In 2004, the [[Object Management Group]] (OMG) published DDS version 1.0.<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.0 |date= December 2, 2004 |publisher= Object Management Group |url= http://www.omg.org/spec/DDS/1.0 |accessdateaccess-date= November 9, 2016 }}</ref> Version 1.1 was published in December 2005,<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.1 |date= December 4, 2005 |url= http://www.omg.org/spec/DDS/1.1 |accessdateaccess-date= November 9, 2016 }}</ref> 1.2 in January 2007,<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.2 |date= January 1, 2007 |url= http://www.omg.org/spec/DDS/1.2 |accessdateaccess-date= November 9, 2016 }}</ref> and 1.4 in April 2015.<ref>{{Cite web |title= Data Distribution Service (DDS), Version 1.4 |date= April 10, 2015 |url= http://www.omg.org/spec/DDS/1.4 |accessdateaccess-date= November 9, 2016 }}</ref>
DDS is covered by several US patents,<ref>[https://www.google.com/patents/US8874686 US Patent US8874686]</ref><ref>[http://www.google.com/patents/US8671135 US Patent US8671135]</ref><ref>[http://www.google.com/patents/US8150988 US Patent US8150988]</ref><ref>[http://www.google.com/patents/US9015672 US Patent US9015672]</ref> among others.
 
Line 60:
Extensible and Dynamic Topic Types for DDS (DDS-XTypes) provided support for data-centric publish-subscribe communication where topics are defined with specific data structures. To be ''extensible'', DDS topics use data types defined before compile time and used throughout the DDS global data space. This model is desirable when static type checking is useful.<ref>Extensible and Dynamic Topic Types for DDS (DDS-XTypes), 1.0, formal/2012-11-10, November 2012, http://www.omg.org/spec/DDS-XTypes/1.0/PDF</ref>
A [[Unified Modeling Language]] (UML) profile specified DDS domains and topics to be part of analysis and design modeling.<ref>UML Profile for Data Distribution, version: 1.0, http://www.omg.org/cgi-bin/doc?ptc/10-05-17.pdf </ref> This specification also defined how to publish and subscribe objects without first describing the types in another language, such as XML or OMG IDL.<ref>DDS-Java: Java 5 Language PSM for DDSVersion 1.0, ptc/2012-12-01, March 2013 http://www.omg.org/spec/DDS-Java/1.0/Beta3/PDF</ref>
An [[interface definition language]] (IDL) was specified in 2014 independently from the [[Common Object Request Broker Architecture]] (CORBA) specification chapter 3. This IDL 3.5 was compatible with the CORBA 3 specification, but extracted as its own specification allowing it to evolve independently from CORBA.<ref>{{Cite web |title= Interface Definition Language (IDL), Version 3.5 |date= March 1, 2014 |publisher= OMG |url= http://www.omg.org/spec/IDL35/3.5/ |accessdateaccess-date= November 9, 2016 |archive-url= https://web.archive.org/web/20170121033326/http://www.omg.org/spec/IDL35/3.5/ |archive-date= January 21, 2017 |url-status= dead }}</ref>
 
Starting with DDS version 1.4 in 2015, the optional DLRL layer was moved to a separate specification.<ref>{{Cite web |title= DDS Data Local Reconstruction Layer (DDS-DLRL) |date= April 2015 |url= http://www.omg.org/spec/DDS-DLRL/ |accessdateaccess-date= November 9, 2016 }}</ref>
 
== See also ==