This proposal has been approved and the Eclipse Backend function Bindings (BfB) project has been created.
Visit the project page for the latest information and development.

Eclipse Backend function Bindings (BfB)

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

One of the future trends in mobility and in the automotive sector is the shift towards the Software Defined Vehicle: Features and services will increasingly be provided/enabled by software components on the vehicle in collaboration with complex application landscapes in the backend. This will create new markets and enable new players to contribute digital services.

The Eclipse BfB project aims to contribute to the ecosystem surrounding these services by providing a way to define the interface between backend service and in-vehicle component in a protocol-independant manner. An open specification ecosystem can help to enable more contributions to the market and fosters innovation in the area of connected vehicles.

Scope

The Eclipse BfB project provides a protocol-agnostic interface specification and tooling environment in the ecosystem of mobility and automotive applications

Description

The Eclipse BfB project provides a protocol and technology agnostic interface specification in the ecosystem of mobility and automotive applications.

The Eclipse BfB specification is maintained in a markdown-based technology-independent format which is human readable and can be used for API documentation. A set of kotlin based tools is provided to translate/compile this specification into protocol specific specification formats like protobuf over MQTT or json over HTTP. 

 

Why Here?

Backend to Vehicle communication is a key concern for Software Defined Vehicles, and should therefore be a valuable building block in the greater Eclipse SDV portfolio. While it is fully clear that Eclipse BfB only constitutes one specific view on what this communication semantic can look like, the published definitions have been proven to be useful in production.

What's more, the Eclipse BfB tooling offers a simple but effective solution for decoupling the definition of (and reasoning about) APIs from specific technology patterns, and thus also from organizational structures (compare Conway's law) - again, this has been proven to be effective for driving consensus about APIs in the real-world.

Future Work

In the future, the Eclipse BfB project can be extended by concrete specifications for common automotive use cases. Examples can be

- managing, starting and monitoring SW updates in the vehicle over the air 

- managing data collection in the vehicle and transferring it into the backend

- sending commands from the backend to the vehicle

Other possible extensions in the future may include new adaptors and compilers for even more communication protocols, like e.g.

- SOAP schema

- Apache Kafka connectors

Complementing the Eclipse BfB tooling, we are preparing reference client implementations and use-case oriented API definitions to be published in SDV later this year.

Source Repository Type