DEENESPTFRRUARHIKOZHNL

네임스페이스 apext::sm

사용자 가이드AI 생성

State Management에서 운영체제 전력 상태의 하드웨어 근접 조정 및 자율적 웨이크업을 가능하게 합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 8273631beee4 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

State Management에서 운영체제 전력 상태의 하드웨어 근접 조정 및 자율적 웨이크업을 가능하게 합니다.

네임스페이스 apext::sm은(는) AUTOSAR Adaptive State Management와 호스트 운영체제 간의 전력 상태를 조율하기 위한 표준 플랫폼 확장 인터페이스를 제공합니다 SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”. 열거형 apext::sm::PowerState을(를) 통해 Linux 전용 절전 모드가 형식화되어 매핑됩니다 [SWS_SM_71002]. 또한 콜백 apext::sm::WakeUpHandler은(는) 선행 제어 애플리케이션 없이도 운영체제가 State Management에서 유휴 상태로부터의 자율적인 탈출을 트리거할 수 있도록 하며 [SWS_SM_71004], 이 호출은 스레드 안전하게 설계되지 않았습니다.

컨텍스트

네임스페이스 apext::sm은(는) AUTOSAR Adaptive Platform 내의 State Management 기능 클러스터를 위한 표준 플랫폼 확장 인터페이스(Platform Extension Interfaces)를 제공합니다 SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”. State Management의 표준 인터페이스가 주로 모델 경계를 넘어 애플리케이션 상태, 기능 그룹 및 실행 모드를 조정하는 역할을 하는 반면, apext::sm은(는) 하드웨어 근접 결합을 다룹니다. 확장 인터페이스는 플랫폼 기능을 확장하고 기본 운영체제(OS)와의 조정된 상호작용을 구현하기 위해 OEM 또는 통합자에 의해 사용되거나 제공되도록 설계되었습니다 SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”.

네임스페이스의 핵심 컴포넌트는 운영체제와의 전력 상태 조정을 담당하는 클래스 PowerStateInterface입니다. 이에 수반하여 헤더 apext/sm/power_state_interface.h은(는) 운영체제 드라이버, 외부 웨이크업 소스 및 내부 상태 관리 사이에서 링크 역할을 하는 형식화된 열거형 및 콜백 별칭을 정의합니다. 운영체제 외에도 이러한 인터페이스는 개념적으로 State Management의 Controller뿐만 아니라 상태 전이에 영향을 미칠 수 있는 SMControlApplication 또는 Update and Configuration Management(UCM)과 같은 상위 인스턴스와도 관련이 있습니다 SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.

OS Betriebssystem (Kernel) ApextSM apext::sm (PowerStateInterface, WakeUpHandler) OS->ApextSM Signalisiert Wake-up Setzt PowerState SMController State Management (Controller) ApextSM->SMController Autonomer Aufruf (WakeUpHandler) SMControlApp SMControlApplication / UCM SMControlApp->SMController Explizite Requests (RequestUpdateSession)

컨텍스트 다이어그램: 운영체제, apext::sm 인터페이스 및 State Management의 상호작용. 출처: SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”, SWS StateManagement §C.1 “Header: apext/sm/power_state_interface.h”.

수명 주기

apext::sm의 프레임워크 내 수명 주기는 std::uint32_t을(를) 기반으로 열거형 apext::sm::PowerState에 모델링된 개별 전력 상태에 의해 정의됩니다 [SWS_SM_71002]. 이러한 상태는 Linux 운영체제의 커널 관점에서 직접 파생됩니다:

  • kPmSuspendToIdle(= 1): PM_SUSPEND_TO_IDLE 상태에서 파생됨 [SWS_SM_71002].
  • kPmSuspendToRam(= 2): PM_SUSPEND_TO_RAM 상태에서 파생됨 [SWS_SM_71002].
  • kPmHibernation(= 3): PM_HIBERNATION(Suspend-to-Disk) 상태에서 파생됨 [SWS_SM_71002].
  • kPmOff(= 4): PM_OFF(완전 전원 끄기) 상태에서 파생됨 [SWS_SM_71002].

해석: 클래스 PowerStateInterface은(는) 통합자가 이러한 대상 상태를 쿼리하거나 호스트 운영체제로 전송하는 기본 앵커 포인트 역할을 할 것으로 보입니다. 질문 Q-800acae699828764 (열림) kPmSuspendToRam과(와) 같은 절전 상태에 머무는 동안에는 웨이크업 이벤트가 활성 작동 모드로의 복귀 전환을 시작할 때까지 정상적인 처리가 중단됩니다.

사용 경로

네임스페이스의 핵심 사용 사례는 유휴 상태로부터 전체 시스템의 자율적 웨이크업(Autonomous wake-up from suspend state)입니다 SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”. SMControlApplication이(가) Suspend-to-RAM 모드에서의 탈출을 명시적으로 요청할 수 있는 반면, State Management는 추가적으로 웨이크업 신호에 자율적으로 반응할 수 있습니다.

운영체제가 인터페이스 apext::sm::WakeUpHandler을(를) 통해(해당 인터페이스가 구현되어 있는 경우) 웨이크업 이벤트를 알리면, State Management는 자체적으로 웨이크업 시퀀스를 시작합니다 SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”. apext::sm::WakeUpHandler은(는) std::function<void(void)> 유형의 함수 별칭입니다 [SWS_SM_71004]. 이 핸들러를 호출함으로써 State Management는 Controller 상태 머신을 서스펜드 상태에서 이를 위해 특별히 모델링된 LeaveSuspend 상태로 전환합니다 [SWS_SM_CONSTR_00036]. 이 상태에서 컨트롤러는 작업 요소 LeaveSuspendToRam을(를) 의무적으로 실행하며, 이를 통해 선행 제어 애플리케이션의 개입 없이 정규 플랫폼 활동이 재개됩니다 [SWS_SM_CONSTR_00037], SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.

Suspend-to-RAM으로부터의 자율적 웨이크업Betriebssystemapext::sm::WakeUpHandlerState Management (Controller)Use Case: 웨이크업 신호 트리거Wake-up signalisierenAufruf operator()Use Case: 자율적 상태 전환LeaveSuspend로 상태 변경ActionListItem LeaveSuspendToRam 실행Normalbetrieb aktiv

시퀀스 다이어그램: WakeUpHandler를 통한 자율적 웨이크업 프로세스. 출처: SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”, [SWS_SM_71004], [SWS_SM_CONSTR_00036], [SWS_SM_CONSTR_00037].

오류 시나리오

apext::sm을(를) 사용하고 통합할 때는 시스템별 제약 조건 및 동시성 위험에 유의해야 합니다:

  • 스레드 안전성 부재: 호출 유형 apext::sm::WakeUpHandler은 사양에 따르면 명시적으로 스레드 안전하지 않습니다(not thread-safe) [SWS_SM_71004]. 운영체제 또는 인터럽트 컨텍스트에서 다중 또는 병렬 신호가 트리거되는 경우, 인티그레이터는 State Management에서 데이터 레이스와 비일관적인 상태 전이를 방지하기 위해 적절한 동기화 메커니즘을 마련해야 합니다.
  • 구현되지 않은 핸들러: 대상 시스템에 WakeUpHandler이 구현되지 않은 경우, 운영체제를 통한 자율적인 웨이크업이 발생할 수 없습니다. 이 경우 외부 요청(예: RequestUpdateSession을 통한 UCM) 또는 명시적인 애플리케이션 요청이 도착할 때까지 시스템은 휴면 상태로 유지됩니다 SWS StateManagement §7.7.15.1 “Autonomous wake-up from suspend state”.
  • 매니페스트 모델링 오류: 배포 매니페스트에 Controller [SWS_SM_CONSTR_00036]에 대한 LeaveSuspend 상태가 누락되었거나 필수 요소인 LeaveSuspendToRam [SWS_SM_CONSTR_00037]가 포함되어 있지 않은 경우, 자동화된 전이가 실패하여 플랫폼이 휴면 상태 이후 정상적으로 작동을 재개할 수 없습니다.

본 가이드는 AUTOSAR Adaptive Platform R25-11 사양을 기반으로 합니다. 모든 내용은 State Management를 위한 규범적 Platform Extension Interfaces를 기준으로 검증되었습니다.

주제 맵

타입 및 상수

2

클래스 다이어그램

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns apext::sm napext__sm__PowerStateInterface PowerStateInterface

상세 보기

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

클래스

class for power state coordination with OS

타입 및 상수

PowerState 열거형

Power State Enumeration.

enum class PowerState : std::uint32_t {...};
WakeUpHandler 타입 별칭

WakeUpHandler function.

using WakeUpHandler = std::function<void(void)>;

열거형

열거형 PowerState [SWS_SM_71002] Upstream: RS_SM_00402

enum class PowerState :         std::uint32_t {...};

Power State Enumeration.

Header-Datei#include "apext/sm/power_state_interface.h"
Forwarding-Header#include "apext/sm/sm_fwd.h"
Scopenamespace apext::sm
SymbolPowerState
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kPmSuspendToIdle=1 Derived from Linux Power State PM_SUSPEND_TO_IDLE (Kernel view)
kPmSuspendToRam=2 Derived from Linux Power State PM_SUSPEND_TO_RAM (Kernel view)
kPmHibernation=3 Derived from Linux Power State PM_HIBERNATION (Kernel view)
kPmOff=4 Derived from Linux Power State PM_OFF (Kernel view)

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

Record
AUTOSAR/AP/record/SWS_SM_71002
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71002@rel:R25-11#dd0ff270
Content hash
dd0ff270
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71002
Status: valid/unmigrated Version: rel:R25-11#4f68e3fd Versionshistorie & Revisions (1 transition)
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_SM_71002@rel:R25-11#4f68e3fd
Point-in-Time History:
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

타입 별칭

타입 별칭 WakeUpHandler [SWS_SM_71004] Upstream: RS_SM_00402

using WakeUpHandler = std::function<void(void)>;

WakeUpHandler function.

Header-Datei#include "apext/sm/power_state_interface.h"
Scopenamespace apext::sm
SymbolWakeUpHandler
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_SM_71004
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71004@rel:R25-11#d2d4bcbb
Content hash
d2d4bcbb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71004
Status: valid/unmigrated Version: rel:R25-11#29968d23 Versionshistorie & Revisions (1 transition)
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_SM_71004@rel:R25-11#29968d23
Point-in-Time History:
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