Data Distribution Service: Difference between revisions

Content deleted Content added
LFcanavan (talk | contribs)
m Added more factual content based on the Data Distribution Service (DDS) standard specification itself.
Reverted to revision 890925997 by 192.54.144.229 (talk): Better (less promotional) before (TW)
Line 1:
{{third-party|date=July 2014}}
The '''Data Distribution Service''' for real-time systems ('''DDS''') is an [[Object Management Group]] (OMG) [[machine-to-machine]] (sometimes called [[middleware]] or connectivity framework) standard. Itthat isaims designedto forenable applications[[Scalability|scalable]], that[[Real-time requirecomputing|real-time]], high robustness[[Safety-critical|dependable]], low latency[[Many-task computing|high-performance]] and jitter,[[interoperable]] and[[data needexchange]]s tousing scalea to[[publish–subscribe large systemspattern]]. The term DDS refersaddresses boththe to a familyneeds of openapplications specifications<ref>{{citelike web[[air-traffic |title=OMGcontrol]], DDS[[smart standardgrid]] |url=https://www.omgwiki.org/dds/omg-dds-standard/management, |website=Object[[autonomous Managementvehicles]], Group}}</ref>robotics, fromtransportation thesystems, OMGpower asgeneration, wellmedical asdevices, tosimulation theand firsttesting, coreaerospace DDSand specificationdefense, inand theother family<ref>{{citeapplications webthat |title=DDSrequire Specificationreal-time v1.4data |url=https://www.omg.org/spec/DDS/}}</ref>exchange.
 
The defining features of DDS are support for the Publish-Subscribe (PS) and request-reply (RPC) patterns, fully distributed, peer-to-peer architecture (without brokers or servers), comprehensive support for Quality of Service (over 20 different policies<ref>{{cite web |title=Java Language APIDDS Specification v1.4|url=https://www.omg.org/spec/DDS/}}</ref>), extensible type system, support for both interoperability (standard wire protocol) and portability (standard API for multiple programming languages) across implementations, integrated security, and transport independence.
 
DDS has been deployed in industries and applications including [[air-traffic control]], [[smart grid]] management, [[autonomous vehicles]], robotics, transportation systems, power generation, medical devices, simulation and testing, aerospace and defense, and other applications that require real-time data exchange.
 
== Overview ==
In a broad sense, Data Distribution Service (DDS) refers to a family of middleware specifications from the Object Management Group that define application interfaces, behavior, and protocols to be implemented by a DDS-compliant middleware layer (connectivity framework). These specifications allow multiple implementations of DDS to be developed and co-exist without impacting the interoperability of applications that may use different DDS implementations.
 
The DDS family includes both Wire-Interoperability standards as well as API standards for programming languages such as C, C++, Java, C#. An application using the standard Language APIs can be migrated from using one DDS implementation to another with minimal or no code changes. This feature is leveraged by other software frameworks that are layered on top of DDS, such as AUTOSAR and ROS.
 
The DDS specification family is comprised of the following standards:
 
Core Specifications
DDS: Data Distribution Service<ref>{{cite web |title=DDS Core Specification |url=https://www.omg.org/spec/DDS}}</ref>
DDSI-RTPS: The Real-time Publish-Subscribe Protocol DDS Interoperability Wire Protocol <ref>{{cite web |title=DDS Interoperability Wire Protocol specification |url=https://www.omg.org/spec/DDSI-RTPS}}</ref>
DDS-XTypes: Extensible and Dynamic Topic Types for DDS<ref>{{cite web |title=Extensible and Dynamic Topic Types for DDS spec |url=https://www.omg.org/spec/DDS-XTypes}}</ref>
DDS-Security: DDS Security<ref>{{cite web |title=DDS Security specification |url=https://www.omg.org/spec/DDS-SECURITY}}</ref>
 
API Specifications
DDS-PSM-CXX: C++ Language API<ref>{{cite web |title=C++ Language API spec |url=https://www.omg.org/spec/DDS-PSM-Cxx/}}</ref>
DDS-JAVA: Java Language API<ref>{{cite web |title=Java Language API spec |url=https://www.omg.org/spec/DDS-Java/}}</ref>
 
Extensions
DDS-RPC: RPC Over DDS<ref>{{cite web |title=RPC Over DDS spec |url=https://www.omg.org/spec/DDS-RPC/}}</ref>
DDS-XML: DDS Consolidated XML Syntax<ref>{{cite web |title=Consolidate XML Syntax spec |url=https://www.omg.org/spec/DDS-XML/}}</ref>
 
Gateways
DDS-WEB: Web-Enabled DDS<ref>{{cite web |title=Web-Enabled DDS spec |url=https://www.omg.org/spec/DDS-WEB/}}</ref>
DDS-OPCUA: OPC-UA/DDS Gateway<ref>{{cite web |title=OPC-UA/DDS Gateway spec |url=https://www.omg.org/spec/DDS-OPCUA/}}</ref>
DDS-XRCE: DDS for Extremely Resource Constrained Environments<ref>{{cite web |title=DDS XRCE spec |url=https://www.omg.org/spec/DDS-XRCE/}}</ref>
 
Four upcoming specifications have approved RFPs:
DDS-TSN: DDS over Time-Sensitive Networks<ref>{{cite web |title=DDS-TSN RFP |url=https://www.omg.org/cgi-bin/doc.cgi?mars/2018-9-10}}</ref>
DDS-JSON: DDS Consolidated JSON Syntax<ref>{{cite web |title=DDS-JSON RFP |url=https://www.omg.org/cgi-bin/doc.cgi?mars/2018-3-1}}</ref>
DDSI-RTPS TCP/IP PSM: DDS over TCP/IP transport<ref>{{cite web |title=DDS over TCP/IP RFP |url=https://www.omg.org/cgi-bin/doc.cgi?mars/2017-9-24}}</ref>
DDS-Monitoring: DDS Status Monitoring<ref>{{cite web |title=DDS-Monitoring RFP |url=https://www.omg.org/cgi-bin/doc.cgi?c4i/2017-9-7}}</ref>
 
 
== History ==