DEENESPTFRRUARHIKOZHNL

네임스페이스 ara::sm

사용자 가이드AI 생성

시스템 상태 및 Suspend-to-RAM 흐름 제어를 위한 오류 도메인과 오류 코드를 제공합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 83e4718c6e9f 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

시스템 상태 및 Suspend-to-RAM 흐름 제어를 위한 오류 도메인과 오류 코드를 제공합니다.

네임스페이스 ara::sm은 AUTOSAR Adaptive의 State Management를 위한 도메인별 오류 처리 및 조정 구조를 제공합니다(AUTOSAR_AP_SWS_StateManagement §7.5 34쪽). 이는 SmErrc, SmErrorDomain 및 MakeErrorCode를 통해 통신 오류, 타임아웃, 그리고 Suspend-to-RAM과 같은 동기화된 상태 전환 시의 거부를 기록하기 위한 표준화된 메커니즘을 정의합니다([SWS_SM_81240], [SWS_SM_81244]). 주요 제약 조건은 자동화된 상태 머신 제어와 조정 인스턴스에 대한 직접적인 API 접근 간의 상호 배제입니다([SWS_SM_00684]).

컨텍스트

네임스페이스 ara::sm은 AUTOSAR Adaptive Platform의 State Management를 위한 기초적인 인터페이스를 형성하며 오류 처리 및 머신 전체의 상태 구성을 제어하기 위한 타입을 제공합니다. 중앙 오류 도메인 SmErrorDomain과 관련 예외 타입 SmException 외에도, 이 모듈은 특히 AUTOSAR_AP_SWS_StateManagement §7.5 “Interaction with Suspend-to-RAM Functionality” 34쪽에 따른 Suspend-to-RAM 기능 범위 내에서 시스템 상태를 동기화하기 위한 기능적 메커니즘을 포함합니다. 주요 상호작용 파트너에는 SMControlApplication와 같은 제어 애플리케이션, State Management 데몬의 내부 StateMachine 컨트롤러, 그리고 위성을 통해 연결된 프로세스(AUTOSAR_AP_SWS_StateManagement §7.5.1 “S2R Hub” 35쪽)가 포함됩니다.

이 아키텍처는 선언적 상태 머신과 프로그래밍 방식의 제어를 엄격하게 분리합니다. 시스템이 StateMachine 방식을 따르는 경우, 제어 인스턴스가 조정을 내부적으로 통합하므로 외부 애플리케이션은 S2RHub의 C++ API에 대한 직접 접근이 거부됩니다([SWS_SM_00684]; AUTOSAR_AP_SWS_StateManagement §7.7.15 96쪽). 보안 관련 상호작용은 또한 공인된 프로세스만이 등록을 수행하거나 상태 변경을 요청할 수 있도록 보장하기 위해 Identity and Access Management(IAM)의 검사를 받습니다([SWS_SM_00706], [SWS_SM_00714], [SWS_SM_00715]).

G app SMControlApplication 또는 StateMachine hub S2RHub / State Management Daemon app->hub S2RHub-Steuerung [SWS_SM_00684] errdomain SmErrorDomain (ara::sm) app->errdomain 오류 검사 [SWS_SM_81251] satellite S2RSatellite (Prozesskontext) hub->satellite Suspend-Trigger [SWS_SM_00701] hub->errdomain Fehlercode erzeugen [SWS_SM_81240] satellite->hub Offer / Status [SWS_SM_00710]

컨텍스트 다이어그램: 제어 애플리케이션, State Management 데몬, 위성 및 오류 도메인 간의 역할 분담 및 상호작용 경로. 출처: [SWS_SM_00684], [SWS_SM_00701], [SWS_SM_00710], [SWS_SM_81240], [SWS_SM_81251].

사용 경로

이 네임스페이스의 일반적인 사용은 애플리케이션 측 프로세스 등록, 조정된 전환 트리거, 그리고 결과 오류 코드의 평가로 구성됩니다. Suspend-to-RAM 기능을 보유한 프로세스의 경우, 주기는 Offer을 통한 인터페이스 제공으로 시작됩니다([SWS_SM_00710]). 운영체제가 절전 상태로 전환되기 전에, 제어 인스턴스는 RequestToEnterSuspendMode를 사용하여 등록된 모든 위성에 요청을 보내며, 이에 따라 해당 콜백 EnterSuspendMode이 트리거됩니다([SWS_SM_00701], [SWS_SM_00711]).

조정 기능은 참여하는 모든 위성이 응답하거나 등록 취소될 때까지 전환을 차단하거나 모니터링합니다([SWS_SM_00702]). 웨이크업 시에는 유사하게 RequestToLeaveSuspendMode의 호출이 발생하며, 이는 LeaveSuspendMode를 통해 정상 동작을 복원합니다([SWS_SM_00703], [SWS_SM_00711]). 통신 또는 상태 전환 시 중단이 발생하는 경우, 모듈은 열거형 SmErrc을 기반으로 특정 ara::core::ErrorCode 인스턴스를 생성하여 호출 애플리케이션에 제공하기 위해 비멤버 함수 MakeErrorCode를 사용합니다([SWS_SM_81244]).

Suspend-to-RAM 조정 및 오류 처리 절차SMControlApplicationS2RHubS2RSatelliteSmErrorDomainUse Case: Suspend-AnforderungRequestToEnterSuspendMode()EnterSuspendMode() CallbackaltSatelliten quittieren erfolgreich오류 없는 확인성공 반환(결과 긍정)최소 하나의 위성이 거부함kRejected 응답MakeErrorCode(SmErrc::kAtLeastOneRejected)ara::core::ErrorCodeFehlercode kAtLeastOneRejected

시퀀스 다이어그램: 위성과의 서스펜드 조정 및 오류 처리의 일반적인 흐름. 출처: [SWS_SM_00701], [SWS_SM_00702], [SWS_SM_00707], [SWS_SM_81240], [SWS_SM_81244].

오류 시나리오

ara::sm의 오류 처리는 엄격하게 타입화되어 있으며 열거형 SmErrc을 기반으로 합니다([SWS_SM_81240]). 정의된 오류 코드에는 다음이 포함됩니다:

  • kOfferFailed: State Management 데몬과의 통신에 실패하여 서비스를 제공할 수 없습니다([SWS_SM_81240]).
  • kCommunicationFailed: 위성과의 통신 시 하위 전송 계층에서의 오류입니다([SWS_SM_81240]).
  • kCommunicationTimeout: 호출된 위성이 지정된 응답 시간을 초과했습니다([SWS_SM_81240], [SWS_SM_00707]).
  • kAtLeastOneRejected: 최소 하나 이상의 위성이 서스펜드 상태로 올바르게 진입하지 못했습니다([SWS_SM_81240]).
  • kAtLeastOneHadIssuesToLeave: 최소 하나 이상의 위성이 서스펜드 모드를 벗어날 때 kRejected을 보고했습니다([SWS_SM_81240], [SWS_SM_00707]).
  • kAuthenticationRequired: IAM 인증이 강제 적용되며 위성의 명시적인 신원 확인을 요구합니다([SWS_SM_81240], [SWS_SM_00716]).

GetSmDomain([SWS_SM_81251])을 통한 전역 오류 도메인의 제공 및 MakeErrorCode([SWS_SM_81244])를 통한 오류 코드 생성은 noexcept로 선언되어 있으며 예외 및 스레드 안전성을 보장합니다. 해석: SmException의 발생은 기능적 인터페이스가 오류 발생 시 일반적으로 ara::core::ErrorCode을 반환하는 반면, 호출자가 SmErrorDomain의 오류 코드를 예외 기반 제어 흐름으로 변환하고자 할 때 주로 적용될 것으로 추정됩니다. 질문 Q-5afcc13f11bdf19b (열림)

이 가이드는 AUTOSAR Adaptive R25-11 사양을 기반으로 합니다.

주제 맵

클래스 다이어그램

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 ara::sm nara__sm__SmErrorDomain SmErrorDomain next_ara__core__ErrorDomain ara::core::ErrorDomain nara__sm__SmErrorDomain->next_ara__core__ErrorDomain nara__sm__SmException SmException next_ara__core__Exception ara::core::Exception nara__sm__SmException->next_ara__core__Exception

상세 보기

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

클래스

SmErrorDomain 클래스

Defines the error domain for State Management.

상속 대상 ara::core::ErrorDomain

SmException 클래스

Exception type thrown by State Management.

상속 대상 ara::core::Exception

함수

Returns the global SmErrorDomain object.

constexpr const ara::core::ErrorDomain & GetSmDomain () noexcept;

Creates an error code.

constexpr ara::core::ErrorCode MakeErrorCode (SmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

타입 및 상수

SmErrc 열거형

Defines an enumeration class for the State Management error codes.

enum class SmErrc : ara::core::ErrorDomain::CodeType {...};

열거형

열거형 SmErrc [SWS_SM_81240] Upstream: RS_AP_00119

enum class SmErrc :          ara::core::ErrorDomain::CodeType {...};

Defines an enumeration class for the State Management error codes.

Header-Datei#include "ara/sm/sm_error_domain.h"
Forwarding-Header#include "ara/sm/sm_fwd.h"
Scopenamespace ara::sm
SymbolSmErrc
Basistypara::core::ErrorDomain::CodeType

Werte

EnumeratorBeschreibung
kOfferFailed=2 Service could not be offered due to failure of communication with Sm daemon
kCommunicationFailed=3 Communication to satellites failed on lower layers.
kCommunicationTimeout=4 Timeout of communication with satellites.
kAtLeastOneRejected=5 At least one Satellite instance had issues to enter Suspend Mode.
kAtLeastOneHadIssuesToLeave=6 At least one Satellite instance had issues to leave Suspend Mode.
kRejected=7 Issue to enter or leave the Suspend Mode.
kAuthenticationRequired=8 S2R Satellite requires IAM authentication. ara::sm::s2r:: S2RSatellite::S2RSatellite has to be used instead.

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

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

자유 함수 문서

함수 GetSmDomain [SWS_SM_81251] Upstream: RS_AP_00119, RS_AP_00159

constexpr const ara::core::ErrorDomain & GetSmDomain () noexcept;

Returns the global SmErrorDomain object.

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopenamespace ara::sm
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
const ara::core::ErrorDomain &The global SmErrorDomain object.

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

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

함수 MakeErrorCode [SWS_SM_81244] Upstream: RS_AP_00119, RS_AP_00159

constexpr ara::core::ErrorCode MakeErrorCode (SmErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

Creates an error code.

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

도우미 함수 MakeErrorCode은(는) [SWS_SM_81244]에 따라 네임스페이스 ara::sm에서 State Management를 위한 ara::core::ErrorCode 객체를 생성하는 데 사용됩니다. 이 함수는 헤더 파일 #include "ara/sm/sm_error_domain.h"에 선언되어 있으며 문서화 상태는 DRAFT입니다(AUTOSAR_AP_SWS_StateManagement §8.1.2.1.2 “MakeErrorCode”).

생성을 위해 이 동기 함수는 두 개의 입력 파라미터를 받습니다:

  • code: 오류 번호로서의 SmErrc 타입 특정 오류 코드.
  • data: 오류와 연결된 제조업체별 추가 데이터(ara::core::ErrorDomain::SupportDataType 타입).

반환값으로 이 함수는 완전한 ara::core::ErrorCode 객체를 반환합니다([SWS_SM_81244]). constexpr(으)로 지정되어 컴파일 시점에 이미 평가가 수행될 수 있으며, noexcept 키워드는 실행 시 예외가 발생하지 않음을 보장합니다.

동시성 및 신뢰성 측면에서 이 함수는 thread-safe 및 exception safe로 명시되어 있습니다([SWS_SM_81244]). 따라서 추가적인 동기화 없이 임의의 동시 호출 컨텍스트에서 사용할 수 있습니다.

이 텍스트는 AI에 의해 생성되었으며 명세를 참조하기 위한 안내 자료 역할을 합니다.

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

Header-Datei#include "ara/sm/sm_error_domain.h"
Scopenamespace ara::sm
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
codeError code number.
dataVendor defined data associated with the error.

Rückgabewert

TypBeschreibung
ara::core::ErrorCodeAn ErrorCode object.

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

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