1. Cloud native technology
Cloud native is a cloud-based development and deployment framework. Applications based on cloud native frameworks and development concepts are called cloud native applications. Cloud Native is a word composed of "Cloud" and "Native". "Cloud" means that the application is deployed in a cloud environment, while "Native" means that the application is designed with the cloud environment in mind, runs on the cloud platform in the best possible way, and makes full use of the elasticity and distribution of the cloud platform. Advantages.
With the in-depth exploration of the value of automotive software, the understanding and research and development of "software definition" within and outside the industry are becoming more and more in-depth. There are differences among different users on the road to cloud native in the automotive industry. Some traditional car companies have just started, while some have become leaders and have made important progress in adopting new technologies. In the context of software-defined cars, some notable trends can be observed:
-
With software as the core, we put people's needs first and focus on providing high-quality service experience. Cars are no longer just cold mechanical products, but have become more heart-warming.
-
The car has become an intelligent space that integrates office, entertainment, payment, social networking and other functions, and needs to meet personalized needs.
-
New car companies achieve rapid integration and output of multiple services through application decoupling of microservices, establishing service platforms and utilizing Internet of Vehicles technology.
-
The development trend of software is towards microservices and containerization.
While meeting the mandatory functional requirements of different regional regulations, a new model also needs to provide hundreds of functional options, and the number of possible combinations of these options will increase exponentially. Addressing these feature configuration requirements requires a methodology that can develop, test, and deliver capabilities at scale to minimize disruption and interdependencies. In addition, the smooth operation of software is also inseparable from the support of hardware.
Automotive software functions are becoming more and more diverse and complex, placing higher demands on hardware platforms. Unlike the two- to three-year replacement cycle of consumer electronics, the average lifespan of cars tends to be longer. This brings us to a rather challenging question: What hardware platform can provide sufficient flexibility, computing power and data processing capabilities to meet the requirements required for complex scenarios that have not yet occurred?
The answer is software defined. Software definition not only refers to the startup and control of specific functions by software, but also includes the abstraction of the underlying hardware to enable the same software to run smoothly on different hardware. In addition, software definition must also have the ability to be continuously upgraded and updated, and be developed and built based on cloud technology. This software-defined approach provides flexibility and adaptability, allowing the vehicle to adapt to future technological advances and changes in functional requirements. By adopting a software-defined approach, automakers can better respond to changing market demands while providing consumers with more functional options. This method can also reduce the cost of development and maintenance, improve the quality and reliability of software, and provide better guarantee for the overall performance and user experience of the vehicle.
Software-defined cars must meet the following four requirements:
1. Portability
The software must be able to run on different hardware platforms to achieve cross-platform compatibility of the same software. In this way, the software can run smoothly regardless of different models, manufacturers or hardware configurations, ensuring functional consistency and reliability.
2. Cloud development and upgrade
Software must be developed, built and upgraded based on cloud technology to minimize development and maintenance costs. Through cloud development and upgrades, manufacturers can quickly launch new features and fix software defects without the need to physically update each vehicle, improving development efficiency and user experience.
3. Real-time, functional safety and confidentiality
Considering the particularity of the automotive industry, the software must meet real-time requirements to ensure timely response to various instructions and feedback from the vehicle. At the same time, the software must have functional safety and be able to identify and handle potential failures and risks to ensure the safety of the vehicle and passengers. In addition, it is crucial to protect the confidentiality of the software to prevent unauthorized access and potentially malicious attacks.
4. Open architecture
Software architecture must be open to create a larger ecosystem that everyone can participate in. In this way, not only can car manufacturers and suppliers jointly develop and integrate software, but also third-party developers and partners can be attracted to join in to create more innovative and rich functions. Open architecture can also promote software interoperability and improve overall system flexibility and scalability.
As car functions become more complex and diversified, the size of car software code becomes increasingly larger. In this context, cloud-native development methods have become an effective way to promote the cloud infrastructure industry to reduce costs and shorten development time. Currently, cloud computing has entered a mature stage, and cloud native, as an important technology that supports digital transformation, shows great potential in emerging fields such as artificial intelligence, big data, edge computing, and 5G. In the future, more and more applications will be developed based on cloud platforms for local applications, and cloud computing provides many advantages such as resource isolation, distribution and high availability for cloud native applications, maximizing the advantages of cloud computing.
Cloud native applications have some typical application scenarios in car companies:
1. Mainstream DevOps practices usually adopt microservices and containerization.
For content providers and travel service providers in the automotive industry, whether it is speech recognition or the provision of content such as weather and stocks, they can continue to iterate and update their products based on cloud-native technologies and concepts.
2. Data analysis and artificial intelligence fields such as the Internet of Vehicles are naturally suitable for using containerization technology.
通过将训练和推理过程容器化,无状态的算法能够快速得出结论,不仅速度快,还可以节省资源。因此,与人工智能相关的场景非常适合采用容器和云原生技术栈。通过云原生技术,生产制造的上下游链条数据分析可以实现业务全流程的统一化,实现自动化、精细化和智能化的管理。
3、混合多云的车联网协作。
在混合多云的车联网场景里,允许应用在各种云上自由流动和迁移。无论应用、中间件部署在什么云上,用户可以随意迁移,从一个云厂商迁移到另一个云厂商,且不用修改任何东西。
云原生应用
云原生技术的应用实现了应用的敏捷开发,显著提高了交付速度,降低了业务试错成本,高效地响应用户需求,增强了用户体验,加速了业务创新的进程。
当前,汽车行业正处于变革时期,各个汽车软件社区之间存在着竞争和合作的关系。许多汽车软件社区正在推动云原生技术在汽车领域的应用。其中,微软主导的SDV Group、ARM主导的SOAFEE组织等,国内的均胜、东软、中科创达、映驰科技等公司都已经加入了SOAFEE组织,共同致力于推动云原生技术在汽车领域的发展。
汽车软件社区的合作与竞争
二、 SOAFEE 架构介绍
2021年由Arm和其他创始成员共同宣布成立嵌入式边缘的可扩展开放架构SOAFEE(Scalable Open Architecture For Embedded Edge)特别兴趣小组(SIG),联合车厂、半导体公司、软件公司、云技术的领导企业共同定义一个新的开放标准架构来实现软件定义汽车的最低级别技术栈,提供一个参考实现,使云原生技术(如微服务、容器和编排系统)首次与汽车功能安全相结合,从而保持环境对等。SOAFEE 的推出旨在解决三大问题:实现软件在不同芯片解决方案中的复用,轻松实现从云到边缘的软件部署,以及将开发流程往前提,使得开发者能够更早开始软件开发并在汽车上市后部署软件更新。
SOAFEE
在传统的数据中心或服务器端的云端技术无法直接应用于汽车产业的情况下,汽车对于功能安全和实时性的特殊要求成为了最关键的问题。SOAFEE架构通过扩展现有的云端技术,满足了汽车产业对于实时性和功能安全的需求。SOAFEE基于Arm Project Cassini中的System Ready开放标准,实现了底层硬件的抽象化。
云原生在汽车领域的架构由以下两个部分组成:底层是硬件计算平台,上面是固件(firmware),作为系统软件与硬件之间的接口。在系统软件之上,有各种应用和服务,它们在各自独立的环境中运行,这些环境被称为容器(container)。在基于云原生的系统中,这些容器在云端环境中进行开发、测试和验证,然后通过编排器(Orchestrator)的软件模块,为每个容器中的应用和服务配置适当的软硬件资源,使它们能够在汽车中执行任务。同时,在云端,还有一个持续集成/持续交付(CI/CD)模块负责管理应用和服务的更新。
通过引入云原生的概念和SOAFEE架构,汽车软件开发能够更好地满足汽车行业对功能安全和实时性的要求,提高开发效率并推动业务创新。
SOAFEE云原生架构通过System Ready开放标准实现了硬件、固件和系统软件之间接口的统一,达到了第一层的抽象化。同时,通过管理程序(hypervisor)来解决不同操作系统之间共享资源的问题,并利用容器运行时和硬件抽象层(HAL)作为另一层次的抽象化。下图展示了SOAFEE云原生架构的示意图。
SOAFEE 云原生架构
在云端,SOAFEE不仅构建相同的软件环境,还构建了虚拟的硬件环境(Virtual ECU),以确保云端和终端之间的一致性。SOAFEE的重要贡献是将编排器(orchestrator)改进为能够处理功能安全和实时需求的软件模块。
SOAFEE架构解决方案利用容器的特性,可以针对每个容器配置不同的软件和硬件资源。例如,将自动驾驶功能和服务放在独立的容器中,通过编排器(orchestrator),可以配置满足最高级别功能安全要求的硬件和软件环境来为该容器提供服务。另一方面,例如导航,不需要最高级别的功能安全,因为如果这样功耗会非常大,而且会有应用的冗余设计。针对这样的容器配置,不需要最高级别的功能安全,通常也不需要使用分核锁步(split-lock)等机制来支持该容器。因此,不同容器之间存在不同的功能安全需求,这样就可以构建一个灵活的基础,并让编排器(orchestrator)配置适当的软硬件环境,以满足这些不同容器的要求,从而实现整个系统的功能安全目标。
当功能和服务在车辆中执行时,底层硬件必须提供良好的扩展能力,以应对各种计算处理需求,同时在一定功耗范围内实现最佳的运行性能。此外,它还必须提供处理实时性、功能安全和保密性的技术。ARM提供的技术完全可以满足这些要求,因此ARM可以从终端IP技术出发,完善软件定义汽车的架构,并整合汽车产业链对于软件定义汽车的需求。SOAFEE涵盖了各种不同的硬件和IP架构,只要符合软件之间的标准接口,除ARM以外的硬件架构也可以在SOAFEE上使用。
采用SOAFEE后,车厂和一级供应商的软件开发成本将大幅降低。同时,通过不断推出创新的售后服务,可以为车厂创造新的营收来源。对于IC设计和软件供应商来说,他们可以更好地实现产品的差异化,并吸引更多的云端应用开发者参与汽车创新。最终,消费者将享受到更满意的定制化汽车功能和使用体验。
此外,传统汽车的开发流程需要三到四年的时间,而IC芯片的规格是三、四年前的标准。SOAFEE架构可以在确定IC规格之前通过SOAFEE和硬件开发平台进行左移开发,从而决定应用和服务的计算需求,降低了规格不合的风险,并缩短了整个开发周期。
许多公司已经开始使用云平台来开发汽车软件。自SOAFEE推出以来,其成员数量已经翻了两番,目前已经超过50家。这些成员来自汽车供应链的各个环节,涵盖了芯片供应商、软件提供商、系统集成商、云服务提供商、OEM厂商以及一级供应商等各个领域。每周都有新的成员加入,进一步扩大了SOAFEE的影响力和合作网络。如果生态系统按预期发展,很多参与者很可能会逐渐转向SOAFEE。ARM处理器在所有ECU领域都占据主导地位。一旦主要的OEM、Tier1供应商和主要芯片制造商开始采用具备ARM兼容性的系统和软件,SOAFEE将成为事实上的标准。SOAFEE将成为未来汽车生态系统中不可或缺的重要组成部分,为汽车软件开发提供了创新的解决方案。
三、Eclipse Software Defined Vehicle Working Group介绍
2022年3月,Eclipse基金会在其官网宣布成立软件定义汽车工作组。工作组的核心成员有在全世界开发软件最多的Microsoft、世界上最大开源基金会之一的Eclipse,以及全球汽车零部件Top5中的三家:Bosch、ZF和Conti。
The Eclipse SDV working group focuses on using open source and open specifications to accelerate the innovation of automotive-grade automotive software stacks. The working group provides a forum for individuals and organizations, including Accenture, Arm, Bosch Group, CARIAD, Continental, Microsoft, NXP Semiconductors, SUSE, Toyota Motor and ZF Friedrichshafen AG, to build and promote needed Open source software, specifications, and open collaboration models to create a scalable, modular, extensible, industry-ready, open-licensed automotive software platform that supports the development and deployment of in-car and surrounding-vehicle applications.
SDV-related projects focus on a "code first" approach and are committed to building the industry's first open source software stack and related tools to support the core functions of new vehicles. The SDV Working Group believes that this approach will have a material impact on the industry more quickly. The new projects, led by leaders such as Bosch, Microsoft, Continental, ZF, Cariad, Accenture and Eteration, have made their software available to any organization wishing to leverage it for their own vehicle development.
To support the transformation of software-defined cars, key players from the technology and automotive industries are actively developing open source in-vehicle application runtime stacks, cloud-based vehicle operating systems, and highly integrated development tool chains. The Open Source Software-Defined Automotive Initiative aims to provide usable open source code for in-vehicle software across different models, product lines, brands, organizations and time periods. This will greatly accelerate the speed of innovation, production and large-scale vehicle production capabilities with software as the core, significantly reduce the complexity of new vehicle design, and improve efficiency at the same time. Industry players benefit from being able to focus on innovation while saving time and costs on non-differentiating elements such as real-time operating systems, specific parts of the middleware layer, or communication protocols.
Eclipse SDV has currently carried out 32 projects. The following is a brief introduction to the Velocitas and Kuksa projects of Eclipse SDV. Eclipse Velocitas is an end-to-end, scalable, modular, and open source development toolchain for creating containerized and non-containerized in-vehicle applications.
Eclipse Velocitas
Features of Eclipse Velocitas:
-
Project lifecycle management of in-vehicle application repository updates via command line interface.
-
Vehicle abstraction support provides a type-safe and auto-completion way to focus on business logic by using generated vehicle models at the code level. Vehicle models are generated from a standardized API, which hides vehicle-specific signals and electrical/electronic architecture details, allowing in-vehicle applications to be portable between different electronic and software architectures.
-
Microsoft Visual Studio Code's integration with DevContainer helps quickly install everything you need to start local development, while tasks and launch configurations help launch runtime services, other applications, and tests.
-
The skeleton and examples of in-vehicle applications help to understand how to write in-vehicle applications using KUKSA.VAL runtime services.
One of the main functions of the Eclipse Kuksa open source project is to abstract vehicle data and interfaces into a common format based on vehicle signal specifications, etc. VAL is the core component of the Kuksa project. It is mainly responsible for mapping and converting various non-standard formats of data in the vehicle into a unified VSS standard data format, and at the same time providing various standard interfaces for interaction with the outside.
System architecture of Kuksa.VAL
-
Ready-to-use CI/CD workflows can build (for multiple architectures), test, document and deploy containerized in-vehicle applications without relying on electrical/electronic architecture, saving setup time.
Driven by all aspects of the automotive supply chain, including chip suppliers, software providers, system integrators, cloud service providers, OEM manufacturers and first-tier suppliers, the application of cloud native technology in the automotive field will usher in Accelerated development. By improving software development, construction, management and update methods, the efficiency of the entire automotive software system development is greatly improved, while development and maintenance costs are reduced, further accelerating the arrival of the era of software-defined cars.
references:
[1] Song Ke. AUTOSAR specifications and vehicle controller software development. [M]. Chemical Industry Press. 2019-01
[2] China Automotive Basic Software Ecology Committee. Vehicle SOA Software Architecture Technical Specification 1.1. [R]. 2021-09
[3] Dr. Joachim Schlosser. Why Scrum for embedded software. [R]. 2020-07
[4] Stefan Wagener.Jochen Möller.Christof Menzenbach. How high-performance computers shape the user experience in the cockpit of the future. [R].
[5] JASPAR Next Generation High-Speed Network WG. What is the conqueror in the SOA platform for the future in-vehicle networks? [R]. 2021-06
[6] ARM. How the SOAFEE Architecture Brings A Cloud-Native Approach To Mixed Critical Automotive Systems. [R]. 2021-09
[7] Jochen Steuerwald. A tool and workflow approach for automotive ECUs using AUTOSAR Classic. [R].2020-06
[8] Steffen Kuhn. Combined application of agile practices and functional safety in automotive software development. [R]. 2020-10
[9] STEVE HOWARD.JILL BRITTON. Claiming Compliance for Coding Standards. [R].
[10] Trista Lin.David Fernandez Blanco.Juleixis Guariguata. Communication Management in Automotive Service Oriented Architectures. [R]. 2021-11
[11] dSPACE Inc. The future of agile software development and validation for autonomous vehicles. [R]. 2021
[12] Oded Mann.Amit Shah. Future E/E vehicle architectures and the shifting goal post for mainstream OTA adoption. [R]. 2021-10
[13] W3C.GENIVI. Service Oriented Architecture is coming to your vehicle program. [R].2021-04
[14] Anders Kallerdahl. How can we design and configure systems where Adaptive and Classic AUTOSAR co-exist? [R]. 2020-11
[15] Christian Götz. How to Build a Reliable Connected Car Platform with MQTT. [R]. 2020-02
[16] Robert Bosch. INTRODUCTION TO ECLIPSE ICEORYX [R]. 2020-02
[17] Vikrant Bhangay.Shehan P R.Renjith G. Modern day eCockpit Architecture-Approaches & Challenges. [R]. 2020-04
[18] China Association of Automobile Manufacturers. Software-defined automotive service API.
[19] Omkar Panse. Service oriented architecture for software driven vehicles.
[20] ARM. Scalable Open Architecture For the Embedded Edge. [R]. 2021
[21] David Rush.Erich Meier. The Future of Work Digital Transformation in Engineering. [R].2021
[22] Rensas.Opensynergy. Implement virtual I/O device(virtio) standard. [R]. 2021
[23] Gong Xiaoping. Model-based design and development of service-oriented applications. [R]. 2021-05
[24] (France) Nicolas Navit, (France) Francis Simon-Leon. Automotive Embedded System Handbook. [M]. Machinery Industry Press. 2016-01
[25] Wang Jun. IT digital transformation in the automotive industry—DevOps. [R]. 2022-01
[26] Yang Guoliang. Improving the competitiveness of automotive software through Shift Left. [R]. 2021-04
[27] Cloud Native Industry Alliance. Cloud Native Development White Paper. [Z]. 2020-07
[28] China Association of Automobile Manufacturers. China Automobile Basic Software Development White Paper 2.0. [Z]. 2021-09
[29] Yang Shichun. Technical foundation of autonomous vehicle platform. [M]. Tsinghua University Press. 2020-06
[30] Xiao Meng. Middleware and SOA in autonomous driving software architecture. [R]. 2021-10
END