MilSOFT UNCLASSIFIED 1/19
DDS Middleware
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
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
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
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
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#
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
MilSOFT UNCLASSIFIED 8/19
Middleware Architectures
MILSOFT DDS has decentralized
architecture
• Higher fault tolerance
• Low communication delay
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.
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
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
MilSOFT UNCLASSIFIED 12/19
12/29
MilSOFT DDS Tools
Record &
Replay
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
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
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
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
MilSOFT UNCLASSIFIED 17/19
17/29
Record & Replay
• Training
• Post-mission analysis
• Algorithm analysis
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
MilSOFT UNCLASSIFIED 19/19
Questions?

Milsoft dds overview

  • 1.
  • 2.
    MilSOFT UNCLASSIFIED 2/19 DDSSpecification • 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 Whatis 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 DataCentric 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 DDSAdvantages • 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 MilSOFTDDS 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 DDSInteroperability 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
  • 8.
    MilSOFT UNCLASSIFIED 8/19 MiddlewareArchitectures MILSOFT DDS has decentralized architecture • Higher fault tolerance • Low communication delay
  • 9.
    MilSOFT UNCLASSIFIED 9/19 9/29 MilSOFTDDS 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 MilSOFThas developed its own implementation of DDS since Q.1 of 2004 (http://dds.milsoft.com.tr) MilSOFT DDS Middleware
  • 11.
    MilSOFT UNCLASSIFIED 11/19 Projectsusing 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
  • 12.
  • 13.
    MilSOFT UNCLASSIFIED 13/19 DDSModeler • 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 DDSModeler • 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 DDSSPY • 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 DDSSPY 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
  • 17.
    MilSOFT UNCLASSIFIED 17/19 17/29 Record& Replay • Training • Post-mission analysis • Algorithm analysis
  • 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
  • 19.