Skip to content

The OpenJAUS SDK

The OpenJAUS SDK is a collection of C++ source code and other files which provide an implementation of the JAUS standard and related JAUS Services.

Note: Access to some packages are restricted based on distribution rights to the documents on which the package is based.

There are two versions of the OpenJAUS SDK:

  • The OpenJAUS SAE SDK includes:
    • Support for the JAUS services SAE AS-4 standard JAUS services (AS5710A, AS6009A, etc)
  • The OpenJAUS IOP SDK includes:
    • Support for the JAUS services SAE AS-4 standard JAUS services (AS5710A, AS6009A, etc)
    • Support for the RAS-G IOP custom JAUS services [ restricted access ]

All versions of the SDK are released as a single package which bundles a number of individual library packages. Individual library packages may or may not be needed based on the specific requirements of the system.

SDK Bundle Packages

The SDK bundle packages are:

  • org.openjaus.sae-sdk.cpp -- OpenJAUS SAE SDK
  • org.openjaus.iop-sdk.cpp -- OpenJAUS IOP SDK

Individual Library Packages

org.openjaus.buildtools.cmake

This package contains a set of CMake files which allow for the configuration and building of the SDK C++ source code. All other packages use these files as part of their build process.

org.openjaus.cpp

This package contains the base set of C++ code needed by all packages that implement JAUS services. It contains:

  • The operating system abstraction library (openjaus-system) which allows for the using the OpenJAUS SDK across multiple operating systems (Windows, Linux, etc)
  • The JAUS transport library which implements the SAE AS5669A - JAUS Transport Specification standard
  • The base JAUS model library which implements the base set of JAUS concepts (Subsystem, Node, Component, Services, etc)

org.openjaus.{ sae service set }.cpp

Each SAE document is packaged separately, with each package named based on the document's informal service set name and version. Only the packages that contain the required services and any inherited services need to be used.

Examples:

  • org.openjaus.core-v1.1.cpp -- Package that implements SAE AS5710A
  • org.openjaus.manipulator-v2.0.cpp -- Package that implements SAE AS6057A

org.openjaus.{ iop version }.cpp

Each IOP version is packaged separately, with each package named based on the version. Only the packages that contain the required services and any inherited services need to be used.

Examples:

  • org.openjaus.iop-v3.cpp -- Package that implements the RAS-G IOP Version 3 Custom Services
  • org.openjaus.iop-v4.cpp -- Package that implements the RAS-G IOP Version 4 Custom Services