DEENESPTFRRUARHIKOZHNL

classe ara::diag::UploadService

[SWS_DM_00794] Upstream: RS_Diag_04033

class UploadService {...};

Upload service interface.

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

Guide utilisateurGÉNÉRÉ PAR IA

Permet à l'application de mettre à disposition des données de calculateur pour les téléversements UDS vers le Diagnostic Management.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : e2e1ae703412 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet à l'application de mettre à disposition des données de calculateur pour les téléversements UDS vers le Diagnostic Management.

La classe ara::diag::UploadService sert d'interface de service côté application pour la mise à disposition de données de calculateur destinées aux téléversements de diagnostic externes conformément à UDS [SWS_DM_00797]. Après une activation réussie via Offer(), le gestionnaire traite de manière asynchrone les requêtes successives relatives à l'initiation de l'upload, au transfert de blocs de données et à la fin du transfert [SWS_DM_00802]. L'instance de service non copiable prend alors en charge tant les transferts de données par blocs que l'interruption prématurée via un gestionnaire d'annulation. Le gestionnaire acquitte les requêtes erronées au moyen de codes de retour négatifs UDS au sein des futures de réponse asynchrones.

Contexte

La classe ara::diag::UploadService définit l'interface de service centrale pour les opérations d'upload de diagnostic au sein de l'AUTOSAR Adaptive Platform [SWS_DM_00797]. Elle fait office de gestionnaire côté application pour la lecture et la mise à disposition de données internes au véhicule à des testeurs externes selon la norme de diagnostic UDS (ISO 14229-1) [SWS_DM_00799].

Dans l'architecture système, ara::diag::UploadService interagit pour l'essentiel avec deux partenaires : le client de diagnostic externe (testeur) et le démon de diagnostic côté plateforme Diagnostic Management (DM) [SWS_DM_00799], [SWS_DM_00802]. Le DM reçoit au niveau du protocole les requêtes de service UDS entrantes telles que RequestUpload, TransferData et RequestTransferExit, les valide et transmet les requêtes fonctionnelles au gestionnaire enregistré de l'application [SWS_DM_00799], [SWS_DM_00800], [SWS_DM_00801]. L'instance de l'application implémente les méthodes virtuelles de l'interface afin de lire et de renvoyer les blocs de données effectifs depuis la mémoire [SWS_DM_00800].

uploadservice_kontext client Diagnose-Client (Tester) dm Diagnostic Management (DM) client->dm UDS RequestUpload / TransferData / RequestTransferExit dm->client UDS Response / NRC app ara::diag::UploadService (Applikation) dm->app RequestUpload() / UploadData() / RequestUploadExit() app->dm Offer() / StopOffer() app->dm Future-Ergebnisse / OperationOutput

Diagramme de contexte : intégration du service d'upload entre le client de diagnostic, le Diagnostic Management et le gestionnaire applicatif. Sources : [SWS_DM_00797], [SWS_DM_00799], [SWS_DM_00802].

Cycle de vie

Une instance de ara::diag::UploadService est construite en spécifiant un ara::core::InstanceSpecifier ainsi que le comportement de concurrence concurrencyType [SWS_DM_00797]. Le spécificateur associe l'instance à un prototype de port modélisé du type DiagnosticUploadInterface [SWS_DM_00797]. Le constructeur est spécifié comme sûr vis-à-vis des exceptions et thread-safe [SWS_DM_00797]. Afin de garantir une assignation univoque de l'instance de service, les constructeurs de copie et de déplacement ainsi que les opérateurs d'affectation sont explicitement supprimés [SWS_DM_01671], [SWS_DM_01672], [SWS_DM_01673], [SWS_DM_01674].

Après l'instanciation, le service se trouve d'abord à l'état inactif ; le DM ne transmet pas encore de requêtes. Ce n'est que par l'appel explicite de Offer() que la transmission est activée [SWS_DM_00802]. L'acheminement des requêtes peut être à nouveau interrompu à tout moment via StopOffer() [SWS_DM_00803]. Offer() tout comme StopOffer() sont définis comme non thread-safe et nécessitent une synchronisation externe en cas d'appels depuis plusieurs threads [SWS_DM_00802], [SWS_DM_00803].

La destruction s'effectue via le destructeur virtuel ~UploadService(), qui n'est pas non plus thread-safe [SWS_DM_00798]. Avant la libération de l'objet, le service devrait par conséquent être désenregistré en bonne et due forme via StopOffer() [SWS_DM_00803]. Le fait que les méthodes virtuelles de traitement doivent ou non être exécutées de manière intrinsèquement thread-safe est déterminé par le ConcurrencyType (kConcurrent ou kNotConcurrent) configuré lors de la construction [SWS_DM_00797], [SWS_DM_00799].

Parcours d'utilisation

Le déroulement standard d'une session d'upload s'effectue en plusieurs étapes successives :

  1. Mise à disposition du service : l'application initialise le gestionnaire et appelle Offer() pour recevoir les requêtes de diagnostic entrantes du DM [SWS_DM_00802].
  2. Demander l'upload (RequestUpload) : si une requête UDS d'initiation d'upload arrive, le DM appelle la méthode RequestUpload() [SWS_DM_00799]. Le gestionnaire vérifie le format des données, le format d'adressage ainsi que l'adresse mémoire et la longueur (memoryAddressAndSize). La zone mémoire transmise reste valide jusqu'à ce que le ara::core::Future<void> renvoyé soit satisfait ou que l'opération soit annulée [SWS_DM_00799].
  3. Transférer les blocs de données (UploadData) : après une initiation réussie, le testeur envoie des requêtes UDS TransferData. Le DM appelle alors UploadData() de manière répétée [SWS_DM_00800]. L'application lit le bloc de données demandé et le restitue via un ara::core::Future<OperationOutput> ; les octets contenus dans OperationOutput.responseData sont placés dans la réponse positive après le compteur de blocs [SWS_DM_00800]. Interprétation : la limite de tampon numBytesToReturn devrait ici faire office de taille maximale de segment (chunk) pour la mise en tampon interne du DM, de sorte que les zones de mémoire plus étendues soient segmentées séquentiellement au moyen d'appels successifs. Question Q-6ede2e3041d99294 (ouverte)
  4. Terminer le transfert (RequestUploadExit) : pour conclure, le DM appelle RequestUploadExit() et transmet les paramètres de transfert spécifiques au constructeur dans transferRequestParameterRecord [SWS_DM_00801]. Le gestionnaire valide la conclusion et renvoie des paramètres de retour facultatifs dans OperationOutput [SWS_DM_00801].
  5. Désactiver le service : après la conclusion de toutes les transactions d'upload ou lors de l'arrêt du système, l'application met fin à la transmission avec StopOffer() [SWS_DM_00803].

Pendant l'intégralité du transfert de données, le gestionnaire reçoit un objet CancellationHandler. Via celui-ci, l'état d'annulation peut être interrogé activement au moyen de IsCanceled() ou un rappel peut être enregistré via SetNotifier() au cas où le testeur interromprait prématurément le dialogue [SWS_DM_00799], [SWS_DM_00800], [SWS_DM_00801].

Déroulement d'un téléversement de diagnosticDMUploadServiceOffer()RequestUpload(dataFormat, addressAndLength, memoryAddressAndSize, metaInfo, cancelHandler)Future<void> rempliloopTant que d'autres blocs de données sont présentsUploadData(numBytesToReturn, metaInfo, cancelHandler)Future<OperationOutput> (responseData)RequestUploadExit(transferRequestParamRecord, metaInfo, cancelHandler)Future<OperationOutput>StopOffer()

Diagramme de séquence : séquence d'interaction typique entre Diagnostic Management et UploadService au cours d'une transaction d'upload. Sources : [SWS_DM_00799], [SWS_DM_00800], [SWS_DM_00801], [SWS_DM_00802], [SWS_DM_00803].

Scénarios d'erreur

Des états d'erreur peuvent survenir lors de la construction, pendant l'activation ainsi que lors du déroulement effectif des données :

  • Violations de modèle et de configuration : si la configuration ne correspond pas au modèle ARXML, des violations surviennent lors de l'appel du constructeur [SWS_DM_00797]. En font partie InstanceSpecifierMappingIntegrityViolation (le spécificateur ne référence pas un PortPrototype), PortInterfaceMappingViolation (liaison manquante via DiagnosticServiceGenericMapping), ProcessMappingViolation (aucune concordance avec le processus modélisé) ainsi que InstanceSpecifierAlreadyInUseViolation (utilisation multiple du même spécificateur au sein d'un processus) [SWS_DM_00797].
  • Activation multiple du service : si Offer() est appelé alors que le service est déjà proposé, l'appel échoue et renvoie le code d'erreur DiagOfferErrc::kAlreadyOffered dans ara::core::Result<void> [SWS_DM_00802].
  • Réponses d'erreur UDS (Negative Response) : si le gestionnaire ne peut pas traiter fonctionnellement une requête dans RequestUpload(), UploadData() ou RequestUploadExit() (par ex. adresses mémoire non autorisées, erreurs de format ou compteurs de séquence non valides), il le signale en fournissant un code d'erreur issu de DiagUdsNrcErrc dans le Future renvoyé [SWS_DM_00799], [SWS_DM_00800], [SWS_DM_00801]. Le DM génère alors une réponse négative UDS conforme au standard (NRC) à destination de l'appareil de contrôle externe [SWS_DM_00799].

Ce guide se base exclusivement sur la spécification AUTOSAR Adaptive Platform Release R25-11.

Carte des membres

Diagramme de classes

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

G nara__diag__UploadService152 UploadService + UploadService() + operator=() + ~UploadService() + Offer() + RequestUpload() + RequestUploadExit() + StopOffer() + UploadData()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

UploadService fonction 3

Class for an UploadService.

Surcharges UploadService 3
explicit UploadService (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00797
UploadService (UploadService &)=delete; SWS_DM_01673
UploadService (UploadService &&) noexcept=delete; SWS_DM_01674

Destructor of class UploadService.

virtual ~UploadService () noexcept;

Méthodes

Offer fonction

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

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

Called for RequestUpload.

virtual ara::core::Future< void > RequestUpload (std::uint8_t data FormatIdentifier, std::uint8_t addressAndLengthFormatIdentifier, ara::core::Span< const std::uint8_t > memoryAddressAndSize, const Meta Info &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for RequestTransferExit.

virtual ara::core::Future< OperationOutput > RequestUploadExit (ara::core::Span< const std::uint8_t > transferRequestParameterRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
StopOffer fonction

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

void StopOffer () noexcept;
UploadData fonction

Called for TransferData following a previous RequestUpload.

virtual ara::core::Future< OperationOutput > UploadData (std::size_t numBytesToReturn, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Opérateurs

operator= fonction 2

UploadService shall be a single not assignable instance.

Surcharges = 2
UploadService & operator= (UploadService &)=delete; SWS_DM_01671
UploadService & operator= (UploadService &&)=delete; SWS_DM_01672

Types imbriqués

Documentation des méthodes

fonction Offer [SWS_DM_00802] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04033

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

Utilisation et sémantique

La fonction membre synchrone Offer de la classe ara::diag::UploadService ([SWS_DM_00802]) active le transfert des requêtes de diagnostic par le Diagnostic Management (DM) vers le gestionnaire enregistré. L'appel ne prend aucun paramètre et déclare la sécurité des exceptions noexcept ([SWS_DM_00802]). Le type de retour utilisé est ara::core::Result<void>, qui reflète la mise à disposition réussie ou une erreur survenue ([SWS_DM_00802]).

Gestion des erreurs et concurrence

  • Codes d'erreur : Si le service a déjà été proposé auparavant, l'exécution échoue avec le code d'erreur DiagOfferErrc::kAlreadyOffered ([SWS_DM_00802]) ; la sémantique de rollback s'applique dans ce cas.
  • Sécurité des threads : La fonction est explicitement spécifiée comme not thread-safe ([SWS_DM_00802]). Les appels concurrents sur la même instance de service doivent être synchronisés côté application.

Interaction au sein du sous-système de diagnostic

L'opération s'intègre dans le modèle uniforme de mise à disposition des gestionnaires de diagnostic adaptatifs, tel qu'utilisé notamment pour DownloadService ([SWS_DM_00792]) ou GenericUDSService ([SWS_DM_00619]). Tant que la mise à disposition n'a pas eu lieu, le DM ne transfère aucun message de diagnostic entrant vers le gestionnaire (cf. comportements analogues dans [SWS_DM_01525]). Interprétation : l'appel de Offer devrait typiquement intervenir durant la phase d'initialisation de l'application, avant la réception du trafic de diagnostic. Question Q-aba091d233b5e45b (ouverte)

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

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

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService
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_00802
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00802@rel:R25-11#a96d9fcb
Content hash
a96d9fcb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00802
Status: valid/unmigrated Version: rel:R25-11#bad97a1d 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_00802@rel:R25-11#bad97a1d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#786c252c2026-09-30
  • R19-11rel:R19-11#3f54e3d62026-10-14
  • R20-11rel:R20-11#0298249e2026-10-14
  • R21-11rel:R21-11#13db1e2f2026-10-14
  • R22-11rel:R22-11#c89046b12026-10-14
  • R23-11rel:R23-11#5c26975d2026-10-14
  • R24-11rel:R24-11#27f9bbaf2026-10-14
  • R25-11rel:R25-11#bad97a1d2026-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 RequestUpload [SWS_DM_00799] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04033, RS_Diag_04170

virtual ara::core::Future< void > RequestUpload (std::uint8_t data FormatIdentifier, std::uint8_t addressAndLengthFormatIdentifier, ara::core::Span< const std::uint8_t > memoryAddressAndSize, const Meta Info &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for RequestUpload.

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

Utilisation

La méthode RequestUpload de la classe de service ara::diag::UploadService est appelée par le Diagnostic Server afin de traiter une requête de diagnostic entrante du service UDS 0x35 (RequestUpload) conformément à l'ISO 14229-1 [SWS_DM_00134] [SWS_DM_00868] AUTOSAR_AP_SWS_Diagnostics §7.3.2.8.17 « Service 0x35 – RequestUpload ». La fonction reçoit les paramètres suivants [SWS_DM_00799] :

  • dataFormatIdentifier et addressAndLengthFormatIdentifier : Identifiants de format UDS pour les données, l'adresse mémoire et les indications de longueur.
  • memoryAddressAndSize : Un ara::core::Span contenant l'adresse et la taille de la mémoire, dont la validité est garantie jusqu'à la résolution de la promesse ou jusqu'à l'interruption du traitement.
  • metaInfo : Métainformations relatives à la requête de diagnostic.
  • cancellationHandler : Sert à interroger l'état d'interruption via cancellationHandler.IsCanceled et à enregistrer des fonctions de notification au moyen de cancellationHandler.SetNotifier.

Le traitement s'effectue de manière asynchrone avec le type de retour ara::core::Future<void> [SWS_DM_00799].

Gestion des erreurs

En cas d'erreur, le ara::core::Future fournit un code d'erreur UDS-NRC approprié conformément à l'ISO 14229-1 via DiagUdsNrcErrc, après quoi un retour négatif est effectué [SWS_DM_00799]. En cas de réponse positive, le Diagnostic Manager signale l'événement de sécurité SEV_UDS_REQUEST_UP_DOWNLOAD_SUCCESSFUL à l'IdsM [SWS_DM_02031], et en cas de réponse négative, l'événement SEV_UDS_REQUEST_UP_DOWNLOAD_FAILED [SWS_DM_02033].

Concurrence et interaction

La fonction est déclarée comme noexcept et sans exception. L'obligation pour la méthode d'être implémentée de manière thread-safe est conditionnelle et est définie via le ConcurrencyType transmis dans le constructeur [SWS_DM_00799].

Après la confirmation réussie de RequestUpload, le transfert effectif des données de téléversement est poursuivi lors des requêtes ultérieures du service UDS 0x36 (TransferData) via UploadData [SWS_DM_00800] [SWS_DM_01096].

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

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

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService
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
dataFormatIdentifierUDS dataFormat Identifier
addressAndLengthFormatIdentifierUDS addressAndLengthFormatIdentifier
memoryAddressAndSizememoryAddress and memorySize part of the request. 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< void >A Result with either void (for a positive response message) or an UDS NRC value (for a negative response message).

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_00799
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00799@rel:R25-11#c1e745d4
Content hash
c1e745d4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00799
Status: valid/unmigrated Version: rel:R25-11#0b83de5a 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_00799@rel:R25-11#0b83de5a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8fbf8bca2026-09-30
  • R19-11rel:R19-11#33d5ee1b2026-10-14
  • R20-11rel:R20-11#d252b6b12026-10-14
  • R21-11rel:R21-11#ef0d46112026-10-14
  • R22-11rel:R22-11#2327d0512026-10-14
  • R23-11rel:R23-11#e790ec332026-10-14
  • R24-11rel:R24-11#32605e462026-10-14
  • R25-11rel:R25-11#0b83de5a2026-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 RequestUploadExit [SWS_DM_00801] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04033, RS_Diag_04170

virtual ara::core::Future< OperationOutput > RequestUploadExit (ara::core::Span< const std::uint8_t > transferRequestParameterRecord, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for RequestTransferExit.

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

Utilisation et contexte d'appel

La méthode RequestUploadExit de la classe ara::diag::UploadService (SWS Diagnostics §8.27.1.1.3.3 « RequestUploadExit ») est appelée par l'instance de serveur de diagnostic lorsque la fin d'un transfert de données via le service UDS RequestTransferExit (0x37) doit être traitée [SWS_DM_00141], [SWS_DM_00801].

L'interface reçoit les paramètres suivants [SWS_DM_00801] :

  • transferRequestParameterRecord : Contient des paramètres spécifiques au constructeur pour assister le transfert au format ara::core::Span<const std::uint8_t>. Les données restent valides jusqu'à ce que la promesse correspondante soit tenue ou que le traitement soit interrompu. Interprétation : L'évaluation de ces paramètres devrait principalement servir à des validations spécifiques au constructeur lors de l'achèvement de l'upload. Question Q-d3989837f58761d7 (ouverte)
  • metaInfo : Transmet des métainformations sur la requête de diagnostic actuelle.
  • cancellationHandler : Permet d'interroger l'état d'interruption via cancellationHandler.IsCanceled() ou d'enregistrer un rappel de notification au moyen de cancellationHandler.SetNotifier().

Valeurs de retour et gestion des erreurs

L'exécution s'effectue de manière asynchrone et renvoie un ara::core::Future<OperationOutput> [SWS_DM_00801]. En cas de succès, le future est résolu avec une instance de OperationOutput. Les données de responseData qui y sont transmises sont insérées en tant que transferResponseParameterRecord dans la réponse de diagnostic positive après l'ID de service [SWS_DM_00796], [SWS_DM_00801]. En cas d'erreur, le future doit être complété avec un code d'erreur approprié issu de DiagUdsNrcErrc conformément à l'ISO 14229-1 [SWS_DM_00801].

Concurrence et restrictions

La méthode est spécifiée comme noexcept [SWS_DM_00801]. L'exigence relative à la sécurité des threads est conditionnelle : le fait que la fonction doive être exécutée de manière sûre au niveau des threads est déterminé via le ConcurrencyType transmis dans le constructeur de UploadService [SWS_DM_00801].

Cette note d'utilisation est basée sur les spécifications d'AUTOSAR AP SWS Diagnostics R25-11.

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

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService
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
transferRequestParameterRecordThis parameter record contains parameter(s), which are required by the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. 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<OperationOutput >A Future, which either gets readied to OperationOutput (transfer ResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.responseData will be placed after SID as transferResponseParameterRecord in the positive response.

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_00801
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00801@rel:R25-11#06543d3f
Content hash
06543d3f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00801
Status: valid/unmigrated Version: rel:R25-11#f77c400c 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_00801@rel:R25-11#f77c400c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f103b5002026-09-30
  • R19-11rel:R19-11#6d772d5c2026-10-14
  • R20-11rel:R20-11#c9d5fd842026-10-14
  • R21-11rel:R21-11#6b59a7682026-10-14
  • R22-11rel:R22-11#1e7bc3b72026-10-14
  • R23-11rel:R23-11#7014682b2026-10-14
  • R24-11rel:R24-11#883ba93a2026-10-14
  • R25-11rel:R25-11#f77c400c2026-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_00803] Upstream: RS_Diag_04033

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

Utilisation

La méthode StopOffer() de la classe ara::diag::UploadService ([SWS_DM_00803], déclarée dans #include "ara/diag/upload.h") désactive la transmission des requêtes de diagnostic entrantes issues de Diagnostic Management (DM) vers le service de téléversement. La fonction possède la signature void StopOffer() noexcept;, n'accepte aucun paramètre et ne fournit aucune valeur de retour. L'appel s'effectue de manière synchrone et met immédiatement fin à la transmission des requêtes.

Gestion des erreurs

L'opération est spécifiée comme sûre vis-à-vis des exceptions (exception safe) et déclarée avec l'identifiant noexcept [SWS_DM_00803]. Aucune exception C++ n'est donc levée. Aucun code d'erreur ni message d'erreur spécifique n'est prévu pour cet appel.

Concurrence et restrictions

Conformément à la spécification, StopOffer() n'est pas sûre pour les threads (not thread-safe) [SWS_DM_00803]. L'Adaptive Application appelante doit donc s'assurer par elle-même que les appels sur une même instance ne s'effectuent pas de manière concurrente depuis plusieurs threads sans synchronisation externe. Quant à l'ordre d'appel, la méthode ne devrait typiquement être appelée qu'après une mise à disposition préalable du service, afin de le désenregistrer de manière contrôlée. Question Q-90ce659f307f54ca (ouverte)

Interaction

L'interface s'inscrit dans le modèle de mise à disposition uniforme du diagnostic AUTOSAR Adaptive, qui prévoit pour les instances de service des méthodes distinctes pour l'activation et la désactivation AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 « Monitors ». La méthode constitue le pendant fonctionnel de ara::diag::DownloadService::StopOffer ([SWS_DM_00793]), qui est soumise aux mêmes exigences amont. Des fonctions de désactivation analogues existent en outre pour d'autres composants de diagnostic tels que les routines génériques ([SWS_DM_00558]), les services UDS ([SWS_DM_00620]) ainsi que les interfaces d'authentification ([SWS_DM_01131]).

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

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

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService
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_00803
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00803@rel:R25-11#6efe949b
Content hash
6efe949b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00803
Status: valid/unmigrated Version: rel:R25-11#8b63b743 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_00803@rel:R25-11#8b63b743
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#dd707d232026-09-30
  • R19-11rel:R19-11#68387f162026-10-14
  • R20-11rel:R20-11#0faa733b2026-10-14
  • R21-11rel:R21-11#3a7bf50e2026-10-14
  • R22-11rel:R22-11#413e742c2026-10-14
  • R23-11rel:R23-11#d3704b4a2026-10-14
  • R24-11rel:R24-11#376798192026-10-14
  • R25-11rel:R25-11#8b63b7432026-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 UploadData [SWS_DM_00800] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04033, RS_Diag_04170

virtual ara::core::Future< OperationOutput > UploadData (std::size_t numBytesToReturn, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for TransferData following a previous RequestUpload.

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

Utilisation et contexte d'appel

La méthode virtuelle pure UploadData de l'interface ara::diag::UploadService est appelée par le Diagnostic Server pour traiter le service UDS TransferData (0x36) après une initialisation préalable par RequestUpload (0x35) ([SWS_DM_00800], [SWS_DM_01096], AUTOSAR_AP_SWS_Diagnostics §7.3.2.8 « TransferData (0x36) upload processing »).

  • numBytesToReturn : spécifie le nombre maximal d'octets que le Diagnostic Manager (DM) peut recevoir pour ce bloc de données en raison de la taille de son tampon interne ([SWS_DM_00800]). Interprétation : l'application devrait limiter strictement la taille du bloc à cette valeur limite. Question Q-89de95e70e1e6223 (ouverte)
  • metaInfo : fournit des métadonnées relatives à la requête de diagnostic entrante ([SWS_DM_00800]).
  • cancellationHandler : sert à surveiller les conversations en cours via cancellationHandler.IsCanceled() ainsi qu'à enregistrer des notifications via cancellationHandler.SetNotifier() en cas d'interruption ([SWS_DM_00800]).

Le renvoi s'effectue de manière asynchrone via ara::core::Future<OperationOutput> ([SWS_DM_00800]). En cas de succès, les données utiles fournies dans OperationOutput.responseData ([SWS_DM_00796]) sont placées dans la réponse positive directement après le compteur blockSequenceCounter en tant que transferResponseParameterRecord ([SWS_DM_00800]).

Gestion des erreurs et validation

En cas d'erreur, le future est résolu avec un code d'erreur approprié (NRC) selon l'ISO 14229-1 issu de DiagUdsNrcErrc ([SWS_DM_00800]). En dehors des vérifications de base des NRC selon [SWS_DM_00101] et [SWS_DM_00103], le Diagnostic Manager n'effectue aucune autre validation de service ; toutes les autres vérifications de NRC requises doivent être implémentées par l'application appelée elle-même ([SWS_DM_01096]).

Concurrence et sécurité d'exécution

L'opération est sûre face aux exceptions (exception safe) ([SWS_DM_00800], AUTOSAR_AP_SWS_Diagnostics §8.27.1.1.3.5 « UploadData »). La sécurité vis-à-vis des threads est conditionnelle : la nécessité d'implémenter UploadData de manière sûre vis-à-vis des threads est définie via le ConcurrencyType transmis dans le constructeur de UploadService ([SWS_DM_00800]).

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

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

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService
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
numBytesToReturnnumber of bytes DM accepts (due to its internal buffer) for this chunk.
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<OperationOutput >A Future, which either gets readied to OperationOutput (transfer ResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for a negative response message). Data in OperationOutput.responseData will be placed after block SequenceCounter as transferResponseParameterRecord in the positive response.

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_00800
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00800@rel:R25-11#361f057b
Content hash
361f057b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00800
Status: valid/unmigrated Version: rel:R25-11#4ee36ff3 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_00800@rel:R25-11#4ee36ff3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#91b276562026-09-30
  • R19-11rel:R19-11#597f021f2026-10-14
  • R20-11rel:R20-11#07f442e92026-10-14
  • R21-11rel:R21-11#5d3267c42026-10-14
  • R22-11rel:R22-11#5ba2c4292026-10-14
  • R23-11rel:R23-11#96d3edad2026-10-14
  • R24-11rel:R24-11#512c5d2b2026-10-14
  • R25-11rel:R25-11#4ee36ff32026-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 UploadService [SWS_DM_00797] Upstream: RS_AP_00137, RS_Diag_04033, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

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

Class for an UploadService.

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService
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 typed by a pingViolation DiagnosticUploadInterface needs to be referenced by a DiagnosticServiceGenericMapping. 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 DiagnosticUploadInterface.
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_00797
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00797@rel:R25-11#fc75dadd
Content hash
fc75dadd
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00797
Status: valid/unmigrated Version: rel:R25-11#e7e491fd 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_00797@rel:R25-11#e7e491fd
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#216dae2f2026-09-30
  • R19-11rel:R19-11#fcb841452026-10-14
  • R20-11rel:R20-11#c9f4cf932026-10-14
  • R21-11rel:R21-11#c9f4cf932026-10-14
  • R22-11rel:R22-11#a535d2f62026-10-14
  • R23-11rel:R23-11#b8c1cbe42026-10-14
  • R24-11rel:R24-11#fd0c15cb2026-10-14
  • R25-11rel:R25-11#e7e491fd2026-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 UploadService [SWS_DM_01673] Upstream: RS_AP_00147

UploadService (UploadService &)=delete;

UploadService shall be a single not copy-able instance.

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService

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

Record
AUTOSAR/AP/record/SWS_DM_01673
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01673@rel:R25-11#cd15ec6b
Content hash
cd15ec6b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01673
Status: valid/unmigrated Version: rel:R25-11#138bf0fb 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_01673@rel:R25-11#138bf0fb
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#3ed52c152026-09-30
  • R23-11rel:R23-11#ee1fd89a2026-10-14
  • R24-11rel:R24-11#84b805742026-10-14
  • R25-11rel:R25-11#138bf0fb2026-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 UploadService [SWS_DM_01674] Upstream: RS_AP_00147

UploadService (UploadService &&) noexcept=delete;

Move constructor of UploadService.

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService

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

Record
AUTOSAR/AP/record/SWS_DM_01674
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01674@rel:R25-11#408184d2
Content hash
408184d2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01674
Status: valid/unmigrated Version: rel:R25-11#1a0da022 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_01674@rel:R25-11#1a0da022
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e66414f02026-09-30
  • R23-11rel:R23-11#ee76ef902026-10-14
  • R24-11rel:R24-11#1a0da0222026-10-14
  • R25-11rel:R25-11#1a0da0222026-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_01671] Upstream: RS_AP_00147

UploadService & operator= (UploadService &)=delete;

UploadService shall be a single not assignable instance.

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService

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

Record
AUTOSAR/AP/record/SWS_DM_01671
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01671@rel:R25-11#874c0d15
Content hash
874c0d15
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01671
Status: valid/unmigrated Version: rel:R25-11#af20aa02 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_01671@rel:R25-11#af20aa02
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#297568772026-09-30
  • R23-11rel:R23-11#4f34cf602026-10-14
  • R24-11rel:R24-11#af20aa022026-10-14
  • R25-11rel:R25-11#af20aa022026-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_01672] Upstream: RS_AP_00147

UploadService & operator= (UploadService &&)=delete;

Move assignment operator of UploadService.

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService

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

Record
AUTOSAR/AP/record/SWS_DM_01672
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01672@rel:R25-11#3080d14d
Content hash
3080d14d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01672
Status: valid/unmigrated Version: rel:R25-11#8d230917 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_01672@rel:R25-11#8d230917
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#1ac3ee402026-09-30
  • R23-11rel:R23-11#77d3925b2026-10-14
  • R24-11rel:R24-11#8d2309172026-10-14
  • R25-11rel:R25-11#8d2309172026-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 ~UploadService [SWS_DM_00798] Upstream: RS_AP_00134, RS_Diag_04033

virtual ~UploadService () noexcept;

Destructor of class UploadService.

Header-Datei#include "ara/diag/upload.h"
Scopeclass ara::diag::UploadService
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_00798
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00798@rel:R25-11#53ac12fe
Content hash
53ac12fe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00798
Status: valid/unmigrated Version: rel:R25-11#d8bb9189 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_00798@rel:R25-11#d8bb9189
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#66df81512026-09-30
  • R19-11rel:R19-11#b772d13d2026-10-14
  • R20-11rel:R20-11#4dbb305d2026-10-14
  • R21-11rel:R21-11#4dbb305d2026-10-14
  • R22-11rel:R22-11#0a6cc0fa2026-10-14
  • R23-11rel:R23-11#8d6c812b2026-10-14
  • R24-11rel:R24-11#978ec5a12026-10-14
  • R25-11rel:R25-11#d8bb91892026-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