DEENESPTFRRUARHIKOZHNL

namespace ara::com::runtime

User GuideKI-GENERIERT

Löst abstrakte Instanz-Spezifizierer zur Laufzeit in konkrete Bezeichner für die Dienstkommunikation auf.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4a9d404013ef Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Löst abstrakte Instanz-Spezifizierer zur Laufzeit in konkrete Bezeichner für die Dienstkommunikation auf.

Der Namespace ara::com::runtime stellt zentrale Laufzeitdienste zur Auflösung von Kommunikationsendpunkten im Kommunikationsmanagement bereit AUTOSAR_AP_SWS_CommunicationManagement S. 39. Seine Kernfunktion ResolveInstanceIDs übersetzt abstrakte Modellbezeichner vom Typ ara::core::InstanceSpecifier in konkrete, für Proxies und Skeletons nutzbare ara::com::InstanceIdentifierContainer [SWS_CM_00118]. Schlägt die Zuordnung eines formal gültigen Bezeichners im Deployment fehl, liefert die ausnahmesichere Funktion den Fehlercode ComErrc::kInstanceIDNotResolvable innerhalb eines ara::core::Result zurück. Aufrufer müssen daher das Result-Objekt vor der Dienstinstanziierung auswerten.

Kontext

Der Namespace ara::com::runtime stellt zentrale Laufzeitfunktionalitäten für das Kommunikationsmanagement (ara::com) der AUTOSAR Adaptive Platform bereit AUTOSAR_AP_SWS_CommunicationManagement S. 39. Seine primäre funktionale Verantwortung besteht in der Entkopplung der abstrakten Software-Architektur von der konkreten Kommunikationsinfrastruktur zur Laufzeit. Während Applikationen und Softwarekomponenten in ihren Schnittstellen über abstrakte Modellbezeichner (ara::core::InstanceSpecifier) an Ports gebunden sind, benötigt die Kommunikations-Middleware für den Aufbau von Verbindungen konkrete Adressierungs- und Instanzierungsdaten in Form von ara::com::InstanceIdentifier-Objekten [SWS_CM_00118].

Die im Header ara/com/runtime.h deklarierte Funktion ResolveInstanceIDs bildet die Brücke zwischen diesen beiden Abstraktionsebenen [SWS_CM_00118]. Sie nimmt einen ara::core::InstanceSpecifier entgegen und transformiert ihn in einen ara::com::InstanceIdentifierContainer AUTOSAR_AP_SWS_CommunicationManagement S. 40. Interpretation: Die konkrete Zuordnung dürfte intern auf den im Ausführungskontext hinterlegten Manifest- und Deployment-Konfigurationen basieren, wodurch Anwendungscode portabel und frei von fest verdrahteten Netzwerk- oder Protokolladressen bleibt. Frage Q-8fab6de1c39a065a (offen)

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

Kontextdiagramm: Einordnung von ara::com::runtime zwischen Anwendungsarchitektur und Kommunikations-Deployment. Quellen: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement S. 39.

Nutzungspfad

Der typische Einsatz des Namespace ara::com::runtime erfolgt während der Initialisierungs- und Startphase einer adaptiven Anwendung, bevor Kommunikationsbeziehungen über Service-Proxies oder Service-Skeletons etabliert werden AUTOSAR_AP_SWS_CommunicationManagement S. 41. Ein Service Consumer oder Provider durchläuft dabei einen deterministischen Auflösungspfad:

  • Spezifizierer ermitteln: Die Anwendung instanziiert oder referenziert den für den jeweiligen Kommunikationsport definierten Bezeichner vom Typ ara::core::InstanceSpecifier.
  • Instanzen auflösen: Der Bezeichner wird an die Funktion ara::com::runtime::ResolveInstanceIDs übergeben [SWS_CM_00118].
  • Ergebnis prüfen: Der Aufruf liefert ein Objekt des Typs ara::core::Result<ara::com::InstanceIdentifierContainer> zurück, das auf erfolgreiche Ausführung oder Fehlerzustände geprüft wird [SWS_CM_00118].
  • Container verarbeiten: Bei Erfolg enthält der ara::com::InstanceIdentifierContainer eine Anzahl von Instanzbezeichnern, die proportional zur Anzahl der gefundenen Treffer im Deployment ist [SWS_CM_00118]. Die Anwendung kann gezielt eine Instanz auswählen oder über alle verfügbaren Instanzen iterieren.
  • Proxy oder Skeleton instanziieren: Die aufgelösten ara::com::InstanceIdentifier-Objekte werden anschließend zur Erzeugung konkreter Proxy- oder Skeleton-Instanzen verwendet AUTOSAR_AP_SWS_CommunicationManagement S. 42.
Instanzauflösung über ara::com::runtime::ResolveInstanceIDsApplikationara::com::runtimeDeployment-RegistryResolveInstanceIDs(instanceSpecifier)Instanzzuordnung abfragenKonfigurierte InstanceIdentifiersaltTreffer gefundenInstanceIdentifierContainer befüllenResult(InstanceIdentifierContainer)Keine Zuordnung vorhandenResult::FromError(ComErrc::kInstanceIDNotResolvable)

Sequenzdiagramm: Aufruf- und Verarbeitungsablauf der Instanzauflösung über ResolveInstanceIDs. Quellen: [SWS_CM_00118], AUTOSAR_AP_SWS_CommunicationManagement S. 41.

Fehlerszenarien

Die Schnittstellen im Namespace ara::com::runtime folgen dem plattformweiten Paradigma robuster, ausnahmefreier Fehlerbehandlung. Entsprechend der Spezifikation ist ResolveInstanceIDs als noexcept deklariert und besitzt die Ausnahme-Sicherheitsstufe exception safe [SWS_CM_00118]. Fehler werden daher niemals über C++-Exceptions signalisiert, sondern vollständig über den Fehlermonaden ara::core::Result transportiert AUTOSAR_AP_SWS_CommunicationManagement S. 47.

Das zentrale spezifizierte Fehlerszenario betrifft den Fehlercode ComErrc::kInstanceIDNotResolvable [SWS_CM_00118]. Dieser Fehler tritt auf, wenn der übergebene ara::core::InstanceSpecifier formal gültig ist, jedoch in der aktuellen Systemkonfiguration oder im Manifest keinem existierenden ara::com::InstanceIdentifier zugeordnet werden kann [SWS_CM_00118]. Dies deutet in der Praxis auf Diskrepanzen zwischen Modellierung und Deployment hin, etwa wenn ein Service Provider auf einer anderen Maschine nicht deployt wurde oder das Binding im Manifest fehlt. Für diesen Fehler gilt die Rollback-Semantik (rollback_semantics): Es werden keine Teilzustände erzeugt oder Ressourcen gebunden, sodass der Aufrufer die Konfiguration prüfen oder in einen definierten Fehlerzustand übergehen kann [SWS_CM_00118].

Dieser Leitfaden basiert auf den Spezifikationen der AUTOSAR Adaptive Platform Release R25-11.

Funktionen

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;

Dokumentation der freien Funktionen

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.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 6e1dc546a5e1 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Funktion ResolveInstanceIDs im Namensraum ara::com::runtime ([SWS_CM_00118]) löst einen modellbasierten Bezeichner vom Typ ara::core::InstanceSpecifier in konkrete technische Instanzen auf. Als Ergebnis liefert sie ein ara::core::Result<ara::com::InstanceIdentifierContainer>, das die zugeordneten ara::com::InstanceIdentifier enthält (EXP ARAComAPI §4 „InstanceSpecifier Resolution“).

Der Container bildet dabei das konfigurierte Deployment ab:

Im Fehlerfall liefert das ara::core::Result den Fehlercode ComErrc::kInstanceIDNotResolvable, wenn der InstanceSpecifier zwar formal gültig ist, aber keinem existierenden InstanceIdentifier zugeordnet werden konnte ([SWS_CM_00118]). Die Funktion ist als noexcept und ausnahmesicher deklariert.

In typischen Anwendungsszenarien ist der direkte Aufruf nicht erforderlich, da Proxy- und Skeleton-APIs Überladungen bereitstellen, die InstanceSpecifier direkt annehmen (EXP ARAComAPI §4 „InstanceSpecifier Resolution“). Die manuelle Auflösung dient vor allem fortgeschrittenen Szenarien, in denen technologiespezifische InstanceIdentifier prozessübergreifend ausgetauscht oder Bindungen gezielt selektiert werden (EXP ARAComAPI §4 „InstanceSpecifier Resolution“).

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.

Implementer's Guide folgt (Komplexität 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