DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Valida solicitudes de diagnóstico entrantes en Diagnostic Management en función de comprobaciones de fabricante o proveedor.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: f91c31f76f32 Procedencia Preguntas abiertas (2)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Valida solicitudes de diagnóstico entrantes en Diagnostic Management en función de comprobaciones de fabricante o proveedor.

La clase ara::diag::ServiceValidation sirve para la validación específica de la aplicación de solicitudes de diagnóstico UDS entrantes en Diagnostic Management a partir de criterios de fabricante o proveedor [SWS_DM_00772]. Tras la creación, el servicio debe activarse mediante Offer() para que los datos de solicitud se reenvíen asíncronamente a Validate() para su comprobación y posteriormente se confirmen mediante Confirmation() [SWS_DM_00776]. Como restricción esencial, la instancia está vinculada a un puerto, no es copiable ni desplazable y, aparte del constructor, no es segura para hilos.

Contexto

La clase ara::diag::ServiceValidation proporciona la interfaz de programación para el elemento de modelado DiagnosticServiceValidationInterface dentro de la pila de diagnóstico de AUTOSAR Adaptive. A través de esta interfaz, una aplicación puede implementar comprobaciones específicas de la aplicación para solicitudes de diagnóstico entrantes. La instancia interactúa directamente con Diagnostic Management (DM), el cual queda autorizado a reenviar solicitudes de diagnóstico entrantes a la lógica de validación [SWS_DM_00776].

La asignación funcional de la validación se controla mediante el atributo de modelado DiagnosticServiceValidationMapping.category. En función de esta categoría, el método de validación Validate() se invoca en el marco de las reglas de respuesta UDS conforme a ISO 14229-1 (capítulo 8.7), bien en el contexto de una comprobación de fabricante («Manufacturer Check») o bien de una comprobación de proveedor («Supplier Check») [SWS_DM_00772]. Es de suponer que el DM somete los mensajes de solicitud entrantes a esta comprobación de validación antes de la ejecución efectiva del servicio con el fin de filtrar solicitudes inadmisibles de forma temprana. Pregunta Q-d84302d27d940634 (abierta)

Ciclo de vida

La creación se realiza explícitamente mediante el constructor indicando un ara::core::InstanceSpecifier, el cual debe hacer referencia a un PortPrototype definido en el modelo del sistema [SWS_DM_00772]. ara::diag::ServiceValidation está diseñada como una instancia única no copiable y no desplazable: tanto el constructor de copia [SWS_DM_01689] como el constructor de movimiento [SWS_DM_01690], así como los operadores de asignación por copia [SWS_DM_01687] y por movimiento [SWS_DM_01688], están declarados como eliminados (=delete).

Tras la inicialización, el objeto permanece en estado de reposo. Únicamente al llamar a Offer() se habilita el reenvío de solicitudes de diagnóstico desde el DM hacia el manejador [SWS_DM_00776]. La oferta del servicio puede finalizarse durante el tiempo de ejecución mediante StopOffer(), con lo cual el DM vuelve a desactivar el reenvío [SWS_DM_00777]. La liberación de los recursos se realiza a través del destructor virtual ~ServiceValidation() [SWS_DM_00773].

Respecto a la concurrencia, únicamente el constructor está especificado como seguro para hilos [SWS_DM_00772]. Los métodos Offer() [SWS_DM_00776], StopOffer() [SWS_DM_00777], Validate() [SWS_DM_00774], Confirmation() [SWS_DM_00775], así como el destructor [SWS_DM_00773], están clasificados como no seguros para hilos, pero son seguros contra excepciones (noexcept).

Ruta de uso

Es de suponer que la lógica de validación concreta sea proporcionada por la aplicación derivando de ara::diag::ServiceValidation y sobrescribiendo los métodos de interfaz virtuales. Pregunta Q-84efdab7839212b5 (abierta) El flujo de funcionamiento típico se divide en las siguientes fases:

  1. Instanciación: creación de la instancia pasando el InstanceSpecifier que referencia el puerto configurado [SWS_DM_00772].
  2. Oferta del servicio: llamada a Offer() para activar el reenvío de solicitudes por parte del DM [SWS_DM_00776].
  3. Validación: con cada solicitud de diagnóstico entrante, el DM invoca el método Validate() [SWS_DM_00774]. Se transfieren los datos brutos (incluido el Service Identifier, SID) como ara::core::Span<const std::uint8_t>, así como el MetaInfo de la solicitud [SWS_DM_00774]. Los datos permanecen válidos hasta que se cumpla el ara::core::Future<void> devuelto o se cancele el procesamiento mediante un manejador de cancelación [SWS_DM_00774].
  4. Confirmación: tan pronto como concluye el procesamiento de la solicitud de diagnóstico, el DM informa al manejador mediante el método Confirmation(), pasando el estado del resultado (ConfirmationStatusType) y el MetaInfo [SWS_DM_00775].
  5. Desactivación: finalización del procesamiento de solicitudes mediante StopOffer() [SWS_DM_00777].
Flujo de validación y confirmación de una solicitud de diagnósticoAplicaciónServiceValidationDiagnostic ManagementOffer()Registrierung aktivierenValidate(requestData, metaInfo)Comprobación de datos y MetaInfoaltValidierung erfolgreichFuture<void> (Erfolg)Validierung fehlgeschlagenFuture<void> (DiagUdsNrcErrc)Confirmation(status, metaInfo)StopOffer()Registrierung deaktivieren

Diagrama de secuencia: secuencia de llamadas para la validación y confirmación de una solicitud de diagnóstico. Fuentes: [SWS_DM_00772], [SWS_DM_00774], [SWS_DM_00775], [SWS_DM_00776], [SWS_DM_00777].

Escenarios de error

Las condiciones de error se producen tanto durante la comprobación de configuración estática durante la construcción como en tiempo de ejecución:

  • Infracciones de construcción: el constructor notifica errores de modelado específicos como infracciones (Violations) [SWS_DM_00772]:
    • InstanceSpecifierMappingIntegrityViolation: el identificador no se puede resolver en el contexto del ejecutable o no hace referencia a un PortPrototype [SWS_DM_00772].
    • PortInterfaceMappingViolation: el PortPrototype referenciado no está tipificado mediante un DiagnosticServiceValidationInterface [SWS_DM_00772].
    • ProcessMappingViolation: no existe un Process modelado adecuado para el proceso [SWS_DM_00772].
    • InstanceSpecifierAlreadyInUseViolation: otra instancia ya está utilizando el InstanceSpecifier en el proceso en ejecución [SWS_DM_00772].
  • Oferta del servicio: si se llama a Offer() cuando el servicio ya se está ofreciendo de forma activa, el valor de retorno ara::core::Result<void> devuelve el código de error DiagOfferErrc::kAlreadyOffered [SWS_DM_00776].
  • Errores de validación: si falla la comprobación del contenido de la solicitud, la aplicación señaliza el rechazo a través del ara::core::Future<void> devuelto estableciendo un Negative Response Code (NRC) correspondiente de ISO 14229-1 mediante DiagUdsNrcErrc [SWS_DM_00774].

Esta guía se basa en la especificación AUTOSAR Adaptive R25-11 para el módulo diag.

Mapa de miembros

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

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.

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

Confirmation función

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

Called for any request message.

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

Operadores

operator= función 2

ServiceValidation shall be a single not assignable instance.

Sobrecargas = 2

Documentación de los métodos

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

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

El método Confirmation de la interfaz ara::diag::ServiceValidation ([SWS_DM_00775], declarado en ara/diag/service_validation.h) sirve como notificación sobre la finalización y el resultado de una petición de diagnóstico procesada previamente.

Uso y semántica

La función de retrollamada virtual es llamada de forma síncrona por el Diagnostic Management tan pronto como finaliza el procesamiento de la solicitud. No posee valor de retorno (void) y acepta dos parámetros de entrada ([SWS_DM_00775]):

  • status (ConfirmationStatusType): Señaliza el estado final o el resultado del procesamiento del servicio ([SWS_DM_00775]).
  • metaInfo (const Meta Info &): Contiene la metainformación asociada de la petición de diagnóstico ([SWS_DM_00775]).

Tratamiento de errores y concurrencia

La función está especificada como segura frente a excepciones (exception safe) y declarada con el identificador noexcept ([SWS_DM_00775]). Por lo tanto, las sobrescrituras del lado de la aplicación no deben propagar excepciones hacia el exterior. No hay definidos códigos de error específicos como avisos de DET o DEM para este método. En cuanto a la concurrencia, Confirmation está clasificado como no seguro para hilos (not thread-safe) ([SWS_DM_00775]); el acceso a estados internos de la aplicación dentro de la retrollamada requiere una sincronización adecuada en caso de secuencias paralelas.

Interacción

El disparo de la notificación está vinculado al final del ciclo de vida de una petición de diagnóstico ([SWS_DM_00775]). Este ciclo concluye tan pronto como se haya transmitido o suprimido una respuesta positiva o negativa (AUTOSAR_AP_SWS_Diagnostics §7.3.2.1.2 «Life-cycle of a Diagnostic Conversation»). Interpretación: A nivel de módulo, es probable que el Diagnostic Management no lance la retrollamada Confirmation hasta que la transmisión a través de la capa de transporte se haya confirmado mediante TransmitConfirmation y el resultado kTransmitOk o kTransmitFailed ([SWS_DM_00307], [SWS_DM_00351]). Pregunta Q-97c38586ef5e3704 (abierta)

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

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

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

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

usar

La función miembro Offer de la clase ara::diag::ServiceValidation (cabecera ara/diag/service_validation.h) activa el reenvío de peticiones de diagnóstico entrantes por parte del Diagnostic Manager (DM) a este manejador de validación específico [SWS_DM_00776]. La llamada se realiza de forma síncrona y sin parámetros de transferencia a través de la firma ara::core::Result<void> Offer() noexcept; [SWS_DM_00776]. Como valor de retorno sirve un ara::core::Result<void>, que está vacío en caso de éxito o encapsula el código de error producido en caso de fallo [SWS_DM_00776].

Manejo de errores

Si el registro falla, el método devuelve un Result erróneo. Si el servicio para la instancia en cuestión ya se había ofrecido previamente, se devuelve el código de error DiagOfferErrc::kAlreadyOffered [SWS_DM_00776]. En este caso se aplica una semántica de reversión, de modo que el estado anterior de la instancia permanece inalterado [SWS_DM_00776].

Concurrencia y restricciones

La función está especificada como segura frente a excepciones (exception safe), pero expresamente como no segura para subprocesos (not thread-safe) [SWS_DM_00776]. Los accesos paralelos a la misma instancia deben ser coordinados por la aplicación invocadora. En cuanto al orden, debe llamarse a Offer antes de que el Diagnostic Manager pueda reenviar peticiones de servicio para su validación [SWS_DM_00776].

Interacción

Ofrecer interfaces a través de Offer es un patrón de diseño consistente del diagnóstico de AUTOSAR Adaptive y se emplea de forma análoga, entre otros, en rutinas ([SWS_DM_00557], [SWS_DM_00594]), servicios UDS genéricos ([SWS_DM_00619]), funciones DoIP ([SWS_DM_00725], [SWS_DM_00735]), así como accesos de seguridad ([SWS_DM_00766]). Mientras una interfaz no se haya puesto a disposición mediante Offer, el DM descarta peticiones o recurre a valores sustitutivos definidos ([SWS_DM_01525], [SWS_DM_01527]). Los paralelismos conceptuales con ara::com están motivados funcionalmente, pero representan una implementación independiente del diagnóstico (AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors»).

Esta nota de uso se creó automáticamente a partir de la especificación AUTOSAR Adaptive R25-11.

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

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

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

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

función StopOffer [SWS_DM_00777] Upstream: RS_Diag_04199

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: 9db9d30bd6c8 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 StopOffer() de la clase ara::diag::ServiceValidation (archivo de cabecera ara/diag/service_validation.h) sirve para desactivar el reenvío de mensajes entrantes de petición de Diagnostic Management (DM) a la instancia de validación de servicio [SWS_DM_00777]. La llamada se realiza de forma síncrona, no acepta parámetros de entrada y no proporciona ningún valor de retorno [SWS_DM_00777].

Tratamiento de errores y concurrencia

La función está declarada como noexcept y se considera segura ante excepciones (exception safe), de modo que no se producen excepciones de C++ durante su ejecución [SWS_DM_00777]. Para esta llamada no se han definido códigos de error específicos ni avisos de retorno a la gestión de errores [SWS_DM_00777].

En cuanto a la concurrencia, el método está especificado como no seguro frente a hilos (not thread-safe) [SWS_DM_00777]. Interpretación: La aplicación llamante debe asegurarse de que las llamadas concurrentes en la misma instancia de StopOffer() estén sincronizadas para evitar inconsistencias de datos. Pregunta Q-dde3c015d30a9db1 (abierta)

Interacción

La puesta a disposición y retirada de interfaces mediante Offer() y StopOffer() se orienta según la semántica conocida de ara::com, pero en el ámbito del diagnóstico representa una funcionalidad independiente AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 «Monitors». El patrón para desactivar el reenvío de peticiones desde el DM se utiliza de manera coherente en el estándar para otros manejadores de diagnóstico, como por ejemplo para servicios de autenticación [SWS_DM_01131], control de comunicación [SWS_DM_00810], servicios de descarga [SWS_DM_00793], así como peticiones de reset de la ECU [SWS_DM_01017].

Esta nota de uso ha sido generada de forma automatizada a partir de la especificación R25-11 de AUTOSAR.

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

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

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ef5e4c6cdd97 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 virtual ara::diag::ServiceValidation::Validate se llama para cada mensaje entrante de petición de diagnóstico [SWS_DM_00774]. A través de él, el Diagnostic Server (DM) ejecuta comprobaciones de servicio configuradas específicas del fabricante [SWS_DM_01252], así como específicas del proveedor [SWS_DM_01253] según ISO 14229-1. La asignación como comprobación de fabricante o de proveedor se rige por el modelado en el constructor [SWS_DM_00772].

La función acepta los datos de diagnóstico, incluido el Service Identifier (SID), a través de requestData, así como metainformación a través de metaInfo [SWS_DM_00774]. El búfer requestData sigue siendo válido hasta que el ara::core::Future<void> devuelto se cumpla a través de la promesa asociada o se cancele la ejecución [SWS_DM_00774]. Si la validación concluye con éxito sin errores, el Diagnostic Server continúa con el procesamiento de la petición según ISO 14229-1 [SWS_DM_01254].

Tratamiento de errores y condiciones límite

Si la comprobación falla, debe devolverse un NRC adecuado según ISO 14229-1 mediante DiagUdsNrcErrc [SWS_DM_00774]. Si Validate devuelve el error kNoProcessingNoResponse, la instancia del Diagnostic Server descarta el mensaje sin ninguna otra respuesta [SWS_DM_00860].

En cuanto a la concurrencia, Validate está especificado como seguro ante excepciones (exception safe), pero no seguro frente a hilos (not thread-safe) [SWS_DM_00774]. Interpretación: Dado que la función no es segura frente a hilos, es de esperar que el Diagnostic Server serialice las llamadas a la misma instancia o excluya accesos concurrentes. Pregunta Q-e150c15ad709602c (abierta) El contexto de llamada queda establecido por la secuencia de NRC de la norma ISO 14229-1 antes de la ejecución propiamente dicha del servicio [SWS_DM_00772].

Esta nota de uso se generó automáticamente a partir de la especificación AUTOSAR Adaptive R25-11.

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

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

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

función ~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#19ec55c2
Content hash
19ec55c2
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