DEENESPTFRRUARHIKOZHNL

클래스 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

사용자 가이드AI 생성

PHM 모니터링 오류 발생 시 애플리케이션이 복구 조치를 제공하고 실행할 수 있도록 지원합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1c1f80bf2db1 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

PHM 모니터링 오류 발생 시 애플리케이션이 복구 조치를 제공하고 실행할 수 있도록 지원합니다.

추상 클래스 ara::phm::RecoveryAction를 통해 애플리케이션은 Platform Health Management를 위한 애플리케이션별 복구 조치를 제공할 수 있습니다[SWS_PHM_01141]. 인스턴스화 후 Offer() 호출은 Phm 데몬에 대한 수신 대기 상태를 활성화하므로, 모니터링 오류가 감지되면 재정의된 메서드 RecoveryHandler가 호출됩니다[SWS_PHM_01143]. 애플리케이션 측에서 오류를 해결할 수 없는 경우, 시스템은 워치독을 트리거하여 에스컬레이션합니다. 안전상의 이유로 복사 및 이동 연산은 완전히 차단되며, Offer()와 같은 관리 호출은 스레드 안전하지 않습니다.

컨텍스트

클래스 ara::phm::RecoveryAction는 AUTOSAR Adaptive Platform의 Platform Health Management(PHM) 모듈에 속한 추상 기본 클래스입니다. 이 클래스는 PHM이 감지한 모니터링 오류 발생 시 트리거되는 특정 복구 및 오류 처리 조치를 기능 애플리케이션이 제공할 수 있도록 표준화된 인터페이스 역할을 합니다.

주요 상호작용 파트너는 다음과 같습니다:

  • 파생 애플리케이션 컴포넌트: 해석: 이 컴포넌트는 통합된 시스템 반응을 담당하고 오류 컨텍스트에서 직접 언급되므로, 통상적으로 State Management에 위치할 것으로 추정됩니다. 질문 Q-714ff81a33aa3e92 (열림) 애플리케이션은 메서드 RecoveryHandler를 재정의하여 애플리케이션별 오류 처리를 구현합니다[SWS_PHM_01142].
  • Phm 데몬: Offer [SWS_PHM_01143]을 통한 복구 동작 등록을 관리하고, 오류 감지 시 등록된 핸들러 [SWS_PHM_01142]의 호출을 제어합니다.
  • 워치독: 애플리케이션 측 복구가 성공적으로 수행되지 않는 경우, PHM이 후속 오류 처리를 인계받아 안전 확보를 위해 워치독을 트리거합니다[SWS_PHM_01142].

AUTOSAR 모델과의 논리적 연계는 인스턴스화 시 PhmRecoveryAction 인터페이스의 PPortPrototype을 가리켜야 하는 ara::core::InstanceSpecifier를 통해 이루어집니다[SWS_PHM_01141].

수명 주기

인스턴스는 적절한 Instance-Specifier를 전달하는 명시적 생성자를 통해 생성됩니다[SWS_PHM_01141]. 이 생성자는 스레드 안전(thread-safe)이자 예외 안전(noexcept)입니다.

RecoveryAction는 특정 포트에 고정 바인딩되므로 복사 및 이동 연산이 완전히 차단됩니다. 즉, 복사 생성자 [SWS_PHM_01150]와 복사 할당 연산자 [SWS_PHM_01152]가 모두 삭제되었습니다(= delete). 마찬가지로 이동 생성자 [SWS_PHM_01149]와 이동 할당 연산자 [SWS_PHM_01151]도 삭제되었습니다. 사양에서는 이에 대한 근거로, 인스턴스를 제공한 후에 이동할 경우 파생 클래스의 완전한 생성이 끝나기 전에 RecoveryHandler가 호출될 수 있어, 정의되지 않은 동작이나 처리되지 않은 예외를 초래하고 시스템 안전성을 위협할 수 있기 때문이라고 설명합니다[SWS_PHM_01149], [SWS_PHM_01151].

수명 주기는 두 가지 고유한 상태로 구성됩니다:

  • 제공되지 않음: 생성 직후 및 StopOffer 호출 후[SWS_PHM_01144]에 인스턴스는 비활성 상태입니다. RecoveryHandler 호출이 차단됩니다.
  • 제공됨: Offer() 호출을 통해[SWS_PHM_01143] 액션이 Phm 데몬에서 활성화되고 핸들러 호출을 위해 허용됩니다.

객체는 가상 소멸자를 통해 해제됩니다[SWS_PHM_01145]. 동시성과 관련하여 생성자와 RecoveryHandler는 스레드 안전으로 명시되어 있는 반면, Offer(), StopOffer() 및 소멸자는 스레드 안전하지 않습니다(not thread-safe)[SWS_PHM_01141], [SWS_PHM_01142], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]. 해석: 실제로는 객체 정리 중 비동기 핸들러가 호출되는 것을 확실히 방지하기 위해, 인스턴스 소멸 전에 항상 StopOffer()를 호출해야 할 것으로 추정됩니다. 질문 Q-a1f47898bed925fd (열림)

diag_recovery_lifecycle NichtAngeboten 제공되지 않음 Angeboten Angeboten NichtAngeboten->Angeboten Offer() Angeboten->NichtAngeboten StopOffer() Angeboten->Angeboten RecoveryHandler()

상태 다이어그램: Offer를 통한 활성화 및 StopOffer를 통한 비활성화를 포함하는 RecoveryAction의 수명 주기 상태. 출처: [SWS_PHM_01141], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]

사용 경로

전형적인 사용법은 정해진 호출 순서로 나뉩니다:

  1. 순수 가상 멤버 함수 RecoveryHandler를 구현하는 파생 클래스 정의[SWS_PHM_01142].
  2. Instance-Specifier를 지정하여 파생 객체 인스턴스화[SWS_PHM_01141].
  3. Phm 데몬에 복구 액션을 제공하기 위한 Offer() 호출[SWS_PHM_01143].
  4. 오류에 대한 반응: PHM이 오류를 감지하면 RecoveryHandler(executionError, supervision)를 호출합니다[SWS_PHM_01142]. 이 메서드는 오류 처리 결과를 보고하는 ara::core::Future<void>를 반환합니다.
  5. 인스턴스가 더 이상 복구 액션을 처리하지 않아야 하는 즉시 StopOffer() 호출[SWS_PHM_01144].
  6. 소멸자 [SWS_PHM_01145]를 통한 객체 소멸.
Nutzungsablauf von ara::phm::RecoveryAction애플리케이션RecoveryActionPhm-DaemonRecoveryAction(instance)Offer()Aktion anmeldenBestaetigungResult<void> (Erfolg)Use Case: Fehlerbehandlung durch PHMRecoveryHandler(executionError, supervision)Future<void>Use Case: 등록 취소 및 해제StopOffer()~RecoveryAction()

시퀀스 다이어그램: 복구 액션의 등록, 오류 알림 및 등록 해제 시의 일반적인 호출 순서. 출처: [SWS_PHM_01141], [SWS_PHM_01142], [SWS_PHM_01143], [SWS_PHM_01144], [SWS_PHM_01145]

오류 시나리오

모델 구성 및 작동 맥락에서 다음과 같은 특정 오류 조건을 고려해야 합니다:

  • 생성 시 모델 및 유효성 검사 위반 [SWS_PHM_01141]:
    • AraNotInitializedViolation: 인스턴스화 전에 ARA 런타임 환경이 초기화되지 않았습니다.
    • InstanceSpecifierMappingIntegrityViolation: 모델에서 Instance-Specifier를 확인할 수 없거나 PortPrototype를 참조하지 않습니다.
    • PortInterfaceMappingViolation: RecoveryNotificationToPPortPrototypeMapping를 통해 참조된 포트 프로토타입이 PhmSupervisionRecoveryNotificationInterface에 의해 타입 지정되지 않았습니다.
    • ProcessMappingViolation: 런타임에 Instance-Ref에 맞게 모델링된 프로세스가 존재하지 않습니다.
    • InstanceSpecifierAlreadyInUseViolation: 현재 프로세스 내에서 Instance-Specifier가 이미 사용되고 있습니다.
  • 제공 시 통신 오류 [SWS_PHM_01143]: Phm 데몬과의 통신이 실패하면 Offer()은 오류 코드 PhmErrc::kOfferFailed을 포함하는 결과를 반환합니다.
  • 복구 불가능한 복구 오류 [SWS_PHM_01142]: State Management가 보고된 오류를 해결할 수 없는 경우, RecoveryHandler에서 반환된 Future은 오류 PhmErrc::kSMCanNotHandleRecovery를 반환합니다. 이에 따라 Platform Health Management가 개입하여 워치독을 트리거합니다.

이 클래스 가이드는 AUTOSAR 사양 R25-11을 바탕으로 AI 큐레이션 어시스턴트에 의해 생성되었습니다.

멤버 맵

클래스 다이어그램

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

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

상세 보기

개요에서 항목을 선택하세요.

생성자 및 소멸자

Creation of an RecoveryAction.

오버로드 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;

메서드

Offer 함수

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 함수

Disables invocations of RecoveryHandler.

void StopOffer () noexcept;

연산자

operator= 함수 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.

오버로드 = 2
RecoveryAction & operator= (RecoveryAction &&ra)=delete; SWS_PHM_01151
RecoveryAction & operator= (const RecoveryAction &)=delete; SWS_PHM_01152

메서드 문서

함수 Offer [SWS_PHM_01143] Upstream: RS_HM_09159, RS_AP_00159

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

Enables potential invocations of RecoveryHandler.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: e0343e0b39c4 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

매개변수가 없는 메서드 Offer은 ara::phm::RecoveryAction 클래스에 속하며 헤더 파일 ara/phm/recovery_action.h를 통해 포함됩니다 [SWS_PHM_01143]. 이 메서드의 목적은 향후 RecoveryHandler의 호출을 가능하게 하기 위해 Platform Health Management(PHM)에 서비스를 제공하는 것입니다 [SWS_PHM_01143]. 호출은 동기적으로 수행되며 매개변수를 받지 않습니다 [SWS_PHM_01143].

실행 결과는 ara::core::Result<void>으로 반환됩니다 [SWS_PHM_01143]. 오류가 없는 상태에서는 이 Result가 비어 있습니다. PHM 데몬과의 통신에 실패하는 경우 서비스를 제공할 수 없으며 함수는 롤백 시맨틱과 함께 오류 코드 PhmErrc::kOfferFailed을 반환합니다 [SWS_PHM_01143].

실행 안전성과 관련하여 이 메서드는 noexcept 및 예외 안전(exception safe)으로 명세되어 있습니다 [SWS_PHM_01143]. 그러나 명시적으로 스레드 안전하지 않음(not thread-safe)으로 정의되어 있습니다 [SWS_PHM_01143].

시스템 연계에서는 오류 처리와의 직접적인 결합이 존재합니다. ara::phm::RecoveryAction 클래스의 RecoveryHandler은 실행 오류(ara::exec::ExecutionErrorEvent) 및 모니터링 오류(TypeOfSupervision)에 대응하는 역할을 합니다 [SWS_PHM_01142]. PHM은 이전에 RecoveryAction::Offer를 통해 활성화가 명시적으로 승인된 후에만 이 핸들러를 호출할 수 있습니다 [SWS_PHM_01142].

이 사용 지침은 명세를 기반으로 자동 생성되었습니다.

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#8d4a243f
Content hash
8d4a243f
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

함수 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#869d2c63
Content hash
869d2c63
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

함수 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#d9e2d560
Content hash
d9e2d560
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

함수 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#adae7782
Content hash
adae7782
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

함수 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 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4d5e12f6a819 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

ara::phm::RecoveryAction의 순수 가상 메서드 RecoveryHandler은(는) 모니터링이 실패하는 즉시 Platform Health Management(PHM)에 의해 호출되는 비동기 콜백 역할을 합니다 [SWS_PHM_01142]. 호출 시 PHM은 복구에 대한 상세 정보가 포함된 오류 이벤트 executionError 및 실패한 기본 모니터링의 타입을 supervision 매개변수를 통해 전달합니다 [SWS_PHM_01142].

사용 및 수명 주기에 대해 엄격한 순서 및 동시성 조건이 적용됩니다:

  • 활성화: 핸들러 호출은 사전에 RecoveryAction::Offer을(를) 통해 명시적으로 활성화되어야 합니다 [SWS_PHM_01142], [SWS_PHM_01143]. 핸들러 호출은 StopOffer을(를) 통해 다시 비활성화할 수 있습니다 [SWS_PHM_01144].
  • 객체 무결성: 액션을 제공한 후 아직 불완전하게 생성된 파생 클래스에 대해 조기 핸들러 호출이 실행되는 것을 방지하기 위해 RecoveryAction의 이동 생성자와 이동 대입 연산자가 모두 삭제(=delete)되었습니다 [SWS_PHM_01149], [SWS_PHM_01151].
  • 스레드 안전성: 메서드 자체는 스레드 안전 및 예외 안전으로 명시되어 있는 반면 [SWS_PHM_01142], Offer 및 StopOffer은(는) 스레드 안전하지 않습니다 [SWS_PHM_01143], [SWS_PHM_01144].

반환은 ara::core::Future<void>을(를) 통해 비동기식으로 이루어집니다 [SWS_PHM_01142]. 복구가 성공하면 Future는 void(으)로 이행(fulfill)됩니다. State Management가 복구를 수행할 수 없는 경우 Future는 오류 코드 PhmErrc::kSMCanNotHandleRecovery(으)로 실패하며, 이 경우 Platform Health Management가 개입하여 워치독을 트리거합니다 [SWS_PHM_01142].

이 텍스트는 AUTOSAR R25-11 사양을 바탕으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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#50327864
Content hash
50327864
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

함수 StopOffer [SWS_PHM_01144] Upstream: RS_HM_09159, RS_AP_00159

void StopOffer () noexcept;

Disables invocations of RecoveryHandler.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8cdc07a00e3f 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

ara::phm::RecoveryAction 클래스의 StopOffer 메서드는 연관된 RecoveryHandler의 실행을 비활성화하는 데 사용됩니다 [SWS_PHM_01144]. 이 메서드는 헤더 ara/phm/recovery_action.h에 선언되어 있습니다 [SWS_PHM_01144].

사용법 및 의미론

이 함수는 시그니처 void StopOffer() noexcept;을(를) 가지며, 매개변수를 받지 않고 반환값도 없습니다 [SWS_PHM_01144]. 애플리케이션은 이 호출을 통해 더 이상 핸들러를 호출하지 않도록 Platform Health Management(PHM)에 신호를 보냅니다 [SWS_PHM_01144]. 호출은 동기식으로 수행되며, 실행 중인 핸들러 인스턴스는 비활성화 전이나 비활성화 시 완료될 것으로 보입니다(해석). 질문 Q-a333b1e2f0634ed1 (열림)

오류 처리 및 동시성

  • 예외 안전성: 이 작업은 noexcept(으)로 선언되어 있으며 완전한 예외 안전으로 간주됩니다. 오류 코드나 예외는 존재하지 않습니다 [SWS_PHM_01144].
  • 스레드 안전성: 이 메서드는 명시적으로 not thread-safe로 규정되어 있습니다 [SWS_PHM_01144]. 따라서 동일한 RecoveryAction 인스턴스에 대한 동시 호출은 호출자에 의한 외부 동기화가 필요합니다.

이 텍스트는 AI에 의해 작성되었으며 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#10fa62db
Content hash
10fa62db
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

함수 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#5e8677fa
Content hash
5e8677fa
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

함수 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#94d2228e
Content hash
94d2228e
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

함수 ~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#2779b834
Content hash
2779b834
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