top of page
  • Writer's pictureLyle Johnson

Major product releases for Apex.Ida 2.0 and Apex.Grace 3.0

Updated: Aug 15, 2023

We broke stuff to make it better

In these releases, we made many (API) breaking changes in the SDK, which means there are a lot of major improvements coming for our customers. They have had a sneak peek at all the changes through our engineering releases, but now we’re ready to share the contents with the rest of the world.

A dose of modern remedies

The throughline of these major additions and integrations is being the bleeding edge. For the automotive industry, some of these concepts are leagues beyond what some players thought was feasible, especially for safety-critical automotive software in an SOP/25 (start of production) program.

Adoption of the C++17 toolchain

  • ​Previously built against C++14, both Apex.Ida and Apex.Grace now embrace the next iteration of the C++ standard

  • We push the industry tooling related to code compliance and static code analysis forward by demanding support of the more modern version of the standard

Platform support for the NVIDIA Drive AGX Orin with QNX OS for Safety 2.2

  • ​We continue to support the RTOS and compute hardware permutations required by our customers

  • Apex.Ida and Apex.Grace remain the ideal abstraction layer between your application code and the hardware and software below it

Hermetic builds with Bazel

  • ​We embrace the broad capabilities of Bazel to efficiently scale our support of the unique and myriadic requirements of our customer projects — which in turn allows our customers to efficiently scale their software projects and vehicle programs

  • With this we say sayonara to Colcon, the (former) primary build system

Smaller changes that still pack a punch

There are some more changes that we are excited about, because we know how valuable these are to the developers using Apex.Grace and Apex.Ida:

Zero-copy transport API is dead simple to use

  • No longer requires special annotations (@flat) in messages to leverage shared memory, which is a common limitation for any middleware providing zero-copy transport mechanisms

  • This change speeds up development since message definitions and middleware code need not be recompiled when a given message type needs to use (or stop using) the zero-copy transport mechanism. It also removes the need to refactor existing application code, so another chunk of time is saved

Introduction of a process manager

  • Nodes and processes can be started, stopped, and restarted at runtime

  • The process manager can be controlled programmatically and react to system state changes on a per-project basis

  • Replaces the primitive (static behavior) launcher used in Apex.Grace to date; this flexibility is very helpful in pre-production environments. And because of how we designed this, it’s used in production environments too (i.e., it is safe)

Dynamic configuration features

  • Available through an extension of Apex.Grace Settings, which is used for node- and process-level configuration management

  • The dynamic behavior required for enabling rapid prototyping in early stage and pre-production development is now available with Settings

    • Built-in substitutions to avoid absolute paths

    • Built-in substitutions for environment variables allowing more flexible Settings files

    • Composable Settings files

  • These capabilities are particularly useful in defining how and when nodes and processes will be started and stopped by the process manager

Overhauled ROS IDL code generation infrastructure

  • Greatly simplifies the code generation pipelines

  • Developers and system integrators get a boost in usability through improved error handling

Collectively these changes — along with the other capabilities of Apex.Grace and Apex.Ida — give developers more freedom, allowing them to breeze through their prototyping phase and arrive at the pre-production and production phases more quickly than was ever possible before. Our work in the latter half of this year will continue in this vein.

Non-stop to SOP

As we enter the latter half of the year, our focus is on API stability, safety, and saving developers time. Stand by for our next product release announcement before the end of the year. That’s all for now, folks.

If you are interested in Apex.AI products for your projects, contact us.



bottom of page