Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 14 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,6 @@

Ulf Björkengren - Ford Motor Company

Ted Guild - Geotab Inc.

Peter Winzell - Volvo Cars

Wonsuk Lee - 한국전자통신연구원(ETRI)

### Lead editors
Expand All @@ -25,20 +21,31 @@ Minutes of meetings is found [here](https://covesa.atlassian.net/wiki/spaces/WIK

## Overview

>Vehicle Information Service Specification (VISS) is an API for accessing the COVESA Vehicle Signal Specification (VSS) data. The work started at [The World Wide Web Consortium (W3C)](https://www.w3.org) in collaboration with GENIVI and its successor COVESA. The W3C Automotive Working Group closed in February of 2024 and the work is continuing at COVESA.
Vehicle Information Service Specification (VISS) is an API for accessing the COVESA Vehicle Signal Specification (VSS) data. The work started at [The World Wide Web Consortium (W3C)](https://www.w3.org) in collaboration with GENIVI and its successor COVESA. The W3C Automotive Working Group closed in February of 2024 and the work is continuing at COVESA.

The VISS specification consists of the following documents:
* Core
* Transport
* Payload Encoding

The specification is supplemented with the following documents:
* Implementation Guidelines

To see the most recent HTML rendered version of the specifications from this repository can be found at the following:

- [COVESA VISS version 3.1 - Core](https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_Core.html)
- [COVESA VISS version 3.1-Payload Encoding](https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_PayloadEncoding.html)
- [COVESA VISS version 3.1-Transport](https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_Transport.html)
- [COVESA VISS version 3.1-Payload Encoding](https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_PayloadEncoding.html)
- [COVESA VISS-Implementation Guidelines version 1.0](https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISS_ImplementationGuidelines.v1.0.html)

The [VISS explainer](./VISS-explainer.md) gives some background and rationale to this interface.

## Latest version
[VISS version 3.0](https://github.com/COVESA/vehicle-information-service-specification/releases/tag/v3.0)
[VISS version 3.1](https://github.com/COVESA/vehicle-information-service-specification/releases/tag/v3.1rc1)

## Previous versions
[VISS version 3.0](https://github.com/COVESA/vehicle-information-service-specification/releases/tag/v3.0)

[VISS version 2.0](https://github.com/COVESA/vehicle-information-service-specification/releases/tag/v2.0)

[VISS version 1](https://www.w3.org/TR/vehicle-information-service/)
Expand Down
187 changes: 187 additions & 0 deletions spec/VISS_ImplementationGuidelines.v1.0.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>COVESA VISS - Implementation Guidelines version 1.0</title>
<script src='https://www.w3.org/Tools/respec/respec-w3c' class='remove' defer></script>
<script class='remove'>
var respecConfig = {
latestVersion: null,
github: "https://github.com/COVESA/vehicle-information-service-specification",
specStatus: "base",
logos: [{
src: "https://raw.githack.com/COVESA/vehicle-information-service-specification/main/spec/images/covesa.jpg",
url: "https://covesa.global",
alt: "COVESA",
height: 50,
id: "covesa-logo",
}],
editors: [{
name: "Ulf Bjorkengren",
company: "Ford Motor Company",
url: "mailto:ubjorken@ford.com",
companyURL: "https://www.ford.com",
},
{
name: "Sergej Saibel",
company: "Traton",
url: "mailto:sergej.saibel@scania.com",
companyURL: "https://traton.com/en.html"
}],
edDraftURI: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISS_ImplementationGuidelines.v1.0.html",
shortName: "viss-implementation-guidelines-v1.0",
localBiblio: {
"CORE": {
title: "COVESA VISS version 3.1 - Core",
href: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_Core.html",
publisher: "Ulf Bjorkengren; Wonsuk Lee"
},
"TRANSPORT": {
title: "COVESA VISS version 3.1-Transport",
href: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_Transport.html",
publisher: "Ulf Bjorkengren; Wonsuk Lee"
},
"PAYLOAD ENCODING": {
title: "COVESA VISS version 3.1-Payload Encoding",
href: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_PayloadEncoding.html",
publisher: "Ulf Bjorkengren; Wonsuk Lee",
},
},
};
</script>
<style>
table.parameters, table.exceptions {
border-spacing: 0;
border-collapse: collapse;
margin: 0.5em 0;
width: 100%;
}
table.parameters { border-bottom: 1px solid #90b8de; }
table.exceptions { border-bottom: 1px solid #deb890; }

.parameters th, .exceptions th {
color: inherit;
padding: 3px 5px;
text-align: left;
font-weight: normal;
}
.parameters th { color: #fff; background: #005a9c; }
.exceptions th { background: #deb890; }

.parameters td, .exceptions td {
padding: 3px 10px;
border-top: 1px solid #ddd;
vertical-align: top;
}

.parameters tr:first-child td, .exceptions tr:first-child td {
border-top: none;
}

.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {
width: 100px;
}

.parameters td.prmType {
width: 120px;
}

table.exceptions table {
border-spacing: 0;
border-collapse: collapse;
width: 100%;
}

.simple {
width:100%;
}

thead th{
border-bottom: 1px solid black;
}

.simple tbody th{
width:33%;
background: white;
color: black;
}
pre { white-space: pre-wrap;}
</style>
</head>
<body>
<p class="copyright">Copyright © 2025 COVESA®.</p>
<section id='abstract'>
<p>
The Vehicle Information Service Specification (VISS) is a
service for accessing vehicle information, including signals from sensors
on control units within a vehicle's network. This information is exposed through a hierarchical,
tree-like taxonomy as defined in the COVESA <a href="https://github.com/COVESA/hierarchical_information_model">Hierarchical Information Model</a> (HIM),
and is provided in JSON format. The VISS service may be hosted within the vehicle or on external servers,
using data that has already been off-boarded.
</p>
<p>
VISS enables a broad range of use cases, including predictive maintenance, usage-based insurance, fleet management,
and real-time driver assistance services.
In the context of artificial intelligence, VISS serves as a critical data access layer, providing high-quality,
real-time vehicle data that can be utilized by AI algorithms for tasks such as anomaly detection,
driver behavior analysis, energy optimization, and contextual decision-making.
</p>
<p>
The first version of VISS, which has been implemented and deployed in production vehicles,
supported only WebSocket as a transport protocol.<br>
The <a href="https://github.com/COVESA/vehicle-information-service-specification/releases/tag/v2.0">second version</a>
is generalized to work across also the HTTP and MQTT transport protocols to improve the support for different use cases.
It also contains improved subscription capabilities and added an access control mechanism.<br>
The <a href="https://github.com/COVESA/vehicle-information-service-specification/releases/tag/v3.0">third version</a>
included the gRPC transport protocol but also simplified addition of other transport protocols by placing the normative requirement
on the message payload only, and not also on what transport protocol to use.
Several new features were added such as file transfer, payload encoding, and improved server capabilities representation.<br>
This specification, the version 3.1, is a backwards compatible extension of the third version of VISS.
Instead of referencing to the VSS rule set for how to define the content of a tree it refers to the HIM data profile rule set.
This enables also other trees than the VSS tree to be used, a server may manage a set of trees, a forest, that a client can access.
Other changes are minor adaptations to support the concept of having a forest of trees, such as adding support for a client to do a forest inquiry.
</p>
<p>
There are three parts to this specification, [[CORE]], [[TRANSPORT]], and PAYLOAD ENCODING. This document, the VISS version 3.1 PAYLOAD ENCODING specification,
describes the VISSv3.1 payload encodings that is used in some cases.
The companion specifications [[CORE]] describes the messaging layer,
and [[TRANSPORT]] describes the deviations form the CORE specification that are used by some transport protocols.
</p>
</section>

<section id="introduction">
<h2>Introduction</h2>
<p>
This document supplements the VISS specification by providing recommendations on how to implement certain aspects of the specification.
Thesa aspects are typically not explicitly exposed in the VISS interface but different implementations may lead to different behaviors
leading to clients receiving different responses from different implementations.
This may make interoperability more complicated to achieve,
i. e. that a client shall be able to exercise the interface with any implementation of it.
</p>
</section>

<section id="conformance"></section>

<section id="terminology">
<h2>Terminology</h2>
<p>
The acronym 'VISSv3.1' is used to refer to this document, the VISS version 3.1 specification.
The acronym 'HIM' is used to refer to the <a href="https://github.com/COVESA/hierarchical_information_model">'Hierarchical Information Model'</a>
which is hosted by COVESA.
The acronym 'VSS' is used to refer to the <a href="https://github.com/COVESA/vehicle_signal_specification">'Vehicle Signal Specification'</a>
which is hosted by COVESA.
The term 'WebSocket' when used in this specification, is as defined in the
<a href="https://www.w3.org/TR/websockets/">W3C WebSocket API</a> and [[RFC6455]], the WebSocket Protocol.
</p>
</section>

<section id="can-bus-specific-error-reorting">
<h2>CAN Bus Specific Error Reporting</h2>
<p>
xxx.
</p>
</section>


</body>
</html>
13 changes: 9 additions & 4 deletions spec/VISSv3.1_Core.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,20 @@
"https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_Core.html",
shortName: "viss3.1-core",
localBiblio: {
"TRANSPORT": {
title: "COVESA VISS version 3.1-Transport",
href: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_Transport.html",
publisher: "Ulf Bjorkengren; Wonsuk Lee",
},
"PAYLOAD ENCODING": {
title: "COVESA VISS version 3.1-Payload Encoding",
href: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_PayloadEncoding.html",
publisher: "Ulf Bjorkengren; Wonsuk Lee",
},
TRANSPORT: {
title: "COVESA VISS version 3.1-Transport",
href: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISSv3.1_Transport.html",
publisher: "Ulf Bjorkengren; Wonsuk Lee",
"IMPLEMENTATION_GUIDELINES": {
title: "COVESA VISS Implementation Guidelines version 1.0",
href: "https://raw.githack.com/COVESA/vehicle-information-service-specification/v3.1/spec/VISS_ImplementationGuidelines.v1.0.html",
publisher: "Ulf Bjorkengren; Sergej Saibel",
},
},
};
Expand Down
Loading