DEENESPTFRRUARHIKOZHNL

class ara::diag::SovdServiceValidation

[SWS_DM_01822] Upstream: RS_Diag_04256

class SovdServiceValidation {...};

Class to implement manufacturer-/supplier-specific checks for SOVD in the application.

Header-Datei#include "ara/diag/sovd_service_validation.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

User GuideKI-GENERIERT

Validiert Zugriffsrechte und Vorbedingungen für eingehende SOVD-Dienstanfragen in der Applikation.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 91ac3d210255 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Validiert Zugriffsrechte und Vorbedingungen für eingehende SOVD-Dienstanfragen in der Applikation.

Die Klasse ara::diag::SovdServiceValidation dient der anwendungsspezifischen Prüfung von Zugriffsrechten und Vorbedingungen bei eingehenden SOVD-Dienstanfragen ([SWS_DM_01822]). Nach der Port-Instanziierung und expliziten Aktivierung über Offer() ruft das Diagnostic Management für jede angefragte Ressource die asynchrone Validierungsmethode Validate() auf ([SWS_DM_01827]). Liefert die Validierung auch nur für eine einzige Teilressource einen Fehlerwert, bricht das System die gesamte Verarbeitung unverzüglich ab und weist die Client-Anfrage zurück. Während die Instanziierung threadsicher ist, müssen Methoden wie Offer() und StopOffer() vom Aufrufer synchronisiert werden.

Kontext

Die Klasse ara::diag::SovdServiceValidation dient in der Adaptive Platform dazu, hersteller- und lieferantenspezifische Prüfungen für Service-Oriented Vehicle Diagnostics (SOVD) innerhalb einer diagnostischen Anwendung bereitzustellen ([SWS_DM_01822]). Während standardisierte Vorbedingungen und Umgebungsbedingungen im Rahmen des SOVD-Protokolls vom Diagnostic Management (DM) vor der Methodenausführung ausgewertet werden ([SWS_DM_01468]), verlagert diese Schnittstelle benutzerdefinierte Validierungslogiken direkt in die adaptive Anwendung.

An der Dienstvalidierung sind drei zentrale Partner beteiligt:

SovdServiceValidationKontext client SOVD-Client dm Diagnostic Management (Diagnostic Server) client->dm SOVD-Request dm->client SOVD-Response handler ara::diag::SovdServiceValidation (Anwendungs-Handler) dm->handler Validate(requestMethod, metaInfo) handler->dm Future<void> (Ergebnis)

Kontextdiagramm: Komponenten und Schnittstellenbeziehungen bei der SOVD-Dienstvalidierung. Quellen: [SWS_DM_01822], [SWS_DM_01823], SWS Diagnostics §7.3.3.2.3 „SOVD – Validation of Environmental Conditions“

Lebenszyklus

Die Instanziierung eines Validierungs-Handlers erfolgt über den Konstruktor von SovdServiceValidation, der über einen ara::core::InstanceSpecifier an einen im Manifest modellierten PortPrototype gebunden wird ([SWS_DM_01823]). Der Port muss hierbei durch ein DiagnosticSovdServiceValidationInterface typisiert sein ([SWS_DM_01823]). Über den Parameter ConcurrencyType definiert die Anwendung verbindlich, ob ihre Implementierung für nebenläufige Aufrufe ausgelegt ist (kConcurrent) oder nicht nebenläufig bedient werden muss (kNotConcurrent) ([SWS_DM_01823]).

Nach erfolgreicher Konstruktion befindet sich die Instanz im initialisierten Zustand. Die Weiterleitung von Anfragen durch das DM muss explizit durch den Aufruf von Offer() aktiviert werden ([SWS_DM_01825]). Soll die Weiterleitung unterbrochen oder beendet werden, deaktiviert die Anwendung diese über StopOffer() ([SWS_DM_01826]). Der virtuelle Destruktor ~SovdServiceValidation() beendet den Lebenszyklus des Handlers sauber ([SWS_DM_01824]). Während der Konstruktor selbst threadsicher spezifiziert ist, sind Offer(), StopOffer() und der Destruktor nicht threadsicher und dürfen nicht nebenläufig aufgerufen werden ([SWS_DM_01823], [SWS_DM_01824], [SWS_DM_01825], [SWS_DM_01826]).

Nutzungspfad

Der typische Ablauf der Validierung gliedert sich in folgende Phasen:

  1. Initialisierung und Registrierung: Die Anwendung instanziiert die spezialisierte Klasse und schaltet den Service mittels Offer() für das DM frei ([SWS_DM_01823], [SWS_DM_01825]). Interpretation: Dies erfolgt typischerweise beim Starten der diagnostischen Funktionalität der Applikation. Frage (offen)
  2. Anfragebearbeitung: Trifft eine SOVD-Nachricht beim Diagnostic Server ein, ruft dieser für jedes in DiagnosticServiceValidationConfiguration konfigurierte Port-Mapping die Methode Validate in der festgelegten Reihenfolge auf (SWS Diagnostics §7.3.3.2.3 „SOVD – Validation of Environmental Conditions“).
  3. Ressourcen-Prüfung: Betrifft der Aufruf eine Ressourcensammlung (Resource Collection), ruft das DM Validate mehrfach auf: genau einmal für die Sammlung selbst und anschließend jeweils einmal für jede in der Sammlung enthaltene Ressource ([SWS_DM_01827]). Der Pfad der aktuell geprüften Ressource wird jeweils in ara::diag::MetaInfo übergeben (SWS Diagnostics §7.3.3.2.3 „SOVD – Validation of Environmental Conditions“).
  4. Asynchrones Ergebnis: Die Methode liefert ein ara::core::Future<void> zurück ([SWS_DM_01827]). Ist die Prüfung erfolgreich, wird der Future ohne Fehlerwert aufgelöst und das DM setzt die Bearbeitung der Anfrage fort (SWS Diagnostics §7.3.3.2.3 „SOVD – Validation of Environmental Conditions“).
  5. Dienst-Deaktivierung: Vor der Terminierung oder bei Konfigurationsänderungen ruft die Anwendung StopOffer() auf ([SWS_DM_01826]).
Ablauf der SOVD-DienstvalidierungSOVD-ClientDiagnostic ManagementSovdServiceValidationOffer()Result<void> (Erfolg)SOVD-Request (Ressource / Collection)loopFür Collection und jede enthaltene RessourceValidate(requestMethod, metaInfo)Herstellerspezifische PrüfungFuture<void> (Result: OK oder DiagSovdErrc)altValidierung aller Ressourcen erfolgreichSOVD-Response (Erfolg)Mindestens eine Validierung schlägt fehlSOVD-Error-Response (Sofortiger Abbruch)

Sequenzdiagramm: Ablauf einer SOVD-Anfrageprüfung über Validate mit Ressourcen-Iteration und Fehlerverarbeitung. Quellen: [SWS_DM_01827], SWS Diagnostics §7.3.3.2.3 „SOVD – Validation of Environmental Conditions“

Fehlerszenarien

Fehler können in unterschiedlichen Phasen der Initialisierung und Ausführung auftreten:

  • Konstruktionsverletzungen: Kann der InstanceSpecifier im Modell nicht aufgelöst werden oder verweist nicht auf einen PortPrototype, wird eine InstanceSpecifierMappingIntegrityViolation gemeldet ([SWS_DM_01823]). Eine PortInterfaceMappingViolation entsteht, wenn der Port nicht dem Interface DiagnosticSovdServiceValidationInterface entspricht ([SWS_DM_01823]). Bei fehlendem Prozess-Mapping tritt ProcessMappingViolation auf, und wird derselbe Bezeichner mehrfach verwendet, folgt eine InstanceSpecifierAlreadyInUseViolation ([SWS_DM_01823]).
  • Registrierungsfehler bei Offer: Ist der Service bereits aktiv angeboten worden, gibt Offer() den Fehler DiagOfferErrc::kAlreadyOffered zurück ([SWS_DM_01825]). Weicht die Konfiguration von der DEXT-Modellierung ab, resultiert der Fehler DiagOfferErrc::kConfigurationMismatch ([SWS_DM_01825]).
  • Fachliche Validierungsfehler: Die Methode Validate meldet Unzulässigkeiten über Fehlercodes aus DiagSovdErrc ([SWS_DM_01827]). Dazu zählen DiagSovdErrc::kInsufficientAccessRights bei unzureichenden Rechten des Clients, DiagSovdErrc::kPreconditionNotFulfilled bei nicht erfüllten Vorbedingungen, DiagSovdErrc::kTemporarilyNotAvailable bei temporärer Nichtverfügbarkeit (z. B. fehlende Online-Token-Validierung) oder DiagSovdErrc::kSovdServerMisconfigured bei fehlerhafter Konfiguration ([SWS_DM_01827]).
  • Sofortiger Abbruch bei Teilressourcen-Fehlern: Schlägt die Validierung auch nur für eine einzige enthaltene Ressource einer Ressourcensammlung fehl, bricht das DM die Bearbeitung der Gesamtanfrage unverzüglich ab und liefert direkt eine Fehlermeldung an den Client zurück (SWS Diagnostics §7.3.3.2.3 „SOVD – Validation of Environmental Conditions“).

Dieser Leitfaden basiert ausschließlich auf der AUTOSAR-Spezifikation R25-11 für das Modul diag und wurde automatisiert erstellt.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__SovdServiceValidation102 SovdServiceValidation + ~SovdServiceValidation() + SovdServiceValidation() + Offer() + StopOffer() + Validate()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructs the port for SovdServiceValidation interface.

explicit SovdServiceValidation (ara::core::InstanceSpecifier instance Specifier, ConcurrencyType concurrencyType) noexcept;

Destructor of SovdServiceValidation.

virtual ~SovdServiceValidation () noexcept;

Methoden

Offer function

Enable the DM to forward request messages to this handler.

ara::core::Result< void > Offer () noexcept;
StopOffer function

Disable the forwarding of request messages from DM.

void StopOffer () noexcept;
Validate function

Called for every SOVD request message. Will be called multiple times if the request is for a resource collection: • once for the resource collection, • once for each resource in the resource collection.

virtual ara::core::Future< void > Validate (SovdRequestMethod request Method, const MetaInfo &metaInfo) noexcept;

Dokumentation der Methoden

function Offer [SWS_DM_01825] Upstream: RS_Diag_04256

ara::core::Result< void > Offer () noexcept;

Enable the DM to forward request messages to this handler.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: af6929f93301 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Mit der synchronen Methode Offer() der Klasse ara::diag::SovdServiceValidation aktiviert die Adaptive Application die Weiterleitung eingehender Validierungsanfragen durch den Diagnostic Management (DM) an den registrierten Handler [SWS_DM_01825]. Der Aufruf erfolgt ohne Übergabeparameter und signalisiert die Empfangsbereitschaft der Handler-Instanz gegenüber dem DM.

Die Methode gibt ein ara::core::Result<void> zurück [SWS_DM_01825]. Im Fehlerfall wird eine Rollback-Semantik angewendet und einer der folgenden Fehlercodes zurückgegeben:

  • DiagOfferErrc::kAlreadyOffered: Der Dienst wurde für diese Instanz bereits zuvor bereitgestellt [SWS_DM_01825].
  • DiagOfferErrc::kConfigurationMismatch: Die Konfiguration stimmt nicht mit dem Diagnose-Extrakt (DEXT) überein [SWS_DM_01825].

Bezüglich der Ausführungssicherheit ist die Methode als exception safe und noexcept definiert, gilt jedoch ausdrücklich als nicht threadsicher (not thread-safe) [SWS_DM_01825]. Interpretation: Parallele Aufrufe auf derselben Instanz dürfen nicht ungeschützt aus konkurrierenden Threads erfolgen und müssen von der Anwendung synchronisiert werden. Frage Q-b07b7c8bb8852378 (offen)

Dieses Vorgehen folgt dem einheitlichen Schnittstellenmuster adaptiver Diagnose-Handler, wie es beispielsweise auch für ara::diag::ServiceValidation [SWS_DM_00776] oder ara::diag::CommunicationControl [SWS_DM_00809] gilt. Solange die Bereitstellung nicht erfolgreich abgeschlossen ist, leitet der DM keine Anfragen an die Instanz weiter [SWS_DM_01825], analog zu Schnittstellen, bei denen noch nicht angebotene Dienste zu Standardantworten oder Ersatzwerten führen [SWS_DM_01525]. Die Spezifikation stellt zudem klar, dass es sich hierbei um eine rein DM-spezifische Registrierung handelt, die nicht mit Dienstangeboten der Kommunikationsverwaltung verwechselt werden darf AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

Dieser Text wurde von einer KI generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagOfferErrc::kAlreadyOfferedrollback_semantics The service is already offered.
DiagOfferErrc::kConfigurationMismatchrollback_semantics monitor configuration does not match DEXT

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

Record
AUTOSAR/AP/record/SWS_DM_01825
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01825@rel:R25-11#8e8c1df3
Content hash
8e8c1df3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01825
Status: valid/unmigrated Version: rel:R25-11#d1affa7c Versionshistorie & Revisions (1 transition, 4 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_DM_01825@rel:R25-11#d1affa7c
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#8e8c1df32026-09-30
  • R23-11rel:R23-11#9d51b0512026-10-14
  • R24-11rel:R24-11#05dd235d2026-10-14
  • R25-11rel:R25-11#d1affa7c2026-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 SovdServiceValidation [SWS_DM_01823] Upstream: RS_Diag_04256, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit SovdServiceValidation (ara::core::InstanceSpecifier instance Specifier, ConcurrencyType concurrencyType) noexcept;

Constructs the port for SovdServiceValidation interface.

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticSovdServiceValidationPortMapping needs to be typed by a DiagnosticSovdServiceValidationInterface. ProcessMappingVio- Matching InstanceRef exists, but no matching (modelled) Process lation found that matches the (runtime) process. InstanceSpecifier- Violation message that is sent in case a constructor in the ara AlreadyInUseViola- framework was called with an InstanceSpecifier already in use in tion this process.

Parameter (in)

ParameterBeschreibung
instanceSpecifierInstanceSpecifier to a PortPrototype of a DiagnosticSovdServiceValidationInterface service instance in the manifest
concurrencyTypeSpecifies if the interface is implemented as thread safe ( kConcurrent) or non-thread safe (kNotConcurrent).

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

Record
AUTOSAR/AP/record/SWS_DM_01823
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01823@rel:R25-11#6acbfc82
Content hash
6acbfc82
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01823
Status: valid/unmigrated Version: rel:R25-11#8b66cc5b Versionshistorie & Revisions (1 transition, 4 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_DM_01823@rel:R25-11#8b66cc5b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#6acbfc822026-09-30
  • R23-11rel:R23-11#e82e8d482026-10-14
  • R24-11rel:R24-11#76e3ab032026-10-14
  • R25-11rel:R25-11#8b66cc5b2026-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 StopOffer [SWS_DM_01826] Upstream: RS_Diag_04256

void StopOffer () noexcept;

Disable the forwarding of request messages from DM.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f898528d6191 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode StopOffer der Klasse ara::diag::SovdServiceValidation ([SWS_DM_01826], Header-Datei ara/diag/sovd_service_validation.h) deaktiviert die Weiterleitung von Anforderungsnachrichten (request messages) aus dem Diagnostic Management (DM) an die Validierungsinstanz. Sie nimmt keine Übergabeparameter entgegen und liefert keinen Rückgabewert ([SWS_DM_01826]). Die Namensgebung folgt dem einheitlichen Muster diagnostischer Schnittstellen in AUTOSAR Adaptive, die sich an der Deaktivierungssemantik von ara::com orientieren, jedoch eine eigenständige Implementierung innerhalb von ara::diag darstellen (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“).

Fehlerbehandlung und Ausnahmesicherheit

Die Operation ist mit noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert ([SWS_DM_01826]). Da keine Rückgabewerte existieren, werden Fehler weder über Rückgabecodes noch über C++-Exceptions signalisiert ([SWS_DM_01826]).

Nebenläufigkeit und Einschränkungen

Hinsichtlich des Aufrufkontextes ist StopOffer als nicht threadsicher (not thread-safe) eingestuft ([SWS_DM_01826]). Nebenläufige Aufrufe an derselben Instanz von ara::diag::SovdServiceValidation müssen daher anwendungsseitig synchronisiert werden. Interpretation: Es dürfte davon auszugehen sein, dass StopOffer typischerweise beim Herunterfahren der Komponente oder bei vorübergehender Nicht-Verfügbarkeit der SoVD-Validierungsroutine aufgerufen wird. Frage Q-2bb0abf30ae69829 (offen)

Zusammenspiel

Das Verhalten entspricht dem standardisierten Bereitstellungsmuster in Diagnostic Management: Wie bei der klassischen Dienstvalidierung ara::diag::ServiceValidation::StopOffer ([SWS_DM_00777]), dem Monitor-Port ([SWS_DM_01089]) oder der Authentifizierung ([SWS_DM_01131]) entzieht StopOffer dem DM die Möglichkeit, weitere eingehende Anfragen zuzustellen.

Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_01826
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01826@rel:R25-11#27731bd2
Content hash
27731bd2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01826
Status: valid/unmigrated Version: rel:R25-11#86e867c3 Versionshistorie & Revisions (1 transition, 4 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_DM_01826@rel:R25-11#86e867c3
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#27731bd22026-09-30
  • R23-11rel:R23-11#2f946d222026-10-14
  • R24-11rel:R24-11#3542c6992026-10-14
  • R25-11rel:R25-11#86e867c32026-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 Validate [SWS_DM_01827] Upstream: RS_Diag_04256, RS_Diag_04273

virtual ara::core::Future< void > Validate (SovdRequestMethod request Method, const MetaInfo &metaInfo) noexcept;

Called for every SOVD request message. Will be called multiple times if the request is for a resource collection: • once for the resource collection, • once for each resource in the resource collection.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 9e29b9fe90cc Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode ara::diag::SovdServiceValidation::Validate wird vom Diagnostic Management (DM) für jede eingehende SOVD-Anforderungsnachricht aufgerufen ([SWS_DM_01827]). Handelt es sich um eine Anforderung auf eine Ressourcen-Kollektion, erfolgt der Aufruf mehrfach: einmal für die Kollektion selbst und anschließend für jede darin enthaltene Einzelressource ([SWS_DM_01827]). Der DM führt die Aufrufe für alle konfigurierten Instanzen von DiagnosticSovdServiceValidationPortMapping in der festgelegten Reihenfolge aus, wobei der jeweilige Ressourcenpfad über den Parameter metaInfo übergeben wird (AUTOSAR_AP_SWS_Diagnostics §7.3.3.2.4 „SOVD – Service Validation of Requests“). Neben metaInfo nimmt die Funktion die HTTP-Methode requestMethod entgegen ([SWS_DM_01827]). Die Ausführung erfolgt asynchron und liefert ein ara::core::Future<void> zurück, welches die Validierung bestätigt oder einen Fehler übermittelt ([SWS_DM_01827]).

Fehlerbehandlung

Gibt ein Aufruf von Validate für eine Ressource einen Fehler zurück, bricht der DM die weitere Anfrageverarbeitung sofort ab und meldet unverzüglich einen Fehler an den SOVD-Client (AUTOSAR_AP_SWS_Diagnostics §7.3.3.2.4 „SOVD – Service Validation of Requests“). Spezifische Fehlercodes aus DiagSovdErrc umfassen kSovdServerMisconfigured bei fehlerhafter Serverkonfiguration, kPreconditionNotFulfilled bei verletzten Vorbedingungen, kTemporarilyNotAvailable bei temporärer Nichtverfügbarkeit sowie kInsufficientAccessRights bei fehlenden Rechten ([SWS_DM_01827]). Interpretation: Die gemeldeten Fehler dürften vom Server in entsprechende HTTP-Fehlerstatuscodes für den Client umgesetzt werden. Frage Q-2734018f9a543b51 (offen)

Nebenläufigkeit und Einschränkungen

Die Funktion ist als noexcept deklariert und somit ausnahmesicher ([SWS_DM_01827]). Die Threadsicherheit ist konditional (conditional) spezifiziert: Ob die Implementierung threadsicher ausgelegt sein muss, bestimmt der bei der Instanziierung übergebene ConcurrencyType ([SWS_DM_01827]).

Zusammenspiel

Die Funktion grenzt sich von der UDS-basierten Validierung ara::diag::ServiceValidation::Validate ([SWS_DM_00774]) für Hersteller- und Lieferanten-Callouts ([SWS_DM_01252], [SWS_DM_01253]) ab. Ebenso ist die Autorisierungsprüfung getrennt, welche über ara::diag::SovdAuthorization::ValidateAuthorization erfolgt ([SWS_DM_01483], [SWS_DM_01470]). Vor Methodenaufrufen prüft der DM zudem Umgebungsbedingungen ([SWS_DM_01468]), deren Nichterfüllung mit HTTP-Status 503 beantwortet wird ([SWS_DM_01466]).

Dieser Hinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitconditional whether the function has to be implemented thread safe or non-thread safe is determined by the ConcurrencyType given in the constructor

Parameter (in)

ParameterBeschreibung
requestMethodThe HTTP method used in the SOVD request message.
metaInfoMetaInfo of the request (includes the path of the requested resource or resource collection).

Rückgabewert

TypBeschreibung
ara::core::Future< void >Value if the request is allowed, or an error.

Fehler

FehlercodeBeschreibung
DiagSovdErrc::kSovdServerMisconfiguredrollback_semantics The SOVD server is not configured correctly, e.g. required configuration files or other data is missing.
DiagSovdErrc::kPreconditionNotFulfilledrollback_semantics The preconditions to execute the method are not fulfilled.
DiagSovdErrc::kTemporarilyNotAvailablerollback_semantics The request currently can’t be served, e.g. in case the access token currently can’t be verified (e.g. because online verification is needed and the authentication server can’t be reached).
DiagSovdErrc::kInsufficientAccessRightsrollback_semantics The SOVD client does not have the right to access the resource.
Hinweise: Or any other DiagSovdErrc for an SOVD-specific error message.

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

Record
AUTOSAR/AP/record/SWS_DM_01827
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01827@rel:R25-11#c71bec3d
Content hash
c71bec3d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01827
Status: valid/unmigrated Version: rel:R25-11#50e04e48 Versionshistorie & Revisions (1 transition, 4 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_DM_01827@rel:R25-11#50e04e48
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#c71bec3d2026-09-30
  • R23-11rel:R23-11#5053aa042026-10-14
  • R24-11rel:R24-11#51fa3be32026-10-14
  • R25-11rel:R25-11#50e04e482026-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 ~SovdServiceValidation [SWS_DM_01824] Upstream: RS_Diag_04256

virtual ~SovdServiceValidation () noexcept;

Destructor of SovdServiceValidation.

Header-Datei#include "ara/diag/sovd_service_validation.h"
Scopeclass ara::diag::SovdServiceValidation
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_01824
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01824@rel:R25-11#b0aca721
Content hash
b0aca721
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01824
Status: valid/unmigrated Version: rel:R25-11#1ba0bac6 Versionshistorie & Revisions (1 transition, 4 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_DM_01824@rel:R25-11#1ba0bac6
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b0aca7212026-09-30
  • R23-11rel:R23-11#de0994492026-10-14
  • R24-11rel:R24-11#229651762026-10-14
  • R25-11rel:R25-11#1ba0bac62026-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