Arm announced its SOAFEE (Scalable Open Architecture For Embedded Edge) software framework project on Sept. 15. Other companies are involved, and many more are expected to join the effort. Arm defines SOAFEE as an open software architecture and reference software implementation that operates in real time and is safety-aware.
The software architecture enables cloud technologies to be combined with automotive functional safety and real-time requirements. SOAFEE prototyping and early development are underway.
This is an excellent move by Arm, and it is likely to succeed. SOAFEE leverages many growth trends in automotive software development, including using cloud platforms along with related technology and ecosystems. SOAFEE is also positioned to benefit from the growing automotive demand for software-as-a-service (SaaS).
The table below summarizes the Arm SOAFEE project.
The open-source reference project is a software framework for cloud software development, deployed as embedded automotive code.
SOAFEE’s goal is to leverage the benefits of cloud-native development to solve the challenges and constraints of the automotive complexities such as functional safety and real-time control. Cloud-native includes a number of technologies, workflows and design strategies that can improve the development, deployment and updating of automotive software—from production through vehicle lifetime.
SOAFEE also leverages two earlier Arm initiatives—Project Cassini and Arm SystemReady. Project Cassini is an open, collaborative, standards-based initiative to deliver cloud-native software across Arm’s edge ecosystem. Project Cassini leverages diverse, Arm-based platforms to create a secure foundation for edge applications.
SystemReady is a compliance certification program based on a set of hardware and firmware standards. The standards include the Base System Architecture and Base Boot Requirements specifications along with market-specific supplements.
A special interest group has been launched but so far there is no website available. The 20 companies already supporting SOAFEE are SIG members, with many more expected to join.
SOAFEE has multiple advantages for developing automotive software based on the Arm platform, accelerating cloud-native technology for automotive software development and deployment.
Software portability across Arm-based hardware and software platforms will increase. Software quality is also expected to improve due to better development tools. Code quantity should also grow based on faster development time and lower cost.
Many of the advantages are based on the technology used by SOAFE, summarized below. Software containers are a key technology responsible for many SOAFEE advantages.
Cloud-native technology has been used successfully in cloud software development and is central to the SOAFEE framework. Those technologies are software containers, a microservice architecture, orchestrators and DevOps. What follows is a summary of Arm’s white paper explaining its SOAFEE approach.
Container technology is perhaps the most important for automotive software. The analogy with shipping containers is useful: Shipping containers isolate content from other goods during the transit, protecting contents from weather and theft.
Software containers include application code, configuration files, libraries and the dependencies required to run apps. A container can be thought of as a virtualized app that can be ported to other systems. However, the container is tied to a specific OS as well as its hardware and software capabilities.
Software containers have worked well in cloud deployments and data centers. SOAFEE uses the same technology for cloud development with deployment in auto ECUs.
As the name implies, a microservice is a service-oriented architecture approach in which applications are built as a collection of small independent service units. The software engineering method focuses on dividing an application into single-function modules with well-defined interfaces. In a cloud-native deployment, microservices are encapsulated in a container. This enables a microservice to execute in the defined container runtime environment, and deployment can be managed and monitored by an orchestrator.
Microservices are defined as loosely coupled because changes to one service should not affect the performance of another. This means the microservice can be tested in isolation from the rest of the system. The structure enables complex systems to be divided for testing of individual services before integration testing of fully composed systems.
The orchestrator is a vital component of the cloud-native ecosystem, managing the configuration, deployment and monitoring of the microservice-based app. Orchestrators use multiple standard interfaces:
- Container Runtime Interface between orchestrator and container runtime;
- Container Network Interface, a standard for configuring and controlling networks, firewalls and other components;
- Container Storage Interface, used to expose storage available to container instances; and
- Device Plugins that enable managed access to system resource within containers.
The orchestrator uses these interfaces to manage complex application deployments by enabling communication between microservices and access to data needed for proper operation.
There are several orchestrator options, with Kubernetes emerging as a default industry standard. Also known as K8s, Kubernetes is an open-source orchestrator for automating deployment, scaling and management of containerized applications. Lightweight Kubernetes or K3s have smaller footprints and are more suited to embedded and resource-constrained environments.
The workflow aspect of the cloud-native is called DevOps, development workflow combined with deployment operations. Combining the two disciplines in a defined and managed way makes it possible to streamline development, deployment and continual improvement of the applications.
DevOps will be especially useful for managing automotive software during the lifetime of a vehicle, including cybersecurity, over-the-air bug fixes and functional software updates as well as growing amounts of SaaS.
SOAFEE leverages cloud-native frameworks to benefit from best practices and standards. However, automotive software requires enhancements to cloud-native technology. These include the ability to deploy ECUs using heterogeneous computing architectures that mix application and real-time processors, including a range of accelerators.
Through working groups, Arm and its partners aim to understand current gaps in cloud-native technology and work with relevant standards bodies. Collaboration will help bridge gaps, enabling application of cloud-native frameworks to automotive domains.
Orchestrator enhancements are most needed due to the safety and real-time requirements of automotive software. Enhancement examples include I/O bandwidth and guaranteed execution time. Orchestrators also must be able to express the additional runtime requirements of automotive software.
The next step is to enhance the container runtime to meet automotive demands. The preferred path is to use a virtualized container runtime. SOAFEE developers are working with the Open Container Initiative standards body to implement the container runtime enhancements.
DevOps enhancements must target automotive testing and validation, ranging from cloud activities to lab development to in-vehicle test drives. The cloud-native technology for CI/CD, or Continuous Integration/Continuous Development, also will transition to automotive software to deliver additional capabilities.
A key SOAFEE value proposition is the portability and reuse of automotive software platforms and applications. To achieve portability, enhancements are needed for accelerators and high-bandwidth IO devices. Functional safety and real-time capabilities are also part of the equation.
VirtIO is a standardized interface which allows virtual machines to access simplified “virtual” devices. SOAFEE is exploring how VirtIO can help.
These cloud-native enhancements for automotive applications remain a work in progress.
The initial version of SOAFEE reference software stack is available now, enabling development of cloud-native automotive software. The SOAFEE reference software can be downloaded here.
To use the SOAFEE software framework, developers need a reference hardware platform. Two platforms are available from ADLINK. A system for lab development is available with a 32-core Ampere Altra SoC. A ruggedized reference hardware platform is also available for use with in-vehicle testing using an 80-core Ampere Altra SoC.
The reference hardware and software framework enable development and testing of SOAFEE-based ECUs for cockpit, ADAS, AV and powertrain applications.
Arm will need a lot more hardware and software components to build a strong cloud ecosystem and accompanying embedded automotive products. This will take time, but Arm has made a promising start.
Arm’s SOAFEE strategy is likely to succeed, but there is room for competition.
Many companies have embraced cloud platforms to develop automotive software. Those entrants are likely to move to SOAFEE over time if the ecosystem grows as expected. Hence, they are unlikely to be direct competitors.
Leading processor platform companies are likely competitors, most notably Intel Corp. Nvidia can leverage SOAFEE even if its proposed acquisition of Arm does not succeed. My experience with the PC industry suggests there is a short window of opportunity to compete with SOAFEE.
Why? Because Arm processors are dominant in all ECU segments. Once big OEMs, Tier-1 suppliers and key chip makers with Arm-compatible systems and software start using SOAFEE, the battle will be won. This could happen in about two years, making SOAFEE a de facto standard.
The automotive software industry was already moving to cloud software platforms in developing new application and system software. SOAFEE adds capabilities that are used in IT and cloud applications, but with specific capabilities needed for vehicle deployment.
SOAFEE will add real-time operation and safety capabilities for cloud development and equivalent capabilities for the embedded software platforms deployed in ECUs—for the lifetime of a vehicle.
Arm is positioning SOAFEE to become the de facto standard for automotive cloud-native software development.
SOAFEE is not generating new revenue for Arm—at least not yet. However, it increases barriers to entry for processor competitors in the automotive market—a barrier already quite high.
While I believe Arm’s strategy will succeed, many questions remain about how SOAFEE will affect various parts of the automotive software business and supply chain.
>> This article was originally published on our sister site, EE Times.
|Egil Juliussen has over 35 years’ experience in the high-tech and automotive industries. Most recently he was director of research at the automotive technology group of IHS Markit. His latest research was focused on autonomous vehicles and mobility-as-a-service. He was co-founder of Telematics Research Group, which was acquired by iSuppli (IHS acquired iSuppli in 2010); before that he co-founded Future Computing and Computer Industry Almanac. Previously, Dr. Juliussen was with Texas Instruments where he was a strategic and product planner for microprocessors and PCs. He is the author of over 700 papers, reports and conference presentations. He received B.S., M.S., and Ph.D. degrees in electrical engineering from Purdue University, and is a member of SAE and IEEE.|
- SOAFEE architecture for embedded edge enables software defined cars
- Tracking AV software platforms
- Cloud platform delivers automotive data
- Understanding AV complexity
- Amazon reaches deeply into automotive
For more Embedded, subscribe to Embedded’s weekly email newsletter.