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

Eclipse SommR

Wednesday, May 18, 2022 - 10:14 by Thomas Fleischmann
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.
Project
Parent Project
Proposal State
Created
Background

The usage of ethernet in automotive offers a bandwidth between 10 Mbit/s and 1 Gbit/s and a commonly used protocol in this environment is SOME/IP (Scalable service-Oriented MiddlewarE over IP). It allows applications to offer and consume services within the vehicle network and sits on top of TCP/IP addressing a variety of automotive usecases. (RPC, fire-forget messaging, optimized serialization, ..). SOME/IP can be implemented as well for small micro controllers in static RTOS systems.

Commonly used implementations only covered C++ or have been embedded in vendor specific product offerings. In future, we see the clear need to support modern and robust languages like RUST in the automotive ecosystem. 

Scope

Eclipse SommR provides an automotive grade implementation of the someIP specification for embedded Linux systems together with the required tools to support developers. 

Description

Eclipse SommR provides an automotive grade implementation of the someIP specification for embedded Linux systems together with the required tools to support developers.

Eclipse SommR fosters interoperability between EUCs (Electronic Control Units) and help engineers to focus on application development in less time. In contrast to existing solutions, Eclipse SommR is language agnostic. Initially we plan to support C++, Rust and Java for the applications using Eclipse SommR. The project will support additional language implementations in the future, given these make sense in the embedded automotive world. 

The core of Eclipse SommR contains a daemon, which is implemented in RUST. The daemon provides the  core functionalities required for SOME/IP. 

Why Here?

Eclipse SDV as a foundation and umbrella for automotive software allows carmakers and the industry to create viable building blocks without the need to take full stacks with potentially hidden dependencies. Every ethernet ECU nowadays needs a SOME/IP implementation. Therefore, Eclipse SommR at SDV aims to provide such an efficient building block that could be used by pretty much every Linux based ECU in the future.

As the vehicle is not simply a datacenter on wheels, we as an industry need to consider the embedded constraints of our systems. Future trends like higher integration, usage of powerful multicore SoCs will still need an efficient, robust and performant implementation of common protocols to work towards interoperability within our vehicle network. 

Project Scheduling

We plan to open source of the initial the MVP during Q3/22. This would allow the SDV community to get in touch with the codebase at the upcoming SDV hackathon end of 2022.

Future Work

Roadmap and upcoming items:

* Feature complete regarding the specification

* Support of additional language bindings

* Verification and Verification suite 

* Design guidelines and pitfalls to avoid

* Generated requirements coverage report, potentially with OFT

Description

Eclipse SommR provides an automotive grade implementation of the someIP specification for embedded Linux systems together with the required tools to support developers.

Eclipse SommR fosters interoperability between EUCs (Electronic Control Units) and help engineers to focus on application development in less time. In contrast to existing solutions, Eclipse SommR is language agnostic. Initially we plan to support Rust and Java for the applications using Eclipse SommR. The project will support additional language implementations in the future, given these make sense in the embedded automotive world. 

The core of Eclipse SommR contains a daemon, which is implemented in RUST. The daemon provides the  core functionalities required for SOME/IP. 

Initial Contribution

SommR MVP 

  • Stack features (Java/Rust)
    • Service Discovery
    • Request/Response RPC
    • Code Generator
    • Daemon (Rust) + Client Libraries
  • Documentation, Examples, Tutorials and Integration Tests
  • Mac/Linux 
Source Repository Type