AWS for Industries
How BMW uses AWS to scale and automate SDV with virtual ECUs
“Our BMW Operating System 9 – BMW’s fully virtualized Android Open-Source Project-based infotainment system running on AWS – allows us for the very first time to start the development of new in-vehicle software functions without needing access to the target hardware. This shift-left in our software development process also enables us to test earlier and more often at a much lower cost using virtual devices. This contributes significantly to our goals to reduce cost, accelerate time-to-market and improve our customer’s experience.”
Dr. Céline Laurent-Winter, Vice President Connected Vehicle Platforms at BMW Group
Introduction
BMW is the world’s leading manufacturer of premium automobiles and motorcycles, and provider of financial and mobility services. The BMW Connected Company is a division within BMW and is responsible for developing and operating premium digital services for BMW’s connected fleet of more than 23 million vehicles worldwide, as well as the in-vehicle infotainment system and telematics Electronic Control Unit (ECU).
Software-Defined Vehicle (SDV) is a broad topic that requires addressing the entire automotive value chain. Being that the scope is so wide, there currently is no cross-OEM vision and scope regarding SDV. One common trend, however, is using the cloud and cloud-native technologies to help support the development and operations of vehicles and their software. This also includes features where the vehicle interacts with services in the cloud to help provide new customer experiences.
While parts of the collaboration between BMW and AWS were already showcased at the 2023 AWS Summit Berlin and the AWS All Things Automotive series, in this blog we will discuss the benefits of using AWS to help speed up DevOps workflows and to improve the quality of ECUs, while at the same time lowering development costs significantly.
Problem statement
ECUs are embedded devices which govern various aspects of a vehicle, from engine management, body control to advanced driver-assistance systems (ADAS), infotainment including backend connectivity to third-party providers such as the streaming music provider Spotify. We describe how BMW uses AWS to help develop and run automotive software, without emulation, directly on Amazon EC2 instances.
The software BMW runs on AWS is built from the same source as the software deployed in the vehicle. This allows BMW engineering teams to develop, debug and test the software on virtual ECU (vECU). It includes providing Operating System (OS) images in the cloud, achieving environmental parity, and including the interplay of the ECU’s software with other ECU software. In the cloud, this can be done at a scale and in collaboration models not possible compared to using physical ECUs.
Developing ECU software brings a variety of challenges like real-time requirements (e.g., executing safety-relevant tasks within a defined timeframe), different operating systems, various networking protocols, and supporting different variants, including certain regulatory requirements.
Testing ECU functions is essential for achieving high software quality, resulting in spending lots of resources to ensure adequate coverage at a domain or system level. Testing interconnected ECUs grows the test space exponentially and needs to scale without adding exponential costs.
Software-in-the-loop (SiL) and Hardware-in-the-Loop (HiL) testing is designed to scale testing processes early in the automotive software development cycle and increase the fidelity of testing in later stages. SiL emulates all the software layers except the functional software, so developers can test their functional software against these layers without hardware. This allows scaling the verification of the program logic of their software from a very early development phase on, but requires expensive tooling and does not cover the interaction with physical environment such as sensors, actuators or other real ECU. This is the domain of HiL which enables hardware-software integration testing later but is costly, hardware-bound and not scalable. Sequential execution of SiL and HiL based tests delays issue detection, with the consequence of exponential increased cost. Proper SiL test execution strategy is crucial to avoid bottlenecks from excessive HiL testing. Decoupling software and hardware, and shifting left hardware testing is necessary to scale testing to cover the different variants, versions and the huge amount of test cases necessary for automotive software development while avoiding high costs.
Shared Vision for SDV
BMWs and AWS vision aims to fundamentally transform the vehicle architecture to help deliver better experiences for both customers and BMW while reshaping development and operation workflows to deliver automotive software at this scale in efficient workflows.
This blog focuses specifically on the SDV vision elements that are most pertinent to our discussion.
A fundamental goal is to create a more modular and flexible software architecture for vehicles by decoupling the software from the underlying hardware. This layered design enables seamless onboard and offboard deployment of new functions, providing updated capabilities to older vehicle models. It also broadens potential supplier base and sourcing options and helps facilitates reuse of software. Continuous software updates keep vehicle offerings up-to-date and more secure.
The virtual developer workspace with cloud-native targets is intended to empower developer productivity and enable new collaborative software development practices as well as leverage the cloud to enable cost-effective software development and testing at scale.
A three-step approach to scale ECU development
In 2022, BMW took the first step of virtualizing a single ECU. As a second step, BMW connected that virtualized ECU to external services. Lastly, BMW virtualized multiple ECU and networked them together.
Figure 2: Visualization of BMWs 3-step approach to scale ECU development
Step 1: Virtualize single Android-based ECU
As the first ECU, BMW has chosen their infotainment system, which is built on top of the Android Open-Source Project (AOSP). The existing Google Android emulator was used as a foundation. The infotainment system is one of the few ECUs with visual interfaces providing an easy way to showcase the work to other stakeholders.
The goal was a feasibility study regarding efficiency gains for development compared to physical targets.
Figure 3: vECU Platform architecture on AWS when step 1 was achieved
To run the virtualized infotainment system on AWS, BMW had to solve several challenges. BMW’s custom Android emulator had to be containerized, including required utilities and services. BMW then established secure bi-directional network communication for Android Debug Bridge (ADB, for debugging Android-based devices), VNC (graphical desktop-sharing system using the remote framebuffer protocol to remotely control another computer), and SSH (network protocol allowing users to securely access and manage remote computers over unsecured networks) between the users’ local web browsers and user-specific Docker instances running on Amazon EC2 instances. These instances were only accessible from within the BMW network, which was securely connected to AWS using AWS Direct Connect.
An API-based self-service portal was developed by BMW to fully automate configuration (BMW brand, vECU software version, language, user, password), provisioning and deprovisioning of all required resources like load balancers, EC2 instances and Docker containers.
In addition, AWS and BMW worked together to run multiple Docker container instances per EC2 instance. This was required to make optimal usage of EC2 bare metal instances, required due to KVM (Kernel-based Virtual Machine) support. This helped minimized cost and reduced process latency for a better user experience.
The virtualized ECU can be accessed easily through standard web browsers. It requires no additional setup, and the URL can be shared between multiple users, working inside the BMW corporate network. The interaction with the UI is seamless and functions like a regular physical infotainment unit.
Figure 4: Navigation and point of interest search within the virtualized BMW infotainment system
BMWs approach unlocked several key benefits beyond just streamlining the ECU development process. Most notably, it enabled BMW developers to experience the full user interface from the very first code builds, without needing physical hardware prototypes. This allowed much earlier feedback and iterations within BMW on the software’s usability. The virtualized testing environment enabled remote, scalable, and automated testing of the full software stack as part of the CI/CD pipeline. BMW teams could then run the Android Compatibility Test Suite, with over 2 million individual tests, as part of their regular automated testing, which was too time-consuming with physical hardware. Another benefit is location independence, as BMW developers, product owners or other stakeholders can access these vECUs instantly worldwide.
Step 2: Virtualize end-2-end
Beginning in 2023, BMW enabled network connectivity outside of the vECU (Fig.2, center image). This allows the virtual infotainment system to communicate securely with external third party content providers like Spotify and MapBox as well with the BMW Connected Vehicle Backend, called ConnectedDrive.
This enabled BMW to run a fully virtualized environment, from the My BMW mobile app through the ConnectedDrive Backend to the virtualized infotainment system including third party content providers.
Figure 5: vECU Platform architecture in AWS when step 2 was achieved
The first challenge was to establish secure connectivity from the virtualized infotainment system to the ConnectedDrive Backend, as it mandates mutual Transport Layer Security (TLS) and unique certificates per vehicle. In addition, each certificate is associated with exactly one Vehicle Identification Number (VIN) and country. All these requirements and restrictions were incorporated into the automated provisioning steps, behind the self-service user portal.
For the secure integration of third-party content providers and apps, the main challenge was identifying and configuring required secure network paths in a complex enterprise environment.
Figure 6: Personalization of the background image in the virtualized Mini infotainment system, using the Mini mobile app
With step 2 complete, BMW achieved several additional benefits. It facilitated integration testing of third-party applications and content through pure software. This allows BMW to effectively develop, debug, and test interactions between infotainment system, mobile devices, third-party apps and the ConnectedDrive Backend. It also facilitates more precise root cause analysis from customer feedback by providing access to identical software versions and configurations. Furthermore, BMW can now automate connectivity tests that were previously impossible with physical hardware, such as testing retry and reconnect behaviors under poor network conditions like tunnel passages.
Step 2 enabled BMW developers to create vehicle application functions from start to finish without requiring access to physical hardware until the final stages.
Step 3: virtualize linked ECUs with different operating systems
In 2024, BMW networked multiple vECUs together (Fig. 2, right image). An important target was to virtualize ECUs running other automotive OSs including embedded Linux (BMW’s distribution) and AUTOSAR.
BMW selected the Telematic ECU running embedded Linux and the climate ECU running AUTOSAR classic. These ECUs communicate with each other using SOME/IP (Scalable Service-Oriented MiddlewarE over IP), a common networking protocol inside the car.
This enabled BMW to run any virtualized ECU, thus expanding the addressable use cases for virtual validation (for example validating changing climate settings initiated from the My BMW mobile app) in real-time. The system runs more cost efficiently and scales more quickly by using Amazon EC2 instances, solving the hardware bottleneck for validation.
Figure 7: vECU Platform architecture in AWS when step 3 was achieved
Figure 8: Virtualized Mini infotainment system integration with the climate ECU
The above animation displays the interaction of two different ECUs, the Android-based infotainment vECU with a climate vECU to perform various functions.
Outcomes
BMWs vECU platform has achieved global reach with over 2,000 internal users worldwide across many different BMW departments. The presented approach to virtualize AAOS-based ECUs on Amazon EC2 offers significant improvements across the whole software development process, supporting developers and engineers with scalable virtualized cloud-based solutions. Some key improvements are:
- Reduction of setup time for infotainment units in the cloud down to just 3 minutes compared to hours for flashing physical ECU.
- Provisioning any version and variant of supported AAOS vECUs within minutes to help facilitate root cause analyses and test bug fixes.
- Facilitate testing of software against third-party apps and services in the cloud.
- Test multiple versions simultaneously, such as different country-specific variants, thus increasing test efficiency and helping improve quality assurance.
- Accelerate time to market by reducing the need for prototypes in early phases.
- Enable all stakeholders, regardless of technical background, to interact with and evaluate full software functionalities from earliest stages of development.
These capabilities allowed some of BMW’s developers to develop and verify some of the new features of BMW’s In-Vehicle Infotainment system predominantly on BMWs virtual platform, thus showing the potential for faster development cycles and significant resource savings.
The focus of our work thus far has been on the qualitative improvements and the new capabilities this approach has unlocked for our global team of developers and stakeholders. For BMW, cloud based vECUs have proven to be far more than mere replacements for physical ones. They have helped enable unprecedented global collaboration, accelerated development, and facilitated collaboration.
Hence, these advancements offer a new paradigm shift in automotive software development, allowing more agile, collaborative, and efficient processes that can respond quickly to industry demands and technological innovations.
Throughout this journey, BMW and AWS gained valuable insights shaping our approach to SDV. We learned that cross-functional collaboration between onboard and off-board teams is crucial for success. We observed different visions of SDV among automotive OEMs, suppliers, and independent software vendors, highlighting the need for alignment.
While the results mentioned are specific to BMW’s implementation, there are reports from others in the industry with up to 70% reduction in feature development time and 30% cost reduction in prototyping, highlighting the opportunity in this space.
Outlook and next steps
BMW is focusing on several technical improvements to enhance the capabilities of its vECU platform in three key directions:
- Product Enhancement: Based on feedback from BMWs 2,000+ internal users and launching over 11,000 vECUs, BMW will continually improve and extend the product offering. Examples for this are timing parity between virtual and physical ECUs, expanding support for different automotive network protocols (FlexRay, Ethernet, CAN, etc.) and deepening the integration of BMW’s platform into their CI/CD pipelines.
- Use Case Expansion: Exploring new capabilities for the virtual ECU platform, including onboarding more ECU models to cover more vehicle functionalities, with the long-term goal of a full digital twin of the entire vehicle’s software system.
- AI Integration: BMW is working on integrating artificial intelligence, particularly Generative AI, to help further accelerate its workflows, including providing architectural guidance and code generation (including automotive-specific libraries), automating the generation and execution of test cases and test data, as well as supporting root cause analysis through automated analysis and summarization of communication messages and logs.
The transformation towards AI-defined vehicles represents another paradigm shift in the automotive industry. Through the development of their vECU platform and BMW’s work with AWS regarding AI/ Generative AI, BMW is positioning itself at the forefront of this revolution, ready to meet the challenges and seize the opportunities of the future of mobility.
If you want to know more about this topic and how BMW and AWS innovate on behalf of their customers, you can watch these videos and read about specific use-cases here.
“The collaboration between BMW and AWS demonstrates the transformative power of cloud computing in automotive software development. By virtualizing ECUs and leveraging AWS’s scalable infrastructure, BMW has achieved remarkable gains in efficiency, collaboration, and innovation. This approach not only accelerates time-to-market but also helps enable a more agile and responsive development process, paving the way for the future of software-defined vehicles. We’re proud to support BMW in this journey and look forward to pushing the boundaries of what’s possible in automotive technology.”
Yasser Alsaied, Vice President, Head of AWS Solutions-IOT