三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

汽车软件 SOA 服务化设计基础

汽车软件 SOA 服务化设计基础

版本:V1.0
适用范围:整车电子电气架构(E/E 架构)下嵌入式软件的服务化设计、开发与治理


目录

  1. 概述
  2. SOA 总体架构
  3. 服务划分方法
  4. 服务接口设计规范
  5. 服务通信设计
  6. 服务安全设计
  7. 服务部署与运行设计
  8. 服务治理
  9. 测试与验证
  10. 诊断与 OTA 升级
  11. 从信号架构向服务架构的演进路线
  12. 附录

1. 概述

1.1 背景

随着汽车电子电气架构从分布式(多个独立 ECU)向域集中式、中央计算式演进,整车软件面临以下挑战:

  • 传统按 ECU 硬件划分的软件边界导致功能重复开发、复用率低;
  • 基于信号(Signal)的通信方式使功能与硬件节点强绑定,难以迁移和升级;
  • 用户对"软件定义汽车(SDV)"的需求快速增长,功能迭代周期从年级缩短到月级甚至周级;
  • OTA 升级成为标配,要求软件具备模块化、可独立部署的能力。

SOA(Service-Oriented Architecture,面向服务的架构)通过将整车能力抽象为可发现、可订阅、可调用的服务,实现"软硬件解耦",是支撑软件定义汽车的核心架构方法。

1.2 手册目标

本手册为整车软件服务化设计提供统一的方法论、规范和流程,具体包括:

  1. 指导如何划分服务边界、确定服务粒度;
  2. 规范服务接口的定义、命名与版本管理;
  3. 指导服务通信机制的选型与 QoS 设计;
  4. 明确服务在安全、部署、治理、测试、诊断等方面的要求;
  5. 提供从传统信号架构向服务架构演进的路线与检查清单。

1.3 适用对象

角色 使用方式
系统架构师 依据本手册进行整车服务架构设计与评审
软件架构师/开发工程师 依据接口规范与编码约束实现服务提供方/消费方
测试工程师 依据测试章节设计服务级与整车级测试用例
项目经理/产品经理 了解服务化交付边界与迭代方式

1.4 术语与缩写

术语 说明
SOA Service-Oriented Architecture,面向服务的架构
SDV Software Defined Vehicle,软件定义汽车
服务(Service) 对外提供特定业务能力的一组接口契约的封装单元
服务提供方(Provider) 实现并对外发布服务的实体
服务消费方(Consumer) 通过接口契约使用服务的实体
Method 服务方法,请求/响应式交互
Event 服务事件,单向通知式交互
Field 服务字段,可读写状态 + 变更通知的组合
SOME/IP Scalable service-Oriented MiddlewarE over IP,车载以太网主流通信协议
SD Service Discovery,服务发现
DDS Data Distribution Service,数据分发服务
AP AUTOSAR Adaptive Platform,自适应平台
CP AUTOSAR Classic Platform,经典平台
QoS Quality of Service,服务质量
ASIL Automotive Safety Integrity Level,汽车安全完整性等级

1.5 参考标准

  • AUTOSAR Adaptive Platform 规范(ara::com、Execution Management、State Management 等)
  • AUTOSAR Classic Platform 规范
  • ISO 26262(道路车辆功能安全)
  • ISO 21434(道路车辆信息安全工程)
  • UN R155 / R156(网络安全与软件升级法规)
  • ISO 14229 UDS(诊断通信)

2. SOA 总体架构

2.1 分层架构

整车 SOA 架构建议采用以下分层模型:

graph TBA[应用层: 功能场景编排/App] --> B[服务层: 整车服务目录]B --> C[服务框架层: ara::com / DDS / 自研框架]C --> D[通信层: SOME/IP / DDS-RTPS / DoIP]D --> E[操作系统层: Linux / QNX / RTOS]E --> F[硬件层: 中央计算单元 / 域控制器 / ECU]

各层职责:

层次 职责 关键内容
应用层 面向用户的场景与功能 场景编排、HMI、语音/AI 应用
服务层 整车能力抽象 车身服务、热管理服务、能量管理服务等
服务框架层 服务通信与生命周期框架 ara::com、DDS、服务发现、代理/骨架代码
通信层 底层报文传输 SOME/IP、DDS-RTPS、TSN、DoIP
操作系统层 运行时环境 Linux、QNX、AUTOSAR OS、Hypervisor
硬件层 物理承载 中央计算单元、域控、区域控制器、ECU

2.2 核心要素

服务化架构包含五个核心要素:

  1. 服务目录(Service Catalog):整车所有服务的注册清单,是服务化的"户口本";
  2. 服务接口契约(Service Interface):以 ARXML/IDL 等形式定义的接口描述,是提供方与消费方之间的"合同";
  3. 服务发现(Service Discovery):运行时动态发现服务实例的机制;
  4. 通信中间件(Middleware):承载服务调用的通信协议栈(SOME/IP、DDS 等);
  5. 服务治理(Governance):覆盖服务全生命周期的管理流程与工具链。

2.3 与 AUTOSAR 平台的对应关系

平台 服务化支持方式
AUTOSAR AP 原生支持 SOA:ara::com 提供 Proxy/Skeleton 模型,支持 SOME/IP-SD 服务发现、动态部署(DMC)
AUTOSAR CP 传统信号为主,通过 SecOC、PDU Router 等与 AP 网关互通;新一代 CP 增强了对服务接口的支持
Linux/QNX + 开源 基于 SOME/IP(vsomeip)或 DDS(Fast DDS、Cyclone DDS)构建

2.4 典型整车服务架构示例

graph TBSC[场景编排层: 露营模式/迎宾模式/儿童模式] --> BC[车身域服务]SC --> TC[热管理域服务]SC --> PC[动力域服务]SC --> IC[座舱域服务]BC --> ZCU1[区域控制器: 执行器驱动]TC --> ZCU2[区域控制器: 热泵/阀体]PC --> VCU[动力控制单元]IC --> HU[座舱域控]

3. 服务划分方法

3.1 划分总体思路

服务划分遵循"自顶向下、以业务能力为中心"的思路:

  1. 识别业务能力:从整车功能清单出发,识别可独立提供的业务能力(如"车窗控制"、"座椅调节");
  2. 按功能域聚类:将相关能力归入功能域(车身、热管理、动力、底盘、智驾、座舱);
  3. 定义服务边界:每个服务对应一个内聚的业务能力集合;
  4. 校验划分结果:用 3.5 节的检查清单评审。

⚠️ 反模式警告:不要按 ECU 硬件节点划分服务。"车窗服务部署在左前门 ECU"是实现细节,服务名称与接口中不应体现硬件位置。

3.2 服务命名规范

建议采用统一的命名结构:

<功能域>_<能力名>_Service

示例:

服务名 说明
Body_WindowControl_Service 车身域-车窗控制服务
Thermal_CabinClimate_Service 热管理域-座舱空调服务
Power_ChargingMgmt_Service 动力域-充电管理服务
ADAS_ParkingAssist_Service 智驾域-泊车辅助服务
Cockpit_AudioZone_Service 座舱域-音区管理服务

命名约束:

  • 使用英文大驼峰或下划线分隔,全项目统一一种风格;
  • 服务名体现"能力"而非"组件",避免出现 ECU、Node 等硬件词汇;
  • 同一能力不允许出现两个服务,避免职责重叠。

3.3 服务粒度控制

粒度判断决策表:

场景 建议
一个能力会被多个上层场景独立复用 拆分为独立服务
两个能力总是一起被调用、且状态强耦合 合并为一个服务
两个能力需要独立升级/独立部署 拆分为独立服务
拆分后单次交互需要串联 3 个以上服务才能完成一个用户操作 考虑合并或增加编排层

粒度过细的危害:通信开销增大、时序与状态一致性难以保证、服务目录膨胀。
粒度过粗的危害:失去灵活性、牵一发而动全身、无法独立升级。

3.4 服务分类

按能力性质将服务分为四类,不同类型有不同的设计侧重:

类型 特征 示例 设计侧重
控制类服务 对外部执行器/状态进行控制 车窗控制、灯光控制 权限校验、互斥仲裁、状态反馈
数据类服务 提供数据的读写或订阅 车辆状态查询、能耗统计 缓存策略、更新周期、数据有效性
计算/决策类服务 输入条件输出决策结果 能量分配、热管理策略 算法版本化、可标定
场景编排类服务 组合调用多个原子服务 露营模式、迎宾模式 事务补偿、失败回滚、超时管理

3.5 服务划分检查清单

服务划分评审时必须逐项确认:

3.6 依赖关系管理

  • 服务依赖图必须为有向无环图(DAG),严禁循环依赖;
  • 消费方只允许依赖服务接口契约,禁止依赖提供方的内部实现或部署位置;
  • 跨域依赖需显式声明并经架构评审;
  • 建议用工具从 ARXML/IDL 中自动提取依赖关系并可视化。

4. 服务接口设计规范

4.1 契约先行原则

服务开发必须遵循契约先行(Contract First)流程:

需求分析 → 服务识别 → 接口契约定义(ARXML/IDL)→ 契约评审 → 代码生成 → 提供方/消费方并行开发 → 集成测试

要求:

  1. 接口契约是唯一事实来源(Single Source of Truth),提供方与消费方都必须从契约生成代码,禁止手工编写序列化逻辑;
  2. 契约变更必须走版本管理流程(见 4.5 节),重大变更需架构评审;
  3. 契约文件中必须包含接口说明、参数范围、错误码定义、前置条件。

4.2 交互模式选型

AUTOSAR AP / SOME/IP 体系下有三种基本接口元素,选型决策如下:

元素 交互模式 适用场景 示例
Method(方法) 请求/响应 需要明确结果的单次操作 请求打开车窗、查询剩余电量
Event(事件) 单向通知(可订阅) 状态变化广播、无需应答 车门开关状态变化、故障事件上报
Field(字段) Get/Set + 变更通知 可持续读写的状态 空调目标温度、座椅位置

选型口诀:

  • 一次性动作要结果 → Method
  • 状态持续可变可查 → Field
  • 只发不收的广播 → Event

禁止滥用 Method 做状态同步(应使用 Field/Event);禁止用 Event 模拟请求响应(应使用 Method)。

4.3 接口定义规范

4.3.1 命名规范

  • Method:动词开头,如 OpenWindowQuerySoCSetTargetTemperature
  • Event:名词或名词短语描述状态,如 DoorStatusChangedBatteryFaultOccurred
  • Field:名词,如 TargetTemperatureSeatPosition
  • 布尔类型避免否定式命名(用 IsLocked 而非 IsNotUnlocked)。

4.3.2 参数规范

  • 每个参数必须标注:类型、单位、取值范围、物理含义;
  • 数值参数优先使用定点/整型并标注缩放因子与偏移量,避免直接使用无约束的 float;
  • 枚举值必须显式赋值并预留 UNKNOWN = 0xFF 之类的未知态;
  • 结构体嵌套不超过 3 层。

4.3.3 错误处理规范

每个 Method 必须定义标准错误返回:

错误类别 含义 示例
OK 执行成功 -
NOT_AVAILABLE 服务/执行器不可用 车窗电机离线
INVALID_ARGUMENT 参数非法 温度超范围
PERMISSION_DENIED 权限不足 非授权用户调用
BUSY 资源忙 正在执行中
TIMEOUT 执行超时 执行器无响应
INTERNAL_ERROR 内部错误 未预期异常

要求:

  • 错误码在全项目范围内统一编号,集中维护在错误码总表中;
  • 消费方必须处理所有定义的错误码,禁止忽略返回值;
  • 错误码必须可追溯到诊断故障码(DTC)映射关系。

4.4 接口文档要求

每个服务接口必须随契约提供以下文档信息:

  1. 功能描述与业务背景;
  2. 前置条件与后置条件(如"整车电源模式为 RUN 方可调用");
  3. 调用频率限制、超时时间、重试策略;
  4. 安全等级(QM / ASIL A-D)与信息安全要求;
  5. 典型调用时序图;
  6. 变更记录。

4.5 接口版本管理

版本编号采用 主版本.次版本(Major.Minor) 规则:

变更类型 版本动作 兼容性要求
新增 Method/Event/Field Minor +1 必须向后兼容
新增枚举值、扩展可选字段 Minor +1 消费方必须容忍未知值
修改既有接口语义、删除接口、变更参数类型 Major +1 允许不兼容,需迁移计划

版本约束:

  • 消费方应遵循"宽容接收"原则:忽略未定义的字段与未知枚举值;
  • 提供方应遵循"严格发送"原则:只发送契约定义的字段;
  • 整车同一时间允许多个 Major 版本共存时,必须在服务实例级别区分(不同 Service ID);
  • 废弃接口必须经历"标记废弃 → 观察期 → 下线"三阶段,禁止直接删除。

5. 服务通信设计

5.1 通信协议选型

协议 特点 适用场景
SOME/IP 成熟、与 AUTOSAR 生态深度集成、支持服务发现 域控间服务通信的主流选择
DDS(RTPS) 数据为中心、QoS 策略丰富、无中心化依赖 智驾大数据量、低时延场景
MQTT / HTTP(S) IT 生态友好 车云通信、T-Box 上行下行
DoIP 基于 IP 的诊断 服务化诊断

选型建议:

  • 域内/跨域控制类服务:优先 SOME/IP;
  • 智驾感知/规控等数据密集型服务:可评估 DDS;
  • 同一车型内协议种类应控制在 2 种以内,降低集成与运维复杂度。

5.2 服务发现设计

  • 采用 SOME/IP-SD(Service Discovery)实现运行时服务发现,消费方不硬编码服务部署位置;
  • 每个服务实例由 (Service ID, Instance ID) 唯一标识,全项目集中分配,禁止重复;
  • 服务上下线、重启时 SD 报文时延应满足业务恢复要求(建议故障检测 < 1s);
  • 网络拓扑变化(如休眠唤醒)后的服务重发现流程必须测试覆盖。

5.3 QoS 设计

按服务关键等级定义差异化 QoS:

服务等级 典型服务 端到端时延 可靠性要求 通信建议
关键级 制动仲裁、转向辅助 < 50 ms 不允许丢失 高优先级 VLAN、TSN
重要级 车窗/空调控制 < 200 ms 允许重试 普通以太网
一般级 信息查询、统计 < 1 s 允许丢弃 普通以太网
背景级 日志、标定上传 无硬性要求 尽力而为 限流传输

设计要求:

  • 每个服务必须在契约中标注 QoS 等级;
  • 网络层通过 VLAN 划分 + 优先级(802.1p)+ 可选 TSN(时间感知整形)保障关键级服务带宽;
  • 消费方必须设置调用超时,禁止无限等待。

5.4 通信可靠性设计

  1. 超时与重试:Method 调用默认超时 1s(可按服务调整),重试次数不超过 2 次,且重试操作必须幂等;
  2. 幂等性:控制类 Method 必须设计为幂等(重复调用结果一致),避免重试导致执行器重复动作;
  3. 消息大小:单条服务报文建议不超过 1400 字节(避免 IP 分片),大数据传输使用分块传输或文件传输服务;
  4. 序列化开销:关注 Payload 序列化/反序列化 CPU 占用,高频服务建议评估静态序列化方案。

5.5 信号与服务的互通

存量 ECU 大量使用 CAN/LIN 信号,互通设计原则:

  • 由网关/区域控制器承担 Signal-to-Service 适配职责,将信号打包为服务接口对外发布;
  • 适配层维护信号-服务映射表,作为整车通信矩阵的一部分统一管理;
  • 服务接口语义不得因底层信号格式改变而改变(适配层负责转换);
  • 时序敏感信号(如快变动态信号)评估是否保留信号通道,避免服务化引入额外时延。

6. 服务安全设计

6.1 功能安全(Safety)

  1. 每个服务必须标注 ASIL 等级(QM / ASIL A-D);
  2. 高 ASIL 服务与低 ASIL 服务共存时,必须满足免于干扰(Freedom From Interference)要求:时间隔离、内存隔离、通信隔离(可通过 Hypervisor、分区、独立进程实现);
  3. 安全相关服务必须定义降级策略:
    • 服务不可用时的安全状态(Safe State)定义;
    • 超时后的默认行为(如车窗控制超时后停止运动);
  4. 安全服务的故障检测时间(FTTI)必须纳入设计指标并测试验证;
  5. 服务化不得降低原有信号架构的安全水平:若服务化引入新的失效模式,必须有对应的安全机制补偿。

6.2 信息安全(Security)

  1. 通信安全:跨安全域的服务调用必须启用加密与认证(如 SOME/IP-TLS / IPsec);
  2. 访问控制:服务提供方必须实现调用方身份校验,禁止无鉴权开放控制类接口;
  3. 报文完整性:CAN 侧互通信号使用 SecOC 保护,以太网侧使用 TLS/MACsec;
  4. 安全启动与可信执行:承载安全敏感服务的节点必须支持安全启动;
  5. 密钥管理:密钥不得硬编码在代码中,使用安全存储(HSM/TEE)管理;
  6. 每个服务必须完成 TARA(威胁分析与风险评估)并留存记录,满足 ISO 21434 与 UN R155 要求。

6.3 权限分级模型

建议将服务调用权限分为四级:

权限等级 说明 示例
L0 公开 无需鉴权 只读信息查询
L1 域内 同安全域内可信调用方 座舱域内 App 调用空调
L2 整车可信 跨域但经认证的可信节点 场景编排服务调用多域服务
L3 特权 需特殊授权(如诊断仪、云端) 远程控车、刷写

每个接口必须在契约中标注所需权限等级,提供方在入口处强制校验。


7. 服务部署与运行设计

7.1 部署单元设计

  • 服务的部署单元为进程(而非整车单一大进程),单服务崩溃不影响其他服务;
  • 每个部署单元声明:资源需求(CPU/内存/存储)、依赖服务、启动优先级;
  • 强实时服务可部署在独立分区/虚拟机中,与普通服务隔离;
  • 部署位置(哪个域控/节点)属于实现细节,允许在车型生命周期内迁移,前提是不改变接口契约。

7.2 生命周期管理

服务实例生命周期状态机(参考 AUTOSAR EM/SM):

未初始化 → 初始化中 → 运行中 ⇄ 暂停 → 停止 → 卸载

设计要求:

  1. 服务启动顺序由执行管理(Execution Management)统一编排,依赖关系显式声明;
  2. 服务必须支持优雅停机(Graceful Shutdown):停止对外提供 → 完成在途请求 → 释放资源;
  3. 服务崩溃后由看门狗/守护进程自动重启,重启后必须能恢复到一致状态(持久化状态或重新拉取);
  4. 整机休眠/唤醒时,服务的休眠时序必须编排(先停消费方还是先停提供方需明确定义)。

7.3 网络与电源模式适配

  • 服务必须适配整车电源模式(OFF / ACC / RUN / 休眠),在低功耗模式下非关键服务应停止;
  • 唤醒后服务恢复时间纳入考核指标(关键服务建议 < 2s 可用);
  • 部分唤醒(Partial Networking)场景下,服务可用性降级策略必须明确。

7.4 资源与性能约束

  • 服务内存使用必须设置上限(cgroup/资源配额),防止内存泄漏拖垮整机;
  • 高频服务(> 100 Hz)需单独评估 CPU 占用与调度优先级;
  • 日志与埋点必须支持分级与采样,背景级日志不得影响关键服务时延。

8. 服务治理

8.1 服务目录管理

服务目录是服务化的核心资产,必须包含以下信息:

字段 说明
服务名 / Service ID 全项目唯一标识
业务描述 能力说明与使用场景
接口契约版本 当前生效的 Major.Minor 版本
提供方节点 当前部署位置(可变)
消费方清单 已知的调用方,用于变更影响分析
QoS 等级 / ASIL 等级 关键性与安全属性
权限等级 调用所需授权
责任人/责任团队 接口变更与维护负责人

治理要求:

  • 服务目录由架构团队集中维护,变更走评审流程;
  • 新服务注册、接口变更、服务下线都必须在目录中留痕;
  • 建议将服务目录与 ARXML/IDL 仓库联动,工具自动校验一致性。

8.2 配置与 ID 管理

  • Service ID / Instance ID / Method ID / Event ID 集中分配,建立编号登记表;
  • 预留 ID 段:为后续车型预留扩展区间,避免重新分配导致冲突;
  • 配置文件(服务地址、端口、参数)与代码分离,支持按车型/配置差异化下发。

8.3 变更管理流程

变更申请 → 影响分析(消费方清单)→ 兼容性判定 → 契约评审 → 版本发布 → 集成验证 → 整车回归

关键规则:

  • Minor 变更:提供方自行发布,但必须通知所有已知消费方;
  • Major 变更:必须架构委员会评审,提供迁移方案与过渡期安排;
  • 任何契约变更必须通过 CI 中的契约一致性检查(兼容性 lint)后方可合入。

8.4 服务监控与可观测性

  • 运行时采集:服务可用性(上/下线事件)、调用量、成功率、时延分布、错误码分布;
  • 关键服务的调用链路追踪(Trace),支持跨节点问题定位;
  • 服务异常(崩溃、超时激增)自动上报诊断系统并记录 DTC;
  • 监控数据用于服务目录的持续优化(如发现从未被调用的服务→评估下线)。

9. 测试与验证

9.1 测试分层策略

测试层级 对象 内容 典型手段
单元测试 服务内部实现 业务逻辑、边界条件 GTest 等框架
服务级测试 单个服务 接口契约符合性、错误码、异常输入 Mock 依赖服务、接口自动化测试
集成测试 服务间交互 依赖链路、时序、订阅/通知 SIL/HIL 环境
系统/整车测试 全车 场景链路、休眠唤醒、故障注入 整车 HIL、实车路试

9.2 契约一致性测试

  • 提供方必须通过基于契约自动生成的测试用例(覆盖所有 Method/Event/Field);
  • 消费方必须验证对未知枚举值、缺省字段的宽容处理;
  • CI 中加入契约兼容性检查:新契约与已发布版本对比,自动识别破坏性变更。

9.3 异常与故障注入测试

必测场景清单:

9.4 性能与时延测试

  • 端到端时延按 QoS 等级考核(见 5.3 节指标);
  • 高负载场景(多场景并发触发)下的服务响应时间不得劣化超过 20%;
  • 长时间稳定性测试(≥ 72h)监控内存/句柄泄漏。

10. 诊断与 OTA 升级

10.1 服务化诊断

  • 诊断通信采用 DoIP(ISO 13400)+ UDS(ISO 14229);
  • 每个服务提供标准诊断能力:版本查询、软/硬件信息读取、故障码(DTC)读取与清除;
  • 服务错误码与 DTC 的映射关系集中维护;
  • 支持远程诊断:经云端/诊断仪访问服务健康状态。

10.2 OTA 与服务化的配合

  • 服务粒度即 OTA 粒度:服务作为可独立升级的软件包单元;
  • 升级包必须声明依赖的接口契约版本范围,升级管理器在刷写前校验兼容性;
  • 服务级灰度升级:先小范围车辆验证,再全量推送;
  • 升级失败必须回滚到上一版本,回滚后服务可用性自动恢复;
  • 升级过程中的服务状态(不可用/降级)必须通知依赖方,禁止静默失效。

11. 从信号架构向服务架构的演进路线

11.1 演进三阶段

阶段一:网关适配期

  • 保留存量 ECU 信号通信,由网关/域控做 Signal-to-Service 适配;
  • 上层新功能基于服务接口开发,不直接感知信号;
  • 适用:现有平台改造,风险低。

阶段二:域内服务化

  • 域控制器内软件按服务重构(如车身域控、座舱域控);
  • 域间通信部分服务化,关键实时链路保留信号通道;
  • 适用:新一代域集中架构。

阶段三:整车服务化

  • 中央计算 + 区域控制架构,整车能力全面服务化;
  • 服务可跨节点动态部署,支持功能级 OTA;
  • 适用:中央集中式架构。

11.2 演进实施原则

  1. 双轨并行:信号与服务接口可长期共存,通过适配层互通,不搞一刀切迁移;
  2. 高频/实时信号谨慎服务化:评估时延与带宽开销后再决定;
  3. 先增量后存量:新功能直接用服务接口,存量功能按域逐步迁移;
  4. 每阶段有验收标准:接口契约覆盖率、服务化功能占比、OTA 独立升级能力。

11.3 常见风险与对策

风险 对策
服务粒度失控,目录膨胀 定期服务治理评审,合并/下线低价值服务
契约频繁破坏性变更 强制版本管理 + CI 兼容性检查
安全服务被服务化降低安全水平 安全服务独立评审,保留必要时回退到信号通道
通信负载评估不足 服务化前做通信矩阵仿真(时延/带宽)
组织协作脱节(接口归属不清) 服务目录明确责任人,变更走评审

12. 附录

附录 A:服务定义模板

项目 内容
服务名称 <功能域>_<能力名>_Service
Service ID / Instance ID
业务描述
接口契约版本
QoS 等级 关键/重要/一般/背景
ASIL 等级 QM / A / B / C / D
权限等级 L0-L3
部署节点
责任人/团队
依赖服务
已知消费方

附录 B:接口定义模板

[Method 示例]
名称:OpenWindow
描述:请求打开指定车窗
前置条件:电源模式 = RUN;权限 ≥ L1
参数:- windowId: uint8,枚举(FL=1, FR=2, RL=3, RR=4)- ratio: uint8,0-100,目标开度百分比
返回:- OK / NOT_AVAILABLE / INVALID_ARGUMENT / BUSY / PERMISSION_DENIED
超时:1000 ms,重试 1 次
幂等:是(重复调用目标开度一致)
QoS:重要级
版本:1.0

附录 C:设计评审检查清单(汇总)

服务划分

接口设计

通信设计

安全

运维与治理


本手册为服务化设计的基线规范,各项目可在不降低基线要求的前提下制定项目级细则。

← 返回列表