The COVESA VISSv3 specification is under development at the COVESA VISS Github.
A VISSv3.0 reference implementation in the form of a server that exposes an interface according to the specification is developed on the master branch,
while a VISSv2.0 reference implementation is available on the v2.0 branch.
This documentation covers the VISSv3.0 specification.
The new features are listed below.
It is with a few exceptions backwards compatible with VISSv2.0. The exceptions are listed below.
VISSv3.0 new features
- Multiple tree support. The server can be configured to manage multiple trees that a client can access.
- Server capabilities. A Server tree can be accessed by clients.
- File transfer. Upload/download of files is available on Websocket.
- Data compression. Request local path compression and Request relative timestamp compression is available on Websocket.
- Protobuf encoding is available on Websocket.
- gRPC support. This wa already available on an experimental level in VISSR @v2.0.
- JSON scheme used to validate client requests.
- Error responses due to JSON scheme errors contain a description generated by the JSON scheme validator.
Non-backwards compatible changes from VISSv2.0
- The filter keyname “type” is changed to “variant”.
- The filter variants “static-metadata” and “dynamic-metadata” are replaced by the variant “metadata”.
- The “subscriptionId” parameter in unsubscribe response messages is deleted.
- The error object keyword “message” is changed to “description”.
- The error:decription values are not normative any more.
Also found on this repo are implementations of other components that are needed to realize a communication tech stack that reaches from clients through the server and to the underlying vehicle system interface.
These software components (SwCs) can be categorized as follows:
- server
- clients
- data storage
- feeders
- tools
The tutorial describes each SwC category in a separate chapter.
It also contains a few Proof of concept (POC) examples, and information about installing,
building and running Golang based SwCs, a Docker containerization, and about some peripheral components.