DEENESPTFRRUARHIKOZHNL

class ara::diag::MultipleCondition

[SWS_DM_01730] Upstream: RS_Diag_04192

class MultipleCondition final {...};

Class for multiple condition operations.

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

User GuideKI-GENERIERT

Ermöglicht das Setzen und Abfragen mehrerer Diagnosebedingungen über eine gemeinsame Schnittstelle anhand von Handles.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 2f3f3f7d9426 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Ermöglicht das Setzen und Abfragen mehrerer Diagnosebedingungen über eine gemeinsame Schnittstelle anhand von Handles.

Die Klasse ara::diag::MultipleCondition dient der gebündelten Abfrage und Aktualisierung mehrerer Diagnosebedingungen über eine gemeinsame Port-Schnittstelle anhand numerischer Handles ([SWS_DM_01730]). Anwendungen instanziieren das Objekt über einen InstanceSpecifier und steuern Bedingungen gezielt mittels SetCondition und GetCondition ([SWS_DM_01729]). Als wesentliche Randbedingung ist die Klasse weder kopier- noch verschiebbar, und ihr Destruktor ist nicht threadsicher. Zudem müssen alle adressierten Bedingungen im Modell über Port-Mappings konsistent konfiguriert sein, um Initialisierungs- und Laufzeitfehler zu vermeiden.

Kontext

Die Klasse ara::diag::MultipleCondition ermöglicht einer adaptiven Anwendung die gebündelte Verwaltung und Modifikation mehrerer Diagnosebedingungen über eine gemeinsame Schnittstelle ([SWS_DM_01730]). Funktionell und semantisch bietet sie dieselben Fähigkeiten wie Einzelbedingungen, erweitert die Operationen jedoch um die gezielte Adressierung über ein Identifikations-Handle (AUTOSAR_AP_SWS_Diagnostics S. 237). Jede verwaltete Diagnosebedingung (DiagnosticCondition) erfordert im Modell eine Verknüpfung über ein DiagnosticMultipleConditionPortMapping mit einem passend typisierten Port ([SWS_DM_01727], AUTOSAR_AP_SWS_Diagnostics S. 237). Die Adressierung erfolgt über den Typ ConditionHandleType; liegt kein expliziter overrideId-Wert vor, vergibt das Diagnostic Management (DM) aufsteigende numerische Werte ab 0x010000 in alphabetischer Reihenfolge der Kurznamen ([SWS_DM_01735]).

MultipleConditionContext App Adaptive Anwendung MC ara::diag::MultipleCondition App->MC steuert / fragt ab DM Diagnostic Management MC->DM Zustandsabgleich über Port

Kontextdiagramm: Einbettung von ara::diag::MultipleCondition zwischen adaptiver Anwendung und dem Diagnostic Management. Quellen: [SWS_DM_01727], [SWS_DM_01728], AUTOSAR_AP_SWS_Diagnostics S. 237

Lebenszyklus

Eine Instanz wird über den Konstruktor MultipleCondition unter Übergabe eines ara::core::InstanceSpecifier erzeugt ([SWS_DM_01727]). Die Erzeugung ist threadsicher und als noexcept deklariert ([SWS_DM_01727]). Das Objekt besitzt eine strikte Bindung an seinen lokalen Gültigkeitsbereich: Sowohl Kopier- als auch Move-Operationen sind gelöscht; Copy-Konstruktor ([SWS_DM_02072]), Move-Konstruktor ([SWS_DM_02071]), Copy-Zuweisungsoperator ([SWS_DM_02073]) und Move-Zuweisungsoperator ([SWS_DM_02074]) stehen nicht zur Verfügung (=delete).

Der Destruktor ~MultipleCondition() ist explizit als nicht threadsicher spezifiziert ([SWS_DM_01737]). Die Anwendung muss daher sicherstellen, dass vor der Zerstörung alle nebenläufigen Zugriffe auf das Objekt abgeschlossen sind. Für reguläre Methodenaufrufe gilt bedingte Thread-Sicherheit ([SWS_DM_01728], [SWS_DM_01729]). Interpretation: Da die Konstruktorsignatur gemäß [SWS_DM_01727] keinen expliziten Nebenläufigkeitsparameter akzeptiert, dürfte der geforderte ConcurrencyType vermutlich über das zugrundeliegende Port-Modell im Manifest bestimmt werden. Frage Q-f29def512a68aae9 (offen)

Nutzungspfad

Der typische Ablauf bei der Interaktion mit Diagnosebedingungen umfasst folgende Schritte:

  1. Initialisierung: Die Anwendung instanziiert die Klasse unter Angabe des Ziel-Ports ([SWS_DM_01727]).
  2. Zustand setzen: Mit SetCondition(conditionHandle, condition) übermittelt die Anwendung eine Zustandsänderung für die spezifizierte Bedingung und prüft das resultierende ara::core::Result<void> ([SWS_DM_01729]).
  3. Zustand abfragen: Über GetCondition(conditionHandle) wird der aktuelle Zustand der adressierten Bedingung asynchron als ara::core::Future<ConditionType> angefordert ([SWS_DM_01728]).
  4. Ressourcenfreigabe: Beim Verlassen des Gültigkeitsbereichs baut der Destruktor die Schnittstelle geordnet ab ([SWS_DM_01737]).
Typischer Nutzungsablauf für ara::diag::MultipleConditionAnwendungMultipleConditionDiagnosticManagementUse Case: InitialisierungMultipleCondition(specifier)Use Case: Zustand setzenSetCondition(handle, condition)Bedingungszustand aktualisierenBestaetigungResult<void>Use Case: Zustand abfragenGetCondition(handle)Zustand anfordernConditionTypeFuture<ConditionType>Use Case: Bereinigung~MultipleCondition()

Sequenzdiagramm: Aufruf- und Antwortmuster bei der Verwaltung von Bedingungen über MultipleCondition. Quellen: [SWS_DM_01727], [SWS_DM_01728], [SWS_DM_01729], [SWS_DM_01737]

Fehlerszenarien

Bei der Verwendung sind modellierungsbedingte Konstruktionsfehler und funktionale Laufzeitfehler zu unterscheiden:

  • Konstruktionsverletzungen ([SWS_DM_01727]): Schlägt das Auflösen des InstanceSpecifier fehl oder verweist dieser nicht auf einen PortPrototype, wird eine InstanceSpecifierMappingIntegrityViolation gemeldet. Eine PortInterfaceMappingViolation tritt auf, wenn der Port nicht auf ein DiagnosticMultipleConditionInterface typisiert ist. Fehlt dem Prozess das modellierte Gegenstück, entsteht eine ProcessMappingViolation. Wird derselbe InstanceSpecifier mehrfach im Prozess instantiiert, resultiert dies in einer InstanceSpecifierAlreadyInUseViolation.
  • Laufzeitfehler bei Methodenaufrufen: Wird an SetCondition ([SWS_DM_01729]) oder GetCondition ([SWS_DM_01728]) ein unzulässiger Parameter oder ein ungültiges Handle übergeben, liefern die Methoden den Fehler DiagErrc::kInvalidArgument. Ist die Basisfunktionalität des Diagnostic Managements temporär nicht ansprechbar, quittiert GetCondition den Aufruf mit DiagErrc::kServiceNotAvailable ([SWS_DM_01728]).

Dieser Leitfaden basiert ausschließlich auf den Spezifikationen der AUTOSAR Adaptive Platform R25-11.

Mitgliederkarte

Konstruktoren und Destruktor

2

Operatoren

1

Klassendiagramm

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

G nara__diag__MultipleCondition516 MultipleCondition + MultipleCondition() + operator=() + ~MultipleCondition() + GetCondition() + SetCondition()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

Constructor of MultipleCondition Class.

Überladungen MultipleCondition 3
explicit MultipleCondition (const ara::core::InstanceSpecifier &specifier) noexcept; SWS_DM_01727
MultipleCondition (MultipleCondition &&) noexcept=delete; SWS_DM_02071
MultipleCondition (MultipleCondition &)=delete; SWS_DM_02072

Destructor of class Condition .

~MultipleCondition () noexcept;

Methoden

GetCondition function

Get condition state of the requested condition.

ara::core::Future< ConditionType > GetCondition (ConditionHandleType conditionHandle) noexcept;
SetCondition function

Set condition state of the requested condition.

ara::core::Result< void > SetCondition (ConditionHandleType condition Handle, ConditionType condition) noexcept;

Operatoren

operator= function 2

Copy assignment operator of MultipleCondition.

Überladungen = 2

Dokumentation der Methoden

function GetCondition [SWS_DM_01728] Upstream: RS_AP_00139, RS_Diag_04192

ara::core::Future< ConditionType > GetCondition (ConditionHandleType conditionHandle) noexcept;

Get condition state of the requested condition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
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
conditionHandleIdentifies the requested condition

Rückgabewert

TypBeschreibung
ara::core::Future<ConditionType >the current condition

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing
DiagErrc::kServiceNotAvailablerollback_semantics The call cannot be executed, because essential DM functionality is currently not available.

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

Record
AUTOSAR/AP/record/SWS_DM_01728
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01728@rel:R25-11#ffd9efe6
Content hash
ffd9efe6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01728
Status: valid/unmigrated Version: rel:R25-11#1021a13e 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_01728@rel:R25-11#1021a13e
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#ffd9efe62026-09-30
  • R23-11rel:R23-11#cefb75d12026-10-14
  • R24-11rel:R24-11#e36eef822026-10-14
  • R25-11rel:R25-11#1021a13e2026-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 MultipleCondition [SWS_DM_01727] Upstream: RS_AP_00137, RS_Diag_04192, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit MultipleCondition (const ara::core::InstanceSpecifier &specifier) noexcept;

Constructor of MultipleCondition Class.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)InstanceSpeci- InstanceSpecifier either cannot be resolved in the model in the fierMappingIn- context of your executable, or it refers to a model element other tegrityViolation than a PortPrototype. PortInterfaceMap- A PortPrototype that is referenced by a pingViolation DiagnosticMultipleConditionPortMapping needs to be typed by a DiagnosticMultipleConditionInterface. 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 DiagnosticMultipleConditionInterface

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

Record
AUTOSAR/AP/record/SWS_DM_01727
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01727@rel:R25-11#2c9de7bb
Content hash
2c9de7bb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01727
Status: valid/unmigrated Version: rel:R25-11#65e51852 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_01727@rel:R25-11#65e51852
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#2c9de7bb2026-09-30
  • R23-11rel:R23-11#3179b5462026-10-14
  • R24-11rel:R24-11#8f45ca0e2026-10-14
  • R25-11rel:R25-11#65e518522026-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 MultipleCondition [SWS_DM_02071] Upstream: RS_AP_00147

MultipleCondition (MultipleCondition &&) noexcept=delete;

Move constructor of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

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

Record
AUTOSAR/AP/record/SWS_DM_02071
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02071@rel:R25-11#05fd4e5b
Content hash
05fd4e5b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02071
Status: valid/unmigrated Version: rel:R25-11#73d20be9 Versionshistorie & Revisions (1 transition, 3 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_02071@rel:R25-11#73d20be9
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#05fd4e5b2026-09-30
  • R24-11rel:R24-11#73d20be92026-10-14
  • R25-11rel:R25-11#73d20be92026-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 MultipleCondition [SWS_DM_02072] Upstream: RS_AP_00147

MultipleCondition (MultipleCondition &)=delete;

Copy constructor of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

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

Record
AUTOSAR/AP/record/SWS_DM_02072
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02072@rel:R25-11#5a4143a8
Content hash
5a4143a8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02072
Status: valid/unmigrated Version: rel:R25-11#1739c435 Versionshistorie & Revisions (1 transition, 3 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_02072@rel:R25-11#1739c435
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#5a4143a82026-09-30
  • R24-11rel:R24-11#1739c4352026-10-14
  • R25-11rel:R25-11#1739c4352026-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 SetCondition [SWS_DM_01729] Upstream: RS_AP_00139, RS_Diag_04192

ara::core::Result< void > SetCondition (ConditionHandleType condition Handle, ConditionType condition) noexcept;

Set condition state of the requested condition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
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
conditionHandleIdentifies the requested condition
conditioncurrent condition

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns nothing or an error.

Fehler

FehlercodeBeschreibung
DiagErrc::kInvalidArgumentrollback_semantics e.g. kPreFailed with internal debouncing

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

Record
AUTOSAR/AP/record/SWS_DM_01729
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01729@rel:R25-11#0d9cc851
Content hash
0d9cc851
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01729
Status: valid/unmigrated Version: rel:R25-11#465faec8 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_01729@rel:R25-11#465faec8
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#0d9cc8512026-09-30
  • R23-11rel:R23-11#fd3bc3f32026-10-14
  • R24-11rel:R24-11#b9d84d0f2026-10-14
  • R25-11rel:R25-11#465faec82026-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_02073] Upstream: RS_AP_00147

MultipleCondition & operator= (MultipleCondition &)=delete;

Copy assignment operator of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

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

Record
AUTOSAR/AP/record/SWS_DM_02073
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02073@rel:R25-11#68cfe0ab
Content hash
68cfe0ab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02073
Status: valid/unmigrated Version: rel:R25-11#694180d9 Versionshistorie & Revisions (1 transition, 3 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_02073@rel:R25-11#694180d9
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#68cfe0ab2026-09-30
  • R24-11rel:R24-11#532b816e2026-10-14
  • R25-11rel:R25-11#694180d92026-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_02074] Upstream: RS_AP_00147

MultipleCondition & operator= (MultipleCondition &&)=delete;

Move assignment operator of MultipleCondition.

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition

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

Record
AUTOSAR/AP/record/SWS_DM_02074
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02074@rel:R25-11#1378d07a
Content hash
1378d07a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02074
Status: valid/unmigrated Version: rel:R25-11#2e913496 Versionshistorie & Revisions (1 transition, 3 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_02074@rel:R25-11#2e913496
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#1378d07a2026-09-30
  • R24-11rel:R24-11#2e9134962026-10-14
  • R25-11rel:R25-11#2e9134962026-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 ~MultipleCondition [SWS_DM_01737] Upstream: RS_AP_00134, RS_Diag_04192

~MultipleCondition () noexcept;

Destructor of class Condition .

Header-Datei#include "ara/diag/multiple_condition.h"
Scopeclass ara::diag::MultipleCondition
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_01737
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01737@rel:R25-11#7e5bd534
Content hash
7e5bd534
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01737
Status: valid/unmigrated Version: rel:R25-11#7547ee94 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_01737@rel:R25-11#7547ee94
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#7e5bd5342026-09-30
  • R23-11rel:R23-11#19037ca62026-10-14
  • R24-11rel:R24-11#7547ee942026-10-14
  • R25-11rel:R25-11#7547ee942026-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