Skip to content
Open
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
156 changes: 156 additions & 0 deletions WorkInProgress/BB-SC/3-AppLayer/API/BB_Open_Vehicle_API.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# Open Vehicle API
## BB Tags(s)
<!-- Tag(s) define in which area(s) (cloud, in-vehicle) the BB is executed, and what type of BB it is (tool, process, microservice) -->
BB-SC

## Functional Clusters
<!-- In which Functional Cluster the BB be located; if none of the existing fit new required -->
API

## Layer
<!-- AppLayer, MWLayer, OSLayer, HWLayer -->
AppLayer

## BB Usage
<!-- Example on how to use BB or link to documentation. Should include code snippets, information about usage,
trainings, skills, examples and how-to's. -->


## Known Implementation

## ID (unique name)

## Description
<!-- General Description of the BB -->
The Eclipse Open Vehicle API contains tools and a runtime to create a vehicle abstraction interface for signal- and event-driven functions.

- Component-based
- Transfer existing signal-based ECUs to HPC
- Implement new signal- and event-based vehicle functions
- Vehicle independent implementation (vehicle abstraction)
- Multi-vendor – open for play-store approach
- Standardized interface for functions
- Automate as much as possible – reduce coding
- Allow HIL and SIL
- Safety aspects for use with chassis and ADAS functions

## Rationale
<!-- Explanation why we need the BB; what problem want to be solved -->

## Governance Applicable S-BB(s)
<!-- Reference to e.g. UN/EU CRA Cyber Resilience Act; UNECE 156 - Software update and software update management system
Reference to defined S-BB(s)
Reference to e.g. IS026262, AUTOSAR Spec. X -->


## Compose BB(s)
<!-- Link to required BB(s)
E.g. BB-SC StateManagement
BB is a composition of other BBs -->


## What is needed to Design and Implement
<!-- e.g. we expect to have a certain HW capability and or SW environment or Tool support, or a documentation, or an extra audit, or Test, or Compiler, or Prog. Language, … -->

## What is needed to build and run
<!-- e.g. we expect to have a certain HW capability, or Runtime Environment, or Pre-configuration, or Code-signing, or Test, … -->

## Non-Functional Requirements
<!-- With respect to Safety, Security, Realtime, … -->

## Dependencies to other Clusters
<!-- Other clusters are needed. FC Security, FC Storage, …
e.g. If FC Security : Security BBs are needed but you can choose for example crypto BB-SC from company A or crypto BB-SC from company B; several compositions may work -->


## Vehicle API Relevant
<!-- If “Yes exists” – where – e.g. COVESA VSS
If “No” – nothing more to do
If “Yes, proposal for additional Signals/Information – what should be made available, and where e.g. via (COVESA) VSS/VISS -->


## Author/Company
Thomas; Pfleiderer; ZF

## Priority
<!-- High, Medium, Low -->

## Contribution supported by RDI projects
<!-- If Yes – e.g. The BB should be used/added in the Eclipse Blueprint A – for demo purposes, show added value,
If No – Project Proposal (e.g. WP4 in FEDERATE, or in the SDV EcoSystem Community Framework) -->
[Eclipse](https://projects.eclipse.org/proposals/eclipse-open-vehicle-api)

[Documentation](https://eclipse.dev/openvehicle-api/)


## Availability of Source Code
<!-- Yes / License (e.g. Yes/MIT)
No – Commercial Closed Source -->
Apache 2.0

## Availability of API
<!-- Yes / License (e.g. Yes/Apache 2.0)
No - Commercial -->


## Type of API
<!-- Web API, Library/Framework API, Operating System API, Database API, Remote API, Hardware API, Other -->
None

## Potential obstacles

## Maturity Badges
<!-- taken over from Eclipse SDV Process
See Definition of Badges and their Flavors
https://gitlab.eclipse.org/eclipse-wg/sdv-wg/sdv-technical-alignment/sdv-technical-topics/sdv-process/sdv-process-definition/-/wikis/Definition%20of%20Badges%20and%20their%20Flavors


| | Documentation | Requirements | Coding Guidelines | Testing | Release Process |
| --------- |:-------------:|:------------:|:-----------------:|:-------:|:---------------:|
| Gold | Badgelevel | Badgelevel | Badgelevel | Badgelevel | Badgelevel |
| Silver | Badgelevel | Badgelevel | Badgelevel | Badgelevel | Badgelevel |
| Bronze | Badgelevel | Badgelevel | Badgelevel | Badgelevel | Badgelevel |
| No | Badgelevel | Badgelevel | Badgelevel | Badgelevel | Badgelevel |
| NotDefined| Badgelevel | Badgelevel | Badgelevel | Badgelevel | Badgelevel |

Options:
NotDefined/No/Bronze/Silver/Gold

Example:
| | Documentation | Requirements | Coding Guidelines | Testing | Release Process |
| --------- |:-------------:|:------------:|:-----------------:|:-------:|:---------------:|
| Level | [Gold](urlToDoc)| No | Notdefined | Bronze | [Silver](urlToDoc) |


-->


## State (+ date of last change)
<!--
- Incubating (no code yet)
- Implementation started
- First public release available
- Used in production by 1 OEM
- Used in production by >1 OEM
- Abandoned
-->
Implementation started (ongoing check ins)

## System Context
<!--
OS and runtime/framework requirements

eg.

- AGL
- QNX
- ROS-based
- container runtime
- web assembly
- web service
-->


## Compliant to
<!-- The BB is designed in a way that enables usage or integration into one of the targets listed. That includes use of the recommended processes, APIs, tool chains,.....-->
none