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 GuideAI-GENERATED

Serves applications for providing and executing recovery actions in the event of PHM monitoring errors.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1c1f80bf2db1 Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Serves applications for providing and executing recovery actions in the event of PHM monitoring errors.

Abstract class ara::phm::RecoveryAction enables applications to provide application-specific recovery actions for Platform Health Management [SWS_PHM_01141]. After instantiation, calling Offer() enables readiness to receive from the Phm daemon, so that overridden method RecoveryHandler is called when monitoring errors are detected [SWS_PHM_01143]. If the error cannot be resolved on the application side, the system escalates by triggering the watchdog. Copy and move operations are completely disallowed for safety reasons, and management calls such as Offer() are not thread-safe.

Context

Class ara::phm::RecoveryAction is an abstract base class in the Platform Health Management (PHM) module of the AUTOSAR Adaptive Platform. It serves as a standardized interface for functional applications to provide specific recovery and error-handling actions initiated by PHM when monitoring errors are detected.

The essential interaction partners include:

  • The deriving application component: Interpretation: This is presumably typically located in State Management, as the latter is responsible for coordinated system reactions and is directly named in the error context. Question Q-714ff81a33aa3e92 (open) The application implements application-specific error recovery by overriding method RecoveryHandler [SWS_PHM_01142].
  • The Phm daemon: Manages the registration of recovery actions via Offer [SWS_PHM_01143] and controls the invocation of the registered handler [SWS_PHM_01142] when errors are identified.
  • The watchdog: If application-side recovery cannot be carried out successfully, PHM takes over further error handling and triggers the watchdog for safeguarding [SWS_PHM_01142].

The logical link to the AUTOSAR model is established during instantiation via an ara::core::InstanceSpecifier, which must reference a PPortPrototype of a PhmRecoveryAction interface [SWS_PHM_01141].

Lifecycle

An instance is created via the explicit constructor by passing the matching instance specifier [SWS_PHM_01141]. This constructor is thread-safe (thread-safe) and exception-safe (noexcept).

Because a RecoveryAction is permanently bound to a specific port, copy and move operations are completely disallowed: Both copy constructor [SWS_PHM_01150] and copy assignment operator [SWS_PHM_01152] are deleted (= delete). Move constructor [SWS_PHM_01149] and move assignment operator [SWS_PHM_01151] are likewise deleted. The specification justifies this on the grounds that moving after offering the instance could result in RecoveryHandler being called prior to the complete construction of the derived class, which would cause undefined behavior or unhandled exceptions and jeopardize system safety [SWS_PHM_01149], [SWS_PHM_01151].

The lifecycle comprises two distinct states:

  • Not offered: Immediately after construction and after calling StopOffer [SWS_PHM_01144], the instance is inactive. Calls to RecoveryHandler are prevented.
  • Offered: By calling Offer() [SWS_PHM_01143], the action is activated with the Phm daemon and released for handler calls.

The object is released via the virtual destructor [SWS_PHM_01145]. Regarding concurrency, the constructor and RecoveryHandler are specified as thread-safe, whereas Offer(), StopOffer(), and the destructor are not thread-safe (not thread-safe) [SWS_PHM_01141], [SWS_PHM_01142], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]. Interpretation: In practice, calling StopOffer() presumably always must occur prior to destroying an instance in order to reliably rule out asynchronous handler calls during object teardown. Question Q-a1f47898bed925fd (open)

diag_recovery_lifecycle NichtAngeboten Not offered Angeboten Angeboten NichtAngeboten->Angeboten Offer() Angeboten->NichtAngeboten StopOffer() Angeboten->Angeboten RecoveryHandler()

State diagram: Lifecycle states of RecoveryAction with activation by Offer and deactivation by StopOffer. Sources: [SWS_PHM_01141], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]

Usage Path

Typical usage is structured into a fixed call sequence:

  1. Definition of a derived class implementing pure virtual member function RecoveryHandler [SWS_PHM_01142].
  2. Instantiation of the derived object by specifying instance specifier [SWS_PHM_01141].
  3. Call of Offer() to provide the recovery action to the Phm daemon [SWS_PHM_01143].
  4. Reaction to errors: If PHM detects an error, it calls RecoveryHandler(executionError, supervision) [SWS_PHM_01142]. The method returns a ara::core::Future<void> via which the result of the error handling is reported.
  5. Call of StopOffer() as soon as the instance is no longer intended to service recovery actions [SWS_PHM_01144].
  6. Destruction of the object via destructor [SWS_PHM_01145].
Nutzungsablauf von ara::phm::RecoveryActionApplicationRecoveryActionPhm-DaemonRecoveryAction(instance)Offer()Aktion anmeldenBestaetigungResult<void> (Erfolg)Use Case: Fehlerbehandlung durch PHMRecoveryHandler(executionError, supervision)Future<void>Use Case: Deregistration and teardownStopOffer()~RecoveryAction()

Sequence diagram: Typical call sequence during registration, error notification, and deregistration of a recovery action. Sources: [SWS_PHM_01141], [SWS_PHM_01142], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]

Error Scenarios

Specific error conditions must be considered in the context of model configuration and operation:

  • Model and validation violations during construction [SWS_PHM_01141]:
    • AraNotInitializedViolation: The ARA runtime environment was not initialized prior to instantiation.
    • InstanceSpecifierMappingIntegrityViolation: The instance specifier cannot be resolved in the model or does not reference a PortPrototype.
    • PortInterfaceMappingViolation: The port prototype referenced via RecoveryNotificationToPPortPrototypeMapping is not typed by a PhmSupervisionRecoveryNotificationInterface.
    • ProcessMappingViolation: At runtime, no suitably modeled process exists for the instance ref.
    • InstanceSpecifierAlreadyInUseViolation: The instance specifier is already in use within the current process.
  • Communication error during offering [SWS_PHM_01143]: If communication with the Phm daemon fails, Offer() returns a result with error code PhmErrc::kOfferFailed.
  • Unrecoverable errors in recovery [SWS_PHM_01142]: If State Management cannot resolve the reported error, the Future returned by RecoveryHandler returns error PhmErrc::kSMCanNotHandleRecovery. Thereupon, Platform Health Management intervenes and triggers the watchdog.

This class guide was generated by an AI curation assistant based on the specification AUTOSAR R25-11.

Member map

Constructors and destructor

2

Operators

1

Class diagram

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

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

Detail view

Select an entry in the outline.

Constructors and destructor

RecoveryAction function 3

Creation of an RecoveryAction.

Overloads 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;

Methods

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;

Operators

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.

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

Method documentation

function Offer [SWS_PHM_01143] Upstream: RS_HM_09159, RS_AP_00159

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

Enables potential invocations of RecoveryHandler.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: e0343e0b39c4 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The parameterless method Offer belongs to class ara::phm::RecoveryAction and is included via the header file ara/phm/recovery_action.h [SWS_PHM_01143]. Its purpose is to offer the service to Platform Health Management (PHM) in order to enable subsequent calls to the RecoveryHandler [SWS_PHM_01143]. The call is synchronous and takes no parameters [SWS_PHM_01143].

The result of the execution is returned as ara::core::Result<void> [SWS_PHM_01143]. In the error-free state, this Result is empty. If communication with the PHM daemon fails, the service cannot be offered and the function returns the error code PhmErrc::kOfferFailed with rollback semantics [SWS_PHM_01143].

Regarding execution safety, the method is specified as noexcept and exception safe [SWS_PHM_01143]. However, it is explicitly defined as not thread-safe [SWS_PHM_01143].

In the system context, there is a direct coupling to error handling: The RecoveryHandler of class ara::phm::RecoveryAction serves to react to execution errors (ara::exec::ExecutionErrorEvent) and supervision errors (TypeOfSupervision) [SWS_PHM_01142]. The PHM can only call this handler after the activation has previously been explicitly enabled via RecoveryAction::Offer [SWS_PHM_01142].

This usage note was generated automatically based on the specification.

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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 4d5e12f6a819 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The pure virtual method RecoveryHandler in ara::phm::RecoveryAction serves as an asynchronous callback that is called by Platform Health Management (PHM) as soon as a monitoring fails [SWS_PHM_01142]. Upon the call, PHM passes the error event executionError with detailed information on the recovery as well as the type of the failed elementary monitoring via parameter supervision [SWS_PHM_01142].

For usage and lifecycle, strict ordering and concurrency conditions apply:

  • Activation: Calls to the handler must be explicitly enabled in advance via RecoveryAction::Offer [SWS_PHM_01142], [SWS_PHM_01143]. They can be deactivated again via StopOffer [SWS_PHM_01144].
  • Object Integrity: Both the move constructor and the move assignment operator of RecoveryAction are deleted (=delete) in order to prevent premature handler calls from being executed on incompletely constructed derived classes after offering the action [SWS_PHM_01149], [SWS_PHM_01151].
  • Thread Safety: The method itself is specified as thread-safe and exception-safe [SWS_PHM_01142], whereas Offer and StopOffer are not thread-safe [SWS_PHM_01143], [SWS_PHM_01144].

The return takes place asynchronously via a ara::core::Future<void> [SWS_PHM_01142]. If the recovery was successful, the future is fulfilled with void. If State Management cannot perform the recovery, the future fails with error code PhmErrc::kSMCanNotHandleRecovery; in this case, Platform Health Management intervenes and triggers the watchdog [SWS_PHM_01142].

This text was generated by an AI based on the AUTOSAR R25-11 specification.

Implementer's Guide to follow (complexity 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.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 8cdc07a00e3f Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method StopOffer of class ara::phm::RecoveryAction serves to deactivate the execution of the associated RecoveryHandler [SWS_PHM_01144]. It is declared in header ara/phm/recovery_action.h [SWS_PHM_01144].

Usage and Semantics

The function has the signature void StopOffer() noexcept;, takes no parameters, and returns no return value [SWS_PHM_01144]. By calling it, the application signals to Platform Health Management (PHM) that no further calls of the handler should occur [SWS_PHM_01144]. The call is synchronous; running handler instances are likely completed before or upon deactivation (interpretation). Question Q-a333b1e2f0634ed1 (open)

Error Handling and Concurrency

  • Exception safety: The operation is declared as noexcept and is considered fully exception-safe; error codes or exceptions do not exist [SWS_PHM_01144].
  • Thread safety: The method is explicitly specified as not thread-safe [SWS_PHM_01144]. A concurrent call on the same RecoveryAction instance therefore requires external synchronization by the caller.

This text was created by an AI and is based on the AUTOSAR Adaptive R25-11 specification.

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