About OpenJAUS
What does OpenJAUS do?
|
OpenJAUS provides a library of functions which provide the ability to parse JAUS messages, the capability to easily create JAUS components and an off-the-shelf implementation of the JAUS Node Manager and JAUS Communicator components which provide robust JAUS message routing. |
Why should I use OpenJAUS?
|
OpenJAUS is a proven code base which serves as a reference implementation among a variety of developers. It has been used by many organizations, both commercial and academic, to save thousands of man hours in system development and integration. |
How is OpenJAUS licensed?
|
OpenJAUS is licensed under the New BSD License. The full text of the license is shown below:
|
||
What happen to support for Java in OpenJAUS?
|
OpenJAUS v3.3.x does not have support for the JAVA programming language. While this marks a departure from the previous release, it was done in the interest of streamlining the code base and maximizing development efforts. The previous code base's JAVA support was a subset of the complete JAUS picture and only that which was necessary to make the Node Manager operational. Since the Node Manager has been completely redesigned and rewritten in C++, it was no longer necessary to maintain the JAVA branch. If a developer, or group of developers, wished to continue development of OpenJAUS in JAVA, the OpenJAUS development team would welcome their help and be willing to assist in any way possible. Contact the development team via the OpenJAUS forums if you are interested. |
Does OpenJAUS have an Operator Control Unit (OCU) capability?
|
No. The OpenJAUS development team is currently seeking professionals working on control station software tools that would be interested in contributing to the OpenJAUS OCU. Contact the developers in the OpenJAUS forums for more details. |
JAUS & Messaging
In the JAUS Message header fields, why is dataSize an unsigned integer and not an unsigned short as in the specification?
|
The JAUS standard defines a 12-bit data field for message size. This limits messages to 4096 bytes in length. To overcome this limitation, there exists a mechanism to fragment a large JAUS message into a series of smaller JAUS messages and reassemble them upon receipt at the end of the transport medium. In the OpenJAUS code base, this functionality is encapsulated within the libopenJaus package. In order to support these larger messages, it was required to increase the maximum value of the dataSize field within the JAUS message structures. This allows the representation, in memory, of complete JAUS messages with a data size greater than 4080 bytes. |
I noticed in version 3.3 of the JAUS Reference Architecture that Service Connections are deprecated; this seems like necessary functionality. Why is it being removed?
|
Through experimentation and use, it was determined by the JAUS standards development group that the Service Connection mechanism was insufficient in handling a variety of situations. Therefore, the JAUS Event messages were developed and tested to handle conditional events as well as periodic events. As the events messages represent a larger variety of possible scenarios, the "Periodic Event" has superseded the Service Connection message set. However, OpenJAUS v3.3.0 does not currently implement support for using periodic events. Rather support for Service Connections is maintained and recommended for use if this kind of functionality is required. More details about using Service Connections can be found in the OpenJAUS tutorials. |
I don't see a message which contains the kind of data I need in my JAUS system. How can I add a message or capability?
|
Functionality outside the current scope of the JAUS message set can be added through the use of a experimental message or set of messages. OpenJAUS provides a template message called skeletonMessage.c/.h in the libjaus package which can be used by a developer to create custom messages. More details on creating an experimental message can be found in the OpenJAUS tutorials. |
How do I create my own JAUS components?
|
See the OpenJAUS tutorial on Creating a JAUS component. |
Node Manager
Do I have to have a Node Manager?
|
Yes. The JAUS standard specifies that the Node Manager component exists on every JAUS node to provide routing and discovery capabilities to the system. However, a non-JAUS compliant system may still take advantage of the JAUS messages and data structures to transport information without the use of the JAUS system architecture. |
Do I have to use the OpenJAUS Node Manager?
|
No. The OpenJAUS code base provides both the libjaus and libopenJaus libraries as separate entities. The libjaus library can be used without the libopenJaus to provide basic JAUS messaging capabilities. |
Can I run more than one Node Manager on one computer at the same time?
|
No. A JAUS compliant system will have one and only one instance of a JAUS Node Manager component on a single node. While this capability is often desired for simulation and testing, it is not practical in fielded systems. |
Help / Support
How can I get more help / support?
|
Additional support for using OpenJAUS in your system is available on a case-by-case basis. Please contact the development team via the OpenJAUS forums for more details! |
Can I purchase OpenJAUS support for my specific problem / need / feature?
|
Yes. The OpenJAUS development team can provide professional support for a variety of robotics systems and projects. Contact the team for more information. |
How do I request a new feature?
|
The OpenJAUS development team is excited to hear about ideas, concepts and requests for addition functionality from the JAUS development community. If you have an exciting idea for JAUS and OpenJAUS, please let the development team know via the forums and/or a feature request ticket. |
How do I report a bug?
|
If you have identified a bug or flaw in the OpenJAUS code base, it is important to inform the development team via the OpenJAUS ticket system. Be sure to check that you have the latest version of the OpenJAUS code base as minor releases are continually posted as issues are found and resolved. |
