DEENESPTFRRUARHIKOZHNL

클래스 apext::sm::PowerStateInterface

[SWS_SM_71000] Upstream: RS_SM_00402

class PowerStateInterface {...};

class for power state coordination with OS

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

사용자 가이드AI 생성

OS와 전원 상태를 조정하고 State Management에 웨이크업 이벤트를 알립니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 142a6058cb95 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

OS와 전원 상태를 조정하고 State Management에 웨이크업 이벤트를 알립니다.

이 인터페이스는 OS 래퍼로서 State Management와 OS 간의 전원 상태를 조정합니다([SWS_SM_71000]). State Management는 이를 통해 웨이크업 이벤트에 대한 콜백 핸들러를 사전에 등록하고 구체적인 상태 요청을 OS로 전달합니다([SWS_SM_71001]). 재활성화가 완료된 후에는 OS 래퍼에서 핸들러 등록을 다시 해제할 수 있습니다. 주요 기능적 제약 조건으로서 모든 메서드 호출은 스레드 안전하지 않으므로 호출자가 반드시 직렬화해야 합니다.

컨텍스트

C++ 클래스 apext::sm::PowerStateInterface은(는) OS와의 전원 상태 조정을 위한 State Management 모듈의 기능적 인터페이스 역할을 합니다([SWS_SM_71000], SWS StateManagement §C.1.2 “Class: PowerStateInterface”). 시스템 아키텍처에서 이 클래스는 State Management의 요청을 하위 OS로 전달하고 피드백을 수신하는 OS 래퍼 역할을 수행합니다. 전체 상호작용에는 세 가지 핵심 컴포넌트가 참여합니다. 즉, 조정 주체인 State Management, 매개체 역할을 하는 클래스 PowerStateInterface, 그리고 하드웨어 친화적 전원 관리를 실행하는 호스트 OS입니다([SWS_SM_71001]).

sm State Management (SM) psi PowerStateInterface (OS-Wrapper) sm->psi Zustandsanforderung & Handler-Registrierung psi->sm WakeUpHandler-Aufruf os Betriebssystem (OS) psi->os Energiezustands- weiterleitung os->psi Aufwachsignal

컨텍스트 다이어그램: State Management, OS 래퍼 및 OS 간의 전원 상태 및 웨이크업 신호 조정. 출처: [SWS_SM_71000], [SWS_SM_71001], [SWS_SM_71003].

수명 주기

클래스 PowerStateInterface 인스턴스의 생성 및 소멸은 명세 문서에서 명시적인 팩토리 메서드를 통해 규정되어 있지 않습니다. 해석에 따르면, OS 래퍼를 제공하기 위해 State Management의 초기화 단계 중에 인스턴스화가 수행되는 것으로 보입니다. 질문 Q-15bde6ce044e9bc3 (열림) 클래스 포함을 위해 헤더 apext/sm/power_state_interface.h이(가) 제공됩니다([SWS_SM_71001], SWS StateManagement §C.1.2.1.1 “Member Functions”).

내부 상태와 관련하여, 이 객체는 웨이크업 이벤트를 위한 핸들러 등록을 관리합니다. 이 상태는 핸들러가 명시적으로 다시 제거될 때까지 활성 상태로 유지됩니다([SWS_SM_71005]). 동시성과 관련하여, 모든 멤버 함수는 스레드 안전하지 않은 것(not-threadsafe)으로 분류됩니다([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). 따라서 호출하는 State Management는 인스턴스에 대한 호출이 엄격하게 직렬화되고 여러 스레드로부터 보호되지 않은 병렬 접근이 발생하지 않도록 자체적으로 보장해야 합니다.

사용 경로

전원 상태를 제어하고 웨이크업 신호를 수신하기 위한 일반적인 사용 경로는 서로 조율된 여러 단계로 진행됩니다:

  • 핸들러 등록: 절전 상태를 시작하기 전에 State Management는 RegisterWakeUpHandler을(를) 사용하여 apext::sm::WakeUpHandler 타입의 콜백 함수를 OS 래퍼에 등록합니다([SWS_SM_71003], SWS StateManagement §C.1.2.1.1.1 “RegisterWakeUpHandler”). 이를 통해 후속 웨이크업 프로세스에 대해 State Management에 알리는 방식이 정의됩니다.
  • 상태 요청: 이어서 State Management는 원하는 대상 상태 apext::sm::PowerState을(를) 지정하여 메서드 SetPowerState을(를) 호출합니다([SWS_SM_71001], SWS StateManagement §C.1.2.1.1.2 “SetPowerState”). 인터페이스는 이 요청을 OS로 즉시 전달합니다. 전환의 기술적 구현은 OS에서 플랫폼별로 수행되는 것으로 추정됩니다. 질문 Q-29345b74ba3bedf2 (열림)
  • 웨이크업 알림: OS가 웨이크업 이벤트를 감지하면 알림이 OS 래퍼로 보고됩니다. OS 래퍼는 이전에 등록된 WakeUpHandler을(를) 실행합니다. 해석에 따르면 이 호출은 재활성화 프로세스의 실행 컨텍스트에서 비동기적으로 수행되는 것으로 보입니다. 질문 (열림)
  • 핸들러 등록 해제: 웨이크업 프로세스가 완료되거나 State Management에 더 이상 알림이 필요하지 않게 되면, 등록된 콜백은 UnregisterWakeUpHandler을(를) 통해 OS 래퍼에서 제거됩니다([SWS_SM_71005], SWS StateManagement §C.1.2.1.1.3 “UnregisterWakeUpHandler”).
전력 상태 및 웨이크업 신호 조정State Management (SM)PowerStateInterfaceBetriebssystem (OS)RegisterWakeUpHandler(handler)SetPowerState(state)Energiezustand weiterleitenUse Case: AufwachvorgangAufwachereignishandler()Use Case: BereinigungUnregisterWakeUpHandler()

시퀀스 다이어그램: 핸들러 등록, OS로의 상태 전달 및 등록 해제의 일반적인 흐름. 출처: [SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005].

오류 시나리오

인터페이스 메서드 RegisterWakeUpHandler, SetPowerState 및 UnregisterWakeUpHandler은(는) 반환 타입 void을(를) 가지며 특정 오류 반환 코드를 정의하지 않습니다([SWS_SM_71001], [SWS_SM_71003], [SWS_SM_71005]). 모든 함수는 noexcept(으)로 선언되어 있으며 완전한 예외 안전성을 보장합니다(exception safe).

오류가 있는 시스템 상태는 주로 사전 조건 위반으로 인해 발생할 수 있습니다. 여기에는 보호되지 않은 병렬 메서드 호출로 인한 필수 스레드 안전성 위반이 포함됩니다. 또한 State Management는 RegisterWakeUpHandler의 사전 조건으로서 전달된 함수 객체가 유효하며 UnregisterWakeUpHandler에 의해 해제될 때까지 메모리에 유지되도록 보장해야 합니다([SWS_SM_71003], [SWS_SM_71005]).

이 가이드는 AUTOSAR Adaptive Platform Release R25-11의 명세 요구사항만을 기반으로 합니다.

멤버 맵

클래스 다이어그램

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

G napext__sm__PowerStateInterface528 PowerStateInterface + RegisterWakeUpHandler() + SetPowerState() + UnregisterWakeUpHandler()

상세 보기

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

메서드

Register wake-up handler function in the OS-Wrapper to inform SM about wake-up.

void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept; DIRECTION NOT handler -- DEFINED

Forward the power state request to OS.

void SetPowerState (apext::sm::PowerState state) noexcept; DIRECTION NOT state -- DEFINED

Unregister wake-up handler in OS-Wrapper.

void UnregisterWakeUpHandler () noexcept;

메서드 문서

함수 RegisterWakeUpHandler [SWS_SM_71003] Upstream: RS_SM_00402

void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept; DIRECTION NOT           handler                    -- DEFINED

Register wake-up handler function in the OS-Wrapper to inform SM about wake-up.

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

"apext::sm::PowerStateInterface 클래스의 RegisterWakeUpHandler 함수는 State Management(SM)에 웨이크업 이벤트를 알리기 위해 OS 래퍼에 apext::sm::WakeUpHandler 형식의 콜백 함수를 등록하는 데 사용됩니다 [SWS_SM_71003]. 인터페이스는 헤더 #include "apext/sm/power_state_interface.h"에 정의되어 있으며 상위 요구사항 [RS_SM_00402]을(를) 다룹니다 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 “RegisterWakeUpHandler”."

사용법 및 호출 컨텍스트

"선언은 void RegisterWakeUpHandler (apext::sm::WakeUpHandler handler) noexcept [SWS_SM_71003]입니다. 호출은 handler 매개변수를 통해 함수 포인터 또는 콜백을 전달하기 위해 동기식으로 수행됩니다. 함수에 반환값이 없으므로(void), 등록 완료에 대한 상태 피드백을 제공하지 않습니다 [SWS_SM_71003]."

오류 처리 및 예외 안전성

"인터페이스는 예외 안전(exception safe)한 것으로 명시되어 있으며 noexcept(으)로 주석이 달려 있습니다 [SWS_SM_71003]. 따라서 호출자는 C++ 예외를 캐치할 필요가 없습니다. 이 API에는 특정 오류 코드, 오류 표시를 위한 반환값 또는 진단 관리자나 오류 관리자에 대한 보고가 정의되어 있지 않습니다 [SWS_SM_71003]."

동시성 및 제약사항

  • "스레드 안전성: 함수는 명시적으로 스레드 안전하지 않은 것(not-threadsafe)으로 분류되어 있습니다 [SWS_SM_71003]. 호출 인스턴스는 경쟁 스레드로부터 보호되지 않은 상태로 호출이 발생하지 않도록 해야 합니다. 해석: 등록은 적절하게도 웨이크업 이벤트가 발생하기 전 OS 래퍼의 순차적 초기화 단계에서 1회 수행될 것으로 보입니다." 질문 Q-268ab61374f98e7a (열림)
  • "개발 상태: 함수 정의는 릴리스 R25-11에서 DRAFT 상태를 가집니다 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.1 “RegisterWakeUpHandler”. 따라서 향후 사양 버전에서 수정될 가능성이 있습니다."

이 사용 지침은 R25-11용 AUTOSAR 사양을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_SM_71003
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71003@rel:R25-11#6a07c5e7
Content hash
6a07c5e7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71003
Status: valid/unmigrated Version: rel:R25-11#bc05c3e2 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_71003@rel:R25-11#bc05c3e2
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

함수 SetPowerState [SWS_SM_71001] Upstream: RS_SM_00402

void SetPowerState (apext::sm::PowerState state) noexcept; DIRECTION NOT           state                      -- DEFINED

Forward the power state request to OS.

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

"apext::sm::PowerStateInterface 클래스의 멤버 함수 SetPowerState은(는) 시스템 전원 상태 변경 요청을 운영체제로 전달하는 역할을 합니다 [SWS_SM_71001]. 이 함수는 상위 요구사항 [RS_SM_00402]을(를) 구현하며 헤더 apext/sm/power_state_interface.h을(를) 통해 제공됩니다(SWS StateManagement §C.1.2.1.1.2 “SetPowerState”)."

"호출 컨텍스트에서의 사용 및 통합에는 다음 조건이 적용됩니다:"

  • "매개변수 및 반환값: 함수는 apext::sm::PowerState 형식의 대상 상태 state을(를) 값으로 받습니다. 반환값은 존재하지 않습니다(void) [SWS_SM_71001]."
  • "예외 안전성 및 오류 처리: 이 작업은 noexcept(으)로 선언되어 있으며 예외 안전(exception safe)한 것으로 간주됩니다 [SWS_SM_71001]. 특정 오류 코드나 예외가 정의되어 있지 않으므로 운영체제에서의 요청 처리는 비동기식으로 수행될 것으로 보입니다." 질문 Q-03a3ae7693c3cfee (열림)
  • "동시성: 함수 인터페이스는 스레드 안전하지 않은 것(not-threadsafe)으로 분류됩니다 [SWS_SM_71001]. 동일한 인스턴스에 대한 동시 호출은 호출자가 외부 동기화 조치를 통해 보호해야 합니다."
  • "사양 상태: 인터페이스에는 DRAFT 상태가 지정되어 있으므로(SWS StateManagement §C.1.2.1.1.2 “SetPowerState”), 향후 시그니처나 동작에 대한 수정이 발생할 수 있습니다."

"이 사용 지침은 자동으로 작성되었으며 AUTOSAR Adaptive Platform Release R25-11 사양을 기반으로 합니다."

구현자 가이드 준비 중 (복잡도 I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_SM_71001
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71001@rel:R25-11#b49ac038
Content hash
b49ac038
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71001
Status: valid/unmigrated Version: rel:R25-11#be2610a0 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_71001@rel:R25-11#be2610a0
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

함수 UnregisterWakeUpHandler [SWS_SM_71005] Upstream: RS_SM_00402

void UnregisterWakeUpHandler () noexcept;

Unregister wake-up handler in OS-Wrapper.

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

사용법 및 호출 컨텍스트

"UnregisterWakeUpHandler 함수는 apext::sm::PowerStateInterface 클래스의 스코프에 속하며 헤더 파일 #include "apext/sm/power_state_interface.h"을(를) 통해 제공됩니다 [SWS_SM_71005]. 그 목적은 OS 래퍼에서 이전에 설정된 웨이크업 핸들러의 등록을 취소하는 것입니다 [SWS_SM_71005]. 호출은 동기식으로 수행되며 전달 매개변수가 필요 없고 반환값이 없습니다(void) [SWS_SM_71005]."

오류 처리

"이 작업은 noexcept 식별자로 선언되어 있으며 예외 안전(exception safe)한 것으로 명시되어 있습니다 [SWS_SM_71005]. 특정 오류 코드, DEM 또는 DET 항목은 정의되어 있지 않습니다. 해석: 반환 형식이나 오류 표시자가 없기 때문에 이 함수는 OS 래퍼의 내부 오류 가능성을 호출자에게 직접 보고하지 않을 것으로 보입니다." 질문 Q-0d692808f97a0fb5 (열림)

동시성 및 제약 조건

"실행 환경과 관련하여 UnregisterWakeUpHandler은(는) 명시적으로 스레드 안전하지 않은 것(not-threadsafe)으로 분류되어 있습니다 [SWS_SM_71005]. 여러 스레드에서의 동시 호출은 보호되지 않은 채로 수행되어서는 안 되며 애플리케이션 측에서 동기화되어야 합니다."

"상호작용 및 사양 상태"

"이 함수는 상위 요구사항 RS_SM_00402을(를) 충족하는 데 사용됩니다 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 “UnregisterWakeUpHandler”. 통합 시 본 사양의 인터페이스 정의가 아직 DRAFT 상태라는 점을 고려해야 합니다 AUTOSAR_AP_SWS_StateManagement §C.1.2.1.1.3 “UnregisterWakeUpHandler”."

이 사용 지침은 AUTOSAR R25-11을 기반으로 자동 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

Header-Datei#include "apext/sm/power_state_interface.h"
Scopeclass apext::sm::PowerStateInterface
Exception-Sicherheitexception safe
Thread-Sicherheitnot-threadsafe

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_SM_71005
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_SM_71005@rel:R25-11#307198cc
Content hash
307198cc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_StateManagement.pdf#nameddest=SWS_SM_71005
Status: valid/unmigrated Version: rel:R25-11#ef4ae762 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_71005@rel:R25-11#ef4ae762
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