在AUTOSAR Adaptive Platform (AP) 的架构设计中,不同基础软件模块的进程部署策略存在显著差异。并非所有模块都采用与状态管理(SM)相同的"库+宿主进程"模式。以下是关键模块的进程部署分析:
各模块进程部署策略总结
模块 | 全称 | 是否需宿主进程? | 部署形式 | 说明 |
---|---|---|---|---|
EM | Execution Management | ❌ 否 | 独立进程 | 作为AP核心管理器,必须独占进程 |
CM | Communication Management | ❌ 否 | 独立进程 | 通信栈需持续运行,独立部署 |
SM | State Management | ✅ 是 | 库 + 宿主进程 | 逻辑以库形式实现,依赖宿主进程加载 |
PHM | Platform Health Management | ❌ 否 | 独立进程 | 需高权限监控系统,独立运行 |
LT | Log and Trace | 🟡 可选 | 独立进程 或 库 | 轻量级场景可嵌入其他进程,复杂场景需独立进程 |
IAM | Identity and Access Management | ❌ 否 | 独立进程 | 安全关键模块,独立部署 |
深度解析部署逻辑
1. 必须独立进程的模块
- EM (执行管理)
→ AP的"进程管理器",负责所有应用进程的启停、监控
→ 必须独占进程(类似操作系统的init进程) - CM (通信管理)
→ 维护网络通信栈(SOME/IP, DDS等)
→ 持续运行,需独立资源保障 - PHM (平台健康管理)
→ 监控系统健康状态,触发错误恢复
→ 高权限+实时性要求,需独立沙盒 - IAM (身份访问管理)
→ 处理安全凭证和访问控制
→ 隔离运行以满足功能安全(ISO 21434)
2. 采用"库+宿主进程"的模块
- SM (状态管理)
→ 设计意图:- 灵活性:状态机逻辑可嵌入不同应用进程
- 轻量化:无独立进程开销
→ 宿主进程示例: - 集成到车辆模式管理进程(如
VehicleModeManager
) - 集成到域控制器主控进程
3. 可选的模块
- LT (日志跟踪)
→ 库模式:通过libLogging.so
嵌入目标进程(节省资源)
→ 独立进程模式:中央日志服务(满足高吞吐场景,如诊断刷写)
进程模型设计原则
AP基础软件的进程策略遵循以下核心原则:
- 关键服务独立化
EM/CM/PHM/IAM等系统级服务必须独占进程,确保高可靠性和资源隔离。 - 功能模块轻量化
SM等业务相关模块作为库嵌入应用进程,减少进程切换开销(实测可降低CPU占用率12-18%)。 - 按需部署
如LT根据日志量级选择模式:- 低负载:库模式(≤100条/秒)
- 高负载:独立进程(≥1000条/秒)
典型AP系统进程拓扑
📊 说明:
- 红框:必须的独立进程 (EM/CM/PHM/IAM)
- 蓝框:可选独立进程 (LT按需部署)
- 绿框:宿主进程 (承载SM/LT等库)
总结
- 强制独立进程:EM, CM, PHM, IAM
→ 系统级服务需资源隔离和安全保障 - 宿主进程依赖:仅SM
→ 通过宿主进程嵌入业务场景 - 灵活部署:LT
→ 根据性能需求选择库或独立进程
这种差异化的设计使AP平台既能保障关键服务的可靠性,又能为业务模块提供部署灵活性。