DEENESPTFRRUARHIKOZHNL

class ara::phm::RecoveryAction

[SWS_PHM_01140] Upstream: RS_HM_09159

class RecoveryAction {...};

RecoveryAction abstract class.

Header-Datei#include "ara/phm/recovery_action.h"
Forwarding-Header#include "ara/phm/phm_fwd.h"
Scopenamespace ara::phm

User GuideKI-GENERIERT

Dient Anwendungen zur Bereitstellung und Ausführung von Wiederherstellungsmaßnahmen bei PHM-Überwachungsfehlern.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1c1f80bf2db1 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient Anwendungen zur Bereitstellung und Ausführung von Wiederherstellungsmaßnahmen bei PHM-Überwachungsfehlern.

Die abstrakte Klasse ara::phm::RecoveryAction ermöglicht es Anwendungen, anwendungsspezifische Wiederherstellungsmaßnahmen für das Platform Health Management bereitzustellen [SWS_PHM_01141]. Nach der Instanziierung schaltet der Aufruf von Offer() die Empfangsbereitschaft für den Phm-Daemon frei, sodass bei erkannten Überwachungsfehlern die überschriebene Methode RecoveryHandler aufgerufen wird [SWS_PHM_01143]. Kann der Fehler anwendungsseitig nicht behoben werden, eskaliert das System durch Auslösen des Watchdogs. Kopier- und Verschiebeoperationen sind aus Sicherheitsgründen vollständig unterbunden, und Verwaltungsaufrufe wie Offer() sind nicht threadsicher.

Kontext

Die Klasse ara::phm::RecoveryAction ist eine abstrakte Basisklasse im Modul Platform Health Management (PHM) der AUTOSAR Adaptive Platform. Sie dient als standardisierte Schnittstelle für funktionale Anwendungen, um spezifische Wiederherstellungs- und Fehlerbehandlungsmaßnahmen bereitzustellen, die bei erkannten Überwachungsfehlern durch das PHM angestoßen werden.

Zu den wesentlichen Interaktionspartnern gehören:

  • Die ableitende Anwendungskomponente: Interpretation: Diese dürfte typischerweise im State Management angesiedelt sein, da dieses für koordinierte Systemreaktionen zuständig ist und im Fehlerkontext direkt benannt wird. Frage Q-714ff81a33aa3e92 (offen) Die Anwendung implementiert die anwendungsspezifische Fehlerbehebung durch Überschreiben der Methode RecoveryHandler [SWS_PHM_01142].
  • Der Phm-Daemon: Verwaltet die Registrierung von Wiederherstellungsaktionen über Offer [SWS_PHM_01143] und steuert bei festgestellten Fehlern den Aufruf des registrierten Handlers [SWS_PHM_01142].
  • Der Watchdog: Kann die anwendungsseitige Wiederherstellung nicht erfolgreich durchgeführt werden, übernimmt das PHM die weitere Fehlerbehandlung und löst zur Absicherung den Watchdog aus [SWS_PHM_01142].

Die logische Verknüpfung mit dem AUTOSAR-Modell erfolgt bei der Instanziierung über einen ara::core::InstanceSpecifier, der auf einen PPortPrototype eines PhmRecoveryAction-Interfaces verweisen muss [SWS_PHM_01141].

Lebenszyklus

Eine Instanz wird über den expliziten Konstruktor unter Übergabe des passenden Instance-Specifiers erzeugt [SWS_PHM_01141]. Dieser Konstruktor ist threadsicher (thread-safe) und ausnahmesicher (noexcept).

Da eine RecoveryAction fest an einen spezifischen Port gebunden ist, sind Kopier- und Verschiebeoperationen vollständig unterbunden: Sowohl der Kopierkonstruktor [SWS_PHM_01150] als auch der Kopierzuweisungsoperator [SWS_PHM_01152] sind gelöscht (= delete). Ebenso sind der Verschiebekonstruktor [SWS_PHM_01149] und der Verschiebezuweisungsoperator [SWS_PHM_01151] gelöscht. Die Spezifikation begründet dies damit, dass ein Verschieben nach dem Anbieten der Instanz dazu führen könnte, dass der RecoveryHandler vor der vollständigen Konstruktion der abgeleiteten Klasse aufgerufen wird, was undefiniertes Verhalten oder unbehandelte Ausnahmen nach sich ziehen und die Systemsicherheit gefährden würde [SWS_PHM_01149], [SWS_PHM_01151].

Der Lebenszyklus umfasst zwei distinkte Zustände:

  • Nicht angeboten: Unmittelbar nach der Konstruktion sowie nach dem Aufruf von StopOffer [SWS_PHM_01144] ist die Instanz inaktiv. Aufrufe von RecoveryHandler sind unterbunden.
  • Angeboten: Durch Aufruf von Offer() [SWS_PHM_01143] wird die Aktion beim Phm-Daemon aktiviert und für Handler-Aufrufe freigegeben.

Das Objekt wird über den virtuellen Destruktor freigegeben [SWS_PHM_01145]. Bezüglich der Nebenläufigkeit sind der Konstruktor und der RecoveryHandler threadsicher spezifiziert, wohingegen Offer(), StopOffer() und der Destruktor nicht threadsicher (not thread-safe) sind [SWS_PHM_01141], [SWS_PHM_01142], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]. Interpretation: Vor der Zerstörung einer Instanz dürfte in der Praxis stets StopOffer() aufgerufen werden müssen, um asynchrone Handler-Aufrufe während des Objekt-Abbaus sicher auszuschließen. Frage Q-a1f47898bed925fd (offen)

diag_recovery_lifecycle NichtAngeboten Nicht angeboten Angeboten Angeboten NichtAngeboten->Angeboten Offer() Angeboten->NichtAngeboten StopOffer() Angeboten->Angeboten RecoveryHandler()

Zustandsdiagramm: Lebenszyklus-Zustände von RecoveryAction mit Aktivierung durch Offer und Deaktivierung durch StopOffer. Quellen: [SWS_PHM_01141], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]

Nutzungspfad

Die typische Nutzung gliedert sich in eine feste Aufrufabfolge:

  1. Definition einer abgeleiteten Klasse, die die rein virtuelle Elementfunktion RecoveryHandler implementiert [SWS_PHM_01142].
  2. Instanziierung des abgeleiteten Objekts unter Angabe des Instance-Specifiers [SWS_PHM_01141].
  3. Aufruf von Offer(), um die Wiederherstellungsaktion beim Phm-Daemon bereitzustellen [SWS_PHM_01143].
  4. Reaktion auf Fehler: Erkennt das PHM einen Fehler, ruft es RecoveryHandler(executionError, supervision) auf [SWS_PHM_01142]. Die Methode liefert ein ara::core::Future<void>, über welches das Ergebnis der Fehlerbehebung gemeldet wird.
  5. Aufruf von StopOffer(), sobald die Instanz keine Wiederherstellungsaktionen mehr bedienen soll [SWS_PHM_01144].
  6. Zerstörung des Objekts über den Destruktor [SWS_PHM_01145].
Nutzungsablauf von ara::phm::RecoveryActionAnwendungRecoveryActionPhm-DaemonRecoveryAction(instance)Offer()Aktion anmeldenBestaetigungResult<void> (Erfolg)Use Case: Fehlerbehandlung durch PHMRecoveryHandler(executionError, supervision)Future<void>Use Case: Deregistrierung und AbbauStopOffer()~RecoveryAction()

Sequenzdiagramm: Typische Aufrufreihenfolge bei Registrierung, Fehlerbenachrichtigung und Deregistrierung einer Wiederherstellungsaktion. Quellen: [SWS_PHM_01141], [SWS_PHM_01142], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]

Fehlerszenarien

Im Rahmen der Modellkonfiguration und des Betriebs sind spezifische Fehlerbedingungen zu berücksichtigen:

  • Modell- und Validierungsverletzungen bei der Konstruktion [SWS_PHM_01141]:
    • AraNotInitializedViolation: Die ARA-Laufzeitumgebung wurde vor der Instanziierung nicht initialisiert.
    • InstanceSpecifierMappingIntegrityViolation: Der Instance-Specifier kann im Modell nicht aufgelöst werden oder referenziert kein PortPrototype.
    • PortInterfaceMappingViolation: Der über RecoveryNotificationToPPortPrototypeMapping referenzierte Port-Prototyp ist nicht durch ein PhmSupervisionRecoveryNotificationInterface typisiert.
    • ProcessMappingViolation: Zur Laufzeit existiert kein passend modellierter Prozess für den Instance-Ref.
    • InstanceSpecifierAlreadyInUseViolation: Der Instance-Specifier wird innerhalb des aktuellen Prozesses bereits verwendet.
  • Kommunikationsfehler beim Anbieten [SWS_PHM_01143]: Schlägt die Kommunikation mit dem Phm-Daemon fehl, liefert Offer() ein Ergebnis mit dem Fehlercode PhmErrc::kOfferFailed.
  • Unbehebbare Fehler in der Wiederherstellung [SWS_PHM_01142]: Kann das State Management den gemeldeten Fehler nicht auflösen, gibt das von RecoveryHandler zurückgegebene Future den Fehler PhmErrc::kSMCanNotHandleRecovery zurück. Daraufhin greift das Platform Health Management ein und löst den Watchdog aus.

Dieser Klassen-Leitfaden wurde durch einen KI-Kurations-Assistenten auf Basis der Spezifikation AUTOSAR R25-11 generiert.

Mitgliederkarte

Konstruktoren und Destruktor

2

Operatoren

1

Klassendiagramm

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

G nara__phm__RecoveryAction85 RecoveryAction + RecoveryAction() + operator=() + ~RecoveryAction() + Offer() + RecoveryHandler() + StopOffer()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

RecoveryAction function 3

Creation of an RecoveryAction.

Überladungen RecoveryAction 3
explicit RecoveryAction (const ara::core::InstanceSpecifier &instance) noexcept; SWS_PHM_01141
RecoveryAction (RecoveryAction &&ra)=delete; SWS_PHM_01149
RecoveryAction (const RecoveryAction &)=delete; SWS_PHM_01150

Destructor for RecoveryAction.

virtual ~RecoveryAction () noexcept;

Methoden

Offer function

Enables potential invocations of RecoveryHandler.

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

RecoveryHandler to be invoked by PHM. The handler invocation needs to be enabled before by a call of RecoveryAction::Offer.

virtual ara::core::Future< void > RecoveryHandler (const ara::exec::ExecutionErrorEvent &executionError, TypeOfSupervision supervision) noexcept=0;
StopOffer function

Disables invocations of RecoveryHandler.

void StopOffer () noexcept;

Operatoren

operator= function 2

The move assignment operator for the RecoveryAction shall not be used. Rationale: Using the move assignment after a RecoveryAction instance has been offered may result in premature invocation of RecoveryHandler before the derived class is fully constructed. This can lead to undefined behavior or unhandled exceptions, compromising system stability and safety.

Überladungen = 2
RecoveryAction & operator= (RecoveryAction &&ra)=delete; SWS_PHM_01151
RecoveryAction & operator= (const RecoveryAction &)=delete; SWS_PHM_01152

Dokumentation der Methoden

function Offer [SWS_PHM_01143] Upstream: RS_HM_09159, RS_AP_00159

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

Enables potential invocations of RecoveryHandler.

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

Die parameterlose Methode Offer gehört zur Klasse ara::phm::RecoveryAction und wird über die Header-Datei ara/phm/recovery_action.h eingebunden [SWS_PHM_01143]. Ihr Zweck ist die Bereitstellung des Dienstes gegenüber dem Platform Health Management (PHM), um spätere Aufrufe des RecoveryHandler zu ermöglichen [SWS_PHM_01143]. Der Aufruf erfolgt synchron und nimmt keine Parameter entgegen [SWS_PHM_01143].

Das Ergebnis der Ausführung wird als ara::core::Result<void> zurückgegeben [SWS_PHM_01143]. Im fehlerfreien Zustand ist dieses Result leer. Falls die Kommunikation mit dem PHM-Dämon fehlschlägt, kann der Dienst nicht angeboten werden und die Funktion liefert den Fehlercode PhmErrc::kOfferFailed mit Rollback-Semantik zurück [SWS_PHM_01143].

Hinsichtlich der Ausführungssicherheit ist die Methode als noexcept und ausnahmesicher (exception safe) spezifiziert [SWS_PHM_01143]. Sie ist jedoch ausdrücklich als nicht threadsicher (not thread-safe) definiert [SWS_PHM_01143].

Im Systemverbund besteht eine direkte Kopplung zur Fehlerbehandlung: Der RecoveryHandler der Klasse ara::phm::RecoveryAction dient der Reaktion auf Ausführungsfehler (ara::exec::ExecutionErrorEvent) und Überwachungsfehler (TypeOfSupervision) [SWS_PHM_01142]. Das PHM kann diesen Handler erst aufrufen, nachdem die Aktivierung zuvor explizit über RecoveryAction::Offer freigeschaltet wurde [SWS_PHM_01142].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation generiert.

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result, being either empty or containing any of the errors defined below.

Fehler

FehlercodeBeschreibung
PhmErrc::kOfferFailedrollback_semantics Service could not be offered due to failure of communication with Phm daemon

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

Record
AUTOSAR/AP/record/SWS_PHM_01143
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01143@rel:R25-11#857c7b2e
Content hash
857c7b2e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01143
Status: valid/unmigrated Version: rel:R25-11#d8dd83b4 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_PHM_01143@rel:R25-11#d8dd83b4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#857c7b2e2026-09-30
  • R19-11rel:R19-11#ca5925372026-10-14
  • R20-11rel:R20-11#17739ebd2026-10-14
  • R21-11rel:R21-11#da1133fa2026-10-14
  • R22-11rel:R22-11#cf1368c72026-10-14
  • R23-11rel:R23-11#86ed8de42026-10-14
  • R24-11rel:R24-11#d8dd83b42026-10-14
  • R25-11rel:R25-11#d8dd83b42026-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 RecoveryAction [SWS_PHM_01141] Upstream: RS_HM_09159, RS_AP_00159, RS_AP_00170, RS_AP_00171, RS_AP_00172, RS_AP_00173

explicit RecoveryAction (const ara::core::InstanceSpecifier &instance) noexcept;

Creation of an RecoveryAction.

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe
Verletzungen (Violations)AraNotInitialized- Violation message that is sent in case a constructor or function Violation checks for an initialized ara and identifies that ara is not initialized. 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 RecoveryNotificationToPPortPrototypeMapping needs to be typed by a PhmSupervisionRecoveryNotificationInterface. 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
instanceinstance specifier to the PPortPrototype of a PhmRecoveryAction Interface

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

Record
AUTOSAR/AP/record/SWS_PHM_01141
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01141@rel:R25-11#f5f6a77d
Content hash
f5f6a77d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01141
Status: valid/unmigrated Version: rel:R25-11#a1bff3f3 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_PHM_01141@rel:R25-11#a1bff3f3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f5f6a77d2026-09-30
  • R19-11rel:R19-11#415751492026-10-14
  • R20-11rel:R20-11#0bb740092026-10-14
  • R21-11rel:R21-11#0bb740092026-10-14
  • R22-11rel:R22-11#9ba3238f2026-10-14
  • R23-11rel:R23-11#d99db8452026-10-14
  • R24-11rel:R24-11#4bbb0aac2026-10-14
  • R25-11rel:R25-11#a1bff3f32026-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 RecoveryAction [SWS_PHM_01149] Upstream: RS_HM_09159, RS_AP_00159

RecoveryAction (RecoveryAction &&ra)=delete;

The move constructor operator for the RecoveryAction shall not be used. Rationale: Using the move constructor after a RecoveryAction instance has been offered may result in premature invocation of RecoveryHandler before the derived class is fully constructed. This can lead to undefined behavior or unhandled exceptions, compromising system stability and safety

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction

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

Record
AUTOSAR/AP/record/SWS_PHM_01149
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01149@rel:R25-11#174faeae
Content hash
174faeae
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01149
Status: valid/unmigrated Version: rel:R25-11#ad5dcd6d Versionshistorie & Revisions (1 transition, 7 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_PHM_01149@rel:R25-11#ad5dcd6d
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#174faeae2026-09-30
  • R20-11rel:R20-11#388d41232026-10-14
  • R21-11rel:R21-11#388d41232026-10-14
  • R22-11rel:R22-11#cfcda3ac2026-10-14
  • R23-11rel:R23-11#75ceb7ff2026-10-14
  • R24-11rel:R24-11#1ab59f662026-10-14
  • R25-11rel:R25-11#ad5dcd6d2026-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 RecoveryAction [SWS_PHM_01150] Upstream: RS_HM_09159

RecoveryAction (const RecoveryAction &)=delete;

The copy constructor for RecoveryAction shall not be used.

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction

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

Record
AUTOSAR/AP/record/SWS_PHM_01150
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01150@rel:R25-11#9fad0d07
Content hash
9fad0d07
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01150
Status: valid/unmigrated Version: rel:R25-11#fe708e57 Versionshistorie & Revisions (1 transition, 7 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_PHM_01150@rel:R25-11#fe708e57
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#9fad0d072026-09-30
  • R20-11rel:R20-11#73566a6f2026-10-14
  • R21-11rel:R21-11#73566a6f2026-10-14
  • R22-11rel:R22-11#06e07d412026-10-14
  • R23-11rel:R23-11#c100fbf82026-10-14
  • R24-11rel:R24-11#fe708e572026-10-14
  • R25-11rel:R25-11#fe708e572026-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 RecoveryHandler [SWS_PHM_01142] Upstream: RS_HM_09159, RS_AP_00159

virtual ara::core::Future< void > RecoveryHandler (const ara::exec::ExecutionErrorEvent &executionError, TypeOfSupervision supervision) noexcept=0;

RecoveryHandler to be invoked by PHM. The handler invocation needs to be enabled before by a call of RecoveryAction::Offer.

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

Die reine virtuelle Methode RecoveryHandler in ara::phm::RecoveryAction dient als asynchroner Callback, der vom Platform Health Management (PHM) aufgerufen wird, sobald eine Überwachung fehlschlägt [SWS_PHM_01142]. Beim Aufruf übergibt das PHM das Fehlerereignis executionError mit Detailinformationen zur Wiederherstellung sowie den Typ der fehlgeschlagenen elementaren Überwachung über den Parameter supervision [SWS_PHM_01142].

Für die Verwendung und den Lebenszyklus gelten feste Reihenfolge- und Nebenläufigkeitsbedingungen:

  • Aktivierung: Aufrufe des Handlers müssen vorab explizit über RecoveryAction::Offer freigeschaltet werden [SWS_PHM_01142], [SWS_PHM_01143]. Sie können über StopOffer wieder deaktiviert werden [SWS_PHM_01144].
  • Objektintegrität: Sowohl der Move-Konstruktor als auch der Move-Zuweisungsoperator von RecoveryAction sind gelöscht (=delete), um zu verhindern, dass nach dem Anbieten der Aktion vorzeitige Handler-Aufrufe auf noch unvollständig konstruierten abgeleiteten Klassen ausgeführt werden [SWS_PHM_01149], [SWS_PHM_01151].
  • Thread-Sicherheit: Die Methode selbst ist als thread-safe und ausnahmesicher spezifiziert [SWS_PHM_01142], wohingegen Offer und StopOffer nicht thread-safe sind [SWS_PHM_01143], [SWS_PHM_01144].

Die Rückgabe erfolgt asynchron über ein ara::core::Future<void> [SWS_PHM_01142]. War die Wiederherstellung erfolgreich, wird das Future mit void erfüllt. Kann das State Management die Wiederherstellung nicht durchführen, schlägt das Future mit dem Fehlercode PhmErrc::kSMCanNotHandleRecovery fehl; in diesem Fall greift das Platform Health Management ein und löst den Watchdog aus [SWS_PHM_01142].

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

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
executionErrorInformation on detected error, shall give further information for error recovery.
supervisionThe type of elementary supervision which failed.

Rückgabewert

TypBeschreibung
ara::core::Future< void >void if recovery is successful, otherwise it returns kSMCanNot HandleRecovery error

Fehler

FehlercodeBeschreibung
PhmErrc::kSMCanNotHandleRecoveryrollback_semantics State Management cannot handle the recovery and PlatformHealth Management will take over by firing the watchdog.

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

Record
AUTOSAR/AP/record/SWS_PHM_01142
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01142@rel:R25-11#9d70b1c7
Content hash
9d70b1c7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01142
Status: valid/unmigrated Version: rel:R25-11#d7b7a988 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_PHM_01142@rel:R25-11#d7b7a988
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9d70b1c72026-09-30
  • R19-11rel:R19-11#74f0a8f02026-10-14
  • R20-11rel:R20-11#0cc3316c2026-10-14
  • R21-11rel:R21-11#0cc3316c2026-10-14
  • R22-11rel:R22-11#badb86d42026-10-14
  • R23-11rel:R23-11#89d68dcf2026-10-14
  • R24-11rel:R24-11#f8c2bd5d2026-10-14
  • R25-11rel:R25-11#d7b7a9882026-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_PHM_01144] Upstream: RS_HM_09159, RS_AP_00159

void StopOffer () noexcept;

Disables invocations of RecoveryHandler.

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

Die Methode StopOffer der Klasse ara::phm::RecoveryAction dient dazu, die Ausführung des zugehörigen RecoveryHandler zu deaktivieren [SWS_PHM_01144]. Sie ist im Header ara/phm/recovery_action.h deklariert [SWS_PHM_01144].

Verwendung und Semantik

Die Funktion besitzt die Signatur void StopOffer() noexcept;, nimmt keine Parameter entgegen und liefert keinen Rückgabewert zurück [SWS_PHM_01144]. Durch den Aufruf signalisiert die Anwendung dem Plattform Health Management (PHM), dass keine weiteren Aufrufe des Handlers mehr erfolgen sollen [SWS_PHM_01144]. Der Aufruf erfolgt synchron; laufende Handler-Instanzen dürften vor oder bei der Deaktivierung abgeschlossen werden (Interpretation). Frage Q-a333b1e2f0634ed1 (offen)

Fehlerbehandlung und Nebenläufigkeit

  • Exception-Sicherheit: Die Operation ist als noexcept deklariert und gilt als vollständig exception safe; Fehlercodes oder Ausnahmen existieren nicht [SWS_PHM_01144].
  • Thread-Sicherheit: Die Methode ist explizit als not thread-safe spezifiziert [SWS_PHM_01144]. Ein nebenläufiger Aufruf an derselben RecoveryAction-Instanz erfordert daher eine externe Synchronisation durch den Aufrufer.

Dieser Text wurde durch eine KI erstellt und basiert auf der Spezifikation AUTOSAR Adaptive R25-11.

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction
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_PHM_01144
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01144@rel:R25-11#e69e0616
Content hash
e69e0616
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01144
Status: valid/unmigrated Version: rel:R25-11#0a3b9401 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_PHM_01144@rel:R25-11#0a3b9401
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e69e06162026-09-30
  • R19-11rel:R19-11#122a6efb2026-10-14
  • R20-11rel:R20-11#485b84892026-10-14
  • R21-11rel:R21-11#adcb24f02026-10-14
  • R22-11rel:R22-11#55be05992026-10-14
  • R23-11rel:R23-11#b64d35982026-10-14
  • R24-11rel:R24-11#0a3b94012026-10-14
  • R25-11rel:R25-11#0a3b94012026-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_PHM_01151] Upstream: RS_HM_09159, RS_AP_00159

RecoveryAction & operator= (RecoveryAction &&ra)=delete;

The move assignment operator for the RecoveryAction shall not be used. Rationale: Using the move assignment after a RecoveryAction instance has been offered may result in premature invocation of RecoveryHandler before the derived class is fully constructed. This can lead to undefined behavior or unhandled exceptions, compromising system stability and safety.

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction

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

Record
AUTOSAR/AP/record/SWS_PHM_01151
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01151@rel:R25-11#47276223
Content hash
47276223
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01151
Status: valid/unmigrated Version: rel:R25-11#4359eed2 Versionshistorie & Revisions (1 transition, 7 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_PHM_01151@rel:R25-11#4359eed2
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#472762232026-09-30
  • R20-11rel:R20-11#41ba0c072026-10-14
  • R21-11rel:R21-11#41ba0c072026-10-14
  • R22-11rel:R22-11#a0be95c32026-10-14
  • R23-11rel:R23-11#2eed5b982026-10-14
  • R24-11rel:R24-11#05a1b01f2026-10-14
  • R25-11rel:R25-11#4359eed22026-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_PHM_01152] Upstream: RS_HM_09159

RecoveryAction & operator= (const RecoveryAction &)=delete;

The copy assignment operator for RecoveryAction shall not be used.

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction

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

Record
AUTOSAR/AP/record/SWS_PHM_01152
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01152@rel:R25-11#5c298d6f
Content hash
5c298d6f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01152
Status: valid/unmigrated Version: rel:R25-11#ff4c96ac Versionshistorie & Revisions (1 transition, 7 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_PHM_01152@rel:R25-11#ff4c96ac
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#5c298d6f2026-09-30
  • R20-11rel:R20-11#32919afc2026-10-14
  • R21-11rel:R21-11#32919afc2026-10-14
  • R22-11rel:R22-11#9157a7c42026-10-14
  • R23-11rel:R23-11#f01e06fc2026-10-14
  • R24-11rel:R24-11#ff4c96ac2026-10-14
  • R25-11rel:R25-11#ff4c96ac2026-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 ~RecoveryAction [SWS_PHM_01145] Upstream: RS_HM_09159, RS_AP_00134

virtual ~RecoveryAction () noexcept;

Destructor for RecoveryAction.

Header-Datei#include "ara/phm/recovery_action.h"
Scopeclass ara::phm::RecoveryAction
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_PHM_01145
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PHM_01145@rel:R25-11#bddb59f4
Content hash
bddb59f4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_PlatformHealthManagement.pdf#nameddest=SWS_PHM_01145
Status: valid/unmigrated Version: rel:R25-11#5718b75e Versionshistorie & Revisions (1 transition, 7 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_PHM_01145@rel:R25-11#5718b75e
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#bddb59f42026-09-30
  • R20-11rel:R20-11#a25806312026-10-14
  • R21-11rel:R21-11#a25806312026-10-14
  • R22-11rel:R22-11#f9931f022026-10-14
  • R23-11rel:R23-11#d1de17222026-10-14
  • R24-11rel:R24-11#f734134e2026-10-14
  • R25-11rel:R25-11#5718b75e2026-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