DDS Technology

The Client

A world class leader in the field of Operational Upgrades of fighter and trainer aircraft. Its core competencies comprise of: state-of-the-art avionics and weapon systems integration in fighter aircraft, combat helicopters and trainers, man-machine interface and cockpit design, aeronautical engineering tasks, aerospace assemblies and depot level support of combat and trainer aircraft.

The Client’s Needs

Our client develops complex platforms that assist in development of gateways between modern DDS based communication, and legacy communication of military aircraft systems. For a specific project, the client also needed to supply a specific custom gateway along with the development platform. Basing their platform development on RTI’s Connext DDS, a few needs had to be met in order to streamline the development process:

a. Extending DDS capabilities with a convenient off the shelf tool with which to model the system’s communication, both DDS and legacy.

b. Adding a top-level wrapper to DDS code in order to automate a large part of the manual work of developers in regards to message and subscription handling.

c. Transferring the task of DDS subscription management to System Engineer level instead of leaving it to developer implementation.

d. Separating communication implementation from inner data requirements and enabling consistent coherent work with both DDS and legacy communication.

The Solution

In order to meet the client’s need, Adi Mainly Software supplied it with the ICD16 which was used to model all the units and interfaces of the system, including both the legacy as well as the DDS interfaces. An IDL file generation targeted RTI’s DDS generator to create the appropriate DDS code which leveraged different versions of Adi’s DDS Framework (C, C++, C#) to wrap RTI’s DDS libraries and reduce developer need to manually setup the data relationships.

Automatic code generations were also used in the development of the legacy interfaces to handle the data definition and conversion.

Defining data of DDS interfacesICD16
Defining data of legacy interfacesICD16
Generating IDL of publishers, subscribers, and data, and using RTI tool to create DDS code from generationFiles Generation
Generating of legacy interfaces data and conversion codeFiles Generation
Implementation of gateway’s DDS interfaces handlingDDS frameworks (C, C++, C#)

The Results

Modelling all interfaces in the ICD16 allowed system engineers to uniformly define all data passed in the system along with the units that share this data (in DDS terms: participants) avoiding transcription errors by programmers as well as saving time by eliminating multiple definitions. The language independence of the model and the complete separation of data and protocol allowed sharing the same data between different development groups even though different platforms and technologies were used. Wrapping RTI’s libraries with Adi’s DDS framework drastically reduced the developers’ need to write code for defining publisher subscriber relationships as well as code for handling transmission and reception of data. In fact, after developing more than ten units employing our DDS framework, the client’s developers have not yet found the need to manually fine tune Adi’s generated code.