VSS defines the standard catalog for vehicle signals independent of the used protocol and environment. In order to adopt the specification we realize that certain additions and modifications to the standard catalog are necessary. VSS Overlays are meant to bring you a standardized way of handling those changes.
The following features with the intended usage patterns are currently supported:
The standard catalog is specified within COVESA and defines a common view of the major attributes, sensors and actuators of vehicles. This is used in many different scenarios, protocols and environments. Additional meta data might be required for data-governance, -quality or -sources. The instantiation of branches might not fit your vehicle. Proprietary signals might be needed for extending the specification for your own use-cases. Up to now you were on your own in these scenarios. Overlays give you the chance to change and modify the standard catalog in a standardized way.
Simply said, the tooling accepts, n additional spec files, next to the original specification file, which can overwrite or extend data in the VSS tree defined by the original specification.Before you start you should know:
The Figure below illustrates an example of the main specification and two separate overlay files, an example call of the tooling and the resulting tree.
Figure: Overview on how overlays work within VSS
# In this overlay all parent branches are included.
# That is not mandatory, as tooling supports implicit branches.
Vehicle:
type: branch
Vehicle.Cabin:
type: branch
Vehicle.Cabin.NewBranch: #< introduction of a new branch
type: branch
description: "new test branch"
Vehicle.Cabin.NewBranch.HasNewSignal: #< introduction of a new signal
type: sensor
description: "new test signal"
datatype: int8
Vehicle.Cabin.Door:
type: branch
Vehicle.Cabin.Door.IsOpen:
type: sensor #< change of node type
datatype: boolean
File: overlay_1.vspec
# This overlay use implicit branches.
# This means that tooling will either reuse the existing Vehicle.Cabin.NewBranch,
# or if not found create it with default values.
Vehicle.Cabin.NewBranch.HasNewAttribute: #< ...with a new attribute
type: attribute
description: "new test attribute"
datatype: string
Vehicle.Cabin.Door.IsOpen:
type: sensor
newKey: value #< Add a new key to the node and add a value
datatype: boolean
File: overlay_2.vspec
With the feature of overlays, we introduced a new folder in the
repository called overlays
. In there you’ll find two additional folders:
profiles
: Larger overlays to adapt VSS to a specific vehicle category, like motorbikes.extensions
: Smaller overlays typically to be applied after applying profiles (if any).DISCLAIMER: Use of overlays is a new concept for VSS. The overlays in those folders shall currently be seen as examples only, and are not part of the official VSS specification.