Dds presentation brussels


Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

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

No notes for slide
  • In my presentation I will cover a brief introduction of MilSOFT and Dedicate my time to our DDS implementation including the tools we have developed for DDS. I will provide brief information on our performance measurements and projects built on top of DDS
  • MilSOFT is a privately owned Turkish company. It has been established in 1998 and nearly 300 engineers work in MilSOFT. It has received CMMI-5 Level in 2005, 1st CMMI-5 company in Turkey and Europe It has developed projects for customers like Lurssen/German shipyard, Thales/France, IAI-ELTA, Elbit in Israel, Skorsky in USA and for Turkish Army We have experience in C4I systems including Tactical Data Links, Naval CMS, EW systems like development of systems for Operational Support Centers. We took part in UAV project in Turkey and implementing Image Exploitation System. We have developed SW components for mission computer systems and maintenance data computer for Skorsky We have developed Homeland Security and Emergency Management System for Turkish Government
  • We have initially begun our DDS implementation in our naval CMS project; gemkomsis. It was an R&D project which is also supported by Turkish Research and Development Institude Along with our CMS implementation based on Open Architecture Computing Environment of US Navy, we have implemented DDS middleware Later on DDS implementation is separated from CMS project as an product line Our DDS implementation now is used in our 3 major projects and some other small projects. They are Turkish Coast Guard SAR Ship CMS project, Multi Link Data Link Processor Project and UAV Image Exploitation System Project
  • We have started our DDS implementation in year 2004 basing on version 1.0 adopted specification We have developed C++ DDS implementation and later on with the RTPS specification, we have begun developing RTPS implementation
  • In this slide you can see our implementation status. We have completed minimum profile and persistency profile. We have implemented Content Subscription Profile and Ownership Profile partially and We have not implemented DLRL option.
  • As highlights of our implementation, Our DDS implementation is a library implementation, we have no shared memeory or DDS service per node. Only DDS Durability Service is implemented as an executable and it runs in multiple instances in a system for fault tolerance requirements We have implemented our DDS according to no dynamic resource allocation principle And we are using multicast address per topic concept
  • DDS as a library DDS spy and code generator utilities to support development and testing RTPS will provide a interoperability among DDS instances. More information can be found on our web site
  • Under our DDS implementation, we provide a RTPS implementation. We have have developed our RTPS implementation from the standard’s draft versions. Our implementation runs on multicast and UDP protocol
  • Coming to the tools we have developed supporting our DDS middleware; We have developed code generator, DDS Spy and DDS tester
  • DDS Auto Code generator provides a very interactive user interface and stores type definitions in XML files It can be run from command line for providing automatic build support
  • In this slide you can see the user interface for definiton of types and topics.
  • Code Generator, as it is obvious, helps developers for definition of system interfaces and related DDS code
  • Here you can see the user interface for definition of Data Reader Quality of Service parameters
  • It uses the BUILT-IN data topics of DDS spec. User can select the automatic listening of DDS topics or user can select manual selection of topics It can provide current snapshot of the system data or all historical data
  • Here you can see a snapshot of DDS Spy user ünterface. On the left you can see all participants and topics published/subscribed On the right you can see the data of each topic together with QoS values
  • Another feature of DDS spy is it can inject data to system simply by copying and pasting It sends data with the given timestamps
  • Here you see a user interface on which you can enter data to be injected
  • Another tool, DDS Tester can inject data and compare the related answers from the system components with the expected values. It is developed for automated CSCI testing. It shows results in the form of pass/fail
  • We have executed some performance tests on our DDS implementation. Test environment is as given in the slide and the results of the tests are as given in the slide.
  • We have used our DDS implementation in 3 of our major projects namely on our GEMKOMSIS CMS, UAV Video Exploitation System and Multi link data link system
  • As a result, Our DDS implementation is developed using our proven CMMI-5 processes It is fully compliant to specification; no proprietary interfaces are introduced It has been tested in 3 projects and it is ready for utilization in complex projects.
  • Dds presentation brussels

    1. 1. MilSOFT DDS MiddlewareCopyright © MilSOFT,Turkey UNCLASSIFIED 1
    2. 2. Outline• Introduction• MilSOFT DDS • Features • Architecture • RTPS• Tools • DDS Code Generator • DDS SPY • DDS Tester• Performance Results• DDS Applications• ConclusionCopyright © MilSOFT,Turkey UNCLASSIFIED 2
    3. 3. Introduction - Technical Expertise and Capabilities  C4I  Tactical Data Links  Link 1, Link 11, Link 16, Link 22  Naval Combat Management Systems  Air Defense Systems  Mission Planning Systems  Message Handling and Formatted Messages  NATO AdatP-3, US OTH-G, ITU 1371 AIS, NMEA 0183  Tactical and Strategical Level C2 Information Systems  Electronic Warfare  EW Operational Support Centers  EW Pre Mission & Post Mission Support Software  EW Database Management Systems  EW System Test and Evaluation  Threat and Jamming Tech. Analysis  Image Exploitation Systems  Embedded Systems  Mission Computer Software  Maintenance Data Computer Software  Flight Test Instrumentation System  SW Development & Verification per DO-178B for FAA Certification  Simulation and Modeling  Homeland Security & Emergency Management Systems  HW Manufacturing Through Subcontract ManagementCopyright © MilSOFT,Turkey UNCLASSIFIED 3
    4. 4. Introduction-DDS Implementation History • Initially started as a part of Gemkomsis CMS development • R&D project started in 2004 • Supported by Turkish Research and Development Institute • CMS based on OMG standards & OACE • Common services and functions for naval platforms • DDS as middleware • MilSOFT DDS continues as a product line • OACE Computing environment (including DDS) finds its use in multiple projects • Turkish Coast Guard SAR Ship CMS • Multilink Data link Processor • UAV Image Exploitation systemCopyright © MilSOFT,Turkey UNCLASSIFIED 4
    5. 5. MilSOFT DDS • Started with DDS specification 1.0 adopted version • Current version compatible with DDS specification version 1.2 • C++ API for applications • RTPSCopyright © MilSOFT,Turkey UNCLASSIFIED 5
    6. 6. MilSOFT DDS Implemented Features • Minimum Profile (Complete) • Minimum profile contains just the mandatory features of the DCPS layer. None of the optional features are included. • Persistence Profile (Complete) • Persistency profile is completely implemented. Durability service is designed to be fault tolerant. • Content Subscription Profile (Partially Implemented) • ContentFilteredTopic and QueryCondition features have been implemented. MultiTopic has not been implemented yet. • Ownership Profile (Partially Implemented) • Only History QoS with depth > 0 feature has been implemented. • Object Model Profile (Not Implemented) • Contains DLRL and Presentation QoS access_scope = GROUPCopyright © MilSOFT,Turkey UNCLASSIFIED 6
    7. 7. MilSOFT DDS Architecture • Applications use DDS as library • No shared memory or DDS service per node • Completely decentralized • RTPS implemented as the underlying communication protocol • DDS Interoperability wire-protocol • High performance • Zero-copy • No dynamic resource (memory, thread, etc) allocation after initialization • Multicast address per topic conceptCopyright © MilSOFT,Turkey UNCLASSIFIED 7
    8. 8. MilSOFT DDS Middleware More information on © MilSOFT,Turkey UNCLASSIFIED 8
    9. 9. What Is RTPS? • DDS interoperability wire protocol • Real-Time Publish Subscribe (RTPS) • Adopted by OMG in June 2006 • MilSOFT started to develop RTPS from draft versions • Runs over multicast and connectionless best-effort transports • Current MilSOFT DDS implements RTPS over UDPCopyright © MilSOFT,Turkey UNCLASSIFIED 9
    10. 10. DDS Tools • MilSOFT DDS Automatic Code Generator • MilSOFT DDS SPY • MilSOFT DDS TesterCopyright © MilSOFT,Turkey UNCLASSIFIED 10
    11. 11. DDS Automatic Code Generator • Definition of DDS types • IDL like interface data stored into XML file • Generation of type specific files (FooTypeSupport, FooDataReader, FooDataWriter) • From DDS Code Generator GUI • From command line using XML file (for automatic builds)Copyright © MilSOFT,Turkey UNCLASSIFIED 11
    12. 12. DDS Automatic Code GeneratorCopyright © MilSOFT,Turkey UNCLASSIFIED 12
    13. 13. DDS Automatic Code Generator • Generating middleware specific code using DDS Automatic Code Generator has the following benefits: • 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 viewCopyright © MilSOFT,Turkey UNCLASSIFIED 13
    14. 14. DDS Automatic Code GeneratorCopyright © MilSOFT,Turkey UNCLASSIFIED 14
    15. 15. DDS SPY-Display Data • Listens network and displays DDS related information • Participating applications to specific DDS • Topics each application publishes or subscribes • Data itself • User selectable listening mechanism • Auto • Manual •Shows data in multiple views • Current snapshot of the topic • All historical dataCopyright © MilSOFT,Turkey UNCLASSIFIED 15
    16. 16. DDS SPY-Display DataCopyright © MilSOFT,Turkey UNCLASSIFIED 16
    17. 17. DDS SPY-Inject DDS Data • Injects data into selected DDS domain • Copy-Paste previously transmitted data and retransmit • User can import MS Excel file for data or copy-paste from MS Excel file. • Send more than one topic simultaneously with timestamps • Great tool for system integration and testingCopyright © MilSOFT,Turkey UNCLASSIFIED 17
    18. 18. DDS SPY-Inject DDS DataCopyright © MilSOFT,Turkey UNCLASSIFIED 18
    19. 19. MilSOFT DDS Tester • Automated test tool for applications communicating over DDS middleware • Allows definition of test suites and test cases • Send and receive topic data to/from middleware • Compare test results with excepted results and show them as highlighted • Show test results (failed tests, successful tests)Copyright © MilSOFT,Turkey UNCLASSIFIED 19
    20. 20. MilSOFT DDS TesterCopyright © MilSOFT,Turkey UNCLASSIFIED 20
    21. 21. MilSOFT DDS Performance Test Results • Test environment • 2 computers with Intel Xeon 3.0 Ghz processors. • Fedora Linux 4 • Gigabit ethernet switch • Test 1: Latency • Ping (Message_size)/pong time(message_size)/2 • ~125 microsecond for best effort @ 1K message size • ~160 microsecond for reliable @ 1K message size • Test2: Round trip with 4 byte ACK • Ping different message sizes pong is always 4 bytes • ~230 microsecond for best effort @ 1K message size • ~310 microsecond for reliable @ 1 K message size • Test3: Throughput • Measure data size received in one second • ~26.5 MB @ 1K message sizeCopyright © MilSOFT,Turkey UNCLASSIFIED 21
    22. 22. MilSOFT DDS Applications • Middleware for CMS, UAV and DLIP product lines • GEMKOMSIS CMS • Single middleware for handling all communication • RM and common services on top of DDS • UAV Video Exploitation System • Stream data/video over DDS middleware • CAVLIS • Multilink DLIPCopyright © MilSOFT,Turkey UNCLASSIFIED 22
    23. 23. Conclusion• MilSOFT DDS • Developed using mature CMMI-5 processes • Fully compliant to standard • Successfully used/tested in multiple C2 projects • Ready for utilization in projectsCopyright © MilSOFT,Turkey UNCLASSIFIED 23
    25. 25. RTPS implementation - Design Decisions • Used UDP protocol for message exchange • Other protocols like Shared Memory or TCP can be adopted • IP multicast for transmission to multiple subscribers • Dynamic discovery of RTPS endpoints • Implemented using DDS BuiltinTopics • No centralized service for discovery • Listener interface over RTPS • Separate RTPS from DDS implementation • Zero copy support • No copy of data once it’s in RTPS buffers • Users can access the data without copying using DDS APICopyright © MilSOFT,Turkey UNCLASSIFIED 25
    26. 26. Quality Attributes Addressed by MilSOFT DDS• 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 testingCopyright © MilSOFT,Turkey UNCLASSIFIED 26
    27. 27. DDS in GEMKOMSIS CMS • Single standards based middleware for CMS data distribution • Resource Manager over DDS • Compatible with OMG AMSM specification • Alarm Manager over DDS • Compatible with OMG ALMAS specification effort • Debug Log Framework • Collection of log information to centralized location or maintenance application over DDS • Even use DDS SPY for displaying log information • Record Replay over DDS • Training • Post-mission analysis • Multiple worlds using DDS domains • Real-world • Simulation worldCopyright © MilSOFT,Turkey UNCLASSIFIED 27
    28. 28. Two Host Average Latency TwoHosts, Avg. Latency vs Packet Size 10000 Avg. Latency (Microseconds) 1000 Best-Effort-ZeroCopy Best-Effort-Copy Reliable-ZeroCopy 100 10 10 100 1000 10000 100000 Packet Size (Bytes)Copyright © MilSOFT,Turkey UNCLASSIFIED 28
    29. 29. Round Trip Time with 4 bytes ACK TwoHosts, Round-Trip Time vs Packet Size ( 4 Byte Reply ) 900 800 Round-Trip time for 4 Byte Reply ( microseconds ) 700 600 500 BestEffort-Copy BestEffort-ZeroCopy 400 Reliable-ZeroCopy 300 200 100 0 10 100 1000 10000 100000 Packet Size (Bytes)Copyright © MilSOFT,Turkey UNCLASSIFIED 29
    30. 30. Throughput Throughput vs Packet Size 1000000 100000 Throughput (KB/sec) OneSubscriber TwoSubscribers, Subscriber #1 10000 TwoSubscribers, Subscriber #2 1000 100 10 100 1000 10000 100000 Packet Size (Bytes)Copyright © MilSOFT,Turkey UNCLASSIFIED 30