这些术语在整个 SDV 文档中都有使用。
- Android Automotive OS (AAOS) SDV 核心配置文件
- 一个轻量级无头系统,其中包含连接和编排功能以及核心汽车服务。
- AAOS SDV 实例 (SDV VM)
- AAOS SDV 核心配置文件的单个实例,在 SoC 或虚拟环境中的虚拟机上运行。很可能,单个汽车车辆中包含多个 SDV 实例,这些实例共同构成完整的 AAOS SDV 部署。
- Android OS
- 移动设备(例如手机和平板电脑)中使用的 Android 操作系统。
- 目录
- 一个目录,其中包含定义车辆服务接口的所有 protobuf 和 VSIDL 文件。VSIDL 编译器接受目录作为输入,并为其中的所有文件生成代码。
- 依赖项目录
- 依赖项目录指定了 VSIDL 或 protobuf 文件中定义的外部定义的位置。不会为依赖项生成任何代码。VSIDL 编译器将依赖项目录路径作为输入。
- 电子控制单元 (ECU)
- 用于控制车辆子系统(例如发动机、车身或连接)的模块。其计算部分可以像小型微控制器一样简单,也可以像完整的 Linux 计算机一样高级,有时还包含多个 SoC。如需了解详情,请参阅电子控制单元。
- 中间件客户端库
- 一个客户端库(也称为 clientlib),用于提供与 SDV 通信堆栈交互的高级 API。此库隐藏了服务单元注册和发现的详细信息,让开发者能够专注于主题和频道。clientlib API 旨在与从 VSIDL 代码生成工具 (
vsidlc) 生成的端点描述符搭配使用,这可以显著减少手动设置错误并加快开发速度。 - 协议缓冲区 (protobuf)
协议缓冲区是一种与语言无关、与平台无关且可扩展的机制,用于描述和序列化结构化数据。
Protobuf 文件的扩展名为
.proto,用于定义服务之间交换的消息(数据)的结构。这些文件还指定了消息中的数据类型字段和关系。- SDV 代理
在 SDV 系统上运行并提供核心 SDV 功能的特权应用。SDV 代理的行为类似于 Linux 守护进程,即在操作系统的整个生命周期内运行并提供一些底层功能的应用。每个核心 SDV 组件都可以提供零个、一个或多个代理。
- SDV 实例 (SDV VM)
AAOS SDV 核心配置文件的单个实例,在 SoC 或虚拟环境中的虚拟机上运行。很可能,单个汽车车辆中运行多个 SDV 实例,这些实例共同构成完整的 AAOS SDV 部署。
- SDV 软件包
可以更新的最小 SDV 软件单元。一个 SDV 软件包可以包含多个服务软件包。
- SDV 平台
SDV 平台,包含 SDV 核心配置文件,作为服务开发者构建服务和运行服务的平台。
- SDV 平台开发者
执行以下任务的开发者:
- 为 SDV 服务提供适当的隔离机制。
- 为不同的服务及其组件提供单独的可寻址性。
- 了解 SDV 框架如何加载服务。
- SDV 服务开发者
执行以下任务的开发者:
- 将服务代码整理为类似微服务架构的模式。
- 将部署与服务开发分开。
- 在同一运行时进程中创建一个或多个通信实体(包括服务器、发布者、客户端和订阅者)。
- 独立于其他服务测试和调试服务。
- 服务软件包
一个可独立部署的相关业务逻辑模块,用于封装特定网域功能并强制执行严格的授权边界。
- 服务发现
一个 SDV 代理,用于启用服务单元发现。
- 面向服务的架构 (SOA)
一种计算机软件样式,其中应用组件通过网络上的通信协议向其他组件提供服务。
这是基本概念。所有 SDV 服务都将提供基于 AIDL 的(跨进程、跨虚拟机或跨 SoC)RPC API。
- 主题
一个用于数据导向型消息(发布/订阅)的命名通信路径。 主题由字符串标识,并携带特定类型的消息。 主题支持多对多通信,允许同一主题有多个发布者和订阅者。
- 频道
一个用于 RPC 服务的命名通信路径。频道允许区分同一服务类型的多个实例(例如
main-control、high-priority)。- 服务单元
SDV 通信堆栈的底层实现详细信息。服务单元是底层服务发现注册和发现的实体。中间件 clientlib 会自动处理服务单元。有关服务单元的注意事项如下:
- 在同一服务软件包中定义的服务单元在同一进程中执行。
- 每个服务单元都代表一个特定端点(服务器或发布者)。
- 每个服务单元都有一个服务单元类型。
- 服务单元类型
与服务单元关联的类型声明。
- 软件定义汽车 (SDV)
代码和文档中面向解决方案的外部术语。如需 参考,请参阅 软件定义汽车:开源如何推动创新。
- 系统芯片 (SoC)
一种集成电路,可将计算机或其他电子系统的所有组件集成到单个芯片中。这些组件通常包括中央处理器 (CPU)、内存、输入/输出端口和辅助存储。如需了解详情,请参阅系统芯片。
- 远程信息处理控制单元 (TCU)
负责离板通信外围设备(例如 GSM/LTE、Wi-Fi、GNSS 或蓝牙)的 ECU。如需了解详情,请参阅远程信息处理控制单元。
- 车辆服务接口定义语言 (VSIDL)
VSIDL 是一种特定于网域的语言,旨在定义车辆软件系统内服务之间的接口和交互。
VSIDL 文件描述了服务软件包、其功能以及它们交换的消息。它们定义了车辆软件架构的结构。
VSIDL 文件的扩展名为
.vsidl。