Frequently Asked Questions
1. About OpenJAUS
1.1 What does OpenJAUS do?
1.2 Why should I use OpenJAUS?
1.3 How is OpenJAUS licensed?
1.4
What happen to support for Java in OpenJAUS?
1.5 Does OpenJAUS have an Operator Control Unit (OCU)
capability?
2. JAUS & Messaging
2.1 In the JAUS Message header fields, why is dataSize an unsigned integer and not an unsigned
short as in the specification?
2.2 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?
2.3 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?
2.4 How do I create my own JAUS components?
3. Node Manager
3.1 Do
I have to have a Node Manager?
3.2 Can I run more than one Node Manager on one
computer at the same time?
3.3 Do I have to use the OpenJAUS Node Manager?
4. Help / Support
4.1 How can I get more help / support?
4.2 Can I purchase OpenJAUS support for my specific
problem / need / feature?
4.3 How do I report a bug?
4.4 How do I request a new feature?
4.5 Why can't I... create a bug ticket or post in the
forums?
1. About OpenJAUS
1.1 What does OpenJAUS do?
A: 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 and system
management.
1.2 Why should I use OpenJAUS?
A: OpenJAUS is a proven code base which serves as a
reference implementation among a large variety of
JAUS developers. It has been used by many
organization, both commercial and academic, to save
thousands of man hours in JAUS system development
and integration time.
1.3 How is OpenJAUS licensed?
A: OpenJAUS is licensed under a BSD-style license.
The full text of the license can be found
here.
1.4 What happen to support for Java in OpenJAUS?
A: OpenJAUS v. 3.3.0 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.
1.5 Does OpenJAUS have an Operator Control Unit (OCU)
capability?
A: 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.
2. JAUS & Messaging
2.1 In the JAUS Message header fields, why is dataSize an unsigned integer and not an unsigned
short as in the specification?
A: 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.
2.2 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?
A: 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.
2.3 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?
A: 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.
2.4 How do I create my own JAUS components?
A: See the OpenJAUS tutorial on
Creating a JAUS component.
3. Node Manager
3.1 Do
I have to have a Node Manager?
A: 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.
3.2 Can I run more than one Node Manager on one
computer at the same time?
A: 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.
3.3 Do I have to use the OpenJAUS Node Manager?
A: 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.
4. Help / Support
4.1 How can I get more help / support?
A: 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!
4.2
Can I purchase OpenJAUS support for my specific
problem / need / feature?
A: Yes. The OpenJAUS development team can provide
professional support for a variety of robotics
systems and projects. Contact the team for more
information.
4.3 How do I report a bug?
A: 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.
4.4 How do I request a new feature?
A: 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.
4.5
Why can't I... create a bug ticket or post in the
forums?
A: To use the ticket system or post in the OpenJAUS
forums, a user is required to register for an
account in the Trac system. You can register
here.
