DEENESPTFRRUARHIKOZHNL

class ara::diag::CommunicationControl

[SWS_DM_00804] Upstream: RS_Diag_04278

class CommunicationControl {...};

0x28 CommunicationControl interface

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

User GuideKI-GENERIERT

Ermöglicht Anwendungen die Bearbeitung von Diagnoseanforderungen des UDS-Dienstes 0x28 zur Steuerung der Kommunikation.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: ae3aac538bd3 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht Anwendungen die Bearbeitung von Diagnoseanforderungen des UDS-Dienstes 0x28 zur Steuerung der Kommunikation.

Die Klasse ara::diag::CommunicationControl dient in AUTOSAR Adaptive als Schnittstelle zur Bearbeitung des UDS-Dienstes 0x28 (CommunicationControl) für das Schalten von Kommunikationskanälen [SWS_DM_00808]. Nach der modellbasierten Instanziierung über einen InstanceSpecifier schaltet Offer() die Weiterleitung von Anfragen durch den Diagnostic Manager scharf, die anschließend über CommCtrlRequest asynchron verarbeitet werden [SWS_DM_00806], [SWS_DM_00809]. Als striktes Unikat schließt die Klasse Kopier- sowie Verschiebevorgänge aus und verlangt vor dem Beenden eine Deregistrierung über StopOffer() [SWS_DM_00810].

Kontext

Die Klasse ara::diag::CommunicationControl definiert die standardisierte Schnittstelle für die Abwicklung des UDS-Diagnosedienstes 0x28 (CommunicationControl) in der AUTOSAR Adaptive Platform AUTOSAR_AP_SWS_Diagnostics, S. 70. Als abstrakte Basisklasse vermittelt sie zwischen dem Diagnostic Manager (DM) und der anwendungsspezifischen Diagnosefunktionalität, mit der das Senden oder Empfangen bestimmter Kommunikationsnachrichten im Fahrzeugnetzwerk gesteuert wird. Die Anwendungssoftware leitet von dieser Klasse ab und implementiert die rein virtuelle Methode CommCtrlRequest, um eingehende Steuerungsanweisungen entgegenzunehmen und auszuführen [SWS_DM_00808]. Die Bindung an das AUTOSAR-Systemmodell erfolgt über einen ara::core::InstanceSpecifier, welcher einen PortPrototype eines DiagnosticComControlInterface referenziert [SWS_DM_00806].

Lebenszyklus

Eine Instanz wird explizit über den Konstruktor unter Angabe des ara::core::InstanceSpecifier sowie des Nebenläufigkeitsmodells ConcurrencyType (kConcurrent oder kNotConcurrent) erzeugt [SWS_DM_00806]. Die Klasse besitzt strikte Unikatsemantik und ist weder kopierbar noch verschiebbar: Sowohl der Kopierkonstruktor [SWS_DM_01677] und der Verschiebekonstruktor [SWS_DM_01678] als auch der Kopierzuweisungsoperator [SWS_DM_01675] und der Verschiebezuweisungsoperator [SWS_DM_01676] sind gelöscht (=delete).

Nach der Erzeugung verbleibt die Instanz zunächst inaktiv. Erst durch den Aufruf von Offer() wird der Diagnostic Manager autorisiert, eingehende Diagnoseanfragen an den Handler weiterzuleiten [SWS_DM_00809]. Umgekehrt entzieht StopOffer() diese Freigabe und deaktiviert die Weiterleitung [SWS_DM_00810]. Die Zerstörung erfolgt über den virtuellen Destruktor [SWS_DM_00807]. Interpretation: Es dürfte vor der Zerstörung des Objekts erforderlich sein, StopOffer() aufzurufen, damit der Diagnostic Manager keine verwaisten Weiterleitungen aufrechterhält. Frage Q-f67e35c9fea508d8 (offen)

Hinsichtlich der Nebenläufigkeit ist der Konstruktor thread-safe [SWS_DM_00806], während der Destruktor [SWS_DM_00807], Offer() [SWS_DM_00809] und StopOffer() [SWS_DM_00810] nicht thread-safe sind. Die Ausführung von CommCtrlRequest ist bedingt thread-safe (conditional): Ob die Implementierung thread-safe sein muss, bestimmt der im Konstruktor festgelegte ConcurrencyType [SWS_DM_00808].

Nutzungspfad

Der reguläre Ablauf umfasst die Instanziierung der abgeleiteten Klasse, die Dienstregistrierung, die asynchrone Bearbeitung von Diagnoseanfragen und die abschließende Deregistrierung:

  1. Initialisierung: Die Anwendung instanziiert den Handler unter Angabe des InstanceSpecifier und des gewünschten ConcurrencyType [SWS_DM_00806].
  2. Dienstangebot: Über Offer() wird der Dienst beim Diagnostic Manager scharfgeschaltet [SWS_DM_00809].
  3. Anfragebearbeitung: Trifft eine UDS-Anfrage für Dienst 0x28 mit beliebiger Subfunktion ein, ruft der Diagnostic Manager CommCtrlRequest auf [SWS_DM_00808]. Die Parameter umfassen:
    • controlType (ComCtrlRequestParamsType): Alle UDS-Anfrageparameter inklusive optionaler Elemente.
    • metaInfo (const MetaInfo&): Metainformationen zur Diagnoseanforderung.
    • cancellationHandler (CancellationHandler): Dient zur Statusabfrage über IsCanceled() sowie zur Registrierung einer Abbruch-Callback-Funktion via SetNotifier().
  4. Rückmeldung: Die Bearbeitung wird asynchron abgeschlossen und meldet das Ergebnis über ara::core::Future<void> zurück [SWS_DM_00808].
  5. Deregistrierung: Vor dem Herunterfahren oder Beenden stoppt die Anwendung die Weiterleitung mittels StopOffer() [SWS_DM_00810].
Aufruf- und Verarbeitungsablauf für CommunicationControl (0x28)AnwendungCommunicationControlDiagnostic ManagerKonstruktor(specifier, concurrencyType)Offer()Registrierung für UDS 0x28Bestätigung (oder kAlreadyOffered)Result<void>Use Case: Diagnoseanfrage bearbeitenCommCtrlRequest(controlType, metaInfo, cancellationHandler)Verarbeitung / Abfrage cancellationHandlerFuture<void> (Erfolg oder DiagUdsNrcErrc)Use Case: Dienst deregistrierenStopOffer()Weiterleitung beenden

Sequenzdiagramm: Typischer Ablauf von der Initialisierung über die UDS-0x28-Anfragebearbeitung bis zur Deregistrierung. Quellen: [SWS_DM_00806], [SWS_DM_00808], [SWS_DM_00809], [SWS_DM_00810].

Fehlerszenarien

Bereits bei der Konstruktion können Inkonsistenzen im AUTOSAR-Modell zu Laufzeitverletzungen (Violations) führen [SWS_DM_00806]:

  • InstanceSpecifierMappingIntegrityViolation: Der InstanceSpecifier lässt sich im Kontext des Executables nicht auflösen oder verweist nicht auf einen PortPrototype.
  • PortInterfaceMappingViolation: Der durch DiagnosticComControlInterface typisierte PortPrototype wird nicht durch ein DiagnosticServiceGenericMapping referenziert.
  • ProcessMappingViolation: Eine passende Instanzreferenz existiert, aber es gibt keinen modellierten Prozess, der zum aktuellen Prozess passt.
  • InstanceSpecifierAlreadyInUseViolation: Der Bezeichner wird im selben Prozess bereits von einer anderen Instanz verwendet.

Im laufenden Betrieb meldet Offer() über den Rückgabewert ara::core::Result<void> den Fehler DiagOfferErrc::kAlreadyOffered, falls der Dienst bereits zuvor angeboten wurde und noch aktiv ist [SWS_DM_00809]. Kann eine Diagnoseanforderung in CommCtrlRequest fachlich nicht erfüllt werden, gibt die Methode über das ara::core::Future<void> einen Negative Response Code (NRC) gemäß ISO 14229-1 mittels DiagUdsNrcErrc zurück [SWS_DM_00808].

Dieser Klassen-Leitfaden wurde durch einen KI-Kurations-Assistenten auf Basis von AUTOSAR Adaptive R25-11 erstellt.

Mitgliederkarte

Klassendiagramm

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

G nara__diag__CommunicationControl599 CommunicationControl + CommunicationControl() + operator=() + ~CommunicationControl() + CommCtrlRequest() + Offer() + StopOffer()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructor of CommunicationControl.

Überladungen CommunicationControl 3
explicit CommunicationControl (const ara::core::InstanceSpecifier &specifier, ConcurrencyType concurrencyType) noexcept; SWS_DM_00806
CommunicationControl (CommunicationControl &)=delete; SWS_DM_01677
CommunicationControl (CommunicationControl &&) noexcept=delete; SWS_DM_01678

Destructor of class CommunicationControl.

virtual ~CommunicationControl () noexcept;

Methoden

Called for CommunicationControl (0x28) with any subfunction as subfunction value is part of the argument list.

virtual ara::core::Future< void > CommCtrlRequest (ComCtrlRequest ParamsType controlType, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;
Offer function

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

ara::core::Result< void > Offer () noexcept;
StopOffer function

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

void StopOffer () noexcept;

Operatoren

operator= function 2

CommunicationControl shall be a single not assignable instance.

Überladungen = 2

Eingebettete Typen

Dokumentation der Methoden

function CommCtrlRequest [SWS_DM_00808] Upstream: RS_AP_00119, RS_AP_00138, RS_Diag_04170, RS_Diag_04278

virtual ara::core::Future< void > CommCtrlRequest (ComCtrlRequest ParamsType controlType, const MetaInfo &metaInfo, CancellationHandler cancellationHandler) noexcept=0;

Called for CommunicationControl (0x28) with any subfunction as subfunction value is part of the argument list.

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

Die rein virtuelle Methode ara::diag::CommunicationControl::CommCtrlRequest ([SWS_DM_00808]) wird von der Diagnostic-Server-Instanz aufgerufen, um Diagnoseanforderungen des UDS-Dienstes 0x28 (CommunicationControl) zu verarbeiten ([SWS_DM_00865], SWS Diagnostics §7.3.2.8.10 „Service 0x28 – CommunicationControl“). Alle UDS-Anforderungsparameter einschließlich der Subfunktion werden über die Struktur controlType gebündelt übergeben ([SWS_DM_00808]). Der Aufruf liefert ein ara::core::Future<void> zurück, wodurch die Verarbeitung asynchron erfolgt. Über den Parameter cancellationHandler kann die Applikation mittels IsCanceled() den Abbruchstatus abfragen oder über SetNotifier() einen Callback für den Abbruch der Konversation registrieren ([SWS_DM_00808]).

Schließt die Applikation die Verarbeitung ohne Fehler ab, sendet der Diagnostic Server eine positive UDS-Antwort ([SWS_DM_00199]). Tritt ein Fehler auf, muss dieser als passender Negative Response Code (NRC) gemäß ISO 14229-1 über ara::diag::DiagUdsNrcErrc gemeldet werden ([SWS_DM_00808]); der Server beantwortet die Dienstanforderung daraufhin mit diesem Fehlercode negativ ([SWS_DM_00866]). Nicht konfigurierte Subfunktionen weist der Server bereits vorab mit NRC 0x12 (kSubFunctionNotSupported) ab ([SWS_DM_00252]).

Die Methode ist mit noexcept deklariert und ausnahmesicher ([SWS_DM_00808], SWS Diagnostics §8.7.1.1.3.1 „CommCtrlRequest“). Ihre Threadsicherheit ist bedingt: Ob die Funktion threadsicher implementiert werden muss, wird über den Konstruktor-Parameter ConcurrencyType der Instanz bestimmt ([SWS_DM_00808]). Die tatsächliche Umschaltung der Kommunikationsmodi dürfte asynchron im Hintergrund erfolgen, ehe das Future aufgelöst wird. Frage Q-8a8e1bd2585fa859 (offen)

Dieser Text wurde von einer KI erstellt und kuratiert. Alle Aussagen basieren ausschließlich auf den Spezifikationsunterlagen von AUTOSAR R25-11.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
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
controlTypeAll UDS request parameters packed into a structure since it holds optional elements
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 >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_00808
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00808@rel:R25-11#424df422
Content hash
424df422
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00808
Status: valid/unmigrated Version: rel:R25-11#727dd05b 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_00808@rel:R25-11#727dd05b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#424df4222026-09-30
  • R19-11rel:R19-11#70e59b9a2026-10-14
  • R20-11rel:R20-11#35c65b602026-10-14
  • R21-11rel:R21-11#aa3f917f2026-10-14
  • R22-11rel:R22-11#21c3e83e2026-10-14
  • R23-11rel:R23-11#62deb4992026-10-14
  • R24-11rel:R24-11#f7c711472026-10-14
  • R25-11rel:R25-11#727dd05b2026-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 CommunicationControl [SWS_DM_00806] Upstream: RS_AP_00137, RS_Diag_04278, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

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

Constructor of CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
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 DiagnosticComControlInterface 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 DiagnosticComControlInterface.
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_00806
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00806@rel:R25-11#ca8fdfa9
Content hash
ca8fdfa9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00806
Status: valid/unmigrated Version: rel:R25-11#b906b7ef 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_00806@rel:R25-11#b906b7ef
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ca8fdfa92026-09-30
  • R19-11rel:R19-11#d7fe0baa2026-10-14
  • R20-11rel:R20-11#036e26a62026-10-14
  • R21-11rel:R21-11#036e26a62026-10-14
  • R22-11rel:R22-11#b571889a2026-10-14
  • R23-11rel:R23-11#934addf22026-10-14
  • R24-11rel:R24-11#726b2cfe2026-10-14
  • R25-11rel:R25-11#b906b7ef2026-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 CommunicationControl [SWS_DM_01677] Upstream: RS_AP_00147

CommunicationControl (CommunicationControl &)=delete;

CommunicationControl shall be a single not copy-able instance.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

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

Record
AUTOSAR/AP/record/SWS_DM_01677
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01677@rel:R25-11#e585da4b
Content hash
e585da4b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01677
Status: valid/unmigrated Version: rel:R25-11#5a19d864 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_01677@rel:R25-11#5a19d864
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#e585da4b2026-09-30
  • R23-11rel:R23-11#0dccfa442026-10-14
  • R24-11rel:R24-11#5a19d8642026-10-14
  • R25-11rel:R25-11#5a19d8642026-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 CommunicationControl [SWS_DM_01678] Upstream: RS_AP_00147

CommunicationControl (CommunicationControl &&) noexcept=delete;

Move constructor of CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

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

Record
AUTOSAR/AP/record/SWS_DM_01678
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01678@rel:R25-11#2554e063
Content hash
2554e063
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01678
Status: valid/unmigrated Version: rel:R25-11#6048a835 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_01678@rel:R25-11#6048a835
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#2554e0632026-09-30
  • R23-11rel:R23-11#dd6e581d2026-10-14
  • R24-11rel:R24-11#6048a8352026-10-14
  • R25-11rel:R25-11#6048a8352026-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 Offer [SWS_DM_00809] Upstream: RS_AP_00119, RS_AP_00139, RS_Diag_04278

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

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

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

Verwendung

Die Methode Offer der Klasse ara::diag::CommunicationControl (Header #include "ara/diag/communication_control.h") ermöglicht es dem Diagnostic Management (DM), eingehende Diagnoseanfragen zur Kommunikationssteuerung an die bereitstellende Handler-Instanz weiterzuleiten [SWS_DM_00809]. Der Aufruf erfolgt parameterlos und gibt den Typ ara::core::Result<void> zurück [SWS_DM_00809]. Da kein ara::core::Future oder Callback-Mechanismus verwendet wird, ist die Ausführung als synchron zu interpretieren.

Fehlerbehandlung

Im Erfolgsfall liefert die Funktion ein leeres ara::core::Result zurück. Wurde der Dienst für diese Instanz bereits zuvor angeboten, schlägt der Aufruf fehl und liefert den Fehlercode DiagOfferErrc::kAlreadyOffered mit Rollback-Semantik [SWS_DM_00809]. Dieser Fehlerzustand entspricht der einheitlichen Fehlerbehandlung für Diagnoseangebote in Adaptive AUTOSAR, wie sie etwa in DiagErrc [SWS_DM_00514] sowie DiagReportingErrc [SWS_DM_00560] spezifiziert ist.

Nebenläufigkeit und Einschränkungen

Die Funktion ist als noexcept deklariert und ausnahmesicher (exception safe), jedoch explizit nicht threadsicher (not thread-safe) [SWS_DM_00809]. Aufrufe an derselben Instanz müssen daher von der aufrufenden Anwendung synchronisiert werden, um Race Conditions bei der Registrierung zu verhindern.

Zusammenspiel

Das durch Offer realisierte Registrierungsmuster ist ein zentrales Idiom im Diagnostic Management und wird konsistent über Handler hinweg verwendet, beispielsweise bei Routinen [SWS_DM_00557], allgemeinen UDS-Diensten [SWS_DM_00619], Security-Access-Schnittstellen [SWS_DM_00766] sowie Up- und Download-Diensten [SWS_DM_00792] [SWS_DM_00802]. Zu beachten ist dabei die Abgrenzung zur Kommunikationsinfrastruktur: Wie in AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“ hervorgehoben wird, handelt es sich um eine diagnosespezifische Implementierung, die nicht mit ara::com verwechselt werden darf.

Dieser Nutzungshinweis wurde von einer KI für das Release R25-11 kuratiert und basiert ausschließlich auf den Spezifikationsdokumenten von AUTOSAR Adaptive.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
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_00809
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00809@rel:R25-11#a85f1321
Content hash
a85f1321
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00809
Status: valid/unmigrated Version: rel:R25-11#5af0f990 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_00809@rel:R25-11#5af0f990
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a85f13212026-09-30
  • R19-11rel:R19-11#9f02ccdb2026-10-14
  • R20-11rel:R20-11#2be7c40f2026-10-14
  • R21-11rel:R21-11#6e3abbe82026-10-14
  • R22-11rel:R22-11#65d2217e2026-10-14
  • R23-11rel:R23-11#bbb1cf592026-10-14
  • R24-11rel:R24-11#246db6952026-10-14
  • R25-11rel:R25-11#5af0f9902026-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 StopOffer [SWS_DM_00810] Upstream: RS_Diag_04278

void StopOffer () noexcept;

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

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

Die Elementfunktion StopOffer der Klasse ara::diag::CommunicationControl dient dazu, die Weiterleitung eingehender Diagnose-Anfragenachrichten (Request Messages) aus dem Diagnostic Management (DM) an die Instanz zu deaktivieren [SWS_DM_00810]. Die Schnittstelle wird über die Header-Datei ara/diag/communication_control.h eingebunden AUTOSAR_AP_SWS_Diagnostics §8.7.1.1.3.3 „StopOffer“. Die Methode nimmt keine Übergabeparameter entgegen und besitzt keinen Rückgabewert (void).

Bezüglich der Fehlerbehandlung ist die Funktion als noexcept deklariert und als ausnahmesicher (exception safe) spezifiziert [SWS_DM_00810]. Es werden weder Fehlercodes zurückgegeben noch spezifische Fehlermeldungen (wie DEM- oder DET-Ereignisse) im Fehlerfall ausgelöst.

Hinsichtlich der Nebenläufigkeit ist StopOffer explizit als nicht threadsicher (not thread-safe) eingestuft [SWS_DM_00810]. Gleichzeitige Aufrufe auf derselben Instanz von CommunicationControl müssen folglich anwendungsseitig synchronisiert werden. Zudem dürfte ein Aufruf sinnvollerweise erst nach einem vorangegangenen Anbieten des Dienstes erfolgen, beispielsweise wenn die Kommunikationssteuerung temporär nicht zur Verfügung steht oder die Anwendung heruntergefahren wird. Frage Q-c9079c49581363f7 (offen)

Das Konzept folgt dem standardisierten Schema für adaptive Diagnosedienste: Auch verwandte Klassen wie ara::diag::Authentication [SWS_DM_01131], ara::diag::DownloadService [SWS_DM_00793], ara::diag::EcuResetRequest [SWS_DM_01017] und ara::diag::GenericUDSService [SWS_DM_00620] nutzen StopOffer mit analoger Semantik. Wie in der Spezifikation erläutert wird, ist die Namensgebung zwar an das Service-Offering aus ara::com angelehnt, stellt jedoch eine eigenständige Implementierung für Diagnoseschnittstellen dar und darf nicht damit vermischt werden AUTOSAR_AP_SWS_Diagnostics §7.3.4.1.2 „Monitors“.

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

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
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_00810
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00810@rel:R25-11#e7d48b8a
Content hash
e7d48b8a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00810
Status: valid/unmigrated Version: rel:R25-11#c84b3f30 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_00810@rel:R25-11#c84b3f30
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e7d48b8a2026-09-30
  • R19-11rel:R19-11#28eab4cf2026-10-14
  • R20-11rel:R20-11#ee8709992026-10-14
  • R21-11rel:R21-11#ff87dbf12026-10-14
  • R22-11rel:R22-11#ae33a1b32026-10-14
  • R23-11rel:R23-11#4f252d562026-10-14
  • R24-11rel:R24-11#be84a84f2026-10-14
  • R25-11rel:R25-11#c84b3f302026-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_01675] Upstream: RS_AP_00147

CommunicationControl & operator= (CommunicationControl &)=delete;

CommunicationControl shall be a single not assignable instance.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

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

Record
AUTOSAR/AP/record/SWS_DM_01675
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01675@rel:R25-11#732d4ac8
Content hash
732d4ac8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01675
Status: valid/unmigrated Version: rel:R25-11#6b33e9a5 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_01675@rel:R25-11#6b33e9a5
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#732d4ac82026-09-30
  • R23-11rel:R23-11#d435003d2026-10-14
  • R24-11rel:R24-11#6b33e9a52026-10-14
  • R25-11rel:R25-11#6b33e9a52026-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_01676] Upstream: RS_AP_00147

CommunicationControl & operator= (CommunicationControl &&)=delete;

Move assignment operator of CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl

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

Record
AUTOSAR/AP/record/SWS_DM_01676
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01676@rel:R25-11#cfa3ff93
Content hash
cfa3ff93
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01676
Status: valid/unmigrated Version: rel:R25-11#3330d235 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_01676@rel:R25-11#3330d235
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#cfa3ff932026-09-30
  • R23-11rel:R23-11#fd2c0d6a2026-10-14
  • R24-11rel:R24-11#3330d2352026-10-14
  • R25-11rel:R25-11#3330d2352026-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 ~CommunicationControl [SWS_DM_00807] Upstream: RS_AP_00134, RS_Diag_04278

virtual ~CommunicationControl () noexcept;

Destructor of class CommunicationControl.

Header-Datei#include "ara/diag/communication_control.h"
Scopeclass ara::diag::CommunicationControl
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_00807
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00807@rel:R25-11#0d1c8e41
Content hash
0d1c8e41
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00807
Status: valid/unmigrated Version: rel:R25-11#fef30cdd 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_00807@rel:R25-11#fef30cdd
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0d1c8e412026-09-30
  • R19-11rel:R19-11#50d5e63a2026-10-14
  • R20-11rel:R20-11#83d511c52026-10-14
  • R21-11rel:R21-11#3df09df82026-10-14
  • R22-11rel:R22-11#cf774c8f2026-10-14
  • R23-11rel:R23-11#b59cefc12026-10-14
  • R24-11rel:R24-11#058998e02026-10-14
  • R25-11rel:R25-11#fef30cdd2026-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