모듈 ara::sm — State Management
모듈 가이드AI 생성
Adaptive Machine의 시스템 상태, 함수 그룹, 에너지 절약 모드 및 소프트웨어 업데이트를 오케스트레이션합니다.
Adaptive Machine의 시스템 상태, 함수 그룹, 에너지 절약 모드 및 소프트웨어 업데이트를 오케스트레이션합니다.
어댑티브 클러스터 State Management는 Execution Management 및 UCM과의 연계를 통해 Adaptive Machine의 시스템 전반 운영 모드, 함수 그룹 상태 및 소프트웨어 업데이트 단계를 제어합니다 EXP SWArchitecture 51쪽. 구성된 테이블 및 액션 리스트를 통해 전이 트리거를 결정론적으로 처리하고, StateMachineNotification을 통해 중간 상태를 보고하며, 허브-새틀라이트(Hub-Satellite) 패턴을 통해 Suspend-to-RAM을 오케스트레이션합니다 [SWS_SM_91107], [SWS_SM_81110]. 엄격한 업데이트 릴리스 검사 및 필수 ANY 오류 포착 경로와 같은 제약 조건은 견고한 플랫폼 운영을 보장합니다 [SWS_SM_91108].
기능 클러스터 State Management (SM)은 AUTOSAR Adaptive Platform에서 머신 및 함수 그룹 상태와 실행 모드를 제어하기 위한 중앙 플랫폼 데몬 역할을 합니다 EXP SWArchitecture 51쪽. 제어 애플리케이션(SMControlApplication) 내의 차량별 결정 로직을 Execution Management (EM)에 의한 실제 프로세스 관리와 엄격하게 분리합니다 EXP PlatformDesign 40쪽. OEM 고유의 구현 외에도 AUTOSAR는 테이블 형태의 메타모델과 구성된 액션 리스트를 통해 전이를 처리하는 표준화된 StateMachine 방식을 제공합니다 SWS StateManagement 42쪽.
상태 전이는 StateMachineService의 RequestTransition 메서드를 통해 개시되며 [SWS_SM_91107], TransitionRequestTable에 대해 유효성이 검증됩니다 SWS StateManagement 44쪽. 연관된 ActionList 처리 중에는 대상 상태가 완전히 승인된 후 게시되기 전에 알림 필드 CurrentState이 컨슈밍 애플리케이션에 전이 값 "inTransition"을 시그널링합니다 [SWS_SM_91109], SWS StateManagement 67쪽.
시퀀스 다이어그램: StateMachineService를 통한 정규 상태 전이 및 StateMachineNotification을 통한 알림 시퀀스. 출처: [SWS_SM_91107], [SWS_SM_91109], SWS StateManagement 51쪽
소프트웨어 업데이트 수행을 위해 State Management는 Update and Configuration Management (UCM)용 UpdateRequest 인터페이스를 제공합니다 [SWS_SM_91102], EXP SWArchitecture 56쪽. 애플리케이션 필드 UpdateAllowed 검사 후, 모듈은 ResetMachine을 통한 머신 재기동뿐만 아니라 준비(PrepareUpdate), 검증(VerifyUpdate) 또는 롤백 단계(PrepareRollback)를 조율합니다 [SWS_SM_91100], [SWS_SM_91103], [SWS_SM_91108]. Suspend-to-RAM과 같은 절전 모드의 경우 S2RHub 및 S2RSatellite가 애플리케이션과 운영체제의 동결(Freeze) 및 재시작을 동기화합니다 [SWS_SM_81010], [SWS_SM_81110], [SWS_SM_71001].
오류 발생 시 SmErrorDomain [SWS_SM_81247] 및 ErrorRecoveryTable의 필수 ANY 포착 항목은 Execution Management 또는 Platform Health Management에서 발생한 예기치 않은 실행 오류를 결정론적으로 포착하고 실행 중인 작업을 정의된 복구 상태로 즉시 전환하도록 보장합니다 SWS StateManagement 42쪽.
플랫폼 연계 내에서의 역할 및 기능적 시스템 경계
기능 클러스터 State Management (SM)은 AUTOSAR Adaptive Platform에서 시스템 전반의 작동 모드, 함수 그룹 및 프로세스 수명주기를 오케스트레이션하는 중앙 인스턴스를 구성합니다 EXP SWArchitecture 51쪽. 자율 플랫폼 데몬으로 실행되는 State Management는 플랫폼 내부의 상태 실행을 일반적으로 독립된 제어 애플리케이션(SMControlApplication)에 캡슐화된 차량 및 OEM별 제어 로직과 분리합니다 EXP PlatformDesign 40쪽. State Management는 논리적인 상태 결정을 내리고 유효성을 검증하는 반면, 프로세스의 물리적 시작, 종료 및 전환은 StateClient을 통해 Execution Management (EM)에 위임합니다 SWS StateManagement 40쪽.
아키텍처 관점에서 이 모듈은 이중 통합 철학을 기반으로 합니다. State Management에 대한 인터페이스가 공개되어 있으므로, 통합자는 플랫폼 스택의 표준화된 매니페스트 기반 StateMachine 접근 방식을 사용하거나 완전히 자체적인 제조사 전용 상태 로직을 구현할 수 있습니다 SWS StateManagement 42쪽. 표준화된 접근 방식에서 State Management는 제어 애플리케이션의 외부 트리거, Platform Health Management(PHM)의 오류 보고 및 Network Management(NM)의 네트워크 상태 변경에 결정론적으로 반응합니다 SWS StateManagement 45쪽. 또한 State Management는 Update and Configuration Management(UCM)에 의한 소프트웨어 업데이트를 위한 결정적인 제어 인스턴스를 형성합니다 EXP SWArchitecture 56쪽.
컨텍스트 다이어그램: AUTOSAR Adaptive 시스템 연계 내 Functional Cluster State Management의 임베딩. 출처: EXP PlatformDesign 40쪽, SWS StateManagement 28쪽
StateMachineService 인터페이스를 통한 상태 전환 및 제어
상태 변경을 개시하기 위해 State Management는 StateMachine의 구성된 각 인스턴스에 대해 서비스 기반 서비스 StateMachineService을 제공합니다 SWS StateManagement 44쪽. 애플리케이션은 서비스 메서드 RequestTransition을 통해 전환을 요청합니다 [SWS_SM_91107]. State Management는 매니페스트에 정적으로 저장된 TransitionRequestTable를 기반으로 상태 머신의 현재 상태에 대해 이 요청을 검증합니다 SWS StateManagement 44쪽. 전환이 정의되어 있으면 현재 액션 목록(ActionList)의 실행이 중지되고 대상 상태로의 전환이 시작됩니다 SWS StateManagement 45쪽.
상태 전환이 시작되는 즉시 State Management는 StateMachineNotification 인터페이스의 서비스 필드 CurrentState 값을 "inTransition"로 설정합니다 [SWS_SM_91109], SWS StateManagement 67쪽. 이 과도 상태는 종속된 Adaptive Applications에 시스템 재구성이 진행 중임을 ara::com를 통해 알립니다 EXP SWArchitecture 52쪽. 액션 목록 내에서 기능 그룹은 종속성을 정확하게 매핑하기 위해 SYNC 요소를 통해 동기화되거나 병렬로 전환될 수 있습니다 SWS StateManagement 56쪽. 모든 ActionListItems가 완전히 처리되고 결과가 수집된 후에야 CurrentState이 새 상태의 최종 이름을 가집니다 SWS StateManagement 67쪽.
시퀀스 다이어그램: StateMachineService를 통한 정규 상태 전환 및 StateMachineNotification을 통한 알림 흐름. 출처: [SWS_SM_91107], [SWS_SM_91109], SWS StateManagement 51쪽, EXP SWArchitecture 219쪽
상태 다이어그램: TransitionRequestTable을 기반으로 하는 StateMachine의 전형적인 라이프사이클 및 전환 로직. 출처: EXP InterfacesGuidelines 22쪽, SWS StateManagement 44쪽
UCM과의 연동을 통한 소프트웨어 업데이트 오케스트레이션
소프트웨어 업데이트의 프레임워크 내에서 State Management는 Update and Configuration Management(UCM)와 머신의 실행 상태 간 인터페이스 기능을 담당합니다 EXP SWArchitecture 142쪽. 이를 위해 State Management는 머신당 최대 한 번만 인스턴스화될 수 있으며 컨트롤러 상태 머신을 구동하는 프로세스에 독점적으로 바인딩되는 인터페이스 UpdateRequest을 제공합니다 SWS StateManagement 79쪽. UCM이 메서드 RequestUpdateSession을 호출함으로써 업데이트가 시작됩니다 [SWS_SM_91102]. State Management는 허용 여부에 대한 결정을 자율적으로 내리지 않고, 애플리케이션 제어 로직에 의해 설정되는 UpdateAllowedService의 서비스 필드 UpdateAllowed를 참조합니다 [SWS_SM_91108], SWS StateManagement 81쪽.
세션이 승인되면 컨트롤러는 영향을 받는 상태 머신을 ImpactedByUpdate으로 표시합니다 SWS StateManagement 81쪽. 실제 적용 전에 UCM은 영향을 받는 기능 그룹 목록과 함께 PrepareUpdate를 호출하며, 이에 따라 해당 기능 그룹들은 비활성 상태로 전환됩니다 [SWS_SM_91103], PlatformDesign 58쪽. 업데이트에 재부팅이 필요한 경우 UCM은 Fire-and-Forget 메서드 ResetMachine를 통해 사전에 모든 데이터가 저장되어야 하는 질서 있는 리셋을 요청합니다 [SWS_SM_91100]. State Management는 리셋 중 상태 변경에 대해 필드 ResetMachineNotifier을 통해 UCM에 알립니다 [SWS_SM_91106], SWS StateManagement 92쪽. 재부팅 또는 업데이트 후에는 VerifyUpdate을 통한 검증이 이어집니다 [SWS_SM_91104], SWS StateManagement 87쪽. 검증이 실패하면 PrepareRollback이 롤백을 준비합니다 [SWS_SM_91105], SWS StateManagement 88쪽. 전체 주기의 완료는 StopUpdateSession으로 확인 응답됩니다 [SWS_SM_91101], SWS StateManagement 79쪽.
시퀀스 다이어그램: UCM, State Management 및 제어 로직 간 소프트웨어 업데이트 세션의 상호작용 흐름. 출처: [SWS_SM_91100], [SWS_SM_91102], [SWS_SM_91103], [SWS_SM_91104], SWS StateManagement 78쪽
허브-새틀라이트 연계 내 전원 관리 및 Suspend-to-RAM
Suspend-to-RAM(S2R)과 같은 고급 전원 관리 기능을 위해 State Management는 허브-새틀라이트 아키텍처 패턴을 구현합니다 EXP SWArchitecture 54쪽. 플랫폼 데몬의 중앙 제어 인스턴스는 클래스 S2RHub을 사용하는 [SWS_SM_81103] 반면, 참여하는 Adaptive Applications는 자체 프로세스 공간에 S2RSatellite의 인스턴스를 통합합니다 [SWS_SM_81003], [SWS_SM_81014], SWS StateManagement 35쪽. 새틀라이트는 Offer을 통해 모드 변경 수신 준비를 활성화하거나 [SWS_SM_81012], StopOffer를 통해 비활성화합니다 [SWS_SM_81013]. 이들은 대기 모드 준비 및 사후 처리를 위한 콜백 메커니즘으로 순수 가상 메서드 EnterSuspendMode [SWS_SM_81010] 및 LeaveSuspendMode [SWS_SM_81011]를 구현합니다.
Suspend 프로세스가 시작되면 S2RHub은 구성 가능한 타임아웃 [SWS_SM_81110]과 함께 RequestToEnterSuspendMode을 통해 등록된 모든 새틀라이트를 비동기식으로 호출합니다. 모든 새틀라이트가 대기 모드 준비를 성공적으로 완료하면 허브는 EnterSuspendToRamOs을 통해 운영체제가 RAM 유지 상태로 진입하도록 유도합니다 [SWS_SM_81112], SWS StateManagement 101쪽. 하드웨어 근접 OS 래퍼 레벨에서 State Management는 apext::sm::PowerStateInterface을 활용합니다. 이는 열거형 PowerState [SWS_SM_71002]을 기반으로 SetPowerState [SWS_SM_71001]을 통해 하드웨어 근접 작동 상태를 설정하고, 함수 유형 WakeUpHandler [SWS_SM_71004], SWS StateManagement 105쪽을 사용하는 RegisterWakeUpHandler [SWS_SM_71003] 및 UnregisterWakeUpHandler [SWS_SM_71005]를 통해 자율적 웨이크업 핸들러의 등록 및 등록 취소를 가능하게 합니다. 웨이크업 후 허브는 RequestToLeaveSuspendMode을 통해 모든 새틀라이트의 조정된 재시작을 요청합니다 [SWS_SM_81111].
시퀀스 다이어그램: 시스템을 Suspend-to-RAM으로 전환하고 이후 다시 웨이크업하는 2단계 흐름. 출처: [SWS_SM_71001], [SWS_SM_81110], [SWS_SM_81112], SWS StateManagement 101쪽
오류가 발생한 경우의 동작
이 모듈은 자체 작동 오류에 대해 SmErrorDomain [SWS_SM_81247]을 정의하며, 이는 GetSmDomain를 통해 조회되고 [SWS_SM_81251] 식별자 "Sm"를 가집니다 [SWS_SM_81248]. 이는 오류 설명을 제공하고 [SWS_SM_81249] 예외적인 경우 ThrowAsException을 통해 코드를 SmException로 변환합니다 [SWS_SM_81243], [SWS_SM_81250]. 열거형 SmErrc을 통해 특정 장애 원인이 유형화되며, 여기에는 플랫폼 데몬과의 연결 끊김에 대한 kOfferFailed 및 실패한 새틀라이트 통신에 대한 kCommunicationFailed이 포함되며 [SWS_SM_81240], MakeErrorCode를 사용하여 생성할 수 있습니다 [SWS_SM_81244].
논리적 상태 머신 영역에서 State Management는 ErrorRecoveryTable SWS StateManagement 69쪽을 통해 빈틈없는 오류 처리를 강제합니다. 각 테이블에는 명시적으로 매핑되지 않은 모든 실행 오류에 대한 결정론적 폴백 경로 역할을 하는 값 ANY를 가진 항목이 반드시 정확히 하나 있어야 합니다 SWS StateManagement 42쪽, SWS StateManagement 69쪽. Platform Health Management 또는 Execution Management에 의해 오류가 보고되고 영향을 받는 상태 머신이 ImpactedByUpdate로 표시되지 않은 경우, 진행 중인 오류 복구를 위한 내부 플래그를 설정하고 현재 액션 목록을 즉시 중단하며 매개변수화된 복구 상태로 즉각 전환합니다 SWS StateManagement 42쪽. kIntegrityOrAuthenticityCheckFailed과 같은 Execution Management의 치명적인 오류의 경우, State Management는 플랫폼의 신뢰성이 훼손되어 후속 요청이 실패할 것으로 간주하므로 시정 조치는 클러스터 외부에 위치합니다 SWS StateManagement 40쪽.
액티비티 다이어그램: 유입되는 실행 오류 발생 시 결정 및 처리 흐름과 ErrorRecoveryTable 평가. 출처: SWS StateManagement 42쪽, SWS StateManagement 69쪽
더 자세한 증거
State Management의 아키텍처 및 상호작용 경로는 다음과 같은 규범적 요구사항 및 설계 사양에 의해 뒷받침됩니다:
- 시스템 제어 및 전환: [SWS_SM_91107]은 서비스 지향 전환 요구사항을 정의하는 반면, [SWS_SM_91109]은 애플리케이션의 디커플링을 위한 알림 필드를 규정합니다. 테이블 기반 제어는 SWS StateManagement 44쪽에 의해 뒷받침됩니다.
- 소프트웨어 업데이트 통합: 세션 관리 [SWS_SM_91102], 준비 [SWS_SM_91103], 검증 [SWS_SM_91104], 롤백 준비 [SWS_SM_91105] 및 종료 [SWS_SM_91101]를 위한 메서드와 머신 리셋 [SWS_SM_91100] 및 릴리스 필드 [SWS_SM_91106], [SWS_SM_91108]은 EXP SWArchitecture 56쪽에 따른 UCM과의 상호작용을 확정합니다.
- Suspend-to-RAM 및 전원 관리:
S2RHub[SWS_SM_81103], [SWS_SM_81110],S2RSatellite[SWS_SM_81003], [SWS_SM_81010] 및 운영체제 인터페이스 [SWS_SM_71001], [SWS_SM_71003]을 둘러싼 네이티브 클래스 및 인터페이스 계층 구조는 절전의 규범적 기반을 형성합니다 EXP SWArchitecture 54쪽. - 오류 공간: 예외 및 ErrorCode 생성기를 갖춘 표준화된 오류 도메인의 설계는 [SWS_SM_81240], [SWS_SM_81244] 및 [SWS_SM_81247]에 기반합니다.
이 모듈 가이드는 릴리스 R25-11용 AUTOSAR Adaptive 명세를 기반으로 AI 큐레이션 어시스턴트에 의해 작성되었으며, State Management에 대한 규범적 사양을 구조화합니다.
function: 31 service method: 7 class: 5 type alias: 3 service field: 3 enumeration: 2
서비스 인터페이스
StateMachineNotificationStateMachineServiceUpdateAllowedServiceUpdateRequest주제 맵
이 릴리스에 대한 요소 데이터가 없습니다
apext::sm
class for power state coordination with OS
Power State Enumeration.
enum class PowerState : std::uint32_t {...};WakeUpHandler function.
using WakeUpHandler = std::function<void(void)>;ara::sm
Defines the error domain for State Management.
상속 대상 ara::core::ErrorDomain
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;Defines an enumeration class for the State Management error codes.
enum class SmErrc : ara::core::ErrorDomain::CodeType {...};ara::sm::s2r
S2RHub class.
S2RSatellite abstract class.
서비스 인터페이스
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
Als ara::com-Dienst modellierte Schnittstelle; Methoden/Felder werden über generierte Proxies/Skeletons aufgerufen (Parameterrichtung IN/OUT).
네임스페이스
- apext::sm 1 Klassen, 0 freie Funktionen
- ara::sm 2 Klassen, 2 freie Funktionen
- ara::sm::s2r 2 Klassen, 0 freie Funktionen
서비스 인터페이스(ara::com 모델링)
- StateMachineNotification 1 Mitglieder
- StateMachineService 1 Mitglieder
- UpdateAllowedService 1 Mitglieder
- UpdateRequest 7 Mitglieder
모듈의 UML 클래스 다이어그램
Abgerundete Rahmen = Namespaces; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = modulfremde bzw. externe Basisklassen. Klicken öffnet die Klassenseite.
gemini-3.8-flash-low· 2026-10-13 · 독일어 원문