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.