This project is a playground for Adaptive Autosar Methodology use cases. At the same time this serves as playground to test development workflows with AI Agents, aiming to understand its capabilities and limitations to develop safety critical systems.
System Concept - Two or more Machines interconnected over SOME/IP

Machine Concept - Adaptive Platform with one or more Adaptive Applications deployed in one of the following: a. Virtual Target - Linux Server (Ubuntu 24.04.4, Intel/AMD 64-bit, x86_64) b. Embedded Target - Arduino UNOQ (Debian GNU/Linux 13 (trixie), ARM Cortex-A53, aarch64) Adaptive Platform Concept - Baselined from upstream repository. Extended to match Autosar R25-11 specifications.
Major differences with baseline Execution Manager - Reworked to spawn/start and terminate OS processes. State Manager, Platfrom Health Manager, Diagnostic Manager are now independent executables Volvo Extended Vehicle API is stubbed Added build toolchain for aarch64 ara::comm - Introduced skeleton/proxy pattern. ara::per - partially implemented (Key value storage). Implemented as a library (not thread safe) extended_vehicle / watchdog_application - Basic applications to enable system concept and machine concept.
It will be tried to use minimum number of dependencies as much as possible. The current dependencies are as follows:
- Cpp Standard: 14
- Cmake mimimum version: 3.14
- Compiler:
- GCC C/C++ Compiler (x86-64 Linux GNU): 11.2.0
- GCC C/C++ Compiler (aarch64 Linux GNU): 14
- Google Test: v1.12.1
- pugixml 1.13 (3rd party C++ libary)
- libcurl 7.88.0 (3rd party C libary)
- JsonCpp 1.9.5 (3rd party C++ library)
- Async BSD Socket Lib (in-house C++ libary)
- OBD-II Emulator (in-house C++ emulator)
- DoIP Lib (in-house C++ libary)
Github Actions builds both x86_64 and aarch64 targets.
- GCC x86_64:
cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/x86_64-linux-gnu-gcc-11 -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/x86_64-linux-gnu-g++-11 -S . -B build- GCC aarch64:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=cmake/aarch64-toolchain.cmake -Dbuild_tests=OFF -S . -B build-aarch64- QCC x_86_64:
<QNX SDP PATH>/qnxsdp-env.bat
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=cmake/qnx-x86_64-toolchain.cmake -Dbuild_tests=OFF -S . -B build-qnxcmake --build buildThis was created to delpoy the application in Arduino UNOQ.
cmake --install build-aarch64 --prefix deploy/cd build && ctestTo run the Adaptive AUTOSAR simulation, launch the following executable by passing the execution manifest file path as the argument:
./build/bin/adaptive_autosar ./configuration/execution_manifest.arxmlNote that execution_manifest.arxml contains the relative paths to the rest of the executables and manifests.
./scripts/test_watchdog_event.sh checks for basic machine execution and system communication.
- Please refer to upstream project. the project GitHub pages powered by Doxygen.
- Please refer to CONTEXT.md for user stories, knowm limitations and TODOs.