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.
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 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.
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.
Due to already existing implementations (https://github.com/COVESA/vsomeip) we do not expect legal issues.
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.
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
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.
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
- Log in to post comments