DEENESPTFRRUARHIKOZHNL

class ara::diag::ServiceValidation

[SWS_DM_00771] Upstream: RS_Diag_04199

class ServiceValidation {...};

DiagnosticServiceValidationInterface.

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

User GuideKI-GENERIERT

Validiert eingehende Diagnoseanforderungen im Diagnostic Management anhand von Hersteller- oder Zuliefererprüfungen.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f91c31f76f32 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Validiert eingehende Diagnoseanforderungen im Diagnostic Management anhand von Hersteller- oder Zuliefererprüfungen.

Die Klasse ara::diag::ServiceValidation dient der anwendungsspezifischen Validierung eingehender UDS-Diagnoseanforderungen im Diagnostic Management anhand von Hersteller- oder Zuliefererkriterien [SWS_DM_00772]. Nach der Erzeugung muss der Dienst mittels Offer() aktiviert werden, damit Anfragedaten asynchron zur Prüfung an Validate() weitergeleitet und anschließend über Confirmation() bestätigt werden [SWS_DM_00776]. Als wesentliche Randbedingung ist die Instanz an einen Port gebunden, weder kopier- noch verschiebbar und abseits des Konstruktors nicht threadsicher.

Kontext

Die Klasse ara::diag::ServiceValidation stellt die Programmierschnittstelle für das Modellierungselement DiagnosticServiceValidationInterface innerhalb des AUTOSAR-Adaptive-Diagnosestacks bereit. Über diese Schnittstelle kann eine Anwendung anwendungsspezifische Prüfungen für eingehende Diagnoseanforderungen implementieren. Die Instanz interagiert direkt mit dem Diagnostic Management (DM), welches autorisiert wird, eingehende Diagnoseanforderungen an die Validierungslogik weiterzuleiten [SWS_DM_00776].

Die funktionale Zuordnung der Validierung wird über das Modellierungsattribut DiagnosticServiceValidationMapping.category gesteuert. In Abhängigkeit von dieser Kategorie wird die Validierungsmethode Validate() im Rahmen der UDS-Reaktionsregeln gemäß ISO 14229-1 (Kapitel 8.7) entweder im Kontext einer Herstellerprüfung („Manufacturer Check“) oder einer Zuliefererprüfung („Supplier Check“) aufgerufen [SWS_DM_00772]. Das DM dürfte eingehende Anforderungsnachrichten vor der eigentlichen Serviceausführung dieser Validierungsprüfung unterziehen, um unzulässige Anfragen frühzeitig zu filtern. Frage Q-d84302d27d940634 (offen)

Lebenszyklus

Die Erzeugung erfolgt explizit über den Konstruktor unter Angabe eines ara::core::InstanceSpecifier, welcher auf einen im Systemmodell definierten PortPrototype verweisen muss [SWS_DM_00772]. ara::diag::ServiceValidation ist als nicht kopierbare und nicht verschiebbare Einzelinstanz ausgelegt: Sowohl der Kopierkonstruktor [SWS_DM_01689] als auch der Verschiebekonstruktor [SWS_DM_01690] sowie die Zuweisungsoperatoren für Kopie [SWS_DM_01687] und Verschiebung [SWS_DM_01688] sind als gelöscht (=delete) deklariert.

Nach der Initialisierung befindet sich das Objekt im Ruhezustand. Erst durch den Aufruf von Offer() wird die Weiterleitung von Diagnoseanforderungen vom DM an den Handler freigeschaltet [SWS_DM_00776]. Die Dienstanbietung kann während der Laufzeit über StopOffer() beendet werden, wodurch das DM die Weiterleitung wieder deaktiviert [SWS_DM_00777]. Die Freigabe der Ressourcen erfolgt über den virtuellen Destruktor ~ServiceValidation() [SWS_DM_00773].

Hinsichtlich der Nebenläufigkeit ist ausschließlich der Konstruktor als threadsicher spezifiziert [SWS_DM_00772]. Die Methoden Offer() [SWS_DM_00776], StopOffer() [SWS_DM_00777], Validate() [SWS_DM_00774], Confirmation() [SWS_DM_00775] sowie der Destruktor [SWS_DM_00773] sind als nicht threadsicher klassifiziert, jedoch ausnahmesicher (noexcept).

Nutzungspfad

Die konkrete Validierungslogik wird vermutlich durch Ableitung von ara::diag::ServiceValidation und Überschreiben der virtuellen Schnittstellenmethoden durch die Anwendung bereitgestellt. Frage Q-84efdab7839212b5 (offen) Der typische Betriebsablauf gliedert sich in folgende Phasen:

  1. Instanziierung: Erzeugen der Instanz unter Übergabe des InstanceSpecifier, der den konfigurierten Port referenziert [SWS_DM_00772].
  2. Dienstanbietung: Aufruf von Offer() zur Aktivierung der Anforderungsweiterleitung durch das DM [SWS_DM_00776].
  3. Validierung: Bei jeder eingehenden Diagnoseanforderung ruft das DM die Methode Validate() auf [SWS_DM_00774]. Übergeben werden die Rohdaten (einschließlich Service Identifier, SID) als ara::core::Span<const std::uint8_t> sowie die MetaInfo der Anfrage [SWS_DM_00774]. Die Daten bleiben gültig, bis das zurückgegebene ara::core::Future<void> erfüllt ist oder die Verarbeitung durch einen Cancellation-Handler abgebrochen wird [SWS_DM_00774].
  4. Bestätigung: Sobald die Bearbeitung der Diagnoseanforderung abgeschlossen ist, informiert das DM den Handler über die Methode Confirmation() unter Übergabe des Ergebnisstatus (ConfirmationStatusType) und der MetaInfo [SWS_DM_00775].
  5. Deaktivierung: Beenden der Anforderungsverarbeitung mittels StopOffer() [SWS_DM_00777].
Validierungs- und Bestätigungsablauf eines Diagnose-RequestsAnwendungServiceValidationDiagnostic ManagementOffer()Registrierung aktivierenValidate(requestData, metaInfo)Prüfung Daten & MetaInfoaltValidierung erfolgreichFuture<void> (Erfolg)Validierung fehlgeschlagenFuture<void> (DiagUdsNrcErrc)Confirmation(status, metaInfo)StopOffer()Registrierung deaktivieren

Sequenzdiagramm: Aufrufabfolge zur Validierung und Bestätigung einer Diagnoseanforderung. Quellen: [SWS_DM_00772], [SWS_DM_00774], [SWS_DM_00775], [SWS_DM_00776], [SWS_DM_00777].

Fehlerszenarien

Fehlerbedingungen treten sowohl bei der statischen Konfigurationsprüfung während der Konstruktion als auch zur Laufzeit auf:

  • Konstruktionsverletzungen: Der Konstruktor meldet spezifische Modellierungsfehler als Violations [SWS_DM_00772]:
    • InstanceSpecifierMappingIntegrityViolation: Der Bezeichner lässt sich im Kontext der Executable nicht auflösen oder verweist nicht auf einen PortPrototype [SWS_DM_00772].
    • PortInterfaceMappingViolation: Der referenzierte PortPrototype ist nicht durch ein DiagnosticServiceValidationInterface typisiert [SWS_DM_00772].
    • ProcessMappingViolation: Für den Prozess existiert kein passender modellierter Process [SWS_DM_00772].
    • InstanceSpecifierAlreadyInUseViolation: Der InstanceSpecifier wird im laufenden Prozess bereits von einer anderen Instanz genutzt [SWS_DM_00772].
  • Dienstanbietung: Wird Offer() aufgerufen, wenn der Dienst bereits aktiv angeboten wird, liefert der Rückgabewert ara::core::Result<void> den Fehlercode DiagOfferErrc::kAlreadyOffered zurück [SWS_DM_00776].
  • Validierungsfehler: Schlägt die inhaltliche Überprüfung der Anforderung fehl, signalisiert die Anwendung die Ablehnung über das zurückgegebene ara::core::Future<void> durch Setzen eines entsprechenden Negative Response Code (NRC) aus ISO 14229-1 via DiagUdsNrcErrc [SWS_DM_00774].

Dieser Leitfaden basiert auf der AUTOSAR-Adaptive-Spezifikation R25-11 für das Modul diag.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__ServiceValidation871 ServiceValidation + ServiceValidation() + operator=() + ~ServiceValidation() + Confirmation() + Offer() + StopOffer() + Validate()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructor of ServiceValidation. Depending on value of attribute DiagnosticServiceValidationMapping.category, the Validate is either called in the context of the NRC sequence in chapter 8.7 response implementation rules from UDS ISO 14229-1 as a Manufacturer or a Supplier Check.

Überladungen ServiceValidation 3
explicit ServiceValidation (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_00772
ServiceValidation (ServiceValidation &)=delete; SWS_DM_01689
ServiceValidation (ServiceValidation &&)=delete; SWS_DM_01690

Destructor of ServiceValidation .

virtual ~ServiceValidation () noexcept;

Methoden

Confirmation function

This method is called, when a diagnostic request has been finished, to notify about the outcome.

virtual void Confirmation (ConfirmationStatusType status, const Meta Info &metaInfo) noexcept;
Offer function

This Offer will enable the DM to forward request messages to this handler.

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

This StopOffer will disable the forwarding of request messages from DM.

void StopOffer () noexcept;
Validate function

Called for any request message.

virtual ara::core::Future< void > Validate (ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo) noexcept;

Operatoren

operator= function 2

ServiceValidation shall be a single not assignable instance.

Überladungen = 2

Dokumentation der Methoden

function Confirmation [SWS_DM_00775] Upstream: RS_AP_00138, RS_Diag_04170, RS_Diag_04199

virtual void Confirmation (ConfirmationStatusType status, const Meta Info &metaInfo) noexcept;

This method is called, when a diagnostic request has been finished, to notify about the outcome.

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

Die Methode Confirmation der Schnittstelle ara::diag::ServiceValidation ([SWS_DM_00775], deklariert in ara/diag/service_validation.h) dient als Benachrichtigung über den Abschluss und das Resultat einer zuvor verarbeiteten Diagnoseanforderung.

Verwendung und Semantik

Die virtuelle Callback-Funktion wird synchron vom Diagnostic Management aufgerufen, sobald die Anfragebearbeitung beendet ist. Sie besitzt keinen Rückgabewert (void) und nimmt zwei Übergabeparameter entgegen ([SWS_DM_00775]):

  • status (ConfirmationStatusType): Signalisiert den finalen Status bzw. das Ergebnis der Service-Verarbeitung ([SWS_DM_00775]).
  • metaInfo (const Meta Info &): Enthält zugehörige Metainformationen der Diagnoseanforderung ([SWS_DM_00775]).

Fehlerbehandlung und Nebenläufigkeit

Die Funktion ist als ausnahmesicher (exception safe) spezifiziert und mit dem Bezeichner noexcept deklariert ([SWS_DM_00775]). Anwendungsseitige Überschreibungen dürfen daher keine Ausnahmen nach außen propagieren. Spezifische Fehlercodes wie DET- oder DEM-Meldungen sind für diese Methode nicht definiert. Hinsichtlich der Nebenläufigkeit ist Confirmation als nicht threadsicher (not thread-safe) klassifiziert ([SWS_DM_00775]); der Zugriff auf anwendungsinterne Zustände innerhalb des Callbacks erfordert bei parallelen Abläufen eine entsprechende Synchronisation.

Zusammenspiel

Das Auslösen der Benachrichtigung ist an das Lebenszyklusende einer Diagnoseanforderung gekoppelt ([SWS_DM_00775]). Dieser Zyklus wird abgeschlossen, sobald eine positive oder negative Antwort übertragen bzw. unterdrückt wurde (AUTOSAR_AP_SWS_Diagnostics §7.3.2.1.2 „Life-cycle of a Diagnostic Conversation“). Interpretation: Auf Modulebene dürfte das Diagnostic Management den Callback Confirmation erst dann anstoßen, wenn die Übertragung über die Transportschicht mittels TransmitConfirmation und dem Ergebnis kTransmitOk bzw. kTransmitFailed quittiert wurde ([SWS_DM_00307], [SWS_DM_00351]). Frage Q-97c38586ef5e3704 (offen)

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

Implementer's Guide folgt (Komplexität I2)

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

Parameter (in)

ParameterBeschreibung
statusstatus/outcome of the service processing.
metaInfoMetaInfo of the request.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00775
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00775@rel:R25-11#04409010
Content hash
04409010
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00775
Status: valid/unmigrated Version: rel:R25-11#bbcfd2e3 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_DM_00775@rel:R25-11#bbcfd2e3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#044090102026-09-30
  • R19-11rel:R19-11#20a5939d2026-10-14
  • R20-11rel:R20-11#761e125d2026-10-14
  • R21-11rel:R21-11#761e125d2026-10-14
  • R22-11rel:R22-11#991a58222026-10-14
  • R23-11rel:R23-11#a506b4142026-10-14
  • R24-11rel:R24-11#5339f3712026-10-14
  • R25-11rel:R25-11#bbcfd2e32026-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 Offer [SWS_DM_00776] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04199

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

This Offer will 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: 90f000c47eb7 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Elementfunktion Offer der Klasse ara::diag::ServiceValidation (Header ara/diag/service_validation.h) aktiviert die Weiterleitung eingehender Diagnoseanfragen durch den Diagnostic Manager (DM) an diesen spezifischen Validierungs-Handler [SWS_DM_00776]. Der Aufruf erfolgt synchron und ohne Übergabeparameter über die Signatur ara::core::Result<void> Offer() noexcept; [SWS_DM_00776]. Als Rückgabewert dient ein ara::core::Result<void>, das im Erfolgsfall leer ist oder im Fehlerfall den aufgetretenen Fehlercode kapselt [SWS_DM_00776].

Fehlerbehandlung

Schlägt die Registrierung fehl, liefert die Methode ein fehlerhaftes Result zurück. Falls der Dienst für die betreffende Instanz bereits zuvor angeboten wurde, wird der Fehlercode DiagOfferErrc::kAlreadyOffered zurückgegeben [SWS_DM_00776]. Hierbei gilt eine Rollback-Semantik, sodass der vorherige Zustand der Instanz unverändert bestehen bleibt [SWS_DM_00776].

Nebenläufigkeit und Einschränkungen

Die Funktion ist als ausnahmesicher (exception safe), jedoch ausdrücklich als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_00776]. Parallele Zugriffe auf dieselbe Instanz müssen von der aufrufenden Applikation koordiniert werden. Bezüglich der Reihenfolge muss Offer aufgerufen werden, bevor der Diagnostic Manager Dienstanforderungen zur Validierung weiterleiten kann [SWS_DM_00776].

Zusammenspiel

Das Anbieten von Schnittstellen über Offer ist ein konsistentes Entwurfsmuster der AUTOSAR-Adaptive-Diagnose und wird analog unter anderem bei Routinen ([SWS_DM_00557], [SWS_DM_00594]), generischen UDS-Diensten ([SWS_DM_00619]), DoIP-Funktionen ([SWS_DM_00725], [SWS_DM_00735]) sowie Sicherheitszugriffen ([SWS_DM_00766]) eingesetzt. Solange eine Schnittstelle nicht via Offer bereitgestellt wurde, verwirft der DM Anfragen bzw. greift auf definierte Ersatzwerte zurück ([SWS_DM_01525], [SWS_DM_01527]). Begriffliche Parallelen zu ara::com sind funktional motiviert, stellen jedoch eine eigenständige Implementierung der Diagnose dar (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“).

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR Adaptive R25-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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.

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

Record
AUTOSAR/AP/record/SWS_DM_00776
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00776@rel:R25-11#f679147c
Content hash
f679147c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00776
Status: valid/unmigrated Version: rel:R25-11#98f79358 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_DM_00776@rel:R25-11#98f79358
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f679147c2026-09-30
  • R19-11rel:R19-11#1c84ea4d2026-10-14
  • R20-11rel:R20-11#cea448532026-10-14
  • R21-11rel:R21-11#bcd37d0f2026-10-14
  • R22-11rel:R22-11#c7eb78232026-10-14
  • R23-11rel:R23-11#3732217c2026-10-14
  • R24-11rel:R24-11#d9522beb2026-10-14
  • R25-11rel:R25-11#98f793582026-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 ServiceValidation [SWS_DM_00772] Upstream: RS_AP_00137, RS_Diag_04199, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit ServiceValidation (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor of ServiceValidation. Depending on value of attribute DiagnosticServiceValidationMapping.category, the Validate is either called in the context of the NRC sequence in chapter 8.7 response implementation rules from UDS ISO 14229-1 as a Manufacturer or a Supplier Check.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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 DiagnosticServiceValidationMapping needs to be typed by a DiagnosticServiceValidationInterface. 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
specifierInstanceSpecifier to a PortPrototype of a DiagnosticServiceValidationInterface

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

Record
AUTOSAR/AP/record/SWS_DM_00772
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00772@rel:R25-11#db1a817b
Content hash
db1a817b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00772
Status: valid/unmigrated Version: rel:R25-11#551e2d84 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_DM_00772@rel:R25-11#551e2d84
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#db1a817b2026-09-30
  • R19-11rel:R19-11#8ba9fe932026-10-14
  • R20-11rel:R20-11#12b557df2026-10-14
  • R21-11rel:R21-11#1f0371f52026-10-14
  • R22-11rel:R22-11#f49056232026-10-14
  • R23-11rel:R23-11#6c563b032026-10-14
  • R24-11rel:R24-11#f8f0ab112026-10-14
  • R25-11rel:R25-11#551e2d842026-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 ServiceValidation [SWS_DM_01689] Upstream: RS_AP_00147

ServiceValidation (ServiceValidation &)=delete;

ServiceValidation shall be a single not copy-able instance.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01689
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01689@rel:R25-11#61492512
Content hash
61492512
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01689
Status: valid/unmigrated Version: rel:R25-11#d48785a6 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_01689@rel:R25-11#d48785a6
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#614925122026-09-30
  • R23-11rel:R23-11#428fd8c92026-10-14
  • R24-11rel:R24-11#d48785a62026-10-14
  • R25-11rel:R25-11#d48785a62026-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 ServiceValidation [SWS_DM_01690] Upstream: RS_AP_00147

ServiceValidation (ServiceValidation &&)=delete;

Move constructor of ServiceValidation.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01690
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01690@rel:R25-11#52b974e0
Content hash
52b974e0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01690
Status: valid/unmigrated Version: rel:R25-11#e4fdb290 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_01690@rel:R25-11#e4fdb290
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#52b974e02026-09-30
  • R23-11rel:R23-11#646ef28b2026-10-14
  • R24-11rel:R24-11#e4fdb2902026-10-14
  • R25-11rel:R25-11#e4fdb2902026-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_00777] Upstream: RS_Diag_04199

void StopOffer () noexcept;

This StopOffer will disable the forwarding of request messages from DM.

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

Verwendung

Die Methode StopOffer() der Klasse ara::diag::ServiceValidation (Header-Datei ara/diag/service_validation.h) dient dazu, das Weiterleiten von eingehenden Anforderungsnachrichten des Diagnostic Management (DM) an die Service-Validierungs-Instanz zu deaktivieren [SWS_DM_00777]. Der Aufruf erfolgt synchron, nimmt keine Übergabeparameter entgegen und liefert keinen Rückgabewert [SWS_DM_00777].

Fehlerbehandlung und Nebenläufigkeit

Die Funktion ist als noexcept deklariert und gilt als ausnahmesicher (exception safe), sodass bei der Ausführung keine C++-Exceptions auftreten [SWS_DM_00777]. Spezifische Fehlercodes oder Rückmeldungen an das Fehlermanagement sind für diesen Aufruf nicht definiert [SWS_DM_00777].

Hinsichtlich der Nebenläufigkeit ist die Methode als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_00777]. Interpretation: Die aufrufende Anwendung muss sicherstellen, dass konkurrierende Aufrufe an derselben Instanz von StopOffer() synchronisiert werden, um Dateninkonsistenzen zu vermeiden. Frage Q-dde3c015d30a9db1 (offen)

Zusammenspiel

Das Bereitstellen und Zurückziehen von Schnittstellen über Offer() und StopOffer() orientiert sich an der bekannten Semantik von ara::com, stellt im Diagnosebereich jedoch eine eigenständige Funktionalität dar AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“. Das Muster zur Deaktivierung der Anforderungsweiterleitung aus dem DM wird im Standard konsistent für weitere Diagnosehandler eingesetzt, wie etwa für Authentifizierungsdienste [SWS_DM_01131], Kommunikationssteuerung [SWS_DM_00810], Download-Dienste [SWS_DM_00793] sowie ECU-Reset-Anforderungen [SWS_DM_01017].

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

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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_00777
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00777@rel:R25-11#ecbd75f1
Content hash
ecbd75f1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00777
Status: valid/unmigrated Version: rel:R25-11#809ce59e 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_DM_00777@rel:R25-11#809ce59e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ecbd75f12026-09-30
  • R19-11rel:R19-11#988e9cc52026-10-14
  • R20-11rel:R20-11#556e7ce62026-10-14
  • R21-11rel:R21-11#ee572f802026-10-14
  • R22-11rel:R22-11#db0a3b992026-10-14
  • R23-11rel:R23-11#c1a089312026-10-14
  • R24-11rel:R24-11#1b0c9f462026-10-14
  • R25-11rel:R25-11#809ce59e2026-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_00774] Upstream: RS_AP_00138, RS_Diag_04170, RS_Diag_04199, RS_AP_00119

virtual ara::core::Future< void > Validate (ara::core::Span< const std::uint8_t > requestData, const MetaInfo &metaInfo) noexcept;

Called for any request message.

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

Verwendung

Die virtuelle Methode ara::diag::ServiceValidation::Validate wird für jede eingehende Diagnoseanforderungsnachricht aufgerufen [SWS_DM_00774]. Der Diagnostic Server (DM) führt darüber konfigurierte herstellerspezifische [SWS_DM_01252] sowie zuliefererspezifische Serviceprüfungen [SWS_DM_01253] nach ISO 14229-1 aus. Die Zuordnung als Hersteller- oder Zuliefererprüfung richtet sich nach der Modellierung im Konstruktor [SWS_DM_00772].

Die Funktion nimmt die Diagnosedaten inklusive Service Identifier (SID) über requestData sowie Metainformationen über metaInfo entgegen [SWS_DM_00774]. Der Puffer requestData bleibt gültig, bis das zurückgegebene ara::core::Future<void> über das zugehörige Promise erfüllt oder die Ausführung abgebrochen wird [SWS_DM_00774]. Wird die Validierung erfolgreich ohne Fehler abgeschlossen, setzt der Diagnostic Server die Verarbeitung der Anforderung gemäß ISO 14229-1 fort [SWS_DM_01254].

Fehlerbehandlung und Randbedingungen

Schlägt die Prüfung fehl, ist ein passender NRC gemäß ISO 14229-1 mittels DiagUdsNrcErrc zurückzugeben [SWS_DM_00774]. Liefert Validate den Fehler kNoProcessingNoResponse, verwirft die Instanz des Diagnostic Servers die Nachricht ohne weitere Antwort [SWS_DM_00860].

Hinsichtlich der Nebenläufigkeit ist Validate als ausnahmesicher (exception safe), jedoch als nicht threadsicher (not thread-safe) spezifiziert [SWS_DM_00774]. Interpretation: Da die Funktion nicht threadsicher ist, dürfte der Diagnostic Server Aufrufe an dieselbe Instanz serialisieren oder konkurrierende Zugriffe ausschließen. Frage Q-e150c15ad709602c (offen) Der Aufrufkontext ist durch die NRC-Sequenz der ISO 14229-1 vor der eigentlichen Serviceausführung festgelegt [SWS_DM_00772].

Dieser Nutzungshinweis wurde automatisiert auf Basis der AUTOSAR-Adaptive-Spezifikation R25-11 erstellt.

Implementer's Guide folgt (Komplexität I1)

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

Parameter (in)

ParameterBeschreibung
requestDataDiagnostic request data (including SID). Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_00774
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00774@rel:R25-11#97b264c9
Content hash
97b264c9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00774
Status: valid/unmigrated Version: rel:R25-11#697b56ca 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_DM_00774@rel:R25-11#697b56ca
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#97b264c92026-09-30
  • R19-11rel:R19-11#7333f5562026-10-14
  • R20-11rel:R20-11#5a132c282026-10-14
  • R21-11rel:R21-11#59f85a3b2026-10-14
  • R22-11rel:R22-11#43a758b42026-10-14
  • R23-11rel:R23-11#05e1af662026-10-14
  • R24-11rel:R24-11#8a3b62802026-10-14
  • R25-11rel:R25-11#697b56ca2026-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 operator= [SWS_DM_01687] Upstream: RS_AP_00147

ServiceValidation & operator= (ServiceValidation &)=delete;

ServiceValidation shall be a single not assignable instance.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01687
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01687@rel:R25-11#cca774bf
Content hash
cca774bf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01687
Status: valid/unmigrated Version: rel:R25-11#4d0e8e99 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_01687@rel:R25-11#4d0e8e99
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#cca774bf2026-09-30
  • R23-11rel:R23-11#b0b3cfec2026-10-14
  • R24-11rel:R24-11#4d0e8e992026-10-14
  • R25-11rel:R25-11#4d0e8e992026-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 operator= [SWS_DM_01688] Upstream: RS_AP_00147

ServiceValidation & operator= (ServiceValidation &&)=delete;

Move assignment operator of ServiceValidation.

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation

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

Record
AUTOSAR/AP/record/SWS_DM_01688
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01688@rel:R25-11#070b5419
Content hash
070b5419
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01688
Status: valid/unmigrated Version: rel:R25-11#1b73524b 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_01688@rel:R25-11#1b73524b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#070b54192026-09-30
  • R23-11rel:R23-11#451c17372026-10-14
  • R24-11rel:R24-11#1b73524b2026-10-14
  • R25-11rel:R25-11#1b73524b2026-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 ~ServiceValidation [SWS_DM_00773] Upstream: RS_AP_00134, RS_Diag_04199

virtual ~ServiceValidation () noexcept;

Destructor of ServiceValidation .

Header-Datei#include "ara/diag/service_validation.h"
Scopeclass ara::diag::ServiceValidation
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_00773
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00773@rel:R25-11#6c06b72e
Content hash
6c06b72e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00773
Status: valid/unmigrated Version: rel:R25-11#ef75a44c 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_DM_00773@rel:R25-11#ef75a44c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#6c06b72e2026-09-30
  • R19-11rel:R19-11#7fc7f8282026-10-14
  • R20-11rel:R20-11#c80e4a8e2026-10-14
  • R21-11rel:R21-11#c80e4a8e2026-10-14
  • R22-11rel:R22-11#af4050602026-10-14
  • R23-11rel:R23-11#bfb288b52026-10-14
  • R24-11rel:R24-11#ef75a44c2026-10-14
  • R25-11rel:R25-11#ef75a44c2026-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