Introduction to DDS


Published on

Presentation to the Robotics Task Force of the Object Management Group (OMG) introducing the members to the Data Distribution Service (DDS), another OMG-standard technology.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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.
  • Pull-based communication
  • Pull-based communication
  • Introduction to DDS

    1. 1. Introduction to DDSRobotics DTF – Long Beach, CA – Dec., 2009<br />Rick Warren, RTI<br /><br />document number: robotics/2009-12-13<br />
    2. 2. Introduction<br />Rick Warren<br />Principal Engineer, RTI<br /><br />Background in:<br />Real-time communication<br />Robotics software, including RTC with AIST<br />© 2009 RTI - All rights Reserved<br />2<br />
    3. 3. What is DDS?<br />Data Distribution Service for Real-Time Systems<br />API for publish-subscribe communication<br />Determinism, configuration for real-time applications<br />Lightweight architecture for embedded systems<br />OMG specification since 2003<br />9+ implementations: commercial, open source, internal<br />Real-Time Publish-Subscribe (RTPS) Protocol<br />Interoperability protocol for DDS implementations<br />OMG specification since 2006 (RTPS 2.x, also “DDSI”)<br />Based on earlier IEC specification (RTPS 1.x)<br />4+ implementations<br />No other pub-sub system has this (JMS, CORBA NS, …)<br />© 2009 RTI - All rights Reserved<br />3<br />
    4. 4. © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL<br />FFX-1 Naval Combat System<br /><ul><li>South Korean military upgrading frigate ship fleet
    5. 5. RTI working with Samsung Thales
    6. 6. Need automated computer functionswith minimal personnel
    7. 7. Target detection
    8. 8. Tracking
    9. 9. Real-time control</li></ul>Some People Think DDS is Like This<br />
    10. 10. Volkswagen: Driver Safety System<br />Research: integrate…<br /><ul><li>Vision system for sensing environment
    11. 11. Obstacle avoidance
    12. 12. Driver information
    13. 13. Other functions</li></ul>Requirements:<br /><ul><li>High throughput for rich media
    14. 14. Low latency for real-time response
    15. 15. Deterministic behavior</li></ul>Network:<br /><ul><li>Legacy: CANbus
    16. 16. High-bandwidth network: Ethernet
    17. 17. Need to abstract network transport</li></ul>Finance<br />
    18. 18. Wi-tronix: Mobile Asset Tracking<br /><ul><li>System used to wirelessly monitor high-value mobile assets, such as:
    19. 19. Trains
    20. 20. Ships
    21. 21. Industrial equipment
    22. 22. Biggest challenge was wireless bandwidth issues
    23. 23. RTI addressed critical issues such as tuneability and discovery process over wireless network</li></ul>Transportation<br />
    24. 24. European Southern Observatory<br /><ul><li>Hundreds of small telescopes
    25. 25. Combined to create one large image
    26. 26. Detects atmospheric disturbance to calibrate mirror positions in real time
    27. 27. Uses RTI’s DDS in real-time control loop
    28. 28. Integrates control logic in LabView</li></li></ul><li>Varian: MRI and NMR Medical Imaging<br /><ul><li>Varian provides leading edge tools and solutions for diverse, high growth applications in the life science industry
    29. 29. Needed new software architecture to seamlessly handle its expanding product line of magnetic instruments
    30. 30. RTI provided the flexible and powerful QoS needed. Using RTI greatly simplified system integration & connection
    31. 31. Varian is today shipping RTI DDS middleware in entire NMR instruments product line. </li></ul>“RTI delivered great functionality at a low cost. Using RTI middleware saved us a lot of money, time, and effort compared to our previous in-house developed solution.” <br />
    32. 32. © 2009 Real-Time Innovations, Inc. COMPANY CONFIDENTIAL<br /><ul><li>Modern factories require the exchange of up-to-the-minute data on manufacturing processes, even with resource-constrained devices
    33. 33. Challenge to incorporate devices with limited memory or processing power
    34. 34. RTI with Schneider created a compact real-time publish-subscribe service – resides & executes in under 100 kb!</li></ul>Schneider Programmable Logic Controllers<br />
    35. 35. Shapes Demo<br />(Download this demo from<br />© 2009 RTI - All rights Reserved<br />10<br />
    36. 36. Why Use DDS?<br />Easy to develop, easy to integrate<br />Publish-subscribe pattern simplifies design,decreases dependencies<br />Rich functionality means less work to do<br />Platform independence gives you flexibility<br />Fast, real-time performance<br />Performance as good as the network can provide<br />Low latency: get critical data on time<br />High determinism: low jitter for stable algorithms<br />Built-in reliable multicast for one-to-many scalability<br />Get notified right away of missed deadlines, connectivity loss, etc.<br />© 2009 RTI - All rights Reserved<br />11<br />
    37. 37. Client-server, like CORBA:<br />I am here!<br />I am here!<br />I am here!<br />Publish-Subscribe vs. Client-Server<br />© 2009 RTI - All rights Reserved<br />12<br />Where are you?<br />Where are you?<br />Where are you?<br />Robots must know “who’s who” before they can talk<br />Questioner will keep asking, even if answerer didn’t move<br />Performance gets much worse with more questioners <br />What if answer can’t respond in time?<br />
    38. 38. Client-Server Topology<br />Many connections to keep track of<br />Changes have side effects, break easily<br />Performance doesn’t scale<br />© 2009 RTI - All rights Reserved<br />13<br />App<br />App<br />App<br />App<br />App<br />App<br />
    39. 39. Publish-Subscribe vs. Client-Server<br />Publish-subscribe, like DDS:<br />I am here!<br />© 2009 RTI - All rights Reserved<br />14<br />Robots discover each other automatically<br />Location published only when it changes and someone is listening<br />Performance is independent of number of questioners<br />All robots can declare performance constraints; DDS checks compatibility ahead of time<br />
    40. 40. Publish-Subscribe Topology<br />Simple to understand<br />Flexible and fault tolerant<br />Performance scales as your system grows<br />© 2009 RTI - All rights Reserved<br />15<br />Peer-to-Peer Data Bus<br />App<br />App<br />App<br />App<br />App<br />App<br />
    41. 41. DataReader<br />DataWriter<br />Instance 1<br />DataReader<br />DataWriter<br />Instance 2<br />DataReader<br />Instance 3<br />Topic A<br />DataWriter<br />DataReader<br />Instance 1<br />DataWriter<br />DataReader<br />Instance 2<br />Instance 3<br />DataWriter<br />DataReader<br />Topic B<br />Domain<br />DDS Communication Model<br />
    42. 42. DataReader<br />DataWriter<br />Robot 1<br />DataReader<br />DataWriter<br />Robot 2<br />DataReader<br />Robot 3<br />Topic: “Health”<br />DataWriter<br />DataReader<br />GPS 1<br />DataWriter<br />DataReader<br />GPS 2<br />GPS 3<br />DataWriter<br />DataReader<br />Topic: “Location”<br />Domain<br />DDS Communication Model<br />
    43. 43. Works Well With Component Software<br />How do you describe a component?<br />Inputs: what it requires<br />Outputs: what it produces<br />Create system by connecting inputs to outputs<br />DDS is like this too<br />Inputs == DataReaders<br />Outputs == DataWriters<br />© 2009 RTI - All rights Reserved<br />18<br />DataWriter<br />DataReader<br />Component<br />Component<br />
    44. 44. Rich Functionality Built In<br />Other middleware says: “Subscribe to my topic.I might send you a message some time.”<br />What data will you send me?<br />How often?<br />What happens if you don’t send it?<br />What happens if I don’t receive it?<br />Answer: You must implement these yourself.<br />DDS topics have a data type<br />Publishers and subscribers must agree<br />Not the same? Notification!<br />Built-in content-based filtering<br />DDS topics have quality-of-service (QoS) config<br />How often data will be delivered<br />How reliable it will be<br />Publisher must offer &gt;= subscriber’s request. Otherwise, notification!<br />Notifications on missed deadlines, lost data, lost connection, etc.<br />© 2009 RTI - All rights Reserved<br />19<br />
    45. 45. Platform Independent<br />OS: Windows, Linux, real-time/embedded (for example, VxWorks), other…<br />Language: C, C++, C#, Java<br />Network: IPv4, IPv6; unicast, multicast; shared memory; Infiniband, …<br />Middleware implementation: multiple can interoperate<br />© 2009 RTI - All rights Reserved<br />20<br />
    46. 46. Low Deterministic Latency<br />© 2009 RTI - All rights Reserved<br />21<br />
    47. 47. Performance Scales as System Grows<br />© 2009 RTI - All rights Reserved<br />22<br />
    48. 48. Conclusion<br />DDS is a widely adopted, mature standard<br />DDS is easy to use, easy to integrate<br />Rich functionality built in<br />Interoperable across platforms, across implementations<br />No servers to administer<br />DDS is applicable to a wide range of real-time applications<br />Low resource usage<br />Deterministic behavior<br />Built-in deadline enforcement<br />DDS is fast, even in large systems<br />© 2009 RTI - All rights Reserved<br />23<br />
    49. 49. Resources<br />Learn more on the OMG DDS Portal:<br />Specifications<br />Presentations<br />Blogs, videos<br />Try the software:<br />Download no-cost evaluation of RTI’s implementation from<br />Other implementations listed @<br />Get involved:<br />Join DDS mailing list,<br />Come to MARS meetings<br />© 2009 RTI - All rights Reserved<br />24<br />
    50. 50. App<br />App<br />Ad Hoc Communication<br />Brittle, tangled topology<br />Hard to scale # nodes<br />App<br />App<br />App<br />App<br />Traditional MOM<br />Complex administration<br />Hard to scale # consumers<br />Single point of failure<br />App<br />App<br />Broker<br />App<br />App<br />App<br />App<br />RTI<br />Simple administration<br />Highly scalable<br />Resilient to failures<br />Peer-to-Peer Data Bus<br />App<br />App<br />App<br />App<br />App<br />App<br />