These terms are used throughout the SDV documentation.
- Android Automotive OS (AAOS) SDV core profile
- A lightweight headless system, which contains connectivity and orchestration capabilities and core automotive services.
- AAOS SDV instance (SDV VM)
- A singular instance of the AAOS SDV core profile, running in a VM on an SoC or in a virtual environment. Most likely, multiple SDV instances are contained in a single automotive vehicle, which together form a complete AAOS SDV deployment.
- Android OS
- The Android operating system system used in mobile devices, such as in mobile phones and tablets.
- catalog
- A directory that contains all the protobuf and VSIDL files that define a vehicle's service interfaces. The VSIDL compiler accepts a catalog directory as input and generates code for all files within it.
- dependency catalog
- The dependency catalog specifies the locations of external definitions defined in VSIDL or protobuf files. No code is generated for dependencies. The VSIDL compiler takes the dependency catalog path as input.
- electronic control unit (ECU)
- A module controlling one of the vehicle subsystems (for example, engine, body, or connectivity). Its computing part can be as straightforward as a small microcontroller or as advanced as a full Linux computer, sometimes with several SoCs. To learn more, see Electronic control unit.
- middleware client library
- A client library (also called clientlib) that provides high-level APIs for
interacting with the SDV communications stack. This library hides the
details of service unit registration and discovery, allowing developers
to focus on topics and channels. clientlib APIs are designed to work with
endpoint descriptors generated from the VSIDL code generator (
vsidlc), which significantly reduces manual setup errors and accelerates development. - protocol buffers (protobuf)
Protocol buffers are a language-neutral, platform-neutral, extensible mechanism for describing and serializing structured data.
Protobuf files have an extension of
.protoand define the structure of messages (data) exchanged between services. These files also specify the data types fields, and relationships within the messages.- SDV agent
A privileged application running on the SDV system and providing the core SDV functionality. SDV agents behave like Linux daemons, which are applications that run throughout the lifetime of the operating system and provide some low-level functionality. Each core SDV component can provide none, one or more than one agent.
- SDV instance (SDV VM)
A singular instance of the AAOS SDV core profile, running in a VM on an SoC or in a virtual environment. Most likely, multiple SDV instances run in a single automotive vehicle, which together form a complete AAOS SDV deployment.
- SDV package
The smallest unit of SDV software that can be updated. A SDV package can consist of multiple service bundles.
- SDV platform
The SDV platform that comprises the SDV core profile as a platform for service developers to build services against and on which to run the services.
- SDV platform developer
A developer who performs these tasks:
- Provides appropriate isolation mechanisms for SDV services.
- Provides individual addressability for different services and their components.
- Understands how services can be loaded by the SDV framework.
- SDV service developer
A developer who performs these tasks:
- Organizes service code into microservice architecture-like patterns.
- Separates deployment from the development of services.
- Creates one or more communication entities (including servers, publishers, clients, and subscribers) in the same runtime process.
- Tests and debugs services independently of other services.
- service bundle
An independently deployable module of related business logic that encapsulates a specific domain capability and enforces strict authorization boundaries.
- service discovery
An SDV agent that enables service unit discovery.
- service oriented architecture (SOA)
A style of computer software where services are provided to the other components by application components, through a communication protocol over a network.
This is the base concept. All SDV services are to provide the AIDL-based (cross-process, cross-VM, or cross-SoC) RPC API.
- topic
A named communication path for data-oriented messages (Publish/Subscribe). Topics are identified by strings and carry messages of a specific type. Topics enable many-to-many communication, allowing multiple publishers and subscribers for the same topic.
- channel
A named communication path for RPC services. Channels allow multiple instances of the same service type to be distinguished (for example,
main-control,high-priority).- service unit
An underlying implementation detail of the SDV communications stack. Service units are the entities registered and discovered by the low-level service discovery. The middleware clientlib handles service units automatically. Notable facts about service units are:
- Service units defined within the same service bundle are executed in the same process.
- Each service unit represents a specific endpoint (server or publisher).
- Each service unit has a service unit type.
- service unit type
The type declaration associated with a service unit.
- software defined vehicle (SDV)
An external facing term for the solution in the code and documentation. For reference, see Software-defined vehicles: How open source fuels innovation.
- system on a chip (SoC)
An integrated circuit that integrates all components of a computer or other electronic system into a single chip. These components typically include a central processing unit (CPU), memory, input/output ports, and secondary storage. To learn more, see System on a chip.
- telematic control unit (TCU)
An ECU responsible for off-board communication peripherals, such as GSM/LTE, Wi-Fi, GNSS, or Bluetooth. To learn more, see Telematic control unit.
- Vehicle Service Interface Definition Language (VSIDL)
VSIDL is a domain-specific language designed to define the interfaces and interactions between services within a vehicle's software system.
VSIDL files describe service bundles, their capabilities, and the messages they exchange. They define the structure of the vehicle's software architecture.
VSIDL files have an extension of
.vsidl.