DDS based communication over Ethernet for Service Oriented Architecture applications

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version

Target Operating System

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)

SDK Manager Version

Host Machine Version
native Ubuntu 18.04

We are exploring to use Service Oriented Architecture for ADAS applications running on NVIDIA Drive AGX.

In the Drive OS architecture, Open DDS has been provided as the middleware platform and its corresponding examples of Intra-SOC communication we have already explored.

A) So for the current signal-oriented applications written using Driveworks SDK, can it be modified to a service oriented subscriber and publisher applications using Open DDS protocol?

B) And if the above point is possible, can the data be communicated over ethernet interface with the following 2 use cases:

  1. Sensor data is communicated over ethernet interface to Drive AGX Xavier SOC and the service application running on Xavier SOC is able to subscribe to this data?

  2. Service application running on Xavier SOC publishes some data after processing and can this data be shared over Ethernet interface to any other controller which can subscribe to this data?


Dear @saurabh.sinalkar,
Could you elaborate your ask? like with some example or pointing to some example in DW?

Dear @SivaRamaKrishnaNV,

The current applications are algorithms written using driveworks sdk for reading can sensor data, processing and doing the inference using application code and sending the output data over CAN interface. This is the current signal oriented application architecture.

We are trying to convert this to service oriented architecture as mentioned in the below architecture-data diagram on Nvidia software stack.

DDS Usecase

From the architecture diagram wanted the confirmation on the following things:

i) Data reading/sending over ethernet is possible using Driveworks apis or any other mechanism?
ii) Using Open DDS subscriber and publisher application code can this data be communicated with other applications within the same SOC use-case.

Let me know if you need more information.


Hi @SivaRamaKrishnaNV,

Waiting for your inputs.


Dear @saurabh.sinalkar,

  1. Could you check if this sample can be leveraged for your case DriveWorks SDK Reference: Inter-process Communication (IPC) Sample
  2. We will check internally and update you.
1 Like

Dear @saurabh.sinalkar,
Is it like you want to develop DW + DDS sample where you want to send acquired sensor data to sudscriber on same SoC?

Dear @SivaRamaKrishnaNV,

Yes this is one of the use-case

The other use-case is that sensor data is to be acquired over ethernet interface from another SOC/ platform for which can we use the driveworks IPC sample like you suggested and once the data is acquired along with the DDS code we can publish it to other applications within the same SOC.

Dear @saurabh.sinalkar,
I have not tested DW +DDS application. I will check internally and update you.
I have seen a topic thread Building the OpenDDS code with driveworks code. Is it related to the same effort?

Yes its related to the same effort

Dear @SivaRamaKrishnaNV,

Any update on the query?