DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Sirve para la provisión y validación de valores de semilla y clave para accesos de seguridad de diagnóstico.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 1943cee6c64f Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Sirve para la provisión y validación de valores de semilla y clave para accesos de seguridad de diagnóstico.

La clase ara::diag::SecurityAccess sirve para la implementación específica de la aplicación de accesos de seguridad de diagnóstico según el servicio UDS 0x27 ([SWS_DM_00762]). Tras la activación mediante Offer(), el manejador recibe solicitudes de provisión de semilla y valida de forma asíncrona los valores de clave transmitidos ([SWS_DM_00766]). Como instancia no copiable e inamovible, la interfaz exige una configuración explícita del comportamiento de concurrencia en el constructor, mientras que los errores de procesamiento se notifican al sistema de diagnóstico a través de códigos de retorno UDS estandarizados ([SWS_DM_00765]).

Contexto

La clase ara::diag::SecurityAccess representa en AUTOSAR Adaptive la interfaz para la implementación del servicio UDS 0x27 (SecurityAccess). Actúa como enlace entre el Diagnostic Management (DM) interno y la lógica de autenticación específica de la aplicación de una aplicación adaptativa. Cuando un comprobador de diagnóstico externo solicita una operación de diagnóstico relevante para la seguridad, transmite los mensajes de diagnóstico correspondientes conforme a ISO 14229-1 al vehículo (AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation»). El Diagnostic Management recibe estas solicitudes y reenvía la solicitud de semilla, así como la comparación de claves, a la instancia registrada de ara::diag::SecurityAccess ([SWS_DM_00766]).

SecurityAccessKontext client Cliente de diagnóstico dm Diagnostic Management (DM) client->dm UDS-Service 0x27 secacc ara::diag::SecurityAccess dm->secacc Reenvío app Adaptive Applikation secacc->app Vererbung / Handler

Diagrama de contexto: clasificación de ara::diag::SecurityAccess entre el comprobador de diagnóstico, Diagnostic Management y la aplicación. Fuentes: [SWS_DM_00762], [SWS_DM_00766], AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation»

Ciclo de vida

La instanciación se realiza a través del constructor indicando un ara::core::InstanceSpecifier así como el comportamiento de concurrencia concurrencyType ([SWS_DM_00762]). El identificador de instancia vincula el objeto con un prototipo de puerto, el cual debe estar tipificado por un DiagnosticSecurityLevelInterface ([SWS_DM_00762]). El parámetro concurrencyType establece de forma vinculante si las llamadas a los métodos deben procesarse de forma segura para subprocesos (kConcurrent) o no segura para subprocesos (kNotConcurrent) ([SWS_DM_00762]).

En cuanto a la semántica de propiedad, la clase está diseñada como instancia única: tanto el constructor de copia ([SWS_DM_01617]) y el operador de asignación de copia ([SWS_DM_01615]) como el constructor de movimiento ([SWS_DM_01618]) y el operador de asignación de movimiento ([SWS_DM_01616]) están eliminados (=delete). Tras la creación, la instancia se encuentra en un estado inactivo hasta que se registra en el DM mediante Offer() ([SWS_DM_00766]). Antes de la finalización, StopOffer() desactiva el reenvío de solicitudes ([SWS_DM_00767]). Interpretación: presumiblemente, StopOffer() siempre debe invocarse antes de la destrucción del objeto por parte del destructor virtual ([SWS_DM_00763]) para garantizar la cancelación del registro de solicitudes en curso en el DM. Pregunta Q-3bbb715f727e373a (abierta)

Ruta de uso

El flujo de uso típico de una implementación de manejador derivada comprende los siguientes pasos:

  1. Activación: la aplicación instancia la clase derivada e invoca Offer() para activar el reenvío de solicitudes de diagnóstico por parte del DM ([SWS_DM_00766]).
  2. Provisión de semilla: si llega una solicitud de diagnóstico para la generación de semilla, el DM invoca el método GetSeed ([SWS_DM_00764]). La aplicación procesa el securityAccessDataRecord transmitido, tiene en cuenta el cancellationHandler y devuelve la semilla calculada de forma asíncrona a través de un ara::core::Future<ara::core::Vector<std::uint8_t>> ([SWS_DM_00764]). El búfer del span de datos transmitido permanece válido hasta el cumplimiento de la promesa o hasta la cancelación ([SWS_DM_00764]).
  3. Validación de clave: en cuanto el comprobador de diagnóstico transmite la clave calculada, el DM invoca CompareKey ([SWS_DM_00765]). La aplicación comprueba el parámetro key y transmite el resultado de forma asíncrona a través de un ara::core::Future<KeyCompareResultType> ([SWS_DM_00765]).
  4. Desactivación: para finalizar el funcionamiento de diagnóstico, la aplicación invoca StopOffer() ([SWS_DM_00767]).
Flujo de la autenticación de seguridad mediante SecurityAccessAplicaciónara::diag::SecurityAccessDiagnostic ManagementUse Case: AktivierungOffer()Dienst registrierenResult<void>Result<void>Use Case: Seed anfordernGetSeed(securityAccessDataRecord, metaInfo, cancellationHandler)Seed generierenFuture<Vector<uint8_t>> (Seed)Use Case: Verificar claveCompareKey(key, metaInfo, cancellationHandler)Comprobar claveFuture<KeyCompareResultType>Use Case: DeaktivierungStopOffer()Dienst deregistrieren

Diagrama de secuencia: ciclo de interacción desde la activación pasando por GetSeed y CompareKey hasta la desactivación. Fuentes: [SWS_DM_00764], [SWS_DM_00765], [SWS_DM_00766], [SWS_DM_00767]

Escenarios de error

Al utilizar ara::diag::SecurityAccess se especifican varios niveles de error:

  • Infracciones de constructor y modelo: si el InstanceSpecifier no se puede resolver en el modelo o no hace referencia a ningún PortPrototype, se notifica un InstanceSpecifierMappingIntegrityViolation ([SWS_DM_00762]). Si el puerto referenciado no está tipificado por un DiagnosticSecurityLevelInterface, existe un PortInterfaceMappingViolation ([SWS_DM_00762]). Si falta el proceso modelado adecuado en tiempo de ejecución, se produce un ProcessMappingViolation, y en caso de uso múltiple del mismo identificador dentro del proceso se desencadena un InstanceSpecifierAlreadyInUseViolation ([SWS_DM_00762]).
  • Errores de estado en la oferta: una nueva llamada a Offer() cuando la oferta de servicio ya está activa falla y devuelve el error DiagOfferErrc::kAlreadyOffered con semántica de reversión ([SWS_DM_00766]).
  • Respuestas UDS negativas: si la generación de la semilla o la comprobación de la clave fallan, la aplicación debe notificar un Negative Response Code (NRC) adecuado conforme a ISO 14229-1 a través de DiagUdsNrcErrc ([SWS_DM_00764], [SWS_DM_00765]).
  • Cancelación de la conexión de diagnóstico: a través del parámetro cancellationHandler, la aplicación puede comprobar mediante IsCanceled() si se ha cancelado la conversación, o registrar una función de notificación para una cancelación mediante SetNotifier() ([SWS_DM_00764], [SWS_DM_00765]).
  • Persistencia de intentos fallidos: tras cada intento fallido de cambio de nivel de seguridad, Diagnostic Management requiere un almacenamiento persistente del contador para sobrevivir a manipulaciones o reinicios (AUTOSAR_AP_SWS_Diagnostics §4.1 «Limitations of sub-functions of 0x19 ReadDTCInformation», [SWS_DM_00479]).

Esta guía se basa en la especificación AUTOSAR Adaptive R25-11 y resume los requisitos para la clase ara::diag::SecurityAccess.

Mapa de miembros

Constructores y destructor

2

Operadores

1

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

SecurityAccess función 3

Constructor of SecurityAccess.

Sobrecargas 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étodos

CompareKey función

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 función

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 función

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

ara::core::Result< void > Offer () noexcept;
StopOffer función

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

void StopOffer () noexcept;

Operadores

operator= función 2

SecurityAccess shall be a single not assignable instance.

Sobrecargas = 2

Documentación de los métodos

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 7e880a8e2b3a Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método puramente virtual CompareKey de la clase ara::diag::SecurityAccess [SWS_DM_00765] se implementa en la aplicación para validar la clave transmitida por el cliente en el servicio UDS 0x27 (SecurityAccess) SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess». Junto con GetSeed, conforma la base para el mecanismo estático de semilla-clave según ISO 14229-1 [SWS_DM_00863].

Los parámetros de la función comprenden:

  • key: Un ara::core::Span<const std::uint8_t> a los datos de clave que se van a comprobar. El búfer sigue siendo válido hasta que se cumpla la promesa asociada o se cancele el procesamiento a través del cancellationHandler [SWS_DM_00765].
  • metaInfo: Metainformación de la petición de diagnóstico entrante [SWS_DM_00765].
  • cancellationHandler: Permite consultar una cancelación mediante cancellationHandler.IsCanceled, así como registrar una función de notificación vía cancellationHandler.SetNotifier en caso de cancelación de la conversación [SWS_DM_00765].

El resultado de la comprobación se proporciona de forma asíncrona a través de ara::core::Future<KeyCompareResultType> [SWS_DM_00765].

Tratamiento de errores e interacción

Si la comparación de claves falla o se produce un error durante el procesamiento, debe pasarse a través del future un Negative Response Code (NRC) adecuado según ISO 14229-1 mediante DiagUdsNrcErrc [SWS_DM_00765]. Si la subfunción solicitada no está configurada para CompareKey, la petición se responde con NRC 0x12 (kSubFunctionNotSupported) [SWS_DM_00363]. El Diagnostic Server cuenta los intentos fallidos [SWS_DM_00270] y los compara con valores de umbral [SWS_DM_00271].

Si el acceso de seguridad se habilita con éxito, el servidor actualiza internamente el nivel de seguridad [SWS_DM_00846], restablece el contador de intentos fallidos [SWS_DM_00270] y notifica el evento de seguridad SEV_UDS_SECURITY_ACCESS_SUCCESSFUL al IdsM [SWS_DM_02019].

Concurrencia y restricciones

La interfaz está declarada como noexcept y es segura ante excepciones (exception safe) [SWS_DM_00765]. La seguridad frente a hilos es condicional (conditional): Si la implementación debe ser segura frente a hilos se determina mediante el ConcurrencyType pasado en el constructor de SecurityAccess [SWS_DM_00765].

Esta nota de uso fue generada por una IA sobre la base de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad 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#84aeba15
Content hash
84aeba15
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d92bef6dc534 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La instancia del servidor de diagnóstico llama al método puramente virtual ara::diag::SecurityAccess::GetSeed tan pronto como se recibe una petición UDS para el servicio 0x27 SecurityAccess y el valor de subfunción transmitido coincide con la requestSeedId configurada [SWS_DM_00863]. Esto forma parte de la implementación conforme a la norma del servicio 0x27 según ISO 14229-1 [SWS_DM_00236].

La llamada pasa los datos útiles proporcionados por el cliente de diagnóstico a través del parámetro securityAccessDataRecord (como ara::core::Span), la información de contexto en metaInfo, así como un objeto del tipo CancellationHandler [SWS_DM_00764]. Si el cliente no ha enviado datos, el span de datos se pasa vacío [SWS_DM_00863]. Los datos pasados siguen siendo válidos hasta que se cumpla la promesa asociada o se cancele el procesamiento [SWS_DM_00764].

Semántica asíncrona y concurrencia

La función devuelve de forma asíncrona un ara::core::Future<ara::core::Vector<std::uint8_t>> que contiene la semilla generada [SWS_DM_00764]. A través del cancellationHandler, la aplicación puede comprobar mediante IsCanceled si la conversación se ha cancelado, o registrar una notificación vía SetNotifier [SWS_DM_00764]. En la aplicación también debe implementarse en GetSeed un mecanismo de semilla estática según ISO 14229-1 SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess».

En cuanto a la concurrencia, el método es condicionalmente seguro frente a hilos: Si la implementación debe ser segura frente a hilos se determina mediante el ConcurrencyType que se pasa al constructor de SecurityAccess SWS Diagnostics §8.24.2.1.3.2 «GetSeed».

Manejo de errores

Si no se puede determinar una semilla válida, el future debe completarse con un Negative Response Code (NRC) adecuado según ISO 14229-1 a través de DiagUdsNrcErrc [SWS_DM_00764]. La interfaz está declarada como noexcept y es segura ante excepciones [SWS_DM_00764].

Esta nota de uso fue creada por una IA sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#bcd5404b
Content hash
bcd5404b
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 03e774f47039 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método ara::diag::SecurityAccess::Offer ([SWS_DM_00766]) del encabezado ara/diag/security_access.h permite al Diagnostic Manager (DM) reenviar mensajes de solicitud entrantes (Request Messages) al manejador registrado para el acceso de seguridad. La llamada se realiza de forma síncrona sin parámetros de entrada y devuelve un ara::core::Result<void>.

Manejo de errores

En caso de error, el objeto devuelto proporciona un código de error. Si el servicio ya está registrado en la instancia, se devuelve DiagOfferErrc::kAlreadyOffered ([SWS_DM_00766]). La función está declarada como noexcept y garantiza seguridad frente a excepciones (exception safe).

Concurrencia y restricciones

La interfaz está especificada como no segura frente a hilos (not thread-safe) ([SWS_DM_00766]). La aplicación debe sincronizar las llamadas concurrentes en la misma instancia. Interpretación: previsiblemente, las llamadas múltiples no coordinadas se rechazarán siempre con kAlreadyOffered sin haber retirado previamente la oferta. Pregunta Q-848ccd3c78403eea (abierta)

Interacción

Ofrecer funcionalidad mediante Offer sigue el patrón de activación uniforme del diagnóstico de AUTOSAR Adaptive, tal como se define también para ServiceValidation ([SWS_DM_00776]) o DoIPGroupIdentification ([SWS_DM_00725]). A pesar de la coincidencia de nombres con interfaces de comunicación, se trata de una implementación específica de diagnóstico que no debe mezclarse con ara::com (SWS Diagnostics §7.3.4.1.2 «Monitors»).

Este texto ha sido generado por una IA sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#ce2ef532
Content hash
ce2ef532
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 6e8a7c45e17d Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El constructor explícito inicializa una instancia de ara::diag::SecurityAccess de forma síncrona y segura frente a excepciones ([SWS_DM_00762]). Acepta como parámetros una referencia a un ara::core::InstanceSpecifier así como un ConcurrencyType. El parámetro specifier debe referenciar un PortPrototype modelado que esté tipificado mediante un DiagnosticSecurityLevelInterface. A través de concurrencyType se determina si los métodos de retrollamada de la interfaz se procesan de forma concurrente (kConcurrent) o no concurrente (kNotConcurrent).

Manejo de errores

La función está declarada con noexcept ([SWS_DM_00762]). En caso de configuraciones erróneas del modelado pueden producirse las siguientes violations:

  • InstanceSpecifierMappingIntegrityViolation: El InstanceSpecifier no se puede resolver en el contexto de ejecución o no hace referencia a un PortPrototype.
  • PortInterfaceMappingViolation: el PortPrototype referenciado no está tipado como DiagnosticSecurityLevelInterface.
  • ProcessMappingViolation: No existe un proceso modelado coincidente en tiempo de ejecución para el identificador de instancia.
  • InstanceSpecifierAlreadyInUseViolation: el InstanceSpecifier ya se está utilizando dentro del proceso.

Interpretación: Es probable que la aparición de una infracción de este tipo provoque internamente en el framework una interrupción en tiempo de ejecución o un tratamiento de seguridad, dado que el constructor no notifica códigos de error a través de un valor de retorno. Pregunta Q-de6e36dc7947326e (abierta)

Concurrencia y restricciones

El constructor mismo está especificado como seguro para hilos ([SWS_DM_00762]). Los constructores de copia y de movimiento, así como los operadores de asignación correspondientes, están explícitamente eliminados ([SWS_DM_01617], [SWS_DM_01618], [SWS_DM_01615], [SWS_DM_01616]); por tanto, una instancia no puede ni copiarse ni moverse. El concurrencyType pasado en el constructor condiciona si los métodos virtuales GetSeed ([SWS_DM_00764]) y CompareKey ([SWS_DM_00765]) deben proporcionarse de forma segura para hilos. El destructor, por el contrario, no es seguro para hilos ([SWS_DM_00763]).

Interacción

Tras la instanciación, la aplicación debe llamar a Offer ([SWS_DM_00766]) para que el Diagnostic Server (DM) reenvíe las solicitudes UDS entrantes para el servicio 0x27 (SWS Diagnostics §7.3.2.8.9 «Service 0x27 – SecurityAccess», [SWS_DM_00236]). Si la subfunción coincide, el servidor reenvía las solicitudes a GetSeed ([SWS_DM_00863]). El reenvío se puede volver a desactivar con StopOffer ([SWS_DM_00767]).

Esta nota de uso fue generada automáticamente sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#832b15e6
Content hash
832b15e6
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

función 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#2f692fc8
Content hash
2f692fc8
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

función 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#dd577adf
Content hash
dd577adf
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

función StopOffer [SWS_DM_00767] Upstream: RS_Diag_04005

void StopOffer () noexcept;

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: cc611929a4e2 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

La función miembro StopOffer de la clase ara::diag::SecurityAccess (encabezado ara/diag/security_access.h) sirve para desactivar el reenvío de mensajes de solicitud entrantes desde Diagnostic Management (DM) a la instancia [SWS_DM_00767]. La llamada se realiza de forma síncrona, no acepta parámetros y no devuelve ningún valor de retorno (void) [SWS_DM_00767].

Manejo de errores

La función está declarada con noexcept y clasificada como segura frente a excepciones (exception safe) [SWS_DM_00767]. No se notifican ni códigos de error ni excepciones de C++; la especificación de la interfaz no contempla un comportamiento erróneo ni un estado de excepción durante la anulación del registro [SWS_DM_00767].

Concurrencia y restricciones

Según la especificación, StopOffer no es seguro para subprocesos (not thread-safe) [SWS_DM_00767]. Si varios subprocesos de una Adaptive Application acceden de forma concurrente a la misma instancia de ara::diag::SecurityAccess, la llamada debe sincronizarse externamente.

Interacción

El método forma parte de un patrón funcional transversal a módulos en el área de DM. Existen métodos StopOffer similares para numerosos servicios de diagnóstico adicionales, tales como:

Aunque la nomenclatura se basa en la provisión de servicios en ara::com, se trata de una implementación de diagnóstico independiente para controlar el flujo de mensajes dentro de ara::diag AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors».

Esta nota de uso se generó automáticamente sobre la base de la especificación de AUTOSAR para R25-11.

Guía del implementador pendiente (complejidad 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#0d54d72e
Content hash
0d54d72e
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

función 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#35045867
Content hash
35045867
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

función 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#00b42b3b
Content hash
00b42b3b
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

función ~SecurityAccess [SWS_DM_00763] Upstream: RS_AP_00134, RS_Diag_04005

virtual ~SecurityAccess () noexcept;

Destructor of SecurityAccess .

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 34fedca7e76c Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El destructor virtual ~SecurityAccess [SWS_DM_00763] finaliza el ciclo de vida de una instancia de la clase de servicio ara::diag::SecurityAccess en el módulo Diagnostics AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 «Destructor». La interfaz se proporciona a través de la cabecera #include "ara/diag/security_access.h" [SWS_DM_00763]. La ejecución se realiza de forma síncrona, en la que la función no acepta parámetros de entrada ni proporciona un valor de retorno [SWS_DM_00763].

Con respecto al tratamiento de errores, la operación está clasificada como exception safe y declarada con noexcept [SWS_DM_00763]. Por consiguiente, no lanza excepciones. En la especificación no están previstos códigos de error específicos ni mensajes de error dirigidos a gestores de errores de desarrollo o de diagnóstico (DET o DEM) para la destrucción del objeto [SWS_DM_00763].

En cuanto a la concurrencia, la función está categorizada expresamente como not thread-safe [SWS_DM_00763]. La destrucción del objeto nunca debe realizarse al mismo tiempo que las llamadas a otros métodos en la misma instancia. Como interpretación: Es de esperar que sea necesario concluir de manera ordenada todas las actividades en curso de diagnóstico y de acceso de seguridad de esta instancia antes de la destrucción, ya que los accesos simultáneos conllevan un comportamiento indefinido. Pregunta Q-12c13e3eebd9e574 (abierta)

En interacción con la plataforma, la función sirve para materializar los requisitos upstream RS_AP_00134 y RS_Diag_04005 AUTOSAR_AP_SWS_Diagnostics §8.24.2.1.1.3 «Destructor».

Nota de uso generada automáticamente sobre la base de la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#58ec34f5
Content hash
58ec34f5
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