DEENESPTFRRUARHIKOZHNL

namespace ara::com::runtime

User GuideAI-GENERATED

Resolves abstract instance specifiers to concrete identifiers for service communication at runtime.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 4a9d404013ef Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Resolves abstract instance specifiers to concrete identifiers for service communication at runtime.

The namespace ara::com::runtime provides central runtime services for resolving communication endpoints in communication management AUTOSAR_AP_SWS_CommunicationManagement p. 39. Its core function ResolveInstanceIDs translates abstract model identifiers of type ara::core::InstanceSpecifier into concrete ara::com::InstanceIdentifierContainer usable for proxies and skeletons [SWS_CM_00118]. If mapping of a formally valid identifier fails in deployment, the exception-safe function returns the error code ComErrc::kInstanceIDNotResolvable within a ara::core::Result. Callers must therefore evaluate the result object prior to service instantiation.

Context

The namespace ara::com::runtime provides central runtime functionalities for communication management (ara::com) of the AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_CommunicationManagement p. 39. Its primary functional responsibility lies in decoupling the abstract software architecture from the concrete communication infrastructure at runtime. While applications and software components are bound to ports in their interfaces via abstract model identifiers (ara::core::InstanceSpecifier), the communication middleware requires concrete addressing and instantiation data in the form of ara::com::InstanceIdentifier objects to establish connections [SWS_CM_00118].

The function ResolveInstanceIDs declared in header ara/com/runtime.h forms the bridge between these two abstraction levels [SWS_CM_00118]. It accepts a ara::core::InstanceSpecifier and transforms it into a ara::com::InstanceIdentifierContainer AUTOSAR_AP_SWS_CommunicationManagement p. 40. Interpretation: The concrete mapping is likely based internally on the manifest and deployment configurations stored in the execution context, keeping application code portable and free of hard-wired network or protocol addresses. Question Q-8fab6de1c39a065a (open)

context app Applikation (Port) spec ara::core::InstanceSpecifier app->spec referenziert runtime ara::com::runtime::ResolveInstanceIDs spec->runtime Eingabeparameter container ara::com::InstanceIdentifierContainer runtime->container erzeugt Result instances ara::com::InstanceIdentifier container->instances beinhaltet n Matches instances->app Bindung Proxy/Skeleton

Context diagram: Classification of ara::com::runtime between application architecture and communication deployment. Sources: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement p. 39.

Usage Path

Typical use of namespace ara::com::runtime occurs during the initialization and startup phase of an adaptive application before communication relationships are established via service proxies or service skeletons AUTOSAR_AP_SWS_CommunicationManagement p. 41. A service consumer or provider thereby traverses a deterministic resolution path:

  • Determine specifier: The application instantiates or references the identifier of type ara::core::InstanceSpecifier defined for the respective communication port.
  • Resolve instances: The identifier is passed to the function ara::com::runtime::ResolveInstanceIDs [SWS_CM_00118].
  • Check result: The call returns an object of type ara::core::Result<ara::com::InstanceIdentifierContainer>, which is checked for successful execution or error states [SWS_CM_00118].
  • Process container: On success, the ara::com::InstanceIdentifierContainer contains a number of instance identifiers that is proportional to the number of matches found in the deployment [SWS_CM_00118]. The application can specifically select one instance or iterate over all available instances.
  • Instantiate proxy or skeleton: The resolved ara::com::InstanceIdentifier objects are subsequently used to create concrete proxy or skeleton instances AUTOSAR_AP_SWS_CommunicationManagement p. 42.
Instance resolution via ara::com::runtime::ResolveInstanceIDsApplikationara::com::runtimeDeployment-RegistryResolveInstanceIDs(instanceSpecifier)Instanzzuordnung abfragenKonfigurierte InstanceIdentifiersaltTreffer gefundenPopulate InstanceIdentifierContainerResult(InstanceIdentifierContainer)No mapping presentResult::FromError(ComErrc::kInstanceIDNotResolvable)

Sequence diagram: Call and processing flow of instance resolution via ResolveInstanceIDs. Sources: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement p. 41.

Error Scenarios

The interfaces in namespace ara::com::runtime follow the platform-wide paradigm of robust, exception-free error handling. According to the specification, ResolveInstanceIDs is declared as noexcept and has the exception safety level exception safe [SWS_CM_00118]. Errors are therefore never signaled via C++ exceptions, but are entirely transported via the error monad ara::core::Result AUTOSAR_AP_SWS_CommunicationManagement p. 47.

The central specified error scenario concerns the error code ComErrc::kInstanceIDNotResolvable [SWS_CM_00118]. This error occurs when the passed ara::core::InstanceSpecifier is formally valid but cannot be mapped to any existing ara::com::InstanceIdentifier in the current system configuration or manifest [SWS_CM_00118]. In practice, this indicates discrepancies between modeling and deployment, such as when a service provider on another machine was not deployed or the binding is missing in the manifest. Rollback semantics (rollback_semantics) apply to this error: no partial states are created or resources bound, allowing the caller to verify the configuration or transition to a defined error state [SWS_CM_00118].

This guide is based on the specifications of the AUTOSAR Adaptive Platform Release R25-11.

Functions

Translates an ara::core::InstanceSpecifier to a ara::com:: InstanceIdentifierContainer. The length/size of the ara::com:: InstanceIdentifierContainer is relative to the number of matches.

ara::core::Result< ara::com::InstanceIdentifierContainer > Resolve InstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept;

Documentation of free functions

function ResolveInstanceIDs [SWS_CM_00118] Upstream: RS_CM_00200, RS_AP_00114, RS_AP_00115, RS_AP_00120, RS_AP_00121, RS_AP_00119, RS_AP_00127, RS_AP_00137

ara::core::Result< ara::com::InstanceIdentifierContainer > Resolve InstanceIDs (ara::core::InstanceSpecifier metaModelIdentifier) noexcept;

Translates an ara::core::InstanceSpecifier to a ara::com:: InstanceIdentifierContainer. The length/size of the ara::com:: InstanceIdentifierContainer is relative to the number of matches.

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

The synchronous function ResolveInstanceIDs in namespace ara::com::runtime ([SWS_CM_00118]) resolves a model-based identifier of type ara::core::InstanceSpecifier into concrete technical instances. As a result, it returns an ara::core::Result<ara::com::InstanceIdentifierContainer> containing the mapped ara::com::InstanceIdentifier (EXP ARAComAPI §4 “InstanceSpecifier Resolution”).

The container thereby represents the configured deployment:

In the event of an error, the ara::core::Result returns the error code ComErrc::kInstanceIDNotResolvable if the InstanceSpecifier is formally valid but could not be mapped to any existing InstanceIdentifier ([SWS_CM_00118]). The function is declared as noexcept and exception-safe.

In typical application scenarios, a direct call is not required, as proxy and skeleton APIs provide overloads that accept InstanceSpecifier directly (EXP ARAComAPI §4 “InstanceSpecifier Resolution”). Manual resolution serves primarily advanced scenarios where technology-specific InstanceIdentifier are exchanged across processes or bindings are selectively chosen (EXP ARAComAPI §4 “InstanceSpecifier Resolution”).

This text was generated by an AI based on the AUTOSAR specification.

Implementer's Guide to follow (complexity I2)

Header-Datei#include "ara/com/runtime.h"
Scopenamespace ara::com::runtime
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
metaModelIdentifierThe ara::core::InstanceSpecifier to be translated.

Rückgabewert

TypBeschreibung
ara::core::Result<ara::com::InstanceIdentifierContainer >An ara::com::InstanceIdentifierContainer if successful, otherwise an error code indicating the error

Fehler

FehlercodeBeschreibung
ComErrc::kInstanceIDNotResolvablerollback_semantics The ara::core::InstanceSpecifier is valid but could not be resolved/mapped to an existing ara::com:: InstanceIdentifier
Siehe auch: [SWS_CORE_08001]

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

Record
AUTOSAR/AP/record/SWS_CM_00118
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CM_00118@rel:R25-11#0f70035f
Content hash
0f70035f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_CommunicationManagement.pdf#nameddest=SWS_CM_00118
Status: valid/unmigrated Version: rel:R25-11#7fda17bf 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_00118@rel:R25-11#7fda17bf
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0f70035f2026-09-30
  • R19-11rel:R19-11#f7400f912026-10-14
  • R20-11rel:R20-11#41c24bfc2026-10-14
  • R21-11rel:R21-11#29fd954c2026-10-14
  • R22-11rel:R22-11#e6a302622026-10-14
  • R23-11rel:R23-11#2a18d23a2026-10-14
  • R24-11rel:R24-11#09c394e82026-10-14
  • R25-11rel:R25-11#7fda17bf2026-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