• 764查看
  • 0回复

[Autosar] AP AUTOSAR执行管理(EM)模块学习笔记

[复制链接]


该用户从未签到

发表于 29-8-2023 13:38:18 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


Execution Management,以下简称EM



    EM简介


EM是包含在自适应平台基础中的一个功能集群。

负责系统执行管理的各个方面,包括平台初始化和启动/关闭应用程序。

执行管理与操作系统一起工作。

特别是,执行管理负责将操作系统配置为执行应用程序的运行时调度和资源监控。

EM 有点类似于 CP 中的EcuM 和BswM,用于管理进程的启动和停止。


    启动和终止进程限制进程的权限确保应用程序的完整性


2.执行程序在AP部署

AP AUTOSAR执行管理(EM)模块学习笔记w1.jpg

如上图所示

设计开发集成后,得到执行程序;

执行程序升级或安装到机器上;

通过EM模块读取进程清单,进而管理执行程序的启停。

3. 执行清单

即 execution manifest,主要用于说明部署信息,如:


    启动参数资源使用调度优先级执行依赖信息绑定的执行程序


4. 机器清单

即machine manifest,用于指定需要部署的机器信息,如:


    环境变量模块实例处理器等

AP AUTOSAR执行管理(EM)模块学习笔记w2.jpg

5 EM生命周期管理

启动与停止管理:

EM启动;

EM将机器状态 off--> Startup;

EM 读取清单,根据执行的依赖,确定好启动进程顺序;

EM根据应用报告的状态,启动或停止应用。

AP AUTOSAR执行管理(EM)模块学习笔记w3.jpg

6 状态管理

执行程序的状态

主要包括initializing-running-terminating,如下图

AP AUTOSAR执行管理(EM)模块学习笔记w4.jpg

进程状态

主要包含如下图状态

AP AUTOSAR执行管理(EM)模块学习笔记w5.jpg

机器状态

主要包含:startup -- shutdown -- restart

Startup


    EM应该确保Startup状态已经配置到名为MachineState的功能组里。EM应在启动后自己触发到Startup的状态转换。当完成Startup的状态转换后,EM应通知SM,MachineState已经是Startup状态了。除了Machine State的Startup状态,其它的功能组状态(包括MachineState的其他状态),都不能自己来触发转换,外部必须始终有一个程序实体能够控制其他功能组状态的转换,所以SM应在Machine State的所有状态下运行。


Shutdown


    EM本身不执行OS的停止,它需要至少一个进程提供机制来关闭OS,这个进程被期望配置在Machine State的Shutdown状态下。EM应确保在名为MachineState的功能组下有一个Shutdown状态。请求EM切换到Shutdown和其他功能组状态一致,对于EM来说,各个状态都是独立的,外部请求状态切换,EM都会执行,但对于SM来说,不同功能组之间的状态是耦合的,所以AUTOSAR假定SM只会在合适的时候请求Shutdown。SM在Shutdown模式下也应保持运行,状态切换对于系统来说只是很小的工作,有很多原因会导致失败,所以SM必须在Shutdown模式下保持存活,以便处理错误等。


Restart

EM不执行OS的重启,为了重启系统,它要求至少有一个进程提供重启OS的机制,这个进程运行在Machine State的Restart状态下。

功能组状态

如果在机器上安装了一组功能一致的应用,那么有一起控制它们的能力是很重要的,因此AP提出了功能组的概念。

每个功能组有着它自己的功能组状态,每个功能组状态定义了当SM请求激活哪个状态时,哪些进程将会被EM启动,每个功能组至少有一个进程,最多由实现限制。

功能组机制非常灵活,它倾向于作为一个控制应用的进程启动和停止的工具,系统集成者可以将进程分配到功能组状态,然后用SM来请求它。

总得来说,机器状态用来控制机器和平台级别的应用的生命周期(启动/停止/重启),其他的功能组状态单独控制属于同一功能的用户级别应用,当然这并不意味着所有的平台级应用都必须要被机器状态控制。

下图是一个autosar标准示例,描述了状态转换的序列。

AP AUTOSAR执行管理(EM)模块学习笔记w6.jpg

说明如下:


    一个进程必须分配到一个,且只能分配到一个功能组进程A,引用了机器状态Startup。它是一个自终止的进程,运行一次之后就停止了进程B,引用了机器状态Startup和Running,它依赖于进程A的终止,这是靠配置执行依赖来达成的进程C,只引用了机器状态Running,它在SM请求机器状态Diagnostics时终止进程D,只引用了功能组状态FG1::Running,并且没有执行依赖,EM将会以冲裁的方式来启动和停止它进程E,只引用了功能组状态FG1::Running,并且没有执行依赖,EM将会以冲裁的方式来启动和停止它进程F,引用了FG2::Running和FG2::Fallback,它在两个状态中有不同的启动配置,所以在状态切换时会先停止,然后再使用不同的启动配置启动


状态交互

AP AUTOSAR执行管理(EM)模块学习笔记w7.jpg

如上图所示


    SM模块用于设置获取功能组的状态;

    EM根据功能组的状态进而处理进程状态;

    进程的状态调度,进而管理执行状态。


状态切换

AP AUTOSAR执行管理(EM)模块学习笔记w8.jpg


    如上图,首先AP中禁止不同功能组之间的进程相互依赖,这会导致进程在没有配置的状态下被启动。其次每个功能组是相互独立的实体,一个功能组的状态转换对其他功能组没有副作用。 终止所有当前正在运行,但请求的状态下不需要的进程状态转换是一个复杂的过程,但有三个基础逻辑步骤:

    终止当前正在运行且在请求状态中不需要的所有进程重新启动当前正在运行的所有进程,并且 StartupConfig 在当前状态和请求状态之间有所不同启动当前未运行且处于请求状态所需的所有进程


进程停止超时


    EM会监控每个进程停止的时间,默认超时时间在Machine Manifest中配置,但每个进程可以在Exectuion Manifest中重写这个超时时间。当停止超时之后,EM会请求OS直接杀死进程(对于POSIX来说,使用SIGKILL信号)。同时,EM会向SM报告错误,指明不能满足状态转换。


进程启动超时


    EM会监控进程从创建到报告Running的时间,如果超时,则认为发生错误。超时时间由每个进程的Exectuion Manifest配置,但特殊的不报告状态的进程这个时间为0。发生超时后,EM会要求进程停止,如果进程不按要求停止,EM会请求OS直接杀死进程,当进程停止后,EM会根据配置重启数次,直到成功或最终失败。同样,EM也会向SM报告不能满足状态转换。


7. 确定性执行

在实时系统中,确定性执行通常意味着,给定计算一组输入数据总是在规定时间内产生一致的输出,即行为是可重现的。这在汽车 实时安全系统中,是非常重要的。

可确定性主要包含如下几类:

? 时间确定性:计算的输出总是在一个给定期限(一个时间点)。? 数据确定性:给定相同的输入和内部状态,计算总是产生相同的输出。? 完全确定性:如上定义的时间和数据确定性的组合。

AP中应包含的可确定性包括:


    软件锁步:为了执行具有高计算性能要求的 ASIL C/D 应用程序,由于高性能微处理器的高瞬态硬件错误率,需要特定的措施,例如软件锁步。软件锁步是一种通过冗余方式进行计算的技术两个不同的执行路径并比较结果。为了使冗余计算具有可比性,软件锁步需要完全确定性计算。
    已验证软件重用性:确定性子系统在满足子系统性能和资源需求的不同平台上表现出相同的行为,而不管每个环境中的其他差异,例如不相关的应用程序的存在。示例包括不同的开发和仿真平台。由于可重现的功能行为,子系统的许多测试、配置和校准结果在部署子系统的每个环境中都是有效的,不需要重复。
EM 提供了 DeterministicClient API 来支持对流程内部循环、确定性工作池、激活时间戳和随机数的控制。在软件锁步的情况下,DeterministicClient 与可选的软件锁步框架交互,以确保冗余执行进程的行为相同。DeterministicClient 与通信管理交互以使数据处理与循环激活同步。


该用户从未签到

发表于 18-3-2025 05:23:00 | 显示全部楼层
关于AP AUTOSAR执行管理(EM)模块的学习笔记:

EM模块是自适应平台中的一个核心功能集群,负责系统的执行管理,涵盖平台初始化及应用程序的启动与关闭。它与操作系统协同工作,配置操作系统以实现应用程序的运行时调度和资源监控。

EM模块类似于其他系统中的进程管理器,负责管理进程的启动、运行和终止,确保进程权限受到合理限制,从而保障应用程序的完整性和安全性。在AP部署中,执行程序需遵循一定的设计和部署规则,如上图所示,确保软件架构的清晰和高效。

对于具体的程序执行流程、资源分配策略等细节,需结合实际应用场景和系统需求进行深入研究和优化。总的来说,EM模块在AUTOSAR架构中起到了关键的作用,是系统稳定运行的重要保证。
回复 支持 反对

使用道具 举报


该用户已被删除
发表于 18-3-2025 05:23:00 | 显示全部楼层
关于AP AUTOSAR执行管理(EM)模块的学习笔记:

EM模块是自适应平台中的一个核心功能集群,负责系统的执行管理,包括平台初始化及应用程序的启动和关闭。它与操作系统协同工作,为应用程序提供运行时调度和资源监控。其重要性在于确保应用程序的完整性和权限管理。

在执行程序部署方面,EM模块确保应用程序在AP上的正确安装和运行。如提供的图所示,设计过程中需考虑应用程序的部署流程、权限验证及资源分配等关键因素。其中,启动和终止进程是EM模块的核心功能之一,要确保进程的安全、高效运行。此外,EM模块还需监控应用程序的运行状态,以确保其稳定性和性能。在实际开发中,需深入理解AUTOSAR架构和操作系统机制,以确保EM模块的有效性和可靠性。
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 02:22 , Processed in 0.356126 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.