---
title: "Adaptive AUTOSAR manifests"
---

# Adaptive AUTOSAR manifests

Read the application, execution, machine and service instance manifests of an Adaptive project across all its files, see required service instances matched to providers and other checks in Problems, edit them in tree and forms, and view each machine.

**State:** reading is verified on 385 public ARXML files (a benchmark project published by MBition and AUTOSAR's published Adaptive platform model and sample) against autosar-data, every element compared. Editing is verified by 46 chained edits, each changed file re-read by autosar-data and validated against its schema. **Not yet run against DaVinci Configurator Adaptive, ISOLAR-AB or an Adaptive stack's manifest tools**; no customer project.

## Read the project

The project is every ARXML file of the workspace folders (16 folders deep, up to 3000 files), nearest first, with schemas R19-11 to R23-11 read as each release writes them. An element split over several files is read as one when its parts agree.

- Adaptive application component types with their ports, and service interfaces with events, methods and fields.
- Executables and processes with their state-dependent startup configurations (function group states, execution dependencies).
- Machines with their machine design, function groups and states, and process to machine mappings.
- Machine designs with their communication connectors, network endpoints, application endpoints (UDP or TCP port) and service discovery configuration.
- The service instance manifest: SOME/IP and DDS deployments, provided and required service instances with instance ID (`ANY` for a required one), required minor version and find behaviour, SD configuration, and instance mappings.
- Software clusters, persistency and log and trace elements, listed with their references.

## See it checked

Problems (source "Adaptive Manifest") reports, only by what the schema and manifest specification establish:

- a required service instance that no provided instance of the project serves, with the reason: none of its service at all (a warning, as the provider may be another supplier's), or a provider whose deployment or instance differs;
- two deployments of one interface that disagree on an ID, transport or topic;
- a process mapped to no machine or by two mappings; an executable no process runs;
- a startup configuration naming a state its function group does not have; an execution dependency naming no state;
- two provided instances on one machine design with the same IDs;
- connector, endpoint and port reference faults.

When the project search stops at a bound, the checks of what is missing are not made, and Problems says so.

## Edit in the Adaptive Manifest editor

Run **Open Adaptive Manifest** (Command Palette, an ARXML file's editor title, or Reopen Editor With). It is the same tree and form editor as [Software components](https://neuralinverse.com/docs/modules/automotive/software-components/).

- The file's machines, machine designs, function group sets, state machines, applications, interfaces, executables, processes, startup configurations, deployments, instances, mappings and clusters as a tree, filtered by name, kind, service or machine.
- **Add a Provided Service Instance** and **Add a Required Service Instance** offer only valid choices in order: package, deployment, instance ID (for a required instance `ANY`, then the providers' IDs, then those it would not match with the reason, then a typed ID), minor version and find behaviour, SD configuration and name.
- From the forms: change an instance's deployment, ID, minor version and find behaviour; **Map ... to a Machine** through a connector and port; **Add a Process for ...**, change its executable and startup configuration, **Add a Function Group State** (only that group's states are offered); **Map a Process to ...**; rename and **Remove**, with references in every file.

Every change is one minimal edit of the ARXML text, written as the file's release writes it, and one undo step shared with the text editor.

## A machine's view

**Show Adaptive Machine...** picks a machine and shows its function groups and states, its processes with the states they run in and the instances they provide and require, its provided and required instances, and for each required instance the providers of the project that serve it and the machines they run on, and its connectors with their endpoints.

![A machine's view: its function group and states, its process, and the service instance it requires with the machine that provides it.](https://neuralinverse.com/docs-images/modules/automotive/adaptive-machine-view.webp)

Agents use `describeAdaptiveMachine` (read only) and `addAdaptiveServiceInstance` (writes one instance, unsaved, after the chat's confirmation, with a dry run).

**Not verified:** the constraints are cited from the AP 18-10 manifest specification, the release whose text was available; their numbers were not checked in later releases. DDS instances are read, checked and shown; the picker and forms edit SOME/IP instances.
