术语库

这些术语在整个 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-controlhigh-priority)。

服务单元

SDV 通信堆栈的底层实现详细信息。服务单元是底层服务发现注册和发现的实体。中间件 clientlib 会自动处理服务单元。有关服务单元的注意事项如下:

  • 在同一服务软件包中定义的服务单元在同一进程中执行。
  • 每个服务单元都代表一个特定端点(服务器或发布者)。
  • 每个服务单元都有一个服务单元类型
服务单元类型

与服务单元关联的类型声明。

软件定义汽车 (SDV)

代码和文档中面向解决方案的外部术语。如需 参考,请参阅 软件定义汽车:开源如何推动创新

系统芯片 (SoC)

一种集成电路,可将计算机或其他电子系统的所有组件集成到单个芯片中。这些组件通常包括中央处理器 (CPU)、内存、输入/输出端口和辅助存储。如需了解详情,请参阅系统芯片

远程信息处理控制单元 (TCU)

负责离板通信外围设备(例如 GSM/LTE、Wi-Fi、GNSS 或蓝牙)的 ECU。如需了解详情,请参阅远程信息处理控制单元

车辆服务接口定义语言 (VSIDL)

VSIDL 是一种特定于网域的语言,旨在定义车辆软件系统内服务之间的接口和交互。

VSIDL 文件描述了服务软件包、其功能以及它们交换的消息。它们定义了车辆软件架构的结构。

VSIDL 文件的扩展名为 .vsidl