Automotive Software

실행 관리자(EM) : 머신 상태 (Machine State) 본문

아답티브 오토사 (Adaptive AUTOSAR)/실행 관리자 (Execution Manager)

실행 관리자(EM) : 머신 상태 (Machine State)

AutoSW 2023. 7. 17. 22:40

개별 아답티브 플랫폼 머신의 생애 주기를 관장하기 위한 상태로 실행 관리자(이하 EM)는 최소 하나의 MachineFG이라는 이름을 가진 기능그룹(Function Group)을 가져야 하며, 이 기능 그룹은 PLATFORM_CORE로 구분된 소프트웨어 클러스터 내에 해당 설정 정보가 기록되어야 한다. 머신상에 존재할 수 있는 다양한 클러스터 중 PLATFOR_CORE로 정의된 클러스터는 일반적으로 플랫폼 프로세스들로 그룹화하며 머신 당 하나만 존재해야 한다.

대부분의 플랫폼 프로세스들이 이 머신 상태에 의해 제어될 수 있지만 강제 사항은 아니며, 필요에 따라 추가된 기능 그룹 상태 (Function Group State)의 제어를 받을 수 도 있다.

주요 머신 상태

  • Startup
    • EM 자신에 의해 요청되며 완료 시 SM (State Manager)에게 알림
    • SM은 이 상태에서 시작되어 향후 다른 상태로의 천이를 수행
  • Shutdown/Restart
    • EM 이 아닌 다른 컴포넌트에 의해 머신의 실제 셧다운 또는 재시작 절차가 수행
      • 셧다운 담당 컴포넌트 ---> SM ---> EM
    • 프로젝트 또는 플랫폼 특성화된 절차를 구현하기 위함
  • Off : 필수이나 EM에 의해서만 초기 상태로서 사용되며, 다른 프로세스에서 천이 요청 시 에러 보고
  • 그 외 추가 상태 : SM에 의해 EM에게 요청

관련된 API로는,

  • 그룹 정의 > ara::exec::FunctionGroup
  • 그룹 상태 정의 > ara::exec::FunctionGroupState
  • 그룹 상태 관리 > ara::exec::StateClient
    • ara::exec::StateClient::GetInitialMachineStateTransitionResult