This proposal has been approved and the Eclipse Automotive API Framework project has been created.
Visit the project page for the latest information and development.

Eclipse Automotive API Framework

Thursday, June 6, 2024 - 03:04 by Gunther Bauer
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

Today, developing automotive applications for microprocessor-based High-Performance Computers (HPC) presents significant challenges, as in many cases the application code is tightly coupled with the middleware stack and the underlying operating system. Since APIs from different middleware stacks often operate at a low level, the development process—particularly integration and testing—requires implementing and maintaining of boilerplate code. Furthermore, developers must possess in-depth automotive-specific knowledge of the lower layers within the HPC stack. 

Scope

The Eclipse Automotive API Framework decouples application logic from the middleware stack and operating system in automotive HPC systems by providing an application-facing interface and defining the accompanying workflow.

Description

Decoupling of the application logic from the basic software stack enables automotive suppliers (no matter if Tier-1 or in-house teams at an OEM) to contribute with building blocks to Software-defined Vehicle (SDV) projects. The Eclipse Automotive API Framework provides a stable application-facing interface, thereby minimizing the prevalence of proprietary solutions throughout the automotive sector. A corresponding model allows configuration and offers the needed flexibility for the handling of vehicle variants and different E/E architectures. Such solution also creates a win-win situation for both suppliers and OEMs. Suppliers aim to provide off-the-shelf software, while OEMs seek seamless integration and flexibility in feature selection. To maximize its applicability in the automotive HPC domain, the application interface shall encompass a wide range of functionalities relevant to application development. These functionalities include communication, diagnostics, non-volatile memory, and logging. Additionally, lifecycle (startup, operation, shutdown) and execution management will be covered, laying the foundation for a system-wide deterministic execution of control algorithms.

Why Here?

Eclipse SDV is the ideal platform for collaborative work on projects that advance the vision of a Software-Defined Vehicle. Here, different parties can come together, contribute their requirements, and collectively drive this proposal of a stable application-facing interface to a state, where widespread adoption across various organizations becomes feasible.

Future Work

To be defined

Project Scheduling

Initial contribution is expected to be released in Q3/24

Interested Parties

ZF Friedrichshafen AG 
Vector Informatik GmbH
Qorix GmbH
Mercedes-Benz Tech Innovation GmbH
BMW Group
 

Initial Contribution

The project consists of four building blocks as follows:

  • Definition of a lean model for data elements and operations (suitable for all vehicle domains e.g., ADAS, Body, Powertrain, and supporting different BSW services, e.g. communication, diagnostics, logging, lifetime services, ...)
  • Specification of the C++ API that can be invoked from the application code, i.e., a definition of how to work with the modeled artifacts and supporting other application development frameworks (e.g., Matlab)
  • Evaluation of conceivable front-end formats that serve as input to the workflow. Plus, provision of corresponding converters that are needed to generate the model artifacts as defined by (1). Possible front-end formats are config-as-code approaches, IDLs, COVESA VSS,…
  • Implementation of a generator that yields the relevant artifacts for application development as specified by (2).
     
Source Repository Type