DEENESPTFRRUARHIKOZHNL

class <SI-Namespace>::skeleton::fields::<Field>

[SWS_CM_00007] Upstream: RS_CM_00219, RS_AP_00114

class <Field> {...};

Service skeleton Field class, one for each Field defined in the ServiceInterface in the role field.

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Forwarding-Header#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton/<SiShortname>_skeleton_fwd.h"
Scopenamespace <SI-Namespace>::skeleton::fields

User GuideAI-GENERATED

Enables the service skeleton to provide, update, and process field requests in a typed manner.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 7ece784e04d9 Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Enables the service skeleton to provide, update, and process field requests in a typed manner.

The class <SI-Namespace>::skeleton::fields::<Field> provides a field of a ServiceInterface on the server side and combines getter, setter, and notification functions for the provided service. The provider application registers asynchronous handlers ([SWS_CM_00114], [SWS_CM_00116]) for incoming read and write accesses and actively distributes value changes to subscribing clients via the method Update ([SWS_CM_00119]). In doing so, passed handlers must be valid, while send calls must adhere to the configured minimum send interval to avoid errors such as kMinimumSendIntervalViolationError.

Context

The template class <SI-Namespace>::skeleton::fields::<Field> encapsulates the server-side representation of a field modeled in the ServiceInterface within Adaptive Communication Management. For each field defined in the service interface, the middleware generates a corresponding class instance in the namespace skeleton::fields using the header path #include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h". A field combines functional characteristics of data transfers and method calls by optionally featuring a getter, a setter, and a notification function. The associated data type of the field value is provided via the type alias FieldType ([SWS_CM_11402]). Central interaction partners include the providing provider application, the skeleton field instance as mediator, the subscribing service consumers (proxies), and optional execution contexts in the form of an executor ([SWS_CM_11360], [SWS_CM_11362]).

app Provider-Anwendung field skeleton::fields::<Field> app->field RegisterGetHandler() RegisterSetHandler() Update() field->app Get / Set Callback client Client / Proxy field->client Feld-Notifizierungen client->field Get / Set Anfragen executor ExecutorT (ara::core::Executor) executor->field Asynchroner Kontext

Context diagram: Interaction partners of the skeleton field class during requests and notifications. Sources: [SWS_CM_00114], [SWS_CM_00116], [SWS_CM_00119], [SWS_CM_11360].

Lifecycle

The lifetime of the field instance is tightly coupled to the higher-level service skeleton instance. Interpretation: The field instance is presumably instantiated as a member object of the associated skeleton class and fully shares its lifecycle. Question Q-dedeaea09a8abb20 (open) The availability of individual interface methods directly depends on the definition in the software design: The method RegisterGetHandler exists only if the field was configured with Field.hasGetter == TRUE ([SWS_CM_00114]), whereas RegisterSetHandler requires the presence of a setter via Field.hasSetter == TRUE ([SWS_CM_00116]). To protect communication against end-to-end transport errors, the application can register a specific handler via SetTransportFaultConditionHandler ([SWS_CM_00096]) and remove it again if needed using UnsetTransportFaultConditionHandler ([SWS_CM_00098]). Regarding concurrency, the overloads with the template parameter ExecutorT (such as ara::core::Executor) offer the possibility of shifting the execution of callback functions to a defined asynchronous execution context ([SWS_CM_11360], [SWS_CM_11362], [SWS_CM_00097], AUTOSAR_AP_EXP_ARAComAPI p. 11).

Usage Path

The regular operational flow is divided into configuring the callback functions, processing queries, and actively sending data updates:

Interpretation: Registering the handlers is presumably expediently performed prior to offering the service in order to be able to seamlessly serve incoming requests. Question Q-617e65d056af24f9 (open) If a getter is present, the application binds a callback function via RegisterGetHandler that returns a ara::core::Future<FieldType> ([SWS_CM_00114]). For modifying accesses, it registers a handler via RegisterSetHandler that receives and processes the new value and likewise provides the resulting state asynchronously via a future ([SWS_CM_00116]). If the service provider wants to update the field value independently, it calls the method Update with the new value ([SWS_CM_00119], AUTOSAR_AP_EXP_ARAComAPI p. 11). This resets the internal state of the field. If the field was modeled with a notification function (Field.hasNotifier == TRUE), Update triggers the immediate transmission of the changed data value to all registered subscribers ([SWS_CM_00119], [SWS_CM_00120], [SWS_CM_00162]).

Typical sequence of field interaction at the skeletonProvider-Anwendungskeleton::fields::<Field>Client / ProxyUse Case: Initialization and handler registrationRegisterGetHandler(handler)RegisterSetHandler(setHandler)Use Case: Get and set processingGet()handler()ara::core::Future<FieldType>FieldType returnSet(value)setHandler(value)ara::core::Future<FieldType>Aktualisierter WertUse Case: Value update and notificationUpdate(value)ara::core::Result<void>Notifizierung (Event/Field-Update)

Sequence diagram: Typical sequence of handler registration, request processing, and data update. Sources: [SWS_CM_00114], [SWS_CM_00116], [SWS_CM_00119].

Error Scenarios

Error conditions manifest either as violations of programming contracts during registration or as transmission errors at runtime. All registration methods for handlers—RegisterGetHandler, RegisterSetHandler, and SetTransportFaultConditionHandler—are specified as noexcept and possess the exception guarantee exception safe ([SWS_CM_00114], [SWS_CM_00116], [SWS_CM_00096]). As a precondition, the passed callable object must exist and must not be null; non-observance triggers an InvalidHandlerViolation ([SWS_CM_00114], [SWS_CM_11360], [SWS_CM_00116], [SWS_CM_11362], [SWS_CM_00096], [SWS_CM_00097]).

During active updates via Update, error feedback is provided via the return type ara::core::Result<void> ([SWS_CM_00119]). If an error occurs, the result object returns an error code from ara::com::ComErrc. In particular, sending at shorter intervals than specified by the deployment attribute ServiceInterfaceDeploymentElement.minimumSendInterval leads to the return of the error ComErrc::kMinimumSendIntervalViolationError ([SWS_CM_00119]).

This guide is based on the AUTOSAR Adaptive Platform Release R25-11 specification and was created automatically.

Member map

Class diagram

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G n_SI_Namespace___skeleton__fields___Field_667 <Field> + SetTransportFaultConditionHandler() + UnsetTransportFaultConditionHandler() + Update() + RegisterGetHandler() + RegisterSetHandler()

Detail view

Select an entry in the outline.

Methods

Register a callback function to be invoked when a Get() request is received. The method exists only if the offered service contains a Field and Field.hasGetter ==TRUE

Overloads RegisterGetHandler 2
void RegisterGetHandler (std::function< ara::core::Future< FieldType >()> handler) noexcept; SWS_CM_00114
template <typename ExecutorT> void RegisterGetHandler (std::function< ara::core::Future< FieldType >()> handler, ExecutorT &&executor) noexcept; SWS_CM_11360

Register a callback function to be invoked when a Set() request is received. The method exists only if the offered service contains a Field and Field.hasSetter ==TRUE

Overloads RegisterSetHandler 2
void RegisterSetHandler (std::function< ara::core::Future< FieldType >(<SFieldDerivedType> value)> handler) noexcept; SWS_CM_00116
template <typename ExecutorT> void RegisterSetHandler (std::function< ara::core::Future< FieldType >(<SFieldDerivedType> value)> setHandler, ExecutorT &&executor) noexcept; SWS_CM_11362

Provides possibility to register a ara::com::e2e::TransportFaultConditionHandler for a given Skeleton Field Get/Set.

Overloads SetTransportFaultConditionHandler 2
void SetTransportFaultConditionHandler (ara::com::e2e::TransportFault ConditionHandler handler) noexcept; SWS_CM_00096
template <typename ExecutorT> void SetTransportFaultConditionHandler (ara::com::e2e::TransportFault ConditionHandler handler, ExecutorT &&executor) noexcept; SWS_CM_00097

Provides the possibility to unregister a previously set ara::com::e2e:: TransportFaultConditionHandler for a given Skeleton Field Get/Set.

void UnsetTransportFaultConditionHandler () noexcept;
Update function

Initiate the transmission of updated field data to the subscribers. See [SWS_CM_00162] for the required behavior. The Update function shall also update the fields internal value. An update notification shall be sent to any subscribers if: • Field.hasNotifier ==TRUE (according to [SWS_CM_00120])

ara::core::Result< void > Update (<SFieldDerivedType> value) noexcept;

Type aliases

FieldType type alias

Data type for the value of a field (an alias for the CppImplementationDataType of the Field, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via indirection of a DataTypeMap)

using FieldType = <SFieldCppidt>;

Method documentation

function RegisterGetHandler [SWS_CM_00114] Upstream: RS_CM_00218, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

void RegisterGetHandler (std::function< ara::core::Future< FieldType >()> handler) noexcept;

Register a callback function to be invoked when a Get() request is received. The method exists only if the offered service contains a Field and Field.hasGetter ==TRUE

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 01ae49e1e2d8 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method RegisterGetHandler is called server-side on the field object of a skeleton ([SWS_CM_00114]). It exists in the generated code exclusively if a getter was configured for the respective field in the interface description (Field.hasGetter == TRUE) (EXP ARAComAPI §5.4.8.1 “Registering Getters”). A callback handler of type std::function<ara::core::Future<FieldType>()> is passed, which is called by the binding implementation upon an incoming Get() request from a proxy.

Registering such a handler is entirely optional (EXP ARAComAPI §5.4.8.1 “Registering Getters”). Typically, the service implementation does not require a getter handler because Communication Management caches the value most recently set via Update() and answers proxy requests autonomously. A handler is particularly useful when determining the field value is time-consuming or computationally intensive and should therefore only occur asynchronously via the promise/future pattern when actually required.

Error Handling and Boundary Conditions

The function has no return value, is declared as noexcept, and is exception-safe (exception safe) ([SWS_CM_00114]). If the passed callable does not exist or is null, the error InvalidHandlerViolation occurs ([SWS_CM_00114]).

Interaction

In contrast to RegisterSetHandler, whose invocation is mandatory when a setter is present (EXP ARAComAPI §5.4.8.2 “Registering Setters”), RegisterGetHandler remains purely optional. If the handler is to be processed asynchronously in a specific execution context, the overloaded template function with ExecutorT is additionally available ([SWS_CM_11360]).

This usage note was generated by an AI based on the AUTOSAR R25-11 specification.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Parameter (in)

ParameterBeschreibung
handlerThe callback function to be invoked to process the Field get request

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00114
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00114@rel:R25-11#417163c7
Content hash
417163c7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00114
Status: valid/unmigrated Version: rel:R25-11#c6386380 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00114@rel:R25-11#c6386380
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#417163c72026-09-30
  • R19-11rel:R19-11#f07f56a32026-10-14
  • R20-11rel:R20-11#cdd125c72026-10-14
  • R21-11rel:R21-11#cdd125c72026-10-14
  • R22-11rel:R22-11#6a153b112026-10-14
  • R23-11rel:R23-11#23956e7c2026-10-14
  • R24-11rel:R24-11#5d29d0102026-10-14
  • R25-11rel:R25-11#c63863802026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function RegisterGetHandler [SWS_CM_11360] Upstream: RS_CM_00211, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

template <typename ExecutorT> void RegisterGetHandler (std::function< ara::core::Future< FieldType >()> handler, ExecutorT &&executor) noexcept;

As per [SWS_CM_00114] but the method shall execute in a provided context

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 44ad84fd0b08 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method RegisterGetHandler in namespace <SI-Namespace>::skeleton::fields::<Field> registers an application-side callback (handler) that is called by the communication binding upon an incoming Get() call from a proxy ([SWS_CM_11360], EXP ARAComAPI §5.4.8.1 “Registering Getters”). In contrast to the parameterless base overload [SWS_CM_00114], the method accepts an execution context executor of type ExecutorT in which callback execution takes place asynchronously ([SWS_CM_11360]). The standardized ara::core::Executor or a user-specific type with the same interface can be used as the executor ([SWS_CM_11360]).

The registered handler returns a ara::core::Future<FieldType>, decoupling the calculation of the field value via the promise/future pattern ([SWS_CM_11360], EXP ARAComAPI §5.4.8.1 “Registering Getters”). Registration is completely optional: If no handler is registered, Communication Management answers requests autonomously with the value last set via Update() (EXP ARAComAPI §5.4.8.1 “Registering Getters”). A getter handler is primarily suitable for on-demand calculation of complex or time-consuming field values (EXP ARAComAPI §5.4.8.1 “Registering Getters”).

Restrictions and Error Handling

The method exists in the skeleton only if a getter was configured for the field in the IDL (Field.hasGetter == TRUE, [SWS_CM_00114], EXP ARAComAPI §5.4.8.1 “Registering Getters”). RegisterGetHandler is declared as noexcept; however, if an invalid or empty callable is passed, a InvalidHandlerViolation is present ([SWS_CM_11360]). Interpretation: The passed executor is likely required to remain valid throughout the entire period of use of the handler, as incoming requests are dispatched asynchronously into its context. Question Q-c58eb22b06a8c27c (open)

This usage note was generated by an AI based on the AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Template-Parameter

ParameterBeschreibung
ExecutorTWrapper type providing methods for asynchronous execution of Callables. AUTOSAR provides a standardized ara::core:: Executor or implementations may use a custom type which provides the same interface.

Parameter (in)

ParameterBeschreibung
handlerAs per [SWS_CM_00114]
executorThe context in which this method shall be "executed"

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11360
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11360@rel:R25-11#9957b1ff
Content hash
9957b1ff
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11360
Status: valid/unmigrated Version: rel:R25-11#bd94b445 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_11360@rel:R25-11#bd94b445
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#9957b1ff2026-09-30
  • R20-11rel:R20-11#437503622026-10-14
  • R21-11rel:R21-11#29c07ecb2026-10-14
  • R22-11rel:R22-11#29c07ecb2026-10-14
  • R23-11rel:R23-11#1e758dfd2026-10-14
  • R24-11rel:R24-11#6f38f9302026-10-14
  • R25-11rel:R25-11#bd94b4452026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function RegisterSetHandler [SWS_CM_00116] Upstream: RS_CM_00218, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

void RegisterSetHandler (std::function< ara::core::Future< FieldType >(<SFieldDerivedType> value)> handler) noexcept;

Register a callback function to be invoked when a Set() request is received. The method exists only if the offered service contains a Field and Field.hasSetter ==TRUE

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: f0cab292149d Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

Method RegisterSetHandler serves on the server side (skeleton) to register a callback function that is called upon arrival of a Set() request from a client for a field [SWS_CM_00116]. The method exists exclusively when the offered field is configured with setter support (Field.hasSetter == TRUE) [SWS_CM_00116]. In contrast to getter registration, calling RegisterSetHandler is mandatory, as the server implementation must validate new or updated field values from anonymous clients in advance EXP ARAComAPI §5.4.8.2 “Registering Setters”.

The registered handler receives the new value as an argument and returns a ara::core::Future<FieldType> containing the effective, possibly corrected value [SWS_CM_00116], EXP ARAComAPI §5.4.8.2 “Registering Setters”. This effective value is implicitly accepted by Communication Management and published to clients; an explicit call to Update() inside the handler is therefore redundant EXP ARAComAPI §5.4.8.2 “Registering Setters”.

Error Handling and Boundary Conditions

The function is defined as noexcept and is exception-safe [SWS_CM_00116]. If a non-existent or invalid (null) callable is passed, a specification violation in the form of a InvalidHandlerViolation occurs [SWS_CM_00116]. Interpretation: Registration likely needs to take place prior to offering the service via OfferService() in order to be able to accept incoming client requests from the start. Question Q-d45be0a899ddb6dd (open)

Interaction

In addition to the basic method, a template overload [SWS_CM_11362] exists, with which execution of the handler can be bound to a specific execution context (ExecutorT according to [SWS_CM_11360]) EXP ARAComAPI.

This usage note was generated automatically based on the R25-11 specification status.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Parameter (in)

ParameterBeschreibung
handlerAs per [SWS_CM_00114]

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00116
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00116@rel:R25-11#50a50c35
Content hash
50a50c35
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00116
Status: valid/unmigrated Version: rel:R25-11#a967ca39 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00116@rel:R25-11#a967ca39
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#50a50c352026-09-30
  • R19-11rel:R19-11#320f0ae42026-10-14
  • R20-11rel:R20-11#e56d43e62026-10-14
  • R21-11rel:R21-11#e56d43e62026-10-14
  • R22-11rel:R22-11#f8c463c42026-10-14
  • R23-11rel:R23-11#4653d88a2026-10-14
  • R24-11rel:R24-11#eb7262452026-10-14
  • R25-11rel:R25-11#a967ca392026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function RegisterSetHandler [SWS_CM_11362] Upstream: RS_CM_00211, RS_AP_00114, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00138

template <typename ExecutorT> void RegisterSetHandler (std::function< ara::core::Future< FieldType >(<SFieldDerivedType> value)> setHandler, ExecutorT &&executor) noexcept;

As per [SWS_CM_00116] but the method shall execute in a provided context

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: aa59afd1a2ad Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The template function RegisterSetHandler registers a callback function at the server or skeleton level of a field, which is called as soon as a client transmits a Set() request ([SWS_CM_11362], [SWS_CM_00116]). The interface exists only if the configured service field provides setter support (Field.hasSetter == TRUE) ([SWS_CM_00116]). In contrast to get registration, registering a set handler is mandatory because the server implementation must always validate new field values from anonymous clients (EXP ARAComAPI §5.4.8.2 “Registering Setters”).

Compared to the standard registration according to [SWS_CM_00116], this overload additionally takes an execution context executor of type ExecutorT&& ([SWS_CM_11362], [SWS_CM_11360]). Interpretation: The executor is likely to control in which thread or task scheduler context the callback is executed. Question Q-6dec4c0005c388dd (open) The passed handler has the signature std::function<ara::core::Future<FieldType>(<SFieldDerivedType> value)>; it receives the value set by the client and asynchronously returns the effective – possibly validated or corrected – value via ara::core::Future ([SWS_CM_11362], EXP ARAComAPI §5.4.8.2 “Registering Setters”).

Communication Management implicitly adopts the effective value returned by the handler as if the server application itself had called Update(); a manual call to Update() within the handler is therefore superfluous (EXP ARAComAPI §5.4.8.2 “Registering Setters”, EXP ARAComAPI §4.6 “Data Type Abstractions”).

Error handling and concurrency:

  • Exception safety: The function is declared as noexcept and specified as exception safe ([SWS_CM_11362]).
  • Violations: If the passed callable setHandler does not exist or is nullptr, the violation InvalidHandlerViolation is present ([SWS_CM_11362]).
  • Context: The method ensures that execution of the handler takes place in the provided context of the executor ([SWS_CM_11362]).

This usage note was generated automatically based on the AUTOSAR specifications.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Template-Parameter

ParameterBeschreibung
ExecutorTAs per [SWS_CM_11360]

Parameter (in)

ParameterBeschreibung
setHandlerAs per [SWS_CM_00116]
executorAs per [SWS_CM_11360]

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11362
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11362@rel:R25-11#6e268d73
Content hash
6e268d73
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11362
Status: valid/unmigrated Version: rel:R25-11#012add4b Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_11362@rel:R25-11#012add4b
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#6e268d732026-09-30
  • R20-11rel:R20-11#a1cce0c32026-10-14
  • R21-11rel:R21-11#46e987b82026-10-14
  • R22-11rel:R22-11#46e987b82026-10-14
  • R23-11rel:R23-11#cdcd5ed72026-10-14
  • R24-11rel:R24-11#d4ed3d212026-10-14
  • R25-11rel:R25-11#012add4b2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function SetTransportFaultConditionHandler [SWS_CM_00096] Upstream: RS_CM_00224, RS_E2E_08534

void SetTransportFaultConditionHandler (ara::com::e2e::TransportFault ConditionHandler handler) noexcept;

Provides possibility to register a ara::com::e2e::TransportFaultConditionHandler for a given Skeleton Field Get/Set.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 50dd99d62bf7 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function SetTransportFaultConditionHandler is used to register an error handler of type ara::com::e2e::TransportFaultConditionHandler for Get and Set requests of a field at skeleton level in namespace <SI-Namespace>::skeleton::fields::<Field> [SWS_CM_00096]. The call is executed synchronously, has no return value (void), and guarantees exception safety through specification as noexcept [SWS_CM_00096]. For scenarios where handler execution is to be delegated to an explicit execution context, the template overload with an executor object ExecutorT&& executor is available [SWS_CM_00097].

The violation InvalidHandlerViolation is defined as an error condition; it occurs if the passed callable handler does not exist or is null [SWS_CM_00096]. While client-side errors for method and field requests are reported via ComErrc::kCommunicationFailure in the respective ara::core::Future instances [SWS_CM_00090], this function enables the server instance to receive transport errors on incoming Get and Set calls [SWS_CM_00096].

The concept corresponds to respective registration mechanisms for all methods of a skeleton service instance [SWS_CM_00093] as well as proxy-side handlers for events [SWS_CM_00099], triggers [SWS_CM_00106], and field notifiers [SWS_CM_00109]. Interpretation: The registration of the handler should reasonably take place during the initialization phase prior to offering the skeleton in order to be able to seamlessly capture errors during initial field accesses. Question Q-627229896b666532 (open)

This usage note was generated automatically and is based on the specification documents of AUTOSAR R25-11.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Parameter (in)

ParameterBeschreibung
handlerHandler of type ara::com::e2e:: TransportFaultConditionHandler to be set

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00096
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00096@rel:R25-11#37a0a694
Content hash
37a0a694
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00096
Status: valid/unmigrated Version: rel:R25-11#3e34141f Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00096@rel:R25-11#3e34141f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#37a0a6942026-09-30
  • R24-11rel:R24-11#b910a6fe2026-10-14
  • R25-11rel:R25-11#3e34141f2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function SetTransportFaultConditionHandler [SWS_CM_00097] Upstream: RS_CM_00224, RS_E2E_08534

template <typename ExecutorT> void SetTransportFaultConditionHandler (ara::com::e2e::TransportFault ConditionHandler handler, ExecutorT &&executor) noexcept;

Execution Context overload for hierarchicalnamespacelistlowerskeleton:: skeleton::fields::fieldname::SetTransportFaultConditionHandler for a given Skeleton Field Get/Set.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 0b525529fe14 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function SetTransportFaultConditionHandler in namespace <SI-Namespace>::skeleton::fields::<Field> registers an error handler for transport disruptions during Get and Set requests of a field at skeleton level [SWS_CM_00097]. It is included via header <SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h [SWS_CM_00097].

Usage and Parameters

The call is synchronous and has no return value (void) [SWS_CM_00097]. Passed as parameters are the callable error callback handler of type ara::com::e2e::TransportFaultConditionHandler and a forwarding reference executor of generic type ExecutorT&& [SWS_CM_00097]. The parameter executor designates the execution object in whose context any asynchronous computations are executed [SWS_CM_00097].

Error Handling and Concurrency

The method is declared as noexcept and guarantees complete exception safety (exception safe) [SWS_CM_00097]. If the passed handler callable does not exist or is null, an InvalidHandlerViolation is thrown [SWS_CM_00097]. Interpretation: The passed executor object is presumably used to determine in which thread or task context the asynchronous notification in case of transport errors is processed. Question Q-4101faaa8d6a3130 (open)

Interaction

The method extends the standard registration [SWS_CM_00096] by a dedicated execution context for skeleton fields [SWS_CM_00097]. Corresponding overloads with an executor also exist for skeleton methods ([SWS_CM_00094]) as well as on the client or proxy side for events ([SWS_CM_00100]) and field notifiers ([SWS_CM_00110]).

This usage note was generated by an AI and is based exclusively on the specifications of Release R25-11.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe
Verletzungen (Violations)InvalidHandlerVio- Provided Callable handler does not exist or is null lation

Parameter (in)

ParameterBeschreibung
handlerHandler of type ara::com::e2e:: TransportFaultConditionHandler to be set
executorExecutor object in which any asynchronous computation spawn shall be invoked

Rückgabewert

TypBeschreibung
None
Siehe auch: [SWS_CM_00096]

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00097
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00097@rel:R25-11#225cecf8
Content hash
225cecf8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00097
Status: valid/unmigrated Version: rel:R25-11#43b66b1f Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00097@rel:R25-11#43b66b1f
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#225cecf82026-09-30
  • R24-11rel:R24-11#ee2004b32026-10-14
  • R25-11rel:R25-11#43b66b1f2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function UnsetTransportFaultConditionHandler [SWS_CM_00098] Upstream: RS_CM_00224, RS_E2E_08534

void UnsetTransportFaultConditionHandler () noexcept;

Provides the possibility to unregister a previously set ara::com::e2e:: TransportFaultConditionHandler for a given Skeleton Field Get/Set.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 6f1322ef4e13 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The function UnsetTransportFaultConditionHandler is used on the skeleton side of a service interface to cancel a previously registered ara::com::e2e::TransportFaultConditionHandler for get and set requests of a field ([SWS_CM_00098]). It is defined in namespace <SI-Namespace>::skeleton::fields::<Field> and included via header <SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h (AUTOSAR_AP_SWS_CommunicationManagement §8.4.3.2.1.3 “UnsetTransportFaultConditionHandler”). The call is synchronous, accepts no passing parameters, and provides no return value (void).

Canceling deactivates the application-specific callback for transport error conditions in field requests (AUTOSAR_AP_SWS_CommunicationManagement §7.4.1 “End-to-end communication protection for SOMEIP”). The interface is declared as noexcept and guarantees exception safety (exception safe) ([SWS_CM_00098]). Error codes or specific error messages via DET or DEM are not specified; the operation is designed to complete without error.

Regarding concurrency and reentrancy, the specification contains no separate requirements. Consequently, deregistration is likely best performed during deinitialization phases or outside concurrent get/set processing to avoid inconsistencies during ongoing communication operations. Question Q-06bc8d90f1891904 (open)

The operation is part of the end-to-end communication protection for service instances (AUTOSAR_AP_SWS_CommunicationManagement §7.4.1 “End-to-end communication protection for SOMEIP”). It constitutes the field-specific counterpart to [SWS_CM_00095], which deregisters the handler for all methods of a skeleton. On the proxy side, it corresponds to respective deregistrations for events ([SWS_CM_00105]), triggers ([SWS_CM_00108]), and field notifiers ([SWS_CM_00126]).

This usage note was automatically created based on AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00098
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00098@rel:R25-11#567e0811
Content hash
567e0811
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00098
Status: valid/unmigrated Version: rel:R25-11#0a13a3e7 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00098@rel:R25-11#0a13a3e7
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#567e08112026-09-30
  • R24-11rel:R24-11#8140569f2026-10-14
  • R25-11rel:R25-11#0a13a3e72026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

function Update [SWS_CM_00119] Upstream: RS_CM_00218, RS_AP_00114, RS_AP_00120, RS_AP_00121

ara::core::Result< void > Update (<SFieldDerivedType> value) noexcept;

Initiate the transmission of updated field data to the subscribers. See [SWS_CM_00162] for the required behavior. The Update function shall also update the fields internal value. An update notification shall be sent to any subscribers if: • Field.hasNotifier ==TRUE (according to [SWS_CM_00120])

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ceb337447ab4 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method Update() is called server-side in scope <SI-Namespace>::skeleton::fields::<Field> to update the internal value of a field and initiate the transmission of the new data to subscribed clients ([SWS_CM_00119], AUTOSAR_AP_EXP_ARAComAPI §4.6 “Data Type Abstractions”). A notification is sent to subscribers if hasNotifier == TRUE is configured for the field ([SWS_CM_00119], [SWS_CM_00120], [SWS_CM_00162]). The parameter value is passed by reference; during the call, the binding implementation creates a typically serialized copy, allowing the application data to be modified or freed on the caller side after return (AUTOSAR_EXP_ARAComAPI “UpdateRate Class”).

The function is defined as noexcept and exception safe and synchronously returns a ara::core::Result<void> ([SWS_CM_00119]). If an error occurs, the result contains an error code from ara::com::ComErrc ([SWS_CM_00119], [SWS_CM_10432]). Specifically, ComErrc::kMinimumSendIntervalViolationError is returned with rollback semantics if send requests occur faster than specified by the configured minimum send interval ServiceInterfaceDeploymentElement.minimumSendInterval ([SWS_CM_00119]).

In the service lifecycle, an initial call to Update() is required prior to offering the service: If OfferService() is called before the field value has been initialized, offering fails with ComErrc::kFieldValueNotInitialized ([SWS_CM_00101], [SWS_CM_00128]). Due to the lack of an explicit reentrancy guarantee in the standard, concurrent calls on the same field instance are expected to be synchronized on the application side. Question Q-67b174ef05867989 (open)

This usage note was generated automatically based on the AUTOSAR standard R25-11.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
valueThe value to be sent to subscribers

Rückgabewert

TypBeschreibung
ara::core::Result< void >• If successful: an ara::core::Result containing a ara:: core::Result::value_type • If unsuccessful: an ara::core::Result containing an ara:: core::Result::error_type i.e. a corresponding ara:: com::ComErrc

Fehler

FehlercodeBeschreibung
ComErrc::kMinimumSendIntervalViolationErrorrollback_semantics Minimum Send Interval violation, because a transmission request for a service instance element (event, field or method call) was issued faster than allowed, i.e., the configured minimum send interval ServiceInterfaceDeploymentElement. minimumSendInterval for the service instance element has not yet expired.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_00119
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00119@rel:R25-11#de7aa84f
Content hash
de7aa84f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00119
Status: valid/unmigrated Version: rel:R25-11#f2b83ddc Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_00119@rel:R25-11#f2b83ddc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#de7aa84f2026-09-30
  • R19-11rel:R19-11#e64af9a12026-10-14
  • R20-11rel:R20-11#e8f21c102026-10-14
  • R21-11rel:R21-11#0afac5612026-10-14
  • R22-11rel:R22-11#3e7a86112026-10-14
  • R23-11rel:R23-11#daabe32d2026-10-14
  • R24-11rel:R24-11#c1e2db482026-10-14
  • R25-11rel:R25-11#f2b83ddc2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Type alias documentation

type alias FieldType [SWS_CM_11402] Upstream: RS_CM_00219, RS_AP_00114

using FieldType = <SFieldCppidt>;

Data type for the value of a field (an alias for the CppImplementationDataType of the Field, i.e. for the CppImplementationDataType which is either referenced by the VariableDataPrototype in the role type directly or via indirection of a DataTypeMap)

Header-Datei#include "<SiNamespaceDerivedDirectoryPath>/<SiShortname>_skeleton.h"
Scopeclass <SI-Namespace>::skeleton:: fields::<Field>
SymbolFieldType

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CM_11402
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_11402@rel:R25-11#ab2582db
Content hash
ab2582db
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_11402
Status: valid/unmigrated Version: rel:R25-11#11e46b26 Versionshistorie & Revisions (1 transition, 5 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CM_11402@rel:R25-11#11e46b26
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#ab2582db2026-09-30
  • R22-11rel:R22-11#fd04825a2026-10-14
  • R23-11rel:R23-11#fd04825a2026-10-14
  • R24-11rel:R24-11#f639aee72026-10-14
  • R25-11rel:R25-11#11e46b262026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill