AP_autosar_sm_note

state management module

Feature - State Transition
  • SM为自定义进程,可以通过StateClient API(SetState)控制功能组状态

  • state initialize sequence - from startup to initial running state driving

OS EM SM APP1 APP2 main() CreateProcess(SM) ExecutionClient::ReportExecutionState(kRunning) CreateProcess(APP1) ExecutionClient::ReportExecutionState(kRunning) CreateProcess(APP2)... setState(machineFG, stateXZY) OS EM SM APP1 APP2
  • state change sequence - transition to machine state stateXZY
EM SM APP1 APP2 setState(machineFG, stateXZY) SIGTERM ExecutionClient::ReportExecutionState(kTerminating) waitForTermination(APP) CreateProcess(SM) ExecutionClient::ReportExecutionState(kRunning) kSuccess EM SM APP1 APP2
Feature - State Handling
  • 异步控制(TriggerInOut)
    • 进程通过TriggerOut API订阅状态变更通知
    • 进程通过TriggerIn API触发状态变更
APP1 TriggerIn SM TriggerOut APP2 write() event() CheckGuardCondition() write() event() do_something() APP1 TriggerIn SM TriggerOut APP2
  • 同步控制
    • PowerMode服务接口: 请求一个电源模式(off, suspend, on)
    • DiagnosticReset: 诊断请求软复位
SM CommunicationGroup Process1 Process2 Process3 PowerModeMsg(off) PowerModeMsg(off) PowerModeMsg(off) PowerModeMsg(off) PowerModeRespMsg(Done) PowerModeRespMsg(Done, ID(1)) PowerModeRespMsg(Done) PowerModeRespMsg(Done, ID(2)) PowerModeRespMsg(Done) PowerModeRespMsg(Done, ID(3)) listClientS() ID(1), ID(2), ID(3) SM CommunicationGroup Process1 Process2 Process3
interaction
  • PHM
    • 通过local supervision监控受监督的实体,并将结果添加到功能组的global supervision
    • 当global supervision进入stopped状态,PHM通过RecoverHander接口通知SM,并启动定时器,监控返回值
    • SM通知EM切换功能组状态或者机器复位/PHM停止喂狗
  • DIAG
    • SM通过停止和启动功能组实现keyOffOnReset
    • SM通过CommunicationGroup服务接口实现softReset
    • SM在下电时储存复位原因,上电后读取并清除
  • UCM
  • NM
  • EM
    • SM请求或者APP请求SM发起切换功能组状态请求
    • EM切换功能组状态
  • 22
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值