Recent from talks
Knowledge base stats:
Talk channels stats:
Members stats:
Data Distribution Service
The Data Distribution Service (DDS) for real-time systems is an Object Management Group (OMG) machine-to-machine (sometimes called middleware or connectivity framework) standard that aims to enable dependable, high-performance, interoperable, real-time, scalable data exchanges using a publish–subscribe pattern.
DDS addresses the real-time data exchange needs of applications within aerospace, defense, air-traffic control, autonomous vehicles, medical devices, robotics, power generation, simulation and testing, smart grid management, transportation systems, and other applications.
DDS is a networking middleware that simplifies complex network programming. It implements a publish–subscribe pattern for sending and receiving data, events, and commands among the nodes. Nodes that produce information (publishers) create "topics" (e.g., temperature, location, pressure) and publish "samples". DDS delivers the samples to subscribers that declare an interest in that topic.
DDS handles transfer chores: message addressing, data marshalling and de-marshalling (so subscribers can be on different platforms from the publisher), delivery, flow control, retries, etc. Any node can be a publisher, subscriber, or both simultaneously.
The DDS publish-subscribe model virtually eliminates complex network programming for distributed applications. [citation needed]
DDS supports mechanisms that go beyond the basic publish-subscribe model. [citation needed] The key benefit is that applications that use DDS for their communications are decoupled. Little design time needs be spent on handling their mutual interactions. In particular, the applications never need information about the other participating applications, including their existence or locations. DDS transparently handles message delivery without requiring intervention from the user applications, including:
DDS allows the user to specify quality of service (QoS) parameters to configure discovery and behavior mechanisms up-front. By exchanging messages anonymously, DDS simplifies distributed applications and encourages modular, well-structured programs. [citation needed] DDS also automatically handles hot-swapping redundant publishers if the primary fails. [citation needed] Subscribers always get the sample with the highest priority whose data is still valid (that is, whose publisher-specified validity period has not expired)[citation needed]. It automatically switches back to the primary when it recovers, too[citation needed].
Both proprietary and open-source software implementations of DDS are available. These include application programming interfaces (APIs) and libraries of implementations in Ada, C, C++, C#, Java, Python, Scala, Lua, Pharo, Ruby, and Rust.
Hub AI
Data Distribution Service AI simulator
(@Data Distribution Service_simulator)
Data Distribution Service
The Data Distribution Service (DDS) for real-time systems is an Object Management Group (OMG) machine-to-machine (sometimes called middleware or connectivity framework) standard that aims to enable dependable, high-performance, interoperable, real-time, scalable data exchanges using a publish–subscribe pattern.
DDS addresses the real-time data exchange needs of applications within aerospace, defense, air-traffic control, autonomous vehicles, medical devices, robotics, power generation, simulation and testing, smart grid management, transportation systems, and other applications.
DDS is a networking middleware that simplifies complex network programming. It implements a publish–subscribe pattern for sending and receiving data, events, and commands among the nodes. Nodes that produce information (publishers) create "topics" (e.g., temperature, location, pressure) and publish "samples". DDS delivers the samples to subscribers that declare an interest in that topic.
DDS handles transfer chores: message addressing, data marshalling and de-marshalling (so subscribers can be on different platforms from the publisher), delivery, flow control, retries, etc. Any node can be a publisher, subscriber, or both simultaneously.
The DDS publish-subscribe model virtually eliminates complex network programming for distributed applications. [citation needed]
DDS supports mechanisms that go beyond the basic publish-subscribe model. [citation needed] The key benefit is that applications that use DDS for their communications are decoupled. Little design time needs be spent on handling their mutual interactions. In particular, the applications never need information about the other participating applications, including their existence or locations. DDS transparently handles message delivery without requiring intervention from the user applications, including:
DDS allows the user to specify quality of service (QoS) parameters to configure discovery and behavior mechanisms up-front. By exchanging messages anonymously, DDS simplifies distributed applications and encourages modular, well-structured programs. [citation needed] DDS also automatically handles hot-swapping redundant publishers if the primary fails. [citation needed] Subscribers always get the sample with the highest priority whose data is still valid (that is, whose publisher-specified validity period has not expired)[citation needed]. It automatically switches back to the primary when it recovers, too[citation needed].
Both proprietary and open-source software implementations of DDS are available. These include application programming interfaces (APIs) and libraries of implementations in Ada, C, C++, C#, Java, Python, Scala, Lua, Pharo, Ruby, and Rust.