DDS InnovationsBert Farabaugh (FAE Manager)Real-Time Innovations
AgendaOMG DDS Standard Enhancements• Type Extensibility• New Java and C++ PSM from OMG• DDS Security Profile from OMG• DDS...
TYPE EXTENSIBILITY
Data Type Extensibility• Share data definitions across DDS vendors– Standardizes Annotations– Currently not seamless due t...
Data Type Extensibilitystruct Track {long id; //@keyfloat range;float bearing;}struct AirTrack {long id; //@keyfloat range...
Type Extensibility ExampleBase TypeExtended Type
Type Extensibility Example7enum ShapeFillKind { SOLID_FILL = 0,TRANSPARENT_FILL = 1,HORIZONTAL_HATCH_FILL = 2,VERTICAL_HAT...
NEW JAVA & C++ PSM’S
Simplified DDS App Development• New Java and C++ programming interfacesfrom OMG• Enhanced portability– OMG providing stand...
C++ “string” DataWriter Exampledds::domain::DomainParticipant dp(0);dds::topic::Topic<Track> topic(dp, “track-topic”);dds:...
SECURITY PROFILE FOR DDS
Enhanced Security VisionThe RTI DataBus can:• Authenticate subjects• Enforce access controlto data objects• Ensure data in...
Pluggable Security ArchitectureApp.OtherDDSSystemSecure DDSmiddlewareAuthenticationPluginAccess ControlPlugin Cryptography...
DDS HTTP REST INTEGRATION
HTTPWeb Integration• Web-enabled interface to Data Bus– REST• Access DDS from any application,platform or language that ca...
Proposed REST Api• “Login” “Join Domain”• “Logout” “Leave Domain”• “CreateSubscription,”• “CreatePublication,”• “RemoveSub...
REQUEST / REPLYCOMMUNICATIONS PATTERN
Request-ReplyRequestor ReplierRequestRequestTopicReplyTopic Reply18
CorrelationReplierRequestsReplies332 121Message IDCorrelation ID11RequestorCorrelation19
Single-Request Multiple-ReplyRequestor ReplierReplies321Sequence IDRequest20
Multiple RepliersRequesterReplier AReplier CReplier BRequestReply21
Combining PatternsRequestor ReplierRequestRequestTopicReplyTopic ReplySubscriberSubscriberWire Tap
MICRO DDS
Integration In Constrained Environments• Integration of resource-constrained OTsystems with IT systems– Stringent SWaP req...
User-Configurable Feature SetDDS API SubsetTransport APIBase-line configurationStaticDiscoveryOS APIUser ApplicationUDPv4 ...
Supported QoS• DataReaderResourceLimits• The following DataReaderResourceLimits fields are supported. All must be finiteva...
Supported QoS (cont.)• Reliability– Both BEST-EFFORT and RELIABLE Reliability kinds are supported.– For RELIABLE reliabili...
MICRO DDS CERTIFICATION5/1/2013
DO-178B/C• A guideline• Used by FAA as a basisfor certification– Aircraft are “certified”– Software codedeveloped underDO-...
DO-178C Safety LevelsLevel Failure ConditionTypical % ofavionics codeACatastrophic(may be total loss of life)15%BHazardous...
Tenets Of Safety-Critical Software• Reduce code size• Consider testability in design• Deterministic in time• Deterministic...
Analysis of Suitability for DO178B/C• Verocel analyzed the prototype source code• Code is deterministic• Code is testable•...
TOOLING INTEGRATION WITH DDS
Example
Types are defined as Bus Objects
5/1/2013
Using Artisan Studio with RTI DDS• Model a DDS system with UML• Participants, Entities and Types• Generate representative ...
NI Labview Integration with RTI DDS• Build LabView Application using DDSbuilding blocks• Attach LabView logic block to liv...
DownloadConnextFree TrialNOWwww.rti.com/downloads
Upcoming SlideShare
Loading in …5
×

7 DDS Innovations to Improve your Next Distributed System

1,483 views

Published on

Watch the replay: http://ecast.opensystemsmedia.com/392

Looking to build a complex distributed system based on the latest and greatest technical innovations? The Data Distribution Service (DDS) standard from the Object Management Group (OMG) provides the software infrastructure for a diverse range of systems, from small networking appliances to massive wind farms. Since its adoption in 2004, the DDS standard and its implementations have evolved to address the needs of this broad application base. Attend this presentation to learn about 7 critical DDS innovations that will significantly improve the development of your next distributed system:

Type extensibility to support long-term system evolution
Rich communication patterns to simplify development and integration
Small footprint DDS implementation for resource-constrained platforms
Certification for safety-critical applications including avionics
Flexible, scalable and efficient security
Web Integration Service (HTTP / REST) interface
Integration with visual development environments: Simulink, Artisan Studio and LabView

Speaker: Bert Farabaugh, Worldwide Field Applications Engineering Manager

Bert Farabaugh is Worldwide Field Applications Engineering Manager at RTI. He works with customers to identify and develop solutions and design patterns tailored for their projects. Bert has over 16 years of experience developing networking protocols and communications design patterns from scratch for robotics and embedded systems. He has been a field applications engineer for the past 10 years, with hundreds of different applications in his portfolio.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,483
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
41
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

7 DDS Innovations to Improve your Next Distributed System

  1. 1. DDS InnovationsBert Farabaugh (FAE Manager)Real-Time Innovations
  2. 2. AgendaOMG DDS Standard Enhancements• Type Extensibility• New Java and C++ PSM from OMG• DDS Security Profile from OMG• DDS HTTP Rest InterfaceRTI DDS Enhancements• Request / Reply communication pattern usingpublish / subscribe• Micro DDS for resource constrained platforms• Safety Certification• Tooling Integration with DDS
  3. 3. TYPE EXTENSIBILITY
  4. 4. Data Type Extensibility• Share data definitions across DDS vendors– Standardizes Annotations– Currently not seamless due to vendor-specific annotations, likekeys– Different formats in use (IDL, XML, API)• Extend data definitions– Extensible, Mutable, Final– Optional Fields, Required Fields• Adds Alternate Type representation– XML, XSD, Dynamic Type API• Built-in Types– String, KeyedString, Bytes, KeyedBytes• Type Object– Learn type representation during Discovery– Now part of OMG RTPS Wire Protocol– Optional
  5. 5. Data Type Extensibilitystruct Track {long id; //@keyfloat range;float bearing;}struct AirTrack {long id; //@keyfloat range;float bearing;float elevation;}struct Track {long id; //@keyfloat range;float bearing;} struct AirTrack {long id; //@keyfloat elevation;}Extensible Type• Newer applications can add fields toexisting base typesMutable Type• Type representations can differ from eachother with Additions, Deletions andTranspositions• Support for Optional Fieldsstruct Track {long id; //@keyfloat range;float bearing;}Final Type• Type definitions are strictly definedstruct Track {long id; //@keyfloat range;float bearing;}
  6. 6. Type Extensibility ExampleBase TypeExtended Type
  7. 7. Type Extensibility Example7enum ShapeFillKind { SOLID_FILL = 0,TRANSPARENT_FILL = 1,HORIZONTAL_HATCH_FILL = 2,VERTICAL_HATCH_FILL = 3};//@Extensibility EXTENSIBLE_EXTENSIBILITYstruct ShapeType{string<128> color; //@keylong x;long y;long shapesize;};//@Extensibility EXTENSIBLE_EXTENSIBILITYstruct ShapeTypeExtended: ShapeType {public ShapeFillKind fillKind;public float angle;};struct ShapeType{string<128> color; //@keylong x;long y;long shapesize;};//@Extensibility EXTENSIBLE_EXTENSIBILITYBase TypeExtended Type
  8. 8. NEW JAVA & C++ PSM’S
  9. 9. Simplified DDS App Development• New Java and C++ programming interfacesfrom OMG• Enhanced portability– OMG providing standard interfaces files– Decide at compile-time (C++) or even run-time (Java)which DDS implementation to use• Improved productivity through use of latest C++ andJava features– Getters and setters to access state– Built-in primitive types, std::string, namespaces, templates,and iterators in C++– Standard collection types and generics in Java– Exceptions for reporting errors9
  10. 10. C++ “string” DataWriter Exampledds::domain::DomainParticipant dp(0);dds::topic::Topic<Track> topic(dp, “track-topic”);dds::pub::Publisher pub(dp);dds::pub::qos::DataWriterQos dwqos =pub.default_writer_qos() << Reliability::Reliable()<< History::KeepLast(10)<< Durability::Transient();dds::pub::DataWriter<Track> dw (pub, topic, dwqos);Track t = { 0xDEAD, “tank” }; // track id and vehicle-typefor(;;) {dw.write(t);}
  11. 11. SECURITY PROFILE FOR DDS
  12. 12. Enhanced Security VisionThe RTI DataBus can:• Authenticate subjects• Enforce access controlto data objects• Ensure data integrity• Ensure data confidentiality• Enforce non-repudiation• Provide availability of data• Create auditable security logs….while maintaining high performanceRTI DataBus™ConnextApp 1ConnextApp 2Key ManagementAuthenticationLoggingCryptographyAccess Control
  13. 13. Pluggable Security ArchitectureApp.OtherDDSSystemSecure DDSmiddlewareAuthenticationPluginAccess ControlPlugin CryptographyPluginKeyManagementPluginSecure KernelCryptoModule(e.g. TPM )Secure Transport (e.g. TLS)application componentcertificates?DatacacheProtocolEngineKernelPoliciesDDS EntitiesNetworkDriver?NetworkEncrypted DataTAGOtherDDSSystemOtherDDSSystemApp.App.AuditingPlugin
  14. 14. DDS HTTP REST INTEGRATION
  15. 15. HTTPWeb Integration• Web-enabled interface to Data Bus– REST• Access DDS from any application,platform or language that can invoke aWeb Service– Web applications, e.g., Google Maps– JavaScript, Flash, Perl, PHP, Python, CGIscripts– ESBs• Lightweight interface to DDS Data Bus– Clients do not need to link or loadspecial librariesDDS15
  16. 16. Proposed REST Api• “Login” “Join Domain”• “Logout” “Leave Domain”• “CreateSubscription,”• “CreatePublication,”• “RemoveSubscription,”• “RemovePublication,”• “GetSubscriptions,”• “GetPublications,”• “AddNotificationEndpoint,”• “RemoveNotificationEndpoint,”• “GetNotificationEndpoints,”• “Read,”• “Write,”
  17. 17. REQUEST / REPLYCOMMUNICATIONS PATTERN
  18. 18. Request-ReplyRequestor ReplierRequestRequestTopicReplyTopic Reply18
  19. 19. CorrelationReplierRequestsReplies332 121Message IDCorrelation ID11RequestorCorrelation19
  20. 20. Single-Request Multiple-ReplyRequestor ReplierReplies321Sequence IDRequest20
  21. 21. Multiple RepliersRequesterReplier AReplier CReplier BRequestReply21
  22. 22. Combining PatternsRequestor ReplierRequestRequestTopicReplyTopic ReplySubscriberSubscriberWire Tap
  23. 23. MICRO DDS
  24. 24. Integration In Constrained Environments• Integration of resource-constrained OTsystems with IT systems– Stringent SWaP requirements– Limited primary storage (8MB RAM)– Limited secondary storage (32MB flash)– Embedded low-power single-core CPU– Lack of operating system• Safety certification– In avionics, medical systems– Certification cost drives system design($50 - $100 per ELOC)24
  25. 25. User-Configurable Feature SetDDS API SubsetTransport APIBase-line configurationStaticDiscoveryOS APIUser ApplicationUDPv4 Linux 2.6VxWorks 653APEX DynamicDiscoveryQueue APIListenersRequired plug-in componentsLinear QKeyed QDiscovery APIReliabilityDurability &HistoryOther QoSOptionalAPIsSharedmemoryVxWorks 5.5Compile-timeoptionsRTPSConnext Micro25
  26. 26. Supported QoS• DataReaderResourceLimits• The following DataReaderResourceLimits fields are supported. All must be finitevalues greater than 0.– max_remote_writers– max_remote_writers_per_instance– max_samples_per_remote_writer– max_outstanding_reads• Destination Order– Only the BY_RECEPTION_TIMESTAMP kind is supported.• Durability– Only the VOLATILE and TRANSIENT_LOCAL Durability kinds are supported.• History– Only the KEEP_LAST History kind is supported.• Liveliness– Only the MANUAL_BY_TOPIC Liveliness kind is supported, with a lease duration range of [1,infinite].• Deadline– The Deadline Qos policy is supported.• Ownership and OwnershipStrength– Both SHARED and EXCLUSIVE Ownership kinds are supported.
  27. 27. Supported QoS (cont.)• Reliability– Both BEST-EFFORT and RELIABLE Reliability kinds are supported.– For RELIABLE reliability, periodic and piggyback heartbeatconfiguration are sup- ported, as well as max_send_window for settingthe size of a reliability window.• ResourceLimits– The following limits in the ResourceLimits QoS policy are supported.All must be finite values greater than 0.– max_samples,max_instances,max_samples_per_instance– Note that max_samples must be large enough to contain all samplesfor all instances:– max_samples >= max_instances * max_samples_per_instance• ContentFilteredTopics– ContentFilteredTopics are not supported, but content filtering isprovided by two DataReaderListener callbacks:on_before_sample_deserialize() and on_before_sample_commit()
  28. 28. MICRO DDS CERTIFICATION5/1/2013
  29. 29. DO-178B/C• A guideline• Used by FAA as a basisfor certification– Aircraft are “certified”– Software codedeveloped underDO-178 provides “certification evidence”• Increasingly adopted for military aircraft
  30. 30. DO-178C Safety LevelsLevel Failure ConditionTypical % ofavionics codeACatastrophic(may be total loss of life)15%BHazardous/Severe(may be some loss of life)35%CMajor(injuries possible)30%DMinor(injuries unlikely)15%E No effect 5%
  31. 31. Tenets Of Safety-Critical Software• Reduce code size• Consider testability in design• Deterministic in time• Deterministic in memory– No dynamic memory allocation after startup
  32. 32. Analysis of Suitability for DO178B/C• Verocel analyzed the prototype source code• Code is deterministic• Code is testable• Conforms to coding styles that make testingeasier• Uses robustness checks and logging messages• RTI Connext Micro currently going throughCertification
  33. 33. TOOLING INTEGRATION WITH DDS
  34. 34. Example
  35. 35. Types are defined as Bus Objects
  36. 36. 5/1/2013
  37. 37. Using Artisan Studio with RTI DDS• Model a DDS system with UML• Participants, Entities and Types• Generate representative XML file• Use XML App Creation from RTI
  38. 38. NI Labview Integration with RTI DDS• Build LabView Application using DDSbuilding blocks• Attach LabView logic block to livedata• Connect Distributed LabViewapplications
  39. 39. DownloadConnextFree TrialNOWwww.rti.com/downloads

×