DEENESPTFRRUARHIKOZHNL

classe 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

Guide utilisateurGÉNÉRÉ PAR IA

Valide les requêtes de diagnostic entrantes dans le Diagnostic Management à l'aide de vérifications constructeur ou équipementier.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f91c31f76f32 Provenance Questions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Valide les requêtes de diagnostic entrantes dans le Diagnostic Management à l'aide de vérifications constructeur ou équipementier.

La classe ara::diag::ServiceValidation sert à la validation spécifique à l'application des requêtes de diagnostic UDS entrantes dans le Diagnostic Management sur la base de critères constructeur ou équipementier [SWS_DM_00772]. Après la création, le service doit être activé au moyen de Offer() afin que les données de requête soient réacheminées de manière asynchrone vers Validate() pour vérification, puis confirmées via Confirmation() [SWS_DM_00776]. Comme contrainte essentielle, l'instance est liée à un port, n'est ni copiable ni déplaçable, et n'est pas thread-safe en dehors du constructeur.

Contexte

La classe ara::diag::ServiceValidation fournit l'interface de programmation pour l'élément de modélisation DiagnosticServiceValidationInterface au sein de la pile de diagnostic d'AUTOSAR Adaptive. Via cette interface, une application peut implémenter des contrôles spécifiques à l'application pour les requêtes de diagnostic entrantes. L'instance interagit directement avec le Diagnostic Management (DM), qui est autorisé à réacheminer les requêtes de diagnostic entrantes vers la logique de validation [SWS_DM_00776].

L'attribution fonctionnelle de la validation est pilotée par l'attribut de modélisation DiagnosticServiceValidationMapping.category. En fonction de cette catégorie, la méthode de validation Validate() est appelée dans le cadre des règles de réaction UDS selon l'ISO 14229-1 (chapitre 8.7), soit dans le contexte d'une vérification constructeur (« Manufacturer Check »), soit dans celui d'une vérification équipementier (« Supplier Check ») [SWS_DM_00772]. Le DM devrait soumettre les messages de requête entrants à ce contrôle de validation avant l'exécution effective du service, afin de filtrer précocement les requêtes non autorisées. Question Q-d84302d27d940634 (ouverte)

Cycle de vie

La création s'effectue explicitement via le constructeur en spécifiant un ara::core::InstanceSpecifier, qui doit pointer vers un PortPrototype défini dans le modèle de système [SWS_DM_00772]. ara::diag::ServiceValidation est conçue comme une instance unique non copiable et non déplaçable : le constructeur de copie [SWS_DM_01689] et le constructeur de déplacement [SWS_DM_01690], ainsi que les opérateurs d'affectation par copie [SWS_DM_01687] et par déplacement [SWS_DM_01688], sont tous déclarés comme supprimés (=delete).

Après l'initialisation, l'objet se trouve à l'état de repos. Ce n'est que par l'appel de Offer() que le réacheminement des requêtes de diagnostic du DM vers le gestionnaire est activé [SWS_DM_00776]. La mise à disposition du service peut être terminée pendant l'exécution via StopOffer(), ce par quoi le DM désactive à nouveau le réacheminement [SWS_DM_00777]. La libération des ressources s'effectue via le destructeur virtuel ~ServiceValidation() [SWS_DM_00773].

En ce qui concerne la concurrence, seul le constructeur est spécifié comme thread-safe [SWS_DM_00772]. Les méthodes Offer() [SWS_DM_00776], StopOffer() [SWS_DM_00777], Validate() [SWS_DM_00774], Confirmation() [SWS_DM_00775] ainsi que le destructeur [SWS_DM_00773] sont classés comme non thread-safe, mais sont sûrs vis-à-vis des exceptions (noexcept).

Parcours d'utilisation

La logique de validation concrète est vraisemblablement fournie par dérivation de ara::diag::ServiceValidation et surcharge des méthodes virtuelles de l'interface par l'application. Question Q-84efdab7839212b5 (ouverte) Le déroulement opérationnel typique s'articule selon les phases suivantes :

  1. Instanciation : création de l'instance en transmettant le InstanceSpecifier qui référence le port configuré [SWS_DM_00772].
  2. Mise à disposition du service : appel de Offer() pour activer le réacheminement des requêtes par le DM [SWS_DM_00776].
  3. Validation : à chaque requête de diagnostic entrante, le DM appelle la méthode Validate() sur [SWS_DM_00774]. Sont transmises les données brutes (y compris le Service Identifier, SID) sous forme de ara::core::Span<const std::uint8_t> ainsi que la MetaInfo de la requête [SWS_DM_00774]. Les données restent valides jusqu'à ce que le ara::core::Future<void> renvoyé soit satisfait ou que le traitement soit interrompu par un gestionnaire d'annulation (cancellation handler) [SWS_DM_00774].
  4. Confirmation : dès que le traitement de la requête de diagnostic est terminé, le DM informe le gestionnaire via la méthode Confirmation() en lui transmettant l'état du résultat (ConfirmationStatusType) et la MetaInfo [SWS_DM_00775].
  5. Désactivation : fin du traitement de la requête au moyen de StopOffer() [SWS_DM_00777].
Déroulement de validation et de confirmation d'une requête de diagnosticApplicationServiceValidationGestion des diagnosticsOffer()Registrierung aktivierenValidate(requestData, metaInfo)Contrôle des données & MetaInfoaltValidierung erfolgreichFuture<void> (Erfolg)Validierung fehlgeschlagenFuture<void> (DiagUdsNrcErrc)Confirmation(status, metaInfo)StopOffer()Registrierung deaktivieren

Diagramme de séquence : séquence d'appels pour la validation et la confirmation d'une requête de diagnostic. Sources : [SWS_DM_00772], [SWS_DM_00774], [SWS_DM_00775], [SWS_DM_00776], [SWS_DM_00777].

Scénarios d'erreur

Des conditions d'erreur surviennent tant lors du contrôle statique de configuration pendant la construction qu'à l'exécution :

  • Violations de construction : le constructeur signale des erreurs de modélisation spécifiques sous forme de violations [SWS_DM_00772] :
    • InstanceSpecifierMappingIntegrityViolation : l'identifiant ne peut pas être résolu dans le contexte de l'exécutable ou ne référence pas un PortPrototype [SWS_DM_00772].
    • PortInterfaceMappingViolation : le PortPrototype référencé n'est pas typé par un DiagnosticServiceValidationInterface [SWS_DM_00772].
    • ProcessMappingViolation : aucun Process modélisé correspondant n'existe pour le processus [SWS_DM_00772].
    • InstanceSpecifierAlreadyInUseViolation : le InstanceSpecifier est déjà utilisé par une autre instance dans le processus en cours d'exécution [SWS_DM_00772].
  • Mise à disposition du service : si Offer() est appelé alors que le service est déjà activement proposé, la valeur de retour ara::core::Result<void> renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered [SWS_DM_00776].
  • Erreurs de validation : si la vérification du contenu de la requête échoue, l'application signale le rejet via le ara::core::Future<void> renvoyé en définissant un Negative Response Code (NRC) correspondant issu de l'ISO 14229-1 via DiagUdsNrcErrc [SWS_DM_00774].

Ce guide est basé sur la spécification AUTOSAR Adaptive R25-11 pour le module diag.

Carte des membres

Diagramme de classes

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

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

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

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.

Surcharges 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;

Méthodes

Confirmation fonction

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 fonction

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

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

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

void StopOffer () noexcept;
Validate fonction

Called for any request message.

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

Opérateurs

operator= fonction 2

ServiceValidation shall be a single not assignable instance.

Surcharges = 2

Documentation des méthodes

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9b9a34095329 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode Confirmation de l'interface ara::diag::ServiceValidation ([SWS_DM_00775], déclarée dans ara/diag/service_validation.h) sert de notification concernant l'achèvement et le résultat d'une requête de diagnostic préalablement traitée.

Utilisation et sémantique

La fonction de rappel virtuelle est appelée de manière synchrone par le Diagnostic Management dès que le traitement de la requête est terminé. Elle ne possède aucune valeur de retour (void) et reçoit deux paramètres d'entrée ([SWS_DM_00775]) :

  • status (ConfirmationStatusType) : Signale l'état final ou le résultat du traitement du service ([SWS_DM_00775]).
  • metaInfo (const Meta Info &) : Contient les métainformations associées de la requête de diagnostic ([SWS_DM_00775]).

Gestion des erreurs et concurrence

La fonction est spécifiée comme sans exception (exception safe) et déclarée avec l'identifiant noexcept ([SWS_DM_00775]). Les redéfinitions côté application ne doivent donc propager aucune exception vers l'extérieur. Des codes d'erreur spécifiques tels que des notifications DET ou DEM ne sont pas définis pour cette méthode. Concernant la concurrence, Confirmation est classée comme non sûre au niveau des threads (not thread-safe) ([SWS_DM_00775]) ; l'accès à des états internes à l'application au sein du callback nécessite une synchronisation appropriée lors d'exécutions parallèles.

Interaction

Le déclenchement de la notification est couplé à la fin du cycle de vie d'une requête de diagnostic ([SWS_DM_00775]). Ce cycle se termine dès qu'une réponse positive ou négative a été transmise ou supprimée (AUTOSAR_AP_SWS_Diagnostics §7.3.2.1.2 « Life-cycle of a Diagnostic Conversation »). Interprétation : Au niveau du module, le Diagnostic Management ne devrait déclencher le callback Confirmation qu'une fois que la transmission via la couche de transport a été acquittée au moyen de TransmitConfirmation et du résultat kTransmitOk ou kTransmitFailed ([SWS_DM_00307], [SWS_DM_00351]). Question Q-97c38586ef5e3704 (ouverte)

Cette note d'utilisation a été générée par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité 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#a4c257f2
Content hash
a4c257f2
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 90f000c47eb7 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre Offer de la classe ara::diag::ServiceValidation (en-tête ara/diag/service_validation.h) active la transmission des requêtes de diagnostic entrantes par le gestionnaire de diagnostic (DM) à ce gestionnaire de validation spécifique [SWS_DM_00776]. L'appel s'effectue de manière synchrone et sans paramètre de transmission via la signature ara::core::Result<void> Offer() noexcept; [SWS_DM_00776]. La valeur de retour est un ara::core::Result<void>, qui est vide en cas de succès ou qui encapsule le code d'erreur survenu en cas d'erreur [SWS_DM_00776].

Gestion des erreurs

Si l'enregistrement échoue, la méthode renvoie un Result en erreur. Si le service a déjà été proposé auparavant pour l'instance concernée, le code d'erreur DiagOfferErrc::kAlreadyOffered est renvoyé [SWS_DM_00776]. Une sémantique de rollback s'applique ici, de sorte que l'état antérieur de l'instance reste inchangé [SWS_DM_00776].

Concurrence et restrictions

La fonction est spécifiée comme sûre vis-à-vis des exceptions (exception safe), mais expressément comme non sûre pour les threads (not thread-safe) [SWS_DM_00776]. Les accès parallèles à une même instance doivent être coordonnés par l'application appelante. Concernant l'ordonnancement, Offer doit être appelée avant que le gestionnaire de diagnostic ne puisse transmettre des requêtes de service pour validation [SWS_DM_00776].

Interaction

La proposition d'interfaces via Offer constitue un patron de conception cohérent du diagnostic AUTOSAR Adaptive et s'emploie de manière analogue, entre autres, pour les routines ([SWS_DM_00557], [SWS_DM_00594]), les services UDS génériques ([SWS_DM_00619]), les fonctions DoIP ([SWS_DM_00725], [SWS_DM_00735]) ainsi que les accès sécurisés ([SWS_DM_00766]). Tant qu'une interface n'a pas été mise à disposition via Offer, le DM rejette les requêtes ou a recours à des valeurs de remplacement définies ([SWS_DM_01525], [SWS_DM_01527]). Les similitudes conceptuelles avec ara::com sont motivées par le fonctionnement, mais représentent une implémentation autonome du diagnostic (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors »).

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité 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#a3e08f82
Content hash
a3e08f82
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

fonction 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#09a58fee
Content hash
09a58fee
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

fonction 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#7dfba0c5
Content hash
7dfba0c5
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

fonction 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#5bc5d0e8
Content hash
5bc5d0e8
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

fonction StopOffer [SWS_DM_00777] Upstream: RS_Diag_04199

void StopOffer () noexcept;

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

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 9db9d30bd6c8 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode StopOffer() de la classe ara::diag::ServiceValidation (fichier d'en-tête ara/diag/service_validation.h) sert à désactiver le réacheminement des messages de requête entrants du Diagnostic Management (DM) vers l'instance de validation de service [SWS_DM_00777]. L'appel s'effectue de manière synchrone, ne prend aucun paramètre d'entrée et ne fournit aucune valeur de retour [SWS_DM_00777].

Gestion des erreurs et concurrence

La fonction est déclarée comme noexcept et est considérée comme sûre face aux exceptions (exception safe), de sorte qu'aucune exception C++ ne survient lors de l'exécution [SWS_DM_00777]. Aucun code d'erreur spécifique ni retour d'information vers la gestion des erreurs n'est défini pour cet appel [SWS_DM_00777].

En ce qui concerne la concurrence, la méthode est spécifiée comme non sûre vis-à-vis des threads (not thread-safe) [SWS_DM_00777]. Interprétation : l'application appelante doit s'assurer que les appels concurrents sur la même instance de StopOffer() sont synchronisés afin d'éviter les incohérences de données. Question Q-dde3c015d30a9db1 (ouverte)

Interaction

La mise à disposition et le retrait d'interfaces via Offer() et StopOffer() s'inspirent de la sémantique connue de ara::com, mais constituent une fonctionnalité autonome dans le domaine du diagnostic AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ». Le modèle de désactivation du réacheminement des requêtes issues du DM est utilisé de manière cohérente dans le standard pour d'autres gestionnaires de diagnostic, tels que pour les services d'authentification [SWS_DM_01131], le contrôle de communication [SWS_DM_00810], les services de téléchargement [SWS_DM_00793] ainsi que les demandes de réinitialisation d'ECU [SWS_DM_01017].

Cette note d'utilisation a été générée automatiquement à partir de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité 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#dd4d93bd
Content hash
dd4d93bd
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

fonction 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.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ef5e4c6cdd97 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode virtuelle ara::diag::ServiceValidation::Validate est appelée pour chaque message de requête de diagnostic entrant [SWS_DM_00774]. Le serveur de diagnostic (DM) exécute par ce biais des vérifications de service spécifiques au constructeur [SWS_DM_01252] ainsi que des vérifications de service spécifiques au fournisseur [SWS_DM_01253] selon l'ISO 14229-1 configurées. L'affectation en tant que contrôle constructeur ou fournisseur dépend de la modélisation dans le constructeur [SWS_DM_00772].

La fonction reçoit les données de diagnostic, y compris le Service Identifier (SID), via requestData ainsi que des méta-informations via metaInfo [SWS_DM_00774]. Le tampon requestData reste valide jusqu'à ce que le ara::core::Future<void> renvoyé soit satisfait via la promesse associée ou que l'exécution soit annulée [SWS_DM_00774]. Si la validation s'achève avec succès sans erreur, le serveur de diagnostic poursuit le traitement de la requête conformément à l'ISO 14229-1 [SWS_DM_01254].

Gestion des erreurs et conditions limites

Si la vérification échoue, un NRC approprié selon l'ISO 14229-1 doit être renvoyé au moyen de DiagUdsNrcErrc [SWS_DM_00774]. Si Validate renvoie l'erreur kNoProcessingNoResponse, l'instance du Diagnostic Server rejette le message sans autre réponse [SWS_DM_00860].

En ce qui concerne la concurrence, Validate est spécifiée comme sûre face aux exceptions (exception safe), mais non sûre vis-à-vis des threads (not thread-safe) [SWS_DM_00774]. Interprétation : étant donné que la fonction n'est pas sûre vis-à-vis des threads, le Diagnostic Server devrait sérialiser les appels vers la même instance ou exclure les accès concurrents. Question Q-e150c15ad709602c (ouverte) Le contexte d'appel est défini par la séquence de NRC de l'ISO 14229-1 avant l'exécution effective du service [SWS_DM_00772].

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité 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#51b413c5
Content hash
51b413c5
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

fonction 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#df6261d9
Content hash
df6261d9
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

fonction 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#4ad366ae
Content hash
4ad366ae
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

fonction ~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#d86bc2c2
Content hash
d86bc2c2
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