Eclipse Software Defined Vehicle

The Eclipse Software Defined Vehicle (SDV) Working Group provides a forum for individuals and organizations to build and promote open source software, specifications, and open collaboration models needed to create a scalable, modular, extensible, industry-ready open source licensed vehicle software platform to support in-vehicle and around the vehicle applications development and deployment.

Working Group ID
sdv
Status
Active

OpenBSW

Date Review
12 hours 24 minutes ago
Date Trademark
12 hours 24 minutes ago
Date Provisioned
12 hours 24 minutes ago
Date Initial Contribution
12 hours 24 minutes ago
Date Initial Contribution Approved
12 hours 24 minutes ago
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.
Proposal State
Draft
Background

The traditional way of implementing applications on microcontroller-based ECUs has several drawbacks regarding developer attractiveness, CI/CD integration and openness for innovation. The OpenBSW stack overcomes these limitations and combines the new technical approach with an open-source mindset which should enable an innovative and lively community resulting in better SW solutions for microcontroller-based ECUs.

Scope

Embedded C++   Basic Software Stack for microcontrollers to  develop flexible and modern  automotive applications. 
The initial release provides an OS abstraction layer (FreeRTOS based implementation is included), and modules for ECU lifecycle, communication protocols (CAN, CAN-ISO-TP, UDS), basic I/O support (incl. ADC and PWM) and developer tools (serial console, logging framework).   
The provided demo application contains examples of the stack’s capabilities and runs on POSIX platform as well as on an NXP S32K148EVB board.
The project is designed to be extensible, e.g support for other communication stacks like Ethernet is planned.
Out of scope: Due to licensing terms of AUTOSAR, AUTOSAR BSW components and RTE are NOT part of the project.

Why Here?

Eclipse SDV is the perfect match for an OpenBSW stack for automotive software. The initial contribution is not meant to be complete or production ready, but to be the starting point for a vivid project based on the expertise of the SDV community.

Project Scheduling

Initial contribution is expected to be released in Q3/24

Future Work

Since Ethernet is the most important communication system in the automotive industry, adding a TCP/IP stack and protocols like DoIP has highest priority. Adding a lightweight application model (middleware) is also planned. Adding a multi-core platform and some demo use cases are also part of the roadmap for the next 12-18 month.
All future features are subject to feedback, prioritization and engagement by the community.

Description

The project provides an embedded basic software (BSW) stack for microcontrollers written in C++ (language features up to C++14 are used). 
It provides libraries for

  • lifecycle (startup/shutdown)
  • communication (CAN, DoCAN, UDS)
  • simple OS abstraction layer (reduced to scheduling and events, FreeRTOS implementation provided)
  • STL-like container classes and a lock-free SPSC queue for inter task/core  communication
  • basic I/O
  • development tools (serial console, logging framework)

A demo implementation supporting two platforms, POSIX as a virtualized environment for rapid prototyping and NXP S32K148EVB with an example BSP, is provided.
 

Initial Contribution

Accenture holds the copyright.
Cf. project description
TBD NOTICE.md

Source Repository Type

Eclipse PICCOLO

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
Community Review
Background

The automotive industry is rapidly transforming into platform-based mobility services industry, thanks to the convergence of high-speed connectivity, autonomous driving, electrification, big data driven services, end-to-end customer experience and artificial intelligence. In line with these changes, there is a paradigm shift in the vehicle EE architecture in the form of zonal architecture that helps transitioning the hardware-centric vehicle functions into software-driven vehicle features and services. These vehicles are called software defined vehicles (SDV) that enable frequent software updates for the entire life cycle of the vehicles to make the cars perform better and add new features every day. SDV requires a software architecture that supports the development of scalable, reusable, updatable software components. The most suitable architecture for this purpose is the Micro services architecture which extends the cloud native environment to the vehicle. However, one of the major challenges in realizing end-to-end cloud native environment in the vehicle is the orchestration of resources, operations, and continuous updates of the vehicle service scenarios and policies under the constrains such as criticality, environment, and resources. To address this challenge, we started a project to develop a unique orchestrator called Eclipse PICCOLO that supports efficient orchestration of vehicle services and policies.

Scope

Eclipse PICCOLO provides a service orchestrator framework for in-vehicle services and applications.

The Eclipse PICCOLO project includes several key features within its scope, such as supporting APIs for the state transition of vehicle services, ensuring compatibility for workload manifests between cloud environments (K8S) and vehicles (Bluechi & SOAFEE specifications), and enabling and managing predefined scenarios and policies.

The Eclipse PICCOLO project does not cover several features, including implementations for basic controlling services like launch, stop, create, or delete, deployment or retrieval of workloads from a cloud registry, management of non-containerized services, and functional areas supported by general container runtime and systemd.

Why Here?

The Eclipse PICCOLO project provides great synergy with the other projects such as bluechi, symphony, etc. that are reflected in the Eclipse SDV blueprints. Eclipse PICCOLO's contribution focuses on providing the technology for service management in the user space and thus completing the SDV realization scope built by those projects. To realize the full potential of Eclipse PICCOLO, we need certain external infrastructure elements such as management and supervision functions for various entities such as vehicles, environment, connected devices, specific solutions platforms and technical specifications which are well addressed by the scope of the other eclipse projects. We believe our project would provide significant contribution to the SDV community with the strong cooperation from the developers of various fields necessary for achieving the project goals.

Project Scheduling

We are considering the initial contribution target schedule to be in mid or late May, and we are preparing to make the build possible at that time.

Future Work

In the future, Eclipse PICCOLO will sequentially update the basic scenarios provided by Eclipse PICCOLO. For example, updates on workload, rollback, new execution, service location movement, and dual execution, etc. Also, a function that can be managed to run with Realtime Scheduled Priority on RT Linux base will be added. Within the community, we plan to collaborate with bluechi / symphony to set up a complete pipeline from development to deployment and test it. Also, we expect to collaborate actively with other projects within Eclipse SDV by configuring to receive vehicle data transmitted through protocols other than DDS in the future.

Description

The main goal of Eclipse PICCOLO project is to develop an efficient vehicle service orchestrator framework to realize the potential benefits of cloud native technologies for in-vehicle services and applications. In this direction, Eclipse PICCOLO shall ensure the activation of pre-defined use case scenarios or policies in a well-organized and streamlined fashion depending upon the various contexts of vehicle status, environment, connected devices and service requirements. Eclipse PICCOLO shall enable the deployment of vehicle scenarios and policies in short development cycle by reducing the development lead time. In addition, it provides necessary management framework for the deployment of micro services as per the requirements of vehicle applications and thus saving the integration costs, time, and efforts.

Project Leads
Interested Parties

LG Electornics, Symphony(Microsoft), Bluechi(Redhat)

Initial Contribution

The current Eclipse PICCOLO project is designed to operate in conjunction with Bluechi. It manages the lifecycle of basic services through Bluechi. It is primarily written in Rust and C++, and each module is packaged into a container. Internal communication uses gRPC, and vehicle data reception supports Cyclone DDS. It uses etcd as an internal state store.

Source Repository Type

Eclipse Symphony

Eclipse Symphony enables end-to-end orchestration experience and addresses it as a distinct concern. Its objective is to provide an easy-to-adopt, cost-effective, and consistent application

Eclipse ThreadX

Eclipse ThreadX® provides a vendor-neutral, open source, safety certified OS for real-time applications.

Eclipse Symphony

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

Navigating the complexities of diverse and ever-changing edge environments is no small feat for edge solution developers. The landscape is riddled with challenges—ranging from the coexistence of various operating systems and hardware profiles to the intricacies of juggling different tool chains. While solutions exist for managing individual facets of these dynamic edge setups, the task of seamlessly orchestrating these tools becomes a labyrinthine and error-prone endeavor.

In response to this intricate web of challenges, we have embarked on a mission to revolutionize the edge computing experience. Symphony aims to forge a cohesive and streamlined solution, offering an end-to-end, uniform experience that transcends the boundaries of disparate toolchains. By doing so, we strive to empower edge solution developers and adopters with a more efficient, reliable, and user-friendly approach to managing the multifaceted intricacies of their edge environments.

Scope

Eclipse Symphony provides a versatile API specifically designed for managing workloads in complex edge computing environments. It operates as an orchestrator, seamlessly harmonizing diverse toolchains and services, offering developers and adopters a dynamic and adaptive orchestration solution tailored to their specific requirements.

Project Scheduling

The code is ready to be contributed.

Future Work

We'll keep improving code quality for production usage and keep engaging with adopters and the community at large to grow the project. We've assigned engineering resources to work on the project, and we'll set up regular community engagements like steering committee meetings, maintainer meetings. And we'll also advocate the project with available channels.

Description

Eclipse Symphony enables end-to-end orchestration experience and addresses it as a distinct concern. Its objective is to provide an easy-to-adopt, cost-effective, and consistent application programming interface (API) for managing workloads that involve multiple device types and service vendors at multiple locations. Eclipse Symphony enables developers and adopters to utilize their current systems as-is, without making any alterations, and to unify disparate systems into a coherent entirety. The key benefit of Eclipse Symphony is its ability to codify a consistent workflow across these systems and tool chains, ensuring their seamless integration and harmonious operation.

Eclipse Symphony enables solution orchestration by a separation of concerns into 3 constructs, Unified Object Model, Orchestration API, and Providers.

  • Unified Object Model defines the units of orchestration and the target state for these units.
  • Orchestration API provides the orchestration capabilities that are state seeking, information graph and workflow.
  • Providers encapsulate and isolate platform-specific operations for each of the systems and devices that participate in the system orchestration task and enable extensibility.
Initial Contribution

We've been developing the code base in the past 2 years. The intention has been to release the code under MIT license and contribute project to an open community. We've gone through dependency license review (along with security and compliance reviews) and there are no concerns to release under the MIT license. The code is currently hosted under the Azure org under GitHub but we are open to relocate the repo.

Source Repository Type

Eclipse openDuT

Eclipse openDuT automates the testing and validation process for automotive software and applications. This includes offering a framework for the testing and validation process but also includes

Eclipse BlueChi™

Eclipse BlueChi™ is a deterministic multi-node service controller with a focus on highly regulated ecosystems. It is written in C and integrates seamless with systemd via its D-Bus API relaying D-Bus

Eclipse openDuT

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 paradigm shift of automotive development towards Software-defined Vehicle (SdV) has sharpened existing and put new requirements on the shoulders of automotive OEM and their suppliers. The overall goal of shortening the software release cycles of a SdV demands for automatic test and validation of artifacts during the verification & validation (V&V) phase of automotive components and (sub-)systems. Automation is crucial since the number of different regulative frameworks, system configurations and software releases grow exponentially. Furthermore, it is the viable option to establish repeatability and consistency of test cases.

Nowadays, the automotive V&V tool-landscape is partially scattered (specialized DLLs, missing cross-platform capability, proprietary rest bus simulation and runtime, etc.), interrupted by unconsolidated formats as well as missing interfaces between various proprietary solutions. The result is that users are either locked into single-source solutions or need to invest a significantly high effort to manually bridge the gaps between isolated solutions. An unified and interoperable platform for automotive verification & validation is needed that integrates different formats and (test) applications by abstracting non-differentiating and basic software components.

When hardware is involved, the challenge of connecting these distributed components in a repeatable and consistent way comes into focus. A temporal hardware setup onsite is not sufficient since collaboration and consistent tests are hard to achieve in those setups. In an early development state, a hardware device can be a rare good as well. Eclipse openDuT fosters the ability to connect different hardware and emulated setups while keeping them geographically distributed. This unleashes additional use cases that make rare hardware widely available and for automatic and remotely executed testing, like test cases that need to take place in a certain geolocation, for example when special cellular standards are involved.

In the future, certification institutes will demand automated testing and test cases and an open framework executing them.

Scope

Eclipse openDuT provides an Open framework to automate the testing and validation process for automotive software and applications.

Eclipse openDuT developed as FOSS, to be transparent, open and trustworthy. It covers different test and validation domains. Most notable domains are security testing (penetration and fuzz testing), requirement testing, and smoke testing.

Eclipse openDuT considers an eventually distributed network of real (HIL) and virtual devices (SIL) under test. The actual devices under test are considered gray boxes, i.e., tests focusing on device-internal artefacts (e.g., software code or configuration) will not be in scope. Regarding the communication protocols, Eclipse openDuT puts its focus on the automotive protocols and considers external interfaces, protocols, components like WiFi, BLE, Charging Station and Mobile-Apps as relevant.

Eclipse openDuT reflects hardware capabilities and constraints along with the chosen test method (possibly in a predefined language – existing approaches will be evaluated). Test cases are not limited to a specific domain, but it especially realizes functional and explorative security tests. An example can be the execution of a functional test case where the correct update of a cryptographic key within an ECU, equipped with a security module, in context of Secure Onboard Communication is being verified.

Eclipse openDuT is hardware-agnostic with respect to the execution environment and accompanies different hardware interfaces and standards regarding the usability of the framework. Thereby, it is supporting both on-premise installations and hosting in a cloud infrastructure. Our framework shall be open to proprietary software (e.g., well-known tool chains and V&V tools) via tool-agnostic standardized interfaces and other established automotive architectures and standards (e.g. AUTOSAR). Eclipse openDuT aims on an OSS solution for automated testing and not on bridging different tool chains. One working stream within this project will deal with the comparison and interoperability with already existing OSS automotive V&V solutions to assure a broad acceptance by its users.

Why Here?

Eclipse SDV is the foundation of a community-driven ecosystem that consists of automotive software components and solutions for a Software Defined Vehicle. It offers not only a code-first mentality but also frameworks and processes to collaborate in a professional environment.

ETAS GmbH, CARIAD SE, Mercedes-Benz Tech Innovation GmbH, AVL List GmbH, IAV GmbH jointly initiated this project within the Eclipse community to work in an open community right away. 

Our project group has chosen Eclipse SDV as an ecosystem for publishing our initiative since it combines the idea and community-aspect of open-source development together with the automotive targeted fellowship consisting of worldwide OEMs and suppliers.

Project Scheduling

New releases are planned frequently at least once per quarter including release notes.

Future Work

Work on the Use Cases mentioned in the description and build a comprehensive project within the Eclipse community.

Description

Eclipse openDuT automates the testing and validation process for automotive software and applications. This includes offering a framework for the testing and validation process but also includes process descriptions of the intended use.

It focuses on reliable, repeatable, and observable automated test and validation executions. The main building blocks are:

  • Model or description language of test cases that can be kept private or can be part of the open-source context, for example to offer a common implementation of a required topic for legal assessments.
  • Test Execution Engine as OSS reference implementation and open APIs to plug-In private engines for private Test Cases.
  • Test Management and Execution as component taking care about the needed capabilities to execute test cases and collect the results and insights.
  • Management Service to orchestrate, observe and establish communication between distributed Hardware ECUs and Emulated ECUs. Distribution means that the (virtual) devices can be in different networks and even separated by proxies and the internet.
  • Hardware Abstraction, Automotive Applications and Communication for uniform interaction with an abstract driver for different automotive networks e.g., CAN.

Main Use Cases are:

  • (Fully automated) grey-box tests for single ECUs or clusters of ECUs
  • Execution of tests over distributed test benches
  • Realization of functional and explorative tests
  • Coverage of Complete Security attack scenarios
  • Easy interfacing and usability of the framework (Compatibility with external protocols, modularization, …)
  • Observation of the test setup to verify if the test has been effective.
  • Cloud/on-premises/hybrid deployments
  • Adaption and full functional integration of 3rd party components (OSS, proprietary/ private source)
Interested Parties
  • Companies: Mercedes-Benz AG, Mercedes-Benz Tech Innovation, Volkswagen AG, CARIAD, Bosch, ETAS GmbH, AVL List GmbH, IAV GmbH
  • Eclipse: Eclipse SDV Working Group Projects and MaturityProcess of the SDV Working Group
Initial Contribution

Initial contribution planned for Q3/2023

  • Management Service and Edge gateway to establish a distributed DuT-Network offering the Test Execution Engines comprehensive System under Tests. This Refers to Use Case” Execution of tests over distributed test benches “: We bring code to put several distributed DUTs into one Network. Therefore, our contribution offers possibilities to setup a network without commercial Software.
  • Contribution and integration of software code/ components to facilitate the test automation framework stack. Further, design and conceptual contributions focusing on framework architecture, test case design etc.

 

 

Source Repository Type

Eclipse OpenXilEnv

Eclipse OpenXilEnv is a lightweight SIL/HIL environment that allows running embedded software functions on a PC without a target platform and compiler. Eclipse OpenXilEnv will provide a configurable

Eclipse Autowrx

Eclipse Autowrx is the open source implementation of digital.auto (http://digital.auto), an industry-wide initiative enabling the automotive industry to establish a new, digital-first approach for the