Forge

Forge is a code-first configuration framework for MICROSAR Adaptive. Instead of using GUI-driven configuration tools, you define your configuration as ordinary Python code and export it to the JSON files that the code generator and the target device consume at build or runtime.

Why Use Forge

Because configuration is plain Python, it benefits from standard software engineering practices:

  • Human-readable diffs: Configuration changes are small, reviewable, and meaningful in code review.

  • Full automation: Configuration scripts run in any CI/CD pipeline without special tooling.

  • Reuse through code: Shared settings live in functions, classes, or libraries instead of being copy-pasted.

  • Early, strict validation: Errors are caught at assignment time, before any file is written, rather than late in the build.

How Forge Organizes Configuration

Forge groups configuration into configuration domains (for example, Communication or Diagnostics), each containing one or more Configurable Units—the individual pieces of MICROSAR Adaptive you configure, such as the ComDaemon or a client library.

Choosing an Input Format

We recommend the Forge Python API for new projects: it is the most flexible way to produce the required JSON configuration. If you have an existing ARXML-based workflow, Forge also supports ARXML as an input format through domain-specific converters.

If you work with ARXML files as input for Forge and prefer a graphical editor, you can create and manage that ARXML with the DaVinci Developer Adaptive tool. See the DaVinci Developer Adaptive User Manual for guidance.

The complete documentation, including installation, fundamentals, and step-by-step workflows, is available in the Forge User Manual.