CM开发指南:概述

CM开发指南:概述

概述

  AUTOSAR AP平台(Adaptive Platform)作为自动驾驶应用的运行时环境,包括通信管理、执行管理、平台健康管理等功能,其中执行管理(Execution Management)模块,简称EM,其主要功能是对AP平台和应用程序进行生命周期管理,包括启动、关闭、重启以及解决进程依赖等。

基本概念

  熟悉如下概念有助于您更快了解EM。

概念 描述
Application 应用程序,一组相关功能需求的集合,包含一个或多个Executable、与执行有关的配置数据和模型描述信息等。
Executable 可执行文件,作为Application的一部分,包含一个程序主入口(main函数),可以部署并安装在机器(Machine)上。
一个应用程序可能包含一个或多个可执行文件,每个可执行文件都可以部署到不同的机器上。
Application 应用程序,一组相关功能需求的集合,包含一个或多个Executable、与执行有关的配置数据和模型描述信息等。
Executable 可执行文件,作为Application的一部分,包含一个程序主入口(main函数),可以部署并安装在机器(Machine)上。
一个应用程序可能包含一个或多个可执行文件,每个可执行文件都可以部署到不同的机器上。
Process Executable在机器上加载运行的实例。
在AUTOSAR AP平台上,Process在运行时表现为OS的进程。
Process State 进行状态,包括
Idle(进程创建之前)、
Starting(已创建进程,已为进程分配相关资源,正在启动)、
Running(正在运行,由应用程序通过EM的状态上报接口上报)、
Terminating(正在退出,由应用程序通过EM的状态上报接口上报)、
Terminated(已结束,相关资源已释放),
Aborted(程序运行错误)
Self-terminating Process 自关闭进程,Process运行一段时间后自行结束运行。
Machine 运行AP平台的机器,可以是物理设备,虚拟机或者容器。
Execution Dependency 用于定义Process之间的依赖关系,可通过配置确定Process的启动或关闭顺序。
Function Group 功能组,为了方便对一组具有内在联系的Process进行统一管理,AUTOSAR AP平台引入了Function Group这个概念。
每个Function Group都有自己的一组Processes和一组Function Group States(功能组状态)。
EM通过功能组状态(Function Group State)来管理进程,根据Function Group State的不同,对应功能组状态中关联的Processes被EM一起启动或者关闭。
例如,用户配置了某Process关联Function Group State中定义的启动状态(表示启动状态包含此进程),EM会在切换到启动状态时拉起此进程。

注意

* AUTOSAR EM规范要求必须预定一个名称为“MachineState”的功能组,这个功能组用于控制Machine及AP平台级Processes。
* Function Group(包括“MachineState”)默认存在Off状态,支持用户自定义其他状态。
Function Group State 功能组状态,除“MachineState”外的Function Group的状态。
每个功能组状态定义了哪些Processes会在EM响应了状态管理(State Management)模块的请求后被启动/关闭或切换到用户自定义的其他状态。
Machine State “MachineState”功能组的状态,包含Off/Startup/Shutdown/Restart这四个预定义状态。
Execution Manifest Application的配置文件,用于配置应用程序的执行信息,主要包括:
* 应用程序的名称、可执行文件(Executable)的名称。
* Executable的依赖关系。
* 每个Process(即该可执行文件的启动实例)的相关属性(如:启动参数,环境变量、Function Group State或者Machine State、资源分配情况等)。
Execution Manifest是在集成时创建的,并与配置中指定的可执行文件(Executable)一起部署到Machine上。
详细配置项信息可参见《MDC 610 AP配置项参考》中的Application配置。
Machine Manifest Machine的配置文件,包含所有无法分配给特定可执行文件的配置信息,即Execution Manifest等尚未涵盖的所有配置信息。如配置AP平台环境变量、配置Function Group等。
详细配置项信息可参见《MDC 610 AP配置项参考》中的Machine配置。
State Management AP平台中的状态管理模块,简称SM,可向EM发出切换Function Group State的请求。状态管理模块定义了AUTOSAR AP平台的操作状态,而EM则负责执行不同状态之间的转换。
ExecutionClient 执行状态API,为一个Process提供了上报其状态到EM的接口。
StateClient 表示与EM连接的类,用于SM向EM请求功能组状态转换等操作。

基本原理

  EM工作流程可以划分为3个主要阶段,分别是启动、运行、重启/关闭。3个阶段涉及AP平台及应用程序生命周期管理的运作机制如下:

启动

  EM作为操作系统(OS)初始化过程的一部分,在机器启动时被OS启动。EM启动过程中,根据用户配置的Machine Manifest、Execution Manifest信息,有序启动AP平台其他功能模块及应用程序。同时,切换“MachineState”功能组到Startup状态,切换其它自定义Function Group到Off初始状态。
启动流程如下图所示:
CM开发指南:概述

运行

  EM运行过程中,State Management可调用EM API接口请求切换特定Function Group到特定目标状态,实现进程生命周期的管理。每个Function Group可以有多个状态,EM在不同的状态下需要拉起不同的进程。
  Function Group示意图如下:
CM开发指南:概述
  EM切换特定Function Group到指定目标状态的步骤为:
  (1)停止当前正在运行且在目标状态中不需要的所有进程;
  (2)启动当前未运行且在目标状态中需要的所有进程;
  (3)EM发送启动或关闭进程的指令后,进程需要上报自身状态给EM。

  状态切换时各模块交互关系如下:

CM开发指南:概述

重启/关闭

EM通过切换“MachineState”到Shutdown、Restart状态的方式来关闭、重启AP平台及应用,Shutdown、Restart详细配置见下文。其中,平台关闭、重启时EM也会被关闭、重启。

上一篇:62、挥手为什么需要四次?


下一篇:博通Broadcom SDK源码学习与探讨3——Cable Modem Docsis3.0