DEENESPTFRRUARHIKOZHNL

classe ara::diag::SecurityAccess

[SWS_DM_00761] Upstream: RS_Diag_04005

class SecurityAccess {...};

DiagnosticSecurityAccessInterface.

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

Guide utilisateurGÉNÉRÉ PAR IA

Sert à la mise à disposition et à la validation de valeurs de seed et de clé pour les accès sécurisés de diagnostic.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 1943cee6c64f Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert à la mise à disposition et à la validation de valeurs de seed et de clé pour les accès sécurisés de diagnostic.

La classe ara::diag::SecurityAccess sert à l'implémentation spécifique à l'application des accès sécurisés de diagnostic selon le service UDS 0x27 ([SWS_DM_00762]). Après son activation via Offer(), le gestionnaire reçoit des demandes de mise à disposition de seed et valide de manière asynchrone les valeurs de clé transmises ([SWS_DM_00766]). En tant qu'instance non copiable et non déplaçable, l'interface exige une configuration explicite du comportement de concurrence dans le constructeur, tandis que les erreurs de traitement sont signalées au système de diagnostic via des codes de retour UDS normalisés ([SWS_DM_00765]).

Contexte

La classe ara::diag::SecurityAccess représente dans AUTOSAR Adaptive l'interface pour l'implémentation du service UDS 0x27 (SecurityAccess). Elle sert de passerelle entre le Diagnostic Management (DM) interne et la logique d'authentification spécifique à l'application d'une application adaptative. Lorsqu'un testeur de diagnostic externe requiert une opération de diagnostic relative à la sécurité, il transmet au véhicule des messages de diagnostic correspondants conformément à l'ISO 14229-1 (AUTOSAR_AP_SWS_Diagnostics §4.1 « Limitations of sub-functions of 0x19 ReadDTCInformation »). Le Diagnostic Management réceptionne ces requêtes et transmet la requête de seed ainsi que la comparaison de clé à l'instance enregistrée de ara::diag::SecurityAccess ([SWS_DM_00766]).

SecurityAccessKontext client Client de diagnostic dm Diagnostic Management (DM) client->dm UDS-Service 0x27 secacc ara::diag::SecurityAccess dm->secacc Expéditeur app Adaptive Applikation secacc->app Vererbung / Handler

Diagramme de contexte : Positionnement d'ara::diag::SecurityAccess entre le testeur de diagnostic, le Diagnostic Management et l'application. Sources : [SWS_DM_00762], [SWS_DM_00766], AUTOSAR_AP_SWS_Diagnostics §4.1 « Limitations of sub-functions of 0x19 ReadDTCInformation »

Cycle de vie

L'instanciation s'effectue via le constructeur en spécifiant un ara::core::InstanceSpecifier ainsi que le comportement de concurrence concurrencyType ([SWS_DM_00762]). L'identifiant d'instance relie l'objet à un prototype de port qui doit être typé par un DiagnosticSecurityLevelInterface ([SWS_DM_00762]). Le paramètre concurrencyType définit de manière contraignante si les appels de méthode doivent être traités de manière thread-safe (kConcurrent) ou non thread-safe (kNotConcurrent) ([SWS_DM_00762]).

En ce qui concerne la sémantique de propriété, la classe est conçue comme un exemplaire unique : tant le constructeur de copie ([SWS_DM_01617]) et l'opérateur d'assignation par copie ([SWS_DM_01615]) que le constructeur de déplacement ([SWS_DM_01618]) et l'opérateur d'assignation par déplacement ([SWS_DM_01616]) sont supprimés (=delete). Après sa création, l'instance se trouve dans un état inactif jusqu'à ce qu'elle soit enregistrée auprès du DM au moyen de Offer() ([SWS_DM_00766]). Avant l'arrêt, StopOffer() désactive le réacheminement des requêtes ([SWS_DM_00767]). Interprétation : StopOffer() devrait toujours être appelée avant la destruction de l'objet par le destructeur virtuel ([SWS_DM_00763]) afin de garantir un désenregistrement des requêtes en cours auprès du DM. Question Q-3bbb715f727e373a (ouverte)

Parcours d'utilisation

Le déroulement d'utilisation typique d'une implémentation de gestionnaire dérivée comprend les étapes suivantes :

  1. Activation : l'application instancie la classe dérivée et appelle Offer() pour activer le réacheminement des requêtes de diagnostic par le DM ([SWS_DM_00766]).
  2. Mise à disposition de la seed : lorsqu'une requête de diagnostic de génération de seed arrive, le DM appelle la méthode GetSeed ([SWS_DM_00764]). L'application traite le securityAccessDataRecord transmis, prend en compte le cancellationHandler et renvoie la seed calculée de manière asynchrone via un ara::core::Future<ara::core::Vector<std::uint8_t>> ([SWS_DM_00764]). Le tampon du span de données transmis reste valide jusqu'à la résolution de la promise ou jusqu'à l'annulation ([SWS_DM_00764]).
  3. Validation de la clé : dès que le testeur de diagnostic transmet la clé calculée, le DM appelle CompareKey ([SWS_DM_00765]). L'application vérifie le paramètre key et transmet le résultat de manière asynchrone via un ara::core::Future<KeyCompareResultType> ([SWS_DM_00765]).
  4. Désactivation : pour mettre fin à l'opération de diagnostic, l'application appelle StopOffer() ([SWS_DM_00767]).
Déroulement de l'authentification de sécurité via SecurityAccessApplicationara::diag::SecurityAccessGestion des diagnosticsUse Case: AktivierungOffer()Dienst registrierenResult<void>Result<void>Use Case: Seed anfordernGetSeed(securityAccessDataRecord, metaInfo, cancellationHandler)Seed generierenFuture<Vector<uint8_t>> (Seed)Use Case: Vérifier la cléCompareKey(key, metaInfo, cancellationHandler)Contrôler la cléFuture<KeyCompareResultType>Use Case: DeaktivierungStopOffer()Dienst deregistrieren

Diagramme de séquence : Cycle d'interaction depuis l'activation jusqu'à la désactivation, en passant par GetSeed et CompareKey. Sources : [SWS_DM_00764], [SWS_DM_00765], [SWS_DM_00766], [SWS_DM_00767]

Scénarios d'erreur

Plusieurs niveaux d'erreur sont spécifiés lors de l'utilisation de ara::diag::SecurityAccess :

  • Violations de constructeur et de modèle : si le InstanceSpecifier ne peut pas être résolu dans le modèle ou s'il ne fait pas référence à un PortPrototype, une InstanceSpecifierMappingIntegrityViolation est signalée ([SWS_DM_00762]). Si le port référencé n'est pas typé par un DiagnosticSecurityLevelInterface, il s'agit d'une PortInterfaceMappingViolation ([SWS_DM_00762]). Si le processus modélisé correspondant manque au moment de l'exécution, une ProcessMappingViolation survient, et en cas d'utilisation multiple du même identifiant au sein du processus, une InstanceSpecifierAlreadyInUseViolation est déclenchée ([SWS_DM_00762]).
  • Erreurs d'état lors de l'offre : un nouvel appel de Offer() alors que l'offre de service est déjà active échoue et produit l'erreur DiagOfferErrc::kAlreadyOffered avec une sémantique de rollback ([SWS_DM_00766]).
  • Réponses négatives UDS : si la génération de la seed ou la vérification de la clé échoue, l'application doit signaler via DiagUdsNrcErrc un Negative Response Code (NRC) approprié selon l'ISO 14229-1 ([SWS_DM_00764], [SWS_DM_00765]).
  • Interruption de la connexion de diagnostic : via le paramètre cancellationHandler, l'application peut vérifier au moyen de IsCanceled() si la conversation a été interrompue, ou enregistrer via SetNotifier() une fonction de notification en cas d'interruption ([SWS_DM_00764], [SWS_DM_00765]).
  • Persistance des tentatives infructueuses : Après chaque tentative infructueuse de changement de niveau de sécurité, le Diagnostic Management exige un stockage persistant du compteur afin de résister aux manipulations ou aux réinitialisations (AUTOSAR_AP_SWS_Diagnostics §4.1 « Limitations of sub-functions of 0x19 ReadDTCInformation », [SWS_DM_00479]).

Ce guide repose sur la spécification AUTOSAR Adaptive R25-11 et résume les exigences relatives à la classe ara::diag::SecurityAccess.

Carte des membres

Constructeurs et destructeur

2

Opérateurs

1

Diagramme de classes

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

G nara__diag__SecurityAccess583 SecurityAccess + SecurityAccess() + operator=() + ~SecurityAccess() + CompareKey() + GetSeed() + Offer() + StopOffer()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

SecurityAccess fonction 3

Constructor of SecurityAccess.

Surcharges SecurityAccess 3
explicit SecurityAccess (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00762
SecurityAccess (SecurityAccess &)=delete; SWS_DM_01617
SecurityAccess (SecurityAccess &&) noexcept=delete; SWS_DM_01618

Destructor of SecurityAccess .

virtual ~SecurityAccess () noexcept;

Méthodes

CompareKey fonction

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

virtual ara::core::Future< KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
GetSeed fonction

Called for any request messsage.

virtual ara::core::Future< ara::core::Vector< std::uint8_t > > GetSeed (ara::core::Span< const std::uint8_t > securityAccessDataRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
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;

Opérateurs

operator= fonction 2

SecurityAccess shall be a single not assignable instance.

Surcharges = 2

Documentation des méthodes

fonction CompareKey [SWS_DM_00765] Upstream: RS_AP_00138, RS_Diag_04005, RS_Diag_04170, RS_AP_00119

virtual ara::core::Future< KeyCompareResultType > CompareKey (ara::core::Span< const std::uint8_t > key, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

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 : 7e880a8e2b3a Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode purement virtuelle CompareKey de la classe ara::diag::SecurityAccess [SWS_DM_00765] est implémentée côté application afin de valider la clé transmise par le client lors du service UDS 0x27 (SecurityAccess) SWS Diagnostics §7.3.2.8.9 « Service 0x27 – SecurityAccess ». Conjointement avec GetSeed, elle constitue la base du mécanisme statique Seed-Key selon l'ISO 14229-1 [SWS_DM_00863].

Les paramètres de la fonction comprennent :

  • key : un ara::core::Span<const std::uint8_t> sur les données de clé à vérifier. Le tampon reste valide jusqu'à ce que la promesse associée soit tenue ou que le traitement soit annulé via le cancellationHandler [SWS_DM_00765].
  • metaInfo : méta-informations de la requête de diagnostic entrante [SWS_DM_00765].
  • cancellationHandler : permet d'interroger une annulation via cancellationHandler.IsCanceled ainsi que d'enregistrer une fonction de notification via cancellationHandler.SetNotifier en cas d'annulation de la conversation [SWS_DM_00765].

Le résultat de la vérification est mis à disposition de manière asynchrone via ara::core::Future<KeyCompareResultType> [SWS_DM_00765].

Traitement des erreurs et interaction

Si la comparaison de clé échoue ou si une erreur survient pendant le traitement, un Negative Response Code (NRC) approprié selon l'ISO 14229-1 doit être transmis via le futur au moyen de DiagUdsNrcErrc [SWS_DM_00765]. Si la sous-fonction demandée n'est pas configurée pour CompareKey, la requête reçoit une réponse avec le NRC 0x12 (kSubFunctionNotSupported) [SWS_DM_00363]. Le serveur de diagnostic compte les tentatives infructueuses [SWS_DM_00270] et les compare à des valeurs de seuil [SWS_DM_00271].

Si l'accès sécurisé est déverrouillé avec succès, le serveur met à jour en interne le niveau de sécurité [SWS_DM_00846], réinitialise le compteur d'échecs [SWS_DM_00270] et signale l'événement de sécurité SEV_UDS_SECURITY_ACCESS_SUCCESSFUL à l'IdsM [SWS_DM_02019].

Concurrence et restrictions

L'interface est déclarée comme noexcept et est sûre face aux exceptions (exception safe) [SWS_DM_00765]. La sûreté des threads est conditionnelle (conditional) : la nécessité pour l'implémentation d'être sûre pour les threads est déterminée par le ConcurrencyType transmis dans le constructeur de SecurityAccess [SWS_DM_00765].

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

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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
keyThe key to be validated. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future< KeyCompareResultType >Result of the key validation.

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_00765
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00765@rel:R25-11#5daab29a
Content hash
5daab29a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00765
Status: valid/unmigrated Version: rel:R25-11#fcff65aa 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_00765@rel:R25-11#fcff65aa
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d4d3823f2026-09-30
  • R19-11rel:R19-11#4bf18d9e2026-10-14
  • R20-11rel:R20-11#52ff58612026-10-14
  • R21-11rel:R21-11#42d7f4462026-10-14
  • R22-11rel:R22-11#94736e912026-10-14
  • R23-11rel:R23-11#cbc123ea2026-10-14
  • R24-11rel:R24-11#e09a76d52026-10-14
  • R25-11rel:R25-11#fcff65aa2026-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 GetSeed [SWS_DM_00764] Upstream: RS_AP_00138, RS_Diag_04005, RS_Diag_04170, RS_AP_00119

virtual ara::core::Future< ara::core::Vector< std::uint8_t > > GetSeed (ara::core::Span< const std::uint8_t > securityAccessDataRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for any request messsage.

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

Utilisation

La méthode purement virtuelle ara::diag::SecurityAccess::GetSeed est appelée par l'instance du serveur de diagnostic dès qu'une requête UDS pour le service 0x27 SecurityAccess est reçue et que la valeur de sous-fonction transmise concorde avec la requestSeedId configurée [SWS_DM_00863]. Cela fait partie de la mise en œuvre conforme aux normes du service 0x27 selon l'ISO 14229-1 [SWS_DM_00236].

L'appel transmet les données utiles fournies par le client de diagnostic via le paramètre securityAccessDataRecord (sous forme de ara::core::Span), les informations de contexte dans metaInfo ainsi qu'un objet de type CancellationHandler [SWS_DM_00764]. Si le client n'a envoyé aucune donnée, le span de données est transmis vide [SWS_DM_00863]. Les données transmises restent valides jusqu'à ce que la promesse associée soit tenue ou que le traitement soit annulé [SWS_DM_00764].

Sémantique asynchrone et concurrence

La fonction renvoie de manière asynchrone un ara::core::Future<ara::core::Vector<std::uint8_t>> qui contient le seed généré [SWS_DM_00764]. Via le cancellationHandler, l'application peut vérifier au moyen de IsCanceled si la conversation a été annulée, ou enregistrer une notification via SetNotifier [SWS_DM_00764]. Un mécanisme de seed statique selon l'ISO 14229-1 doit également être implémenté côté application dans GetSeed SWS Diagnostics §7.3.2.8.9 « Service 0x27 – SecurityAccess ».

Concernant la concurrence, la méthode est conditionnellement sûre pour les threads : la nécessité pour l'implémentation d'être sûre pour les threads est déterminée par le ConcurrencyType transmis au constructeur de SecurityAccess SWS Diagnostics §8.24.2.1.3.2 « GetSeed ».

Gestion des erreurs

Si aucun seed valide ne peut être déterminé, le futur doit être complété avec un Negative Response Code (NRC) approprié selon l'ISO 14229-1 via DiagUdsNrcErrc [SWS_DM_00764]. L'interface est déclarée comme noexcept et sûre face aux exceptions [SWS_DM_00764].

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

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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
securityAccessDataRecordSecurity Access payload, Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
metaInfoMetaInfo of the request.
cancellationHandlerThis parameter is used to • Query the current cancellation status by calling cancellationHandler.IsCanceled. Returns TRUE in case, the current conversation has been cancelled and FALSE otherwise. • Register a notifier function by calling cancellationHandler.SetNotifier. The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Vector<std::uint8_t > >provided seed

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_00764
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00764@rel:R25-11#b6f679c0
Content hash
b6f679c0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00764
Status: valid/unmigrated Version: rel:R25-11#78b36e49 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_00764@rel:R25-11#78b36e49
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2e6ffe502026-09-30
  • R19-11rel:R19-11#ec261d632026-10-14
  • R20-11rel:R20-11#d20d81e72026-10-14
  • R21-11rel:R21-11#9f3e5c3f2026-10-14
  • R22-11rel:R22-11#b2714bed2026-10-14
  • R23-11rel:R23-11#cb771e7d2026-10-14
  • R24-11rel:R24-11#e4519bf42026-10-14
  • R25-11rel:R25-11#78b36e492026-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_00766] Upstream: RS_AP_00139, RS_Diag_04005, RS_AP_00119

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 : 03e774f47039 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode ara::diag::SecurityAccess::Offer ([SWS_DM_00766]) issue de l'en-tête ara/diag/security_access.h permet au Diagnostic Manager (DM) de router les messages de requête (Request Messages) entrants vers le gestionnaire enregistré pour l'accès de sécurité. L'appel s'effectue de manière synchrone sans paramètre d'entrée et renvoie un ara::core::Result<void>.

Gestion des erreurs

En cas d'erreur, l'objet de retour fournit un code d'erreur. Si le service est déjà enregistré sur l'instance, DiagOfferErrc::kAlreadyOffered est renvoyé ([SWS_DM_00766]). La fonction est déclarée comme noexcept et garantit la sécurité vis-à-vis des exceptions (exception safe).

Concurrence et restrictions

L'interface est spécifiée comme non thread-safe (not thread-safe) ([SWS_DM_00766]). Les appels concurrents sur la même instance doivent être synchronisés par l'application. Interprétation : des appels multiples non coordonnés devraient toujours être rejetés avec kAlreadyOffered sans retrait préalable de l'offre. Question Q-848ccd3c78403eea (ouverte)

Interaction

L'offre de fonctionnalité via Offer suit le modèle d'activation uniforme du diagnostic AUTOSAR Adaptive, tel qu'il est également défini pour ServiceValidation ([SWS_DM_00776]) ou DoIPGroupIdentification ([SWS_DM_00725]). Malgré la similitude de nom avec des interfaces de communication, il s'agit d'une implémentation spécifique au diagnostic qui ne doit pas être confondue avec ara::com (SWS Diagnostics §7.3.4.1.2 « Monitors »).

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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_00766
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00766@rel:R25-11#eb89515b
Content hash
eb89515b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00766
Status: valid/unmigrated Version: rel:R25-11#00210900 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_00766@rel:R25-11#00210900
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#56ad395b2026-09-30
  • R19-11rel:R19-11#d015c3bb2026-10-14
  • R20-11rel:R20-11#5653979a2026-10-14
  • R21-11rel:R21-11#d5a352932026-10-14
  • R22-11rel:R22-11#4dd706ea2026-10-14
  • R23-11rel:R23-11#898492102026-10-14
  • R24-11rel:R24-11#6e0b7b5e2026-10-14
  • R25-11rel:R25-11#002109002026-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 SecurityAccess [SWS_DM_00762] Upstream: RS_AP_00137, RS_Diag_04005, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit SecurityAccess (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept;

Constructor of SecurityAccess.

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

Utilisation

Le constructeur explicite initialise une instance de ara::diag::SecurityAccess de manière synchrone et sans exception ([SWS_DM_00762]). Il reçoit en paramètre une référence vers un ara::core::InstanceSpecifier ainsi qu'un ConcurrencyType. Le paramètre specifier doit référencer un PortPrototype modélisé, typé par un DiagnosticSecurityLevelInterface. concurrencyType détermine si les méthodes de rappel de l'interface sont exécutées de manière concurrente (kConcurrent) ou non concurrente (kNotConcurrent).

Gestion des erreurs

La fonction est déclarée avec noexcept ([SWS_DM_00762]). En cas de mauvaise configuration de la modélisation, les violations suivantes peuvent survenir :

  • InstanceSpecifierMappingIntegrityViolation : Le InstanceSpecifier ne peut pas être résolu dans le contexte d'exécution ou ne fait pas référence à un PortPrototype.
  • PortInterfaceMappingViolation : le PortPrototype référencé n'est pas typé en tant que DiagnosticSecurityLevelInterface.
  • ProcessMappingViolation : Aucun processus modélisé correspondant n'existe au moment de l'exécution pour l'identifiant d'instance.
  • InstanceSpecifierAlreadyInUseViolation : le InstanceSpecifier est déjà utilisé au sein du processus.

Interprétation : La survenance d'une telle violation devrait entraîner, en interne au framework, une interruption à l'exécution ou un traitement de sécurité, étant donné que le constructeur ne signale aucun code d'erreur via une valeur de retour. Question Q-de6e36dc7947326e (ouverte)

Concurrence et restrictions

Le constructeur lui-même est spécifié comme thread-safe ([SWS_DM_00762]). Les constructeurs de copie et de déplacement ainsi que les opérateurs d'affectation correspondants sont explicitement supprimés ([SWS_DM_01617], [SWS_DM_01618], [SWS_DM_01615], [SWS_DM_01616]) ; une instance ne peut donc être ni copiée ni déplacée. Le concurrencyType transmis lors du constructeur conditionne si les méthodes virtuelles GetSeed ([SWS_DM_00764]) et CompareKey ([SWS_DM_00765]) doivent être fournies de manière thread-safe. Le destructeur, en revanche, n'est pas thread-safe ([SWS_DM_00763]).

Interaction

Après l'instanciation, l'application doit appeler Offer ([SWS_DM_00766]) afin que le Diagnostic Server (DM) transmette les requêtes UDS entrantes pour le service 0x27 (SWS Diagnostics §7.3.2.8.9 « Service 0x27 – SecurityAccess », [SWS_DM_00236]). Si la sous-fonction correspond, le serveur transmet les requêtes à GetSeed ([SWS_DM_00863]). La transmission peut être à nouveau désactivée avec StopOffer ([SWS_DM_00767]).

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

Guide de l'implémenteur à venir (complexité I3)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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 DiagnosticSecurityLevelPortMapping needs to be typed by a DiagnosticSecurityLevelInterface. 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 DiagnosticSecurityLevelInterface.
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_00762
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00762@rel:R25-11#612ca39b
Content hash
612ca39b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00762
Status: valid/unmigrated Version: rel:R25-11#d28cef1a 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_00762@rel:R25-11#d28cef1a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#043c5c7d2026-09-30
  • R19-11rel:R19-11#7b2a44bb2026-10-14
  • R20-11rel:R20-11#7227b8b52026-10-14
  • R21-11rel:R21-11#7227b8b52026-10-14
  • R22-11rel:R22-11#63feab942026-10-14
  • R23-11rel:R23-11#00b457c22026-10-14
  • R24-11rel:R24-11#9298af8d2026-10-14
  • R25-11rel:R25-11#d28cef1a2026-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 SecurityAccess [SWS_DM_01617] Upstream: RS_AP_00147

SecurityAccess (SecurityAccess &)=delete;

SecurityAccess shall be a single not copy-able instance.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01617
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01617@rel:R25-11#7144eb71
Content hash
7144eb71
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01617
Status: valid/unmigrated Version: rel:R25-11#d3831de3 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_01617@rel:R25-11#d3831de3
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#3fb7c46d2026-09-30
  • R23-11rel:R23-11#50f56be22026-10-14
  • R24-11rel:R24-11#177a95552026-10-14
  • R25-11rel:R25-11#d3831de32026-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 SecurityAccess [SWS_DM_01618] Upstream: RS_AP_00147

SecurityAccess (SecurityAccess &&) noexcept=delete;

Move constructor of SecurityAccess.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01618
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01618@rel:R25-11#a137f69a
Content hash
a137f69a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01618
Status: valid/unmigrated Version: rel:R25-11#99b5fc60 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_01618@rel:R25-11#99b5fc60
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b7a6da4b2026-09-30
  • R23-11rel:R23-11#f9d976f12026-10-14
  • R24-11rel:R24-11#99b5fc602026-10-14
  • R25-11rel:R25-11#99b5fc602026-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_00767] Upstream: RS_Diag_04005

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 : cc611929a4e2 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La fonction membre StopOffer de la classe ara::diag::SecurityAccess (en-tête ara/diag/security_access.h) sert à désactiver le transfert des messages de requête entrants provenant du Diagnostic Management (DM) vers l'instance [SWS_DM_00767]. L'appel s'effectue de manière synchrone, n'accepte aucun paramètre et ne renvoie aucune valeur de retour (void) [SWS_DM_00767].

Gestion des erreurs

La fonction est déclarée avec noexcept et classée comme sûre vis-à-vis des exceptions (exception safe) [SWS_DM_00767]. Ni codes d'erreur ni exceptions C++ ne sont signalés ; un comportement erroné ou un état exceptionnel lors du désenregistrement n'est pas prévu dans la spécification de l'interface [SWS_DM_00767].

Concurrence et restrictions

Conformément à la spécification, StopOffer n'est pas sûre au niveau des threads (not thread-safe) [SWS_DM_00767]. Si plusieurs threads d'une Adaptive Application accèdent de manière concurrente à la même instance de ara::diag::SecurityAccess, l'appel doit être synchronisé en externe.

Interaction

La méthode fait partie d'un patron de fonctions inter-modules dans le périmètre du DM. Des méthodes StopOffer similaires existent pour de nombreux autres services de diagnostic tels que :

Bien que le nommage soit inspiré de la fourniture de services dans ara::com, il s'agit d'une implémentation de diagnostic autonome destinée à commander le flux de messages au sein de ara::diag 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 pour R25-11.

Guide de l'implémenteur à venir (complexité I2)

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess
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_00767
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00767@rel:R25-11#6fc811d5
Content hash
6fc811d5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00767
Status: valid/unmigrated Version: rel:R25-11#942cb137 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_00767@rel:R25-11#942cb137
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f72493482026-09-30
  • R19-11rel:R19-11#78ac458e2026-10-14
  • R20-11rel:R20-11#d7a868c22026-10-14
  • R21-11rel:R21-11#84fad67f2026-10-14
  • R22-11rel:R22-11#8e125bd42026-10-14
  • R23-11rel:R23-11#70d9a1082026-10-14
  • R24-11rel:R24-11#4b26aa9f2026-10-14
  • R25-11rel:R25-11#942cb1372026-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_01615] Upstream: RS_AP_00147

SecurityAccess & operator= (SecurityAccess &)=delete;

SecurityAccess shall be a single not assignable instance.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01615
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01615@rel:R25-11#34e49959
Content hash
34e49959
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01615
Status: valid/unmigrated Version: rel:R25-11#860bde59 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_01615@rel:R25-11#860bde59
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#b9674d212026-09-30
  • R23-11rel:R23-11#2062081c2026-10-14
  • R24-11rel:R24-11#860bde592026-10-14
  • R25-11rel:R25-11#860bde592026-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_01616] Upstream: RS_AP_00147

SecurityAccess & operator= (SecurityAccess &&)=delete;

Move assignment operator of SecurityAccess.

Header-Datei#include "ara/diag/security_access.h"
Scopeclass ara::diag::SecurityAccess

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

Record
AUTOSAR/AP/record/SWS_DM_01616
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01616@rel:R25-11#e0ca67ba
Content hash
e0ca67ba
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01616
Status: valid/unmigrated Version: rel:R25-11#7c8f632b 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_01616@rel:R25-11#7c8f632b
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#362e1d632026-09-30
  • R23-11rel:R23-11#340c00fd2026-10-14
  • R24-11rel:R24-11#7c8f632b2026-10-14
  • R25-11rel:R25-11#7c8f632b2026-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 ~SecurityAccess [SWS_DM_00763] Upstream: RS_AP_00134, RS_Diag_04005

virtual ~SecurityAccess () noexcept;

Destructor of SecurityAccess .

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

Le destructeur virtuel ~SecurityAccess [SWS_DM_00763] met fin au cycle de vie d'une instance de la classe de service ara::diag::SecurityAccess dans le module Diagnostics AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 « Destructor ». L'interface est mise à disposition via l'en-tête #include "ara/diag/security_access.h" [SWS_DM_00763]. L'exécution s'effectue de manière synchrone, la fonction ne prenant aucun paramètre de transmission ni ne fournissant de valeur de retour [SWS_DM_00763].

Concernant le traitement des erreurs, l'opération est classée comme exception safe et déclarée avec noexcept [SWS_DM_00763]. Elle ne lève par conséquent aucune exception. Aucun code d'erreur spécifique ni message d'erreur destiné aux gestionnaires d'erreurs de développement ou de diagnostic (DET ou DEM) n'est prévu dans la spécification pour la destruction de l'objet [SWS_DM_00763].

En ce qui concerne la concurrence, la fonction est explicitement classée comme not thread-safe [SWS_DM_00763]. Une destruction de l'objet ne doit jamais s'effectuer en même temps que des appels d'autres méthodes sur la même instance. À titre d'interprétation : il devrait être nécessaire de clore de manière ordonnée toutes les activités de diagnostic et d'accès sécurisé en cours de cette instance avant la destruction, car des accès simultanés entraînent un comportement indéfini. Question Q-12c13e3eebd9e574 (ouverte)

En interaction avec la plateforme, la fonction sert à la réalisation des exigences amont RS_AP_00134 et RS_Diag_04005 AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 « Destructor ».

Note d'utilisation 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/security_access.h"
Scopeclass ara::diag::SecurityAccess
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_00763
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00763@rel:R25-11#1c632d64
Content hash
1c632d64
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00763
Status: valid/unmigrated Version: rel:R25-11#8b163b56 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_00763@rel:R25-11#8b163b56
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#98bb90f72026-09-30
  • R19-11rel:R19-11#1b925c952026-10-14
  • R20-11rel:R20-11#fdb51c102026-10-14
  • R21-11rel:R21-11#5d5e7b7a2026-10-14
  • R22-11rel:R22-11#c67efa4a2026-10-14
  • R23-11rel:R23-11#fccf37df2026-10-14
  • R24-11rel:R24-11#8b163b562026-10-14
  • R25-11rel:R25-11#8b163b562026-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