“下一代汽车软件的开发到底是什么形式?什么是整车OS?”6月8日,在由AspenCore主办的2023国际AIoT生态发展大会智能网联汽车分论坛上,易特驰端到端产品总监程钧杰先生引出这两个问题开始了他的演讲。
同样是软件的开发,汽车软件开发和传统手机软件却开发大相径庭,手机软件的开发是针对固定的操作系统来进行的,也正因如此无论底层的硬件如何改变,上层的应用也只需调用相应的接口即可简单的完成功能的实现。
而对于汽车软件而言,由于现今的汽车都是分布式的,由很多不同的ECU组成,每一个控制器都可能来自于不同的厂商,所以一个简单的功能实现也许就会涉及到四五个控制器的变更,而这些变更都需要进行完整的汽车测试。为了确保功能安全和开发设计,一个简单功能的实现甚至会需要半年以上的时间,因此汽车行业迫切需要一个集中式的系统,可以像开发手机软件一样去开发汽车软件。
整车OS的初衷和主要的动机就是要解决这样的一个问题,即客户对于汽车功能不断扩张的需求,与现有开发模式速率不匹配的问题。现有开发模式下,汽车软件的一个简单功能可能需要半年以上时间来开发测试,但对于用户来讲肯定是功能越多越好,更新越快越好,这就产生了矛盾。
所以开发者需要的未来整车OS,是建立在面向服务的体系结构(SOA)下的,或者说SOA已经成为整车OS的代名词。在整车OS中,开发者只需要用SOA中间件,而不需要去学习控制器如何操作,所有控制器的控制逻辑保留在下层,只向上或对外暴露出一个标准的接口,将业务逻辑层的代码交给外部去调用。所以SOA的重要特征就是有一个SOA中间件,可以把底层的硬件抽象化独立出来,并且暴露出来一个标准的独立接口,供应用层调用。
其实各个整车厂都在尝试做自己的SOA中间件,也就是自己的操作系统,但是从技术方面来讲,都是基于传统的AUTOSAR AP来实现的。而传统的AUTOSAR AP缺陷就是耗时且复杂,实际上会AUTOSAR AP的开发人员并不多,因为AUTOSAR AP不但要精通C++等语言,还要了解汽车整体的网络通信,甚至某些域控制器里的安全规则逻辑。市场上AUTOSAR AP开发人员的储备只有10到20万左右,而这些开发人员也早已被各大汽车厂商消化掉了。一方面在市场上难以找到非常了解这方面开发的工程师,人才稀缺,另一方面这些工程师想要了解自己的工作任务,任务量也非常吃紧,所以这会极大影响开发效率。
现在的整车厂多把自己的SOA中间件放在实时功能域或者QM安全域中去执行,虽然在硬件性能上会比其他域控制性能更高,看起来没有什么问题,但是实时域是用于自动驾驶的,它是需要毫秒级实时反馈的控制器。假如遇到某些需要密集计算的驾驶场景,同时SOA中间件也提出了计算需求,就会在计算资源并不富裕的情况下出现计算的峰值。这存在潜在的安全风险,即可能在计算资源不够时,出现一些延误的判别,比如也许前一秒就需要刹车,但实际的刹车时间却延误了。
生态指的是什么呢?做SOA中间件目的又是什么?整车厂商想做SOA中间件,首先是想快速地提高开发性,其次是想吸收市面上会做软件开发的人,来帮助他们一起让车企应用层面的东西变得更加丰富。但这里就存在一个问题,即车企自身的开发者数量有限,在开发者不够的情况下,更没有可能吸引第三方的开发者。同时每一家车企都在做自己的SOA中间件,标准各不相同,面对不统一的标准,开发者写同样的代码,却需要去适配不同的厂家,这对其来讲是灾难性的。
易特驰一直在做的一些努力,就是尝试将手机软件、互联网软件开发等成熟的模式复制到汽车软件开发的领域。现如今进行汽车软件的开发,难度十分之高,从语言层面来讲C++是必须的,所以易特驰尝试了用Python去书写汽车应用层的代码,在语言层面降低难度,后续甚至有可能会支持java。
而在有了语言上的支持之后,就需要有一套标准化的API调用方式。比如利用Python编程实现了某一功能,新的功能肯定需要进行实车的测试,但购买真车测试的成本高昂,这时就需要在集成开发环境里,提供一个虚拟的仿真环境,来部署进行测试。目前,易特驰虚拟仿真环境下的代码调试,整车模拟了100多个控制器,可提供相当可观的数据量。
云原生,这是一个已经在互联网IT行业使用了十几年甚至二十几年的概念,它指的是在云端上有各种丰富好用的框架,涉及到数据库、中间件、消息件等,很多的开发者都会使用里面的框架。要想把云原生搬到汽车行业,发挥其优势,至少需要一个可以让它运行起来的环境,这个环境可分为:
易特驰的核心观点是:云原生的开发并不是一定会取代现有汽车组成中的某一块,而是会在很长的一段时间里与各个开发进行融合,这是一个长期融合的过程,并不是一个取代的关系。
首先,云原生的日常就是开发各种手机软件、网站、大数据、云、AI等,其使用的语言框架就是Python、Java等,这在语言方面就已经降低了难度。其次,开发者已经很熟悉它目前所用的框架,当把这些框架延伸到汽车行业,迁移的成本是非常小的,只需要做好中间层软件的适配。最后,它的人才储量是相当丰富的,会AUTOSAR AP开发的工程师储备只有10到20万,但会Python软件的工程师保守估计都有2000万,且不包括长期做后端的Java工程师,这是两到三个数量级的人才储备优势。语言门槛的降低,迁移成本小,加之大量的人才储备,这势必能大幅提高汽车软件开发的效率。
易特驰在安全领域有一个比较独特的解决方案,名为“安全守卫”,其中心思想是在操作系统、软件层面上做一个隔离,数据跟性能上的隔离。因为在安全方面的一个痛点是,当在对每一个控制器进行开发时,每个控制器软件里面都会有涉及到功能安全的代码。易特驰设想:“功能安全的代码能不能从一个统一的入口来告诉我们的开发人员,统一地用操作系统层面管理起来,这样的话开发者在面对那么多控制器进行开发的时候,并不需要找每个控制器,它有一个什么功能安全的规则,我去找找看,而是从操作层面有个统一的入口文档,进行功能安全的开发,就是我们提出的概念。”
易特驰目前向汽车行业作出的贡献都是开源的、免费的,现今在开发人员中以插件的形式发布的已经比较流行的开发工具,比如Eclipse Velocitas和Eclipse Leda就都是开源的。
除了开源软件之外,易特驰还在欧洲联合了其他各个汽车厂商进行API的统一。比如SOAFEE组织,作为标准化的框架,它能够增强经过验证的云原生技术,改进软件的开发、构建、管理与更新方法,在大幅提高整个汽车软件系统开发效率的同时,降低其开发和维护成本。COVESA组织,则试图用一种标准化的语言,来描述一辆车有什么样的功能,他们称之为整车数据模型。如果有了统一的标准,建立了完善的SOA生态,汽车软件的开发将变得更加统一和高效率。
最后,在该次演讲的尾声,程钧杰先生表达了易特驰的愿景及对于汽车软件开发未来的期望:“我们最大的期望就是要让更多的开发者参与到汽车软件应用的开发,并且按照苗部长的指示:希望以后助力汽车行业打造一个非常重要的自主可控的,具有高性能世界领先的车规级的操作系统,这是我们博世易特驰的愿景。”
泰凌微电子、Melexis、珠海昇生微、虹茂半导体、虹美功率半导体、中科银河芯、安谋科技、Nordic、艾睿电子、盛博科技、意法半导体、中国光博会、荣睿达、鸿鼎业、磐启微、SiliconLabs、Mouser、芯智云、创芯在线、创新在线检测、清微智能、泰克科技、移远通信、兆易创新、InvestHK 香港特別行政區投资推广署、戴尔科技集团、BEKEN博通集成、Qorvo、蓝牙联盟、中移物联