当前位置: 首页 > news >正文

AP中的Execution Manager“非报告进程”和“伴随进程”概念解析

在《AUTOSAR_AP_SWS_ExecutionManagement.pdf》中,对“非报告进程(Non-reporting Process)”和“伴随进程(Companion Process)”的定义、作用及机制有明确说明,其核心目的是支持集成未修改的第三方二进制文件(如无法适配AUTOSAR Adaptive Platform的现有软件)。以下是详细介绍:

一、非报告进程(Non-reporting Process)

1. 定义与核心特征

非报告进程是一种特殊的Modelled Process(建模进程),其reportingBehavior属性被配置为doesNotReportExecutionState

  • 不使用AUTOSAR Adaptive Platform的ara::exec::ExecutionClient API,因此无法主动向Execution Management(EM)报告自身的执行状态(如kRunning)。
  • 其设计初衷是允许集成“无法修改的第三方软件”,例如仅提供二进制文件、无法适配AUTOSAR接口的 legacy 软件。
2. 行为与限制
  • 状态转换特性:非报告进程启动后,EM会隐式将其进程状态从“Starting”转换为“Running”(无需等待其报告kRunning),即认为其资源分配完成后即处于运行状态。
  • 安全风险:在安全相关系统中需谨慎使用,因为这类进程通常不提供安全关键功能,且可能不被Platform Health Management(平台健康管理)监控,但可能影响其他安全相关进程,建议通过ResourceGroup(资源组)隔离。
  • 报告限制:若非报告进程尝试调用ara::exec::ExecutionClient::ReportExecutionState接口报告状态,EM会将其视为“违规(Violation)”。

二、伴随进程(Companion Process)

1. 定义与核心作用

伴随进程是一种Reporting Process(报告进程),与非报告进程关联,用于代理非报告进程的状态监控,解决非报告进程无法主动报告状态导致的依赖管理问题。

  • 它的核心功能是:等待非报告进程提供的服务可用后,向EM报告自身的kRunning状态,从而触发依赖该服务的其他进程启动。
2. 工作机制

当系统中存在对非报告进程的功能依赖时,集成者可通过以下方式配置:

  1. 将依赖关系“转移”到伴随进程:为依赖非报告进程的其他进程配置对伴随进程的执行依赖(如依赖伴随进程的kRunning状态)。
  2. 伴随进程通过项目特定的方式(如监控非报告进程的端口、日志或心跳)判断非报告进程的服务是否可用。
  3. 当非报告进程的服务可用时,伴随进程向EM报告kRunning,此时依赖它的进程会被EM启动(。

例如:若非报告进程A提供文件系统服务,伴随进程B会监控A的服务可用性,当A就绪后,B报告kRunning,依赖文件系统的进程C会被EM启动。

三、二者的协同价值

  • 兼容性扩展:非报告进程允许直接集成未修改的第三方二进制文件,无需为适配AUTOSAR接口而修改源码。
  • 依赖管理补全:伴随进程解决了非报告进程无法报告状态的问题,确保依赖其功能的其他进程能按预期启动,维持系统执行依赖的完整性。
  • 灵活性平衡:在不破坏AUTOSAR架构规范的前提下,为 legacy 软件或第三方组件提供了集成路径,降低了迁移成本。

综上,非报告进程与伴随进程的组合设计,是AUTOSAR Adaptive Platform为平衡“标准化架构”与“兼容性需求”而提出的关键机制,尤其适用于需要集成第三方闭源软件或 legacy 系统的场景。

http://www.dtcms.com/a/271529.html

相关文章:

  • n8n文本语意识别与问题自动补充工作流的深化及企业级部署
  • 代码随想录Day15:二叉树(平衡二叉树、二叉树的所有路径、左叶子之和、完全二叉树的节点个数——全递归版本)
  • 记忆管理框架MemOS——在时序推理上较OpenAI提升159%
  • python+vue的企业产品订单管理系统
  • pytorch常用API
  • [特殊字符] 突破小样本瓶颈:DataDream——用Stable Diffusion生成高质量分类数据集
  • 认证鉴权技术解析:COOKIE | SESSION | TOKEN | JWT | SSO
  • `fatal: bad config value for ‘color.ui‘`错误解决方案
  • 前端UI逻辑复杂可以用什么设计模式
  • 卫星通信终端天线的5种对星模式之二:功率检测型载波跟踪
  • 在Excel用公式计算周次
  • NumPy-梯度与导数计算详解
  • 用一个代码案例详解介绍vmalloc函数的功能和作用
  • 权限分级看板管理:实时数据驱动决策的关键安全基石
  • 奇异值分解(singular value decomposition,SVD)
  • 笔试——Day2
  • 单细胞入门(2)-经典案例分析
  • EPLAN 电气制图(六):结构盒与设备管理器核心概念(基础知识选看)
  • 脑电分析入门指南:信号处理、特征提取与机器学习
  • python 在运行时没有加载修改后的版本
  • windows server2019安全修复
  • 数据结构——深度优先搜索与广度优先搜索的实现
  • STM32-待机唤醒实验
  • 学习笔记(30):matplotlib绘制简单图表-绘制正弦波
  • Python的标准库之时间库(小白五分钟从入门到精通)
  • 【Netty+WebSocket详解】WebSocket全双工通信与Netty的高效结合与实战
  • 循环神经网络详解
  • cherryStudio electron因为环境问题无法安装解决方法或打包失败解决方法
  • NLP自然语言处理04 transformer架构模拟实现
  • Git版本控制完全指南:从入门到实战(简单版)