DEENESPTFRRUARHIKOZHNL

class ara::diag::DiagnosticServiceDynamicAccessList

[SWS_DM_01156] Upstream: RS_Diag_04251

class DiagnosticServiceDynamicAccessList final {...};

Definition of the DiagnosticServiceDynamicAccessList class, which is used by the application to build a DynamicAccessList.

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

User GuideKI-GENERIERT

Ermöglicht adaptiven Anwendungen den Aufbau dynamischer Zugriffslisten und Dienstmuster für Diagnosedienste.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: d14f1d69eb64 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht adaptiven Anwendungen den Aufbau dynamischer Zugriffslisten und Dienstmuster für Diagnosedienste.

Die Klasse dient adaptiven Anwendungen zur Erstellung und Konfiguration dynamischer Zugriffslisten für Diagnosedienste [SWS_DM_01156]. Nach optionaler Voraballokation von Speicher erzeugt sie über Methoden wie MakeServiceBuilder Instanzen zur Musterdefinition einzelner Dienst-IDs oder Byte-Sequenzen [SWS_DM_01164]. Alle Elementfunktionen sind als noexcept ausnahmesicher deklariert, während modifizierende Operationen anwendungsseitig gegen nebenläufige Zugriffe abgesichert werden müssen [SWS_DM_01163].

Kontext

Die Klasse ara::diag::DiagnosticServiceDynamicAccessList dient einer adaptiven Anwendung (AA) dazu, eine dynamische Zugriffsliste (DynamicAccessList) für Diagnosedienste aufzubauen [SWS_DM_01156]. Sie fungiert als Fabrik und Verwaltungseinheit für Dienstmuster, indem sie Instanzen von DynamicAccessListDiagServiceBuilder erzeugt [SWS_DM_01164], [SWS_DM_01165]. In der Architektur interagiert die Anwendung direkt mit der Liste, um Zugriffsregeln anhand von Dienstkennungen (SID) oder Byte-Sequenzen zu definieren, welche die Grundlage für die dynamische Zugriffskontrolle im Diagnosesubsystem bilden SWS Diagnostics §8.13.1 „Class: DiagnosticServiceDynamicAccessList“.

Lebenszyklus

Instanzen von DiagnosticServiceDynamicAccessList werden über den parameterlosen Standardkonstruktor erzeugt [SWS_DM_01157]. Die Klasse ist als final deklariert SWS Diagnostics §8.13.1 „Class: DiagnosticServiceDynamicAccessList“. Sie unterstützt vollwertige Wertsemantik: Objekte können sowohl kopiert als auch verschoben werden, wofür entsprechende Kopier- und Verschiebekonstruktoren [SWS_DM_01159], [SWS_DM_01160] sowie Zuweisungsoperatoren [SWS_DM_01161], [SWS_DM_01162] bereitstehen. Nach der Initialisierung befindet sich das Objekt im Zustand zur Musteraufnahme, ehe es am Ende seiner Lebensdauer über den Destruktor bereinigt wird [SWS_DM_01158].

Hinsichtlich der Nebenläufigkeit sind die Konstruktoren (Standard-, Kopier- und Verschiebekonstruktor) explizit als threadsicher spezifiziert [SWS_DM_01157], [SWS_DM_01159], [SWS_DM_01160]. Sämtliche manipulierenden Methoden wie Zuweisungen, Speicherreservierungen und Builder-Erzeugungen sowie der Destruktor sind hingegen als nicht threadsicher definiert [SWS_DM_01161], [SWS_DM_01162], [SWS_DM_01163], [SWS_DM_01164], [SWS_DM_01165], [SWS_DM_01158]. Ein nebenläufiger Zugriff auf dasselbe Objekt bedarf daher anwendungsseitiger Synchronisation.

Nutzungspfad

Der typische Ablauf beim Aufbau einer dynamischen Dienstzugriffsliste umfasst die folgenden Phasen:

  • Speichervoraballokation: Vor dem Hinzufügen von Dienstmustern kann die Anwendung mit Reserve Speicher für alle erwarteten Dienstmuster vorab reservieren [SWS_DM_01163]. Die übergebenen Parameter numberOfServiceHeads und maxServiceHeadSize erlauben eine Worst-Case-Abschätzung des benötigten Speichers, um spätere dynamische Reallokationen zu minimieren.
  • Erzeugung von Mustern: Die Anwendung ruft MakeServiceBuilder auf, um ein Diagnosedienstmuster einzuleiten. Dies geschieht entweder anhand eines einzelnen SID-Bytes [SWS_DM_01164] oder einer Byte-Sequenz serviceHead für tiefergehende Musterprüfungen [SWS_DM_01165].
  • Musterkonfiguration: Die Methode liefert ein Objekt vom Typ DynamicAccessListDiagServiceBuilder zurück [SWS_DM_01164], welches die Anwendung anschließend konfiguriert.
Nutzungsablauf von DiagnosticServiceDynamicAccessListAADiagnosticServiceDynamicAccessListDynamicAccessListDiagServiceBuilderReserve(numberOfServiceHeads, maxServiceHeadSize)altEinzelservice (nur SID)MakeServiceBuilder(sid)Musterabgleich (Byte-Sequenz)MakeServiceBuilder(serviceHead)Instanziierung des BuildersRückgabe DynamicAccessListDiagServiceBuilder

Sequenzdiagramm: Typischer Ablauf der Mustererstellung über DiagnosticServiceDynamicAccessList. Quellen: [SWS_DM_01163], [SWS_DM_01164], [SWS_DM_01165]

Fehlerszenarien

Alle öffentlichen Elementfunktionen und Konstruktoren der Klasse sind als noexcept deklariert und garantieren strikte Ausnahmesicherheit (exception safe) [SWS_DM_01157], [SWS_DM_01163], [SWS_DM_01164]. Fehlerzustände in Form von C++-Ausnahmen oder Rückgabe von ara::core::Result mit Fehlercodes treten an dieser Schnittstelle nicht auf. Bei der Speicherreservierung via Reserve darf die Angabe eine Schätzung sein; eine Unterschätzung führt nicht zum Funktionsabbruch, dürfte jedoch spätere Neuallokationen erforderlich machen [SWS_DM_01163]. Frage Q-8d33a0315da27aed (offen) Anwendungsentwickler müssen sicherstellen, dass die nicht threadsicheren Funktionen Reserve, MakeServiceBuilder und die Zuweisungsoperatoren niemals ohne externe Verriegelung gleichzeitig mit demselben Objekt ausgeführt werden.

Dieser Leitfaden basiert auf dem AUTOSAR-Standard Release R25-11 und fasst die Spezifikation der Klasse ara::diag::DiagnosticServiceDynamicAccessList zusammen.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__DiagnosticServiceDynamicAccessList408 DiagnosticServiceDynamicAccessList + DiagnosticServiceDynamicAccessList() + ~DiagnosticServiceDynamicAccessList() + MakeServiceBuilder() + Reserve() + operator=()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructor of DiagnosticServiceDynamicAccessList.

Überladungen DiagnosticServiceDynamicAccessList 3
DiagnosticServiceDynamicAccessList () noexcept; SWS_DM_01157
DiagnosticServiceDynamicAccessList (DiagnosticServiceDynamicAccessList const &other) noexcept; SWS_DM_01159
DiagnosticServiceDynamicAccessList (DiagnosticServiceDynamicAccessList &&other) noexcept; SWS_DM_01160

Destructor of DiagnosticServiceDynamicAccessList.

Methoden

This function is used by the AA to construct a pattern for the DynamicAccessList, using only the SID.

Überladungen MakeServiceBuilder 2
auto MakeServiceBuilder (DynamicAccessListDiagServiceBuilder::Byte String serviceHead) noexcept -> DynamicAccessListDiagServiceBuilder; SWS_DM_01165
Reserve function

Preallocates memory for all service heads to fit into the DynamicAccessList. The preallocation can be just estimated and may calculate just the worst case of memory needed, not exact memory size needed for data numberOfServiceHeads.

void Reserve (std::size_t numberOfServiceHeads, std::size_t maxService HeadSize) noexcept;

Operatoren

operator= function 2

Copy assignment operator of DiagnosticServiceDynamicAccessList.

Überladungen = 2

Dokumentation der Methoden

function DiagnosticServiceDynamicAccessList [SWS_DM_01157] Upstream: RS_Diag_04251

DiagnosticServiceDynamicAccessList () noexcept;

Constructor of DiagnosticServiceDynamicAccessList.

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

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

Record
AUTOSAR/AP/record/SWS_DM_01157
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01157@rel:R25-11#42df3dfe
Content hash
42df3dfe
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01157
Status: valid/unmigrated Version: rel:R25-11#650f2a0d Versionshistorie & Revisions (1 transition, 6 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_01157@rel:R25-11#650f2a0d
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#42df3dfe2026-09-30
  • R21-11rel:R21-11#09c51dc72026-10-14
  • R22-11rel:R22-11#113ea8dc2026-10-14
  • R23-11rel:R23-11#4acd84372026-10-14
  • R24-11rel:R24-11#9677d51c2026-10-14
  • R25-11rel:R25-11#650f2a0d2026-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

function DiagnosticServiceDynamicAccessList [SWS_DM_01159] Upstream: RS_Diag_04251

DiagnosticServiceDynamicAccessList (DiagnosticServiceDynamicAccessList const &other) noexcept;

Copy constructor of DiagnosticServiceDynamicAccessList.

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
otherObject to copy-construct from

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

Record
AUTOSAR/AP/record/SWS_DM_01159
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01159@rel:R25-11#04f2998d
Content hash
04f2998d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01159
Status: valid/unmigrated Version: rel:R25-11#5af28b9b Versionshistorie & Revisions (1 transition, 6 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_01159@rel:R25-11#5af28b9b
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#04f2998d2026-09-30
  • R21-11rel:R21-11#512324732026-10-14
  • R22-11rel:R22-11#cb06a8392026-10-14
  • R23-11rel:R23-11#0c46643c2026-10-14
  • R24-11rel:R24-11#68d000522026-10-14
  • R25-11rel:R25-11#5af28b9b2026-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

function DiagnosticServiceDynamicAccessList [SWS_DM_01160] Upstream: RS_Diag_04251

DiagnosticServiceDynamicAccessList (DiagnosticServiceDynamicAccessList &&other) noexcept;

Move constructor of DiagnosticServiceDynamicAccessList.

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
otherObject to move-construct from

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

Record
AUTOSAR/AP/record/SWS_DM_01160
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01160@rel:R25-11#b1d30f91
Content hash
b1d30f91
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01160
Status: valid/unmigrated Version: rel:R25-11#12aff0c0 Versionshistorie & Revisions (1 transition, 6 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_01160@rel:R25-11#12aff0c0
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#b1d30f912026-09-30
  • R21-11rel:R21-11#7324eeed2026-10-14
  • R22-11rel:R22-11#fe02969e2026-10-14
  • R23-11rel:R23-11#50b95efd2026-10-14
  • R24-11rel:R24-11#f4a6a02c2026-10-14
  • R25-11rel:R25-11#12aff0c02026-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

function MakeServiceBuilder [SWS_DM_01164] Upstream: RS_Diag_04251

auto MakeServiceBuilder (DynamicAccessListDiagServiceBuilder::Byte sid) noexcept -> DynamicAccessListDiagServiceBuilder;

This function is used by the AA to construct a pattern for the DynamicAccessList, using only the SID.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cfdb5e234f29 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Funktion MakeServiceBuilder der Klasse ara::diag::DiagnosticServiceDynamicAccessList dient einer adaptiven Anwendung dazu, ein Muster für die dynamische Zugriffsliste (DynamicAccessList) über einen einzelnen Service-Identifier (sid) zu initiieren ([SWS_DM_01164]). Sie nimmt den Parameter sid vom Typ DynamicAccessListDiagServiceBuilder::Byte entgegen und liefert eine neue Instanz von DynamicAccessListDiagServiceBuilder zurück ([SWS_DM_01164]). Durch diesen Aufruf veranlasst die Anwendung die Diagnostic-Server-Instanz, eine neue DynamicAccessList beginnend mit dem übergebenen Einzelbyte-Muster aufzubauen ([SWS_DM_01218]; AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.4 „DynamicAccessList Creation and Update“).

Zusammenspiel und Alternativen

Nach dem Start ist die dynamische Zugriffsliste aller Clients standardmäßig leer ([SWS_DM_01214]). Neben dieser Funktion steht der Anwendung eine Überladung mit einem Byte-String (serviceHead) zur Verfügung ([SWS_DM_01165]). Beide Überladungen stellen den Einstiegspunkt dar, mit dem die Erstellung einer neuen Zugriffsliste im Server angestoßen wird ([SWS_DM_01218]).

Fehlerbehandlung und Nebenläufigkeit

Die Schnittstelle ist als noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert ([SWS_DM_01164]). Sie wirft keine Ausnahmen und gibt keine Fehlercodes zurück; fehlerhafte Service-Identifier dürften daher erst bei der späteren Auswertung des Musters durch den Diagnostic Server auffallen. Frage Q-eacef79ec6be9fcd (offen) In Bezug auf Nebenläufigkeit ist die Funktion explizit als nicht threadsicher (not thread-safe) eingestuft ([SWS_DM_01164]). Bei parallelem Zugriff aus mehreren Ausführungskontexten muss die aufrufende Anwendung für eine externe Synchronisation sorgen.

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
sidThe diagnostic service identifier

Rückgabewert

TypBeschreibung
DynamicAccessListDiagServiceBuilderReturns an instance of a diagnostic service pattern builder.

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

Record
AUTOSAR/AP/record/SWS_DM_01164
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01164@rel:R25-11#1eac2427
Content hash
1eac2427
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01164
Status: valid/unmigrated Version: rel:R25-11#3c379a56 Versionshistorie & Revisions (1 transition, 6 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_01164@rel:R25-11#3c379a56
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#1eac24272026-09-30
  • R21-11rel:R21-11#230b7fcc2026-10-14
  • R22-11rel:R22-11#afc594cf2026-10-14
  • R23-11rel:R23-11#9cb67f682026-10-14
  • R24-11rel:R24-11#6c185f572026-10-14
  • R25-11rel:R25-11#3c379a562026-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

function MakeServiceBuilder [SWS_DM_01165] Upstream: RS_Diag_04251

auto MakeServiceBuilder (DynamicAccessListDiagServiceBuilder::Byte String serviceHead) noexcept -> DynamicAccessListDiagServiceBuilder;

This function is used by the AA to construct a pattern for the DynamicAccessList, using a string of bytes.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7426838ef9df Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode MakeServiceBuilder der Klasse ara::diag::DiagnosticServiceDynamicAccessList dient einer Adaptive Application zur Erstellung eines Diagnosemusters für die DynamicAccessList anhand einer Bytefolge ([SWS_DM_01165]).

Verwendung

Der Aufruf erfolgt synchron über die Schnittstelle der Klasse ara::diag::DiagnosticServiceDynamicAccessList (AUTOSAR_AP_SWS_Diagnostics §8.13.1.1.3.1 „MakeServiceBuilder“):

  • Parameter: serviceHead (Typ DynamicAccessListDiagServiceBuilder::Byte String) übergibt eine Bytefolge, die den Beginn des Musters für den Diagnoseabgleich definiert ([SWS_DM_01165]).
  • Rückgabewert: Gibt eine Instanz von DynamicAccessListDiagServiceBuilder zur weiteren Ausgestaltung des Dienstmusters zurück ([SWS_DM_01165]).

Zusammenspiel und Lebenszyklus

Beim Systemstart ist die DynamicAccessList aller Clients standardmäßig leer ([SWS_DM_01214]). Wird eine Überladung von MakeServiceBuilder aufgerufen, veranlasst die Diagnostic-Server-Instanz die Erstellung einer neuen DynamicAccessList, beginnend mit dem übergebenen Bytestring-Muster ([SWS_DM_01218], AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.4 „DynamicAccessList Creation and Update“). Alternativ steht eine Überladung für ein einzelnes Byte zur Verfügung ([SWS_DM_01164]).

Nebenläufigkeit und Fehlerbehandlung

Die Funktion ist als noexcept deklariert und ausnahmesicher (exception safe), erzeugt also keine C++-Exceptions ([SWS_DM_01165]). Fehlercodes oder DET-/DEM-Meldungen sind für diesen Aufruf nicht spezifiziert. Da die Operation als nicht threadsicher (not thread-safe) eingestuft ist, müssen parallele Aufrufe auf derselben Instanz anwendungsseitig synchronisiert werden ([SWS_DM_01165]).

Dieser Nutzungshinweis wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 erzeugt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
serviceHeadA string of bytes to start the DynamicAccess pattern-match

Rückgabewert

TypBeschreibung
DynamicAccessListDiagServiceBuilderReturns an instance of a diagnostic service pattern builder

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

Record
AUTOSAR/AP/record/SWS_DM_01165
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01165@rel:R25-11#91e264c5
Content hash
91e264c5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01165
Status: valid/unmigrated Version: rel:R25-11#4638ae8b Versionshistorie & Revisions (1 transition, 6 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_01165@rel:R25-11#4638ae8b
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#91e264c52026-09-30
  • R21-11rel:R21-11#a05ce1b82026-10-14
  • R22-11rel:R22-11#081641a52026-10-14
  • R23-11rel:R23-11#47836da72026-10-14
  • R24-11rel:R24-11#236438b42026-10-14
  • R25-11rel:R25-11#4638ae8b2026-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

function Reserve [SWS_DM_01163] Upstream: RS_Diag_04251

void Reserve (std::size_t numberOfServiceHeads, std::size_t maxService HeadSize) noexcept;

Preallocates memory for all service heads to fit into the DynamicAccessList. The preallocation can be just estimated and may calculate just the worst case of memory needed, not exact memory size needed for data numberOfServiceHeads.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 77bde14da8ee Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode ara::diag::DiagnosticServiceDynamicAccessList::Reserve allokiert vorab Speicher für Service-Heads innerhalb einer Instanz von DiagnosticServiceDynamicAccessList ([SWS_DM_01163], SWS Diagnostics §8.13.1.1.3.3 „Reserve“). Diese Vorallokation muss nicht die exakte Speichergröße treffen, sondern darf als Worst-Case-Abschätzung des maximal benötigten Speichers berechnet werden ([SWS_DM_01163]).

Verwendung und Parameter

Der Aufruf erfolgt synchron und verarbeitet zwei Eingabeparameter ([SWS_DM_01163]):

  • numberOfServiceHeads (std::size_t): Anzahl der diagnostischen Servicemuster (Patterns).
  • maxServiceHeadSize (std::size_t): Erwartete maximale Anzahl von Diagnose-Bytes innerhalb eines einzelnen Musters.

Die Funktion liefert keinen Rückgabewert (void) und ist mit noexcept sowie der Eigenschaft exception safe spezifiziert ([SWS_DM_01163]). Eine Fehlerbehandlung über Rückgabecodes oder Ausnahmen existiert nicht.

Nebenläufigkeit und Einschränkungen

Die Funktion ist als not thread-safe eingestuft ([SWS_DM_01163]). Nebenläufige Zugriffe mehrerer Threads auf dieselbe Instanz erfordern daher zwingend eine externe Synchronisation. Vermutlich wird die Methode vor dem Registrieren von Service-Patterns aufgerufen, um spätere Speicher-Reallokationen zur Laufzeit zu minimieren. Frage Q-e58b6f12a3a0adac (offen)

Abgrenzung

Zu unterscheiden ist diese Methode von gleichnamigen SOVD-Funktionen wie in DiagnosticSovdArrayContentElementDataView ([SWS_DM_02240]), DiagnosticSovdRecordContentElementDataView ([SWS_DM_02283]) oder DiagnosticSovdContentElementData ([SWS_DM_02345]), die jeweils eine Kapazität entgegennehmen und als thread-safe spezifiziert sind.

Dieser Verwendungshinweis basiert auf der Spezifikation AUTOSAR Adaptive R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
numberOfServiceHeadsThe number of diagnostic service patterns.
maxServiceHeadSizeThe expected maximum number of diagnostic service bytes in a single pattern.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_01163
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01163@rel:R25-11#4f6a02da
Content hash
4f6a02da
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01163
Status: valid/unmigrated Version: rel:R25-11#231ea52a Versionshistorie & Revisions (1 transition, 6 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_01163@rel:R25-11#231ea52a
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#4f6a02da2026-09-30
  • R21-11rel:R21-11#7c00aaff2026-10-14
  • R22-11rel:R22-11#9b2d4beb2026-10-14
  • R23-11rel:R23-11#39885db92026-10-14
  • R24-11rel:R24-11#c550adcb2026-10-14
  • R25-11rel:R25-11#231ea52a2026-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

function operator= [SWS_DM_01161] Upstream: RS_Diag_04251

auto operator= (DiagnosticServiceDynamicAccessList const &other) & noexcept -> DiagnosticServiceDynamicAccessList &;

Copy assignment operator of DiagnosticServiceDynamicAccessList.

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
otherObject to copy-assign from.

Rückgabewert

TypBeschreibung
DiagnosticServiceDynamicAccessListDiagnosticService DynamicAccessList& Reference to self.

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

Record
AUTOSAR/AP/record/SWS_DM_01161
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01161@rel:R25-11#92a7fbd6
Content hash
92a7fbd6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01161
Status: valid/unmigrated Version: rel:R25-11#bce030a7 Versionshistorie & Revisions (1 transition, 6 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_01161@rel:R25-11#bce030a7
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#92a7fbd62026-09-30
  • R21-11rel:R21-11#827b61ac2026-10-14
  • R22-11rel:R22-11#b8b5ca432026-10-14
  • R23-11rel:R23-11#df8cf67a2026-10-14
  • R24-11rel:R24-11#d76fed172026-10-14
  • R25-11rel:R25-11#bce030a72026-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

function operator= [SWS_DM_01162] Upstream: RS_Diag_04251

auto operator= (DiagnosticServiceDynamicAccessList &&other) & noexcept -> DiagnosticServiceDynamicAccessList &;

Move assignment operator of DiagnosticServiceDynamicAccessList.

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
otherObject to move-assign from.

Rückgabewert

TypBeschreibung
DiagnosticServiceDynamicAccessListDiagnosticService DynamicAccessList& Reference to self.

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

Record
AUTOSAR/AP/record/SWS_DM_01162
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01162@rel:R25-11#aeb26d70
Content hash
aeb26d70
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01162
Status: valid/unmigrated Version: rel:R25-11#45605241 Versionshistorie & Revisions (1 transition, 6 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_01162@rel:R25-11#45605241
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#aeb26d702026-09-30
  • R21-11rel:R21-11#13f622882026-10-14
  • R22-11rel:R22-11#2543a3962026-10-14
  • R23-11rel:R23-11#66dedb2b2026-10-14
  • R24-11rel:R24-11#02a7987a2026-10-14
  • R25-11rel:R25-11#456052412026-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

function ~DiagnosticServiceDynamicAccessList [SWS_DM_01158] Upstream: RS_Diag_04251

~DiagnosticServiceDynamicAccessList () noexcept;

Destructor of DiagnosticServiceDynamicAccessList.

Header-Datei#include "ara/diag/diagnostic_service_dynamic_access_list.h"
Scopeclass ara::diag::DiagnosticServiceDynamicAccessList
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_01158
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01158@rel:R25-11#d795d66e
Content hash
d795d66e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01158
Status: valid/unmigrated Version: rel:R25-11#dfc56fdd Versionshistorie & Revisions (1 transition, 6 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_01158@rel:R25-11#dfc56fdd
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#d795d66e2026-09-30
  • R21-11rel:R21-11#5abdb5112026-10-14
  • R22-11rel:R22-11#c2b638722026-10-14
  • R23-11rel:R23-11#606ce0002026-10-14
  • R24-11rel:R24-11#f7853b742026-10-14
  • R25-11rel:R25-11#dfc56fdd2026-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