2. MilSOFT UNCLASSIFIED 2/19
DDS Specification
• Data Distribution Service for Real-time
Systems
• Data-Centric Publish-Subscribe
• Object Management Group (OMG) standard
• Version 1.0 adopted in 2004
• Current Version: Version 1.2 adopted in 2006
3. MilSOFT UNCLASSIFIED 3/19
What is DDS?
• DDS is a middleware that provides a DATA CENTRIC PUBLISH-
SUBSCRIBE mechanism for distributed applications and systems.
• Key Points of DDS:
• Publish – Subscribe Mechanism
• Data Centricity
• Distributed applications communicate by sending (publishing) and receiving
(subscribing) data anonymously
• Only properties publishers and subscribers need to know are
• Name,
• Definition of the data
• Publishers and subscribers do not need to know any other
information about each other
4. MilSOFT UNCLASSIFIED 4/19
Data Centric Architecture
• Middleware aware of data content
• Lifecycle of data is managed by DDS
• Behavior of data is managed through
QoS
• Data is similar to tables in relational
databases
5. MilSOFT UNCLASSIFIED 5/19
DDS Advantages
• No Single Point of Failure
• No Single Point of Bottleneck
• Multicast-enabled
• High performance and highly scalable
• High Availability
• Rich set of quality services
6. MilSOFT UNCLASSIFIED 6/19
MilSOFT DDS Highlights
• OMG DDS Spec. 1.2
• DDSI (formerly RTPS) 2.1 compliant
• Implemented Profiles
• Minimum Profile
• Persistence Profile
• Content Subscription Profile
(ContentFilteredTopic YES,
QueryCondition YES, multitopic=NO)
• Ownership Profile
• Operating Systems Supported
• Linux
• Windows
• Solaris
• Vx Works
• Programming Languages
• C++, Java, C#
7. MilSOFT UNCLASSIFIED 7/19
DDS Interoperability Protocol (RTPS)
• DDS interoperability : RTPS wire-protocol
• Adopted by OMG in June 2006
• Version 2.1 in June 2008
• Run over multicast and connectionless best-effort transports
such as UDP/IP
• Data is encapsulated in CDR format
9. MilSOFT UNCLASSIFIED 9/19
9/29
MilSOFT DDS Highlights
• Design Characteristics
• No single point of failure (decentralized arch.) fault tolerance.
• No dynamic resource allocation after initialization
• Data structures designed efficiently (ProcessFramework). Number of threads and
thread switching is minimized.
• Minimum std usage
• Implementation Details
• For data receipt, both synchronous (WaitSet) and asynchronous (Listener)
• Zerocopy support
• Java, C++ and C# language support
• Platform portable (Linux, Solaris, Windows and VxWorks)
• Pluggable transport API. UDP IPv4 and Shared Memory were already
implemented.
10. MilSOFT UNCLASSIFIED 10/19
MilSOFT has developed its own implementation of DDS
since Q.1 of 2004 (http://dds.milsoft.com.tr)
MilSOFT DDS Middleware
11. MilSOFT UNCLASSIFIED 11/19
Projects using DDS
• MilSOFT DDS
• MILSOFT:
• Coast Guard Ship Combat Management System
• Genesis, MilGEM, New type Submarine, C130 Tactical Data Link
Systems
• UAV Image Exploitation System
• Aselsan
• will use MilSOFT DDS in multiple projects
13. MilSOFT UNCLASSIFIED 13/19
DDS Modeler
• Helps application developers to
generate DDS interface related
code
• Isolates application
programmers from details of
DDS API thus
• Enables faster code
development
• Avoids programming
errors using DDS API
• Manages system topic API
from single source
• Faster integration of
existing components
without any change on
application logic
14. MilSOFT UNCLASSIFIED 14/19
DDS Modeler
• Run Mode
• Type Mode
• Application Mode
• Struct (type and topic) data stored into XML file
• Type specific code
• FooTypeSupport
• FooDataReader
• FooDataWriter
• Generating middleware specific code
• Application developers do not need to know programming details of DDS
API
• Tool usage speeds up software development as major code is generated
by tool
• It eliminates errors generated while implementing middleware interface
• It ensures type consistency and interface control through the project
• Easy management of system internal interfaces from configuration control
point of view
15. MilSOFT UNCLASSIFIED 15/19
DDS SPY
• Listens network and displays
DDS related information
• Participating applications to
specific DDS
• Topics each application
publishes or subscribes
• Data itself
• Injects data into DDS domain
• Copy-Paste previously
transmitted data and
retransmit
• Great tool for system integration
and testing
16. MilSOFT UNCLASSIFIED 16/19
DDS SPY Tools
• DDSSpy has been designed as a tool for monitoring the system
in various perspectives and for injecting timely test data to the
system.
• User selectable listening mechanism
• Auto
• Manual
• Shows data in multiple views
• Current snapshot of the topic
• All historical data
• Injects data into DDS domain
• User can load data from excel file or copy-paste from excel file.
• Send more than one topic simultaneously with timestamps
18. MilSOFT UNCLASSIFIED 18/19
• Performance
• High performance publish-subscribe based DDS middleware
• Multicast based data distribution with DDS
• Zero-copy and no-dynamic resource allocation implementation
• Reliability
• Modifiability / Scalability
• Layered architecture
• Middleware separates application logic from computing resources
• Data driven publish/subscribe system enables
• No component interdependencies
• New component additions without changing other components
• Availability
• Fault Recovery
• DDS Durability Service (transient and persistent data)
• Liveliness QoS
• Testability
• DDS Spy as test and diagnostic tool
• Capture and display data
• Retransmit data for testing
MilSOFT DDS is the key technology for achieving qualities
Quality Attributes Addressed by MilSOFT DDS