Microsoft contributions to the Eclipse software-defined vehicle (SDV) Working Group
The Microsoft SDV strategy is to foster an open and collaborative ecosystem that drives innovation and interoperability in the automotive and mobility industry by partnering with the Eclipse Foundation. Through the Eclipse Foundation, Microsoft is committed to advancing the development and adoption of SDV technologies through active community collaboration and open-source code contributions. The foundation allows for the exchange of ideas, the sharing of best practices, and the co-creation of open-source tools and frameworks that accelerate the development of SDV solutions and promote industry-wide collaboration.
The Eclipse SDV working group is a community of leading industry players, companies, and researchers who accelerate innovation of automotive grade in-car software stacks using open source. An important premise behind the collaboration between the various members of the community is the availability of foundational aspects of the SDV that can be agreed upon across the industry. Collaboration on non-differentiating parts allows companies to reduce the time and cost of bringing brand-specific, innovative, and specialized end products to market. Eclipse has about 40 organizations as its members. Further, Eclipse allows for decoupling software from hardware such that the code is agnostic, relies on open source, and, as a result, abides by the best industry standards and software development standards.
Current challenges
A modern software stack has several non-differentiating elements, such as the operating system, the middleware, the messaging platform, and the development toolchain. Creating a proprietary in-vehicle software stack that is cloud-native poses several challenges:
- Increased costs: Proprietary software requires a large number of developers to create infrastructure of limited value to the end customer.
- Security: There can be hidden security vulnerabilities and bugs.
- Reduces compatibility and interoperability: There's less incentive to follow common standards, protocols or interfaces, blocking future upgrade paths.
- Reduced innovation: The access, contribution, and feedback of the broader software community is restricted.
Benefits of contributing to the SDV working group
Microsoft participation in the SDV working group fosters a culture of collaboration and innovation within the automotive industry. By sharing insights, contributing code, and collaborating with fellow SDV working group members, Microsoft exemplifies the power of cross-industry collaboration. This spirit of cooperation underscores our commitment to the exchange of ideas and promotes a holistic approach to solving the challenges faced by the automotive sector and industry.
Microsoft and the Eclipse SDV working group amplify the inherent benefits the group offers, including:
- Open technology platform: The platform includes open-sourced, modular software components and frameworks that encourage collaboration, innovation, and flexibility in development. Further, it comprises tools that millions of developers use, such as GitHub, and transition into a modern developer experience. Prioritizing a strong focus on open source promotes extensive automation and virtualization capabilities and enhances operational efficiency and resource utilization.
- Automotive grade: The Eclipse SDV work group not only considers high-performance electronic control units (ECUs) but also legacy ECUs. The work group scope is from quality managed (QM) to safety-relevant functions across all vehicle domains (ASILB-D). Adherence to the highest safety and security standards is a key principle of the work group.
- Open standards: Solutions created in the work group utilize open standards and don't aim to reinvent the wheel. The work group participants help shape the future of industry standards by collaborating with industry and technology peers.
- Community: The SDV working group is inclusive and welcomes participation from everyone. Through the working group, the community comes joins forces on the non-differentiating parts and builds value together. Harnessing the power of the open-source community can expedite time-to-market, facilitate the exchange of best practices, and help organizations navigate the competitive landscape for talent acquisition.
Reference architecture
The following sections outline the key contributions from Microsoft to the Eclipse SDV working group, accompanied by a summary of each project.
Eclipse Chariott
The Eclipse Chariott project aims to simplify and enhance in-vehicle software developer productivity. Chariott is an open, extensible, adaptable, and low-footprint service that helps developers streamline application development by enabling applications to be developed and tested in the cloud and used in the car. Further, Chariott provides an abstraction layer so that the same applications can be reusable across vehicles by a common interface to interact with in-vehicle applications.
Through its interface, Chariott facilitates service discovery for applications to advertise their capabilities by registering themselves with Chariott's service registry. Other applications that need to consume resources and capabilities can also discover services through Chariott's service registry.
Learn more about the Eclipse Chariott design and code implementation here.
Agemo
Agemo is a gRPC service that provides publish/subscribe functionality for applications within the vehicle and includes Eclipse Ibeji and Eclipse Chariott. The service can register with Chariott and make it easily discoverable by other applications. You can use the service to create and manage topics dynamically. Further, you can replace the default messaging broker if the broker meets certain requirements.
Learn more about the Agemo design and code implementation here.
Eclipse Ibeji
The Eclipse Ibeji project helps express a digital representation of vehicle state and its capabilities through an extensible and dynamic architecture to model and access the vehicle hardware, sensors, and capabilities. The models for in-vehicle digital twin are defined using Digital Twins Definition Language (DTDL), which is based on JSON-LD and is programming-language independent. When combined with modern application programming models like the one proposed by Eclipse Chariott project, this capability can bootstrap, simplify, and enhance automotive OEM software developers towards programming next-generation software-defined in-vehicle applications.
Learn more about the Eclipse Ibeji design and code implementation here.
Freyja
Project Freyja is an Eclipse SDV application that allows synchronization between the digital twin state on the vehicle (the instance digital twin) and the state in the cloud (the canonical digital twin).
The SDV needs to connect to the cloud for scenarios such as data synchronization, command processing, and analytics. However, connecting for the specified scenarios is hard when different vehicles with different digital twin models need to synchronize on a shared canonical model in the cloud. The Freyja project aims to solve the problem by creating a flexible framework for digital twin synchronization in the vehicle.
Learn more about the Freyja design and code implementation here.