Welcome, Guest

OpenJAUS's header
(1 viewing) (1) Guest
Go to bottomPage: 1
TOPIC: OpenJAUS's header
#162
OpenJAUS's header 1 Year, 12 Months ago  
Hello,

I looked at the JAUS messages on the sniffer and I saw that the header size is more than 16 bytes (as mentioned in JAUS document).
On one computer, the header includes another 8 bytes. On other computer (different JAUS subsystem), there were only 5 extra bytes that holds the string "JAUS01.0".

Why is it like that?
If this is another header of OpenJAUS, isn't it problematic when communicate with different JAUS implementation?


Thanks,

Mayan.
Cohen
OpenJAUS Contributor
Posts: 15
graphgraph
User Offline Click here to see the profile of this user
The administrator has disabled public write access.
 
#163
Re:OpenJAUS's header 1 Year, 12 Months ago  
Hey Mayan,

Thank you for your question. We have tried to capture questions and answers like this in the past in the tutorials or FAQ, but there is so much detail in the overall system that we miss important things like this regularly. In JAUS UDP communication, there are two commonly accepted ways to intercommunicate with another JAUS component.

The first is what is commonly referred to as the OPC method. When the JAUS Working Group (WG) decided to do some interoperability testing, the OPC group was formed (I believe in 2003) to facilitate that testing. They realized that a standard needed to be created for how UDP messages were exchanged between JAUS entities. Their decision was to add the "JAUS01.0" bytes to the beginning of each UDP packet. Those 8 bytes are prepended to the standard JAUS message data (i.e. the 16 byte header and message data). We were not part of this decision making process, however we do support it in OpenJAUS as a large variety of organizations use that.

The second method is the more recent SAE standard of JUDP which is defined as AS5669. This transport specification defines a 5 byte header which has information such as the transport version number and information related to a header compression technique (which OpenJAUS does not support) as defined in the AS5669 standard. We support that as much of the testing for the validation of AS5669 was done by JAUS organizations which we have interacted with in the past and many of them have continued to use this interface.

So, that is why you are seeing, respectively, 8 bytes and 5 bytes infront of the JAUS data you expect. OpenJAUS allows the user to select which UDP transport interface they wish to use by configuring values under the Node_Communication and Subsystem_Communication sections of the Node Manager Configuration File. The values JAUS_OPC_UDP_Interface and JUDP_Interface respectively control the two different types. Note that you can only have one type enabled at a time (they both use UDP port 3794). You can see more detail about the config file in the ojNodeManager tutorial.

Now, to answer your other question, yes this could lead to issues integrating with other JAUS systems. However OpenJAUS was designed with these two implementations in mind as they support 90+ percent of the known JAUS implementations among the participants of the JAUS working group. However, if the extra bytes in the header are an issue for your group, OpenJAUS is designed to be very flexible. It would be a rather simple exercise to take either of the two Transport Interfaces (JausOpcUdpInterface and JudpInterface) and create a third interface which has no prepended data. Then you could add it to the interface enumerated by the subsystem and node communication manager classes and finally add control into the NodeManager.conf file.

If you take such a third approach, I hope you'll contribute the work back as we may have other groups interested in using such an implementation.

Thanks and best of luck!
~Danny
kentd
Go Gators!
Admin
Posts: 87
graphgraph
User Offline Click here to see the profile of this user
Gender: Male Draco098 Lights Out Photography Draco098 Draco098 Draco098 Location: Charlotte, NC Birthday: 09/20
The administrator has disabled public write access.
There's 10 types of people in the world; those that understand binary and those that don't.
 
Go to topPage: 1
Copyright © 2012 OpenJAUS. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.