2023年6月15日-16日,在2023第六届自动驾驶与人机共驾论坛上,光庭信息智能驾驶事业部研发中心总监兼智能驾驶实验室主任叶雄飞表示,软件定义汽车时代已然到来,效率成为软件定义汽车行业的主要诉求。
他还表示,提升效率有以下几个解决模式,融合自动化技术,演进研发模式;采用技术货架提升软件研发效率;导入AI转变软件研发的协同模式。光庭通过自研AP工具链;构建细腰型技术货架;优化研发流程;引入技术债理念并首创超级软件工场等实践,致力于提升SOA研发效率。
叶雄飞 | 光庭信息智能驾驶事业部研发中心总监兼智能驾驶实验室主任
以下为演讲内容整理:
提到自动驾驶量产话题,业内更多讨论的是哪家算法更好用, 哪家算法适应的场景更多。但这并不能保证自动驾驶的真正落地。自动驾驶落地还有重要的一环——软件研发,即软件工程,高效的研发落地是取得竞争优势的根本之道。
E/E架构的发展趋势
电子电器架构的升级伴随着软件架构的更新和换代,主要表现为:第一底层软件的标准化、独立化、松耦合;第二应用服务独立于硬件,即软硬分离的需求。以前我们自己的一些算法和应用更多的是绑定硬件,以后自动驾驶算法可能需要传感器的抽象,能够自成一体,摆脱对硬件的深度的绑定和依赖。第三通信从信号导向过渡到服务导向。
在E/E架构的演进过程中,以主机厂为代表的企业开始拓展自己的解决方案。比较典型的案例包括:第一由上汽提出银河全栈3.0 E/E架构;第二由广汽提出的集中式电子电气架构,即星灵架构;第三是长城的GEEP3.x架构;第四是吉利的浩瀚架构SEA与集中式电子电气架构以及长安的SDV E/E架构。
互联网时代,我们通过简单的堆人等方式实现业务的增长,但现在,在以上业界耳熟能详的E/E架构基础上,风口逐渐转向“效率为王”。诚如年初特斯拉降价带给业界的压力,快速推出新产品,提升研发效率至关重要。
汽车研发的效率提升策略
提起研发,我们首先想到的就是软件工程研发模式的转变。以往用瀑布模式就能把我们的研发做的很好。但传统的瀑布模式无法适应当下的快速迭代、持续集成、持续部署。因此,需要引入敏捷模式。敏捷开发提出很多年,但行业中真正把敏捷开发用好的并不多。
除了研发模式的演进,第二个很重要的点在于中国在汽车E/E架构耕耘多年,现在我们的新能源技术在全球处于领先水平,所以行业也积累了很多成熟的技术方案。我们将这些技术方案要点统称为“技术货架”,以便在软件研发过程中,将一些成熟的技术直接拿过来用,提升软件的复用度,同时提升软件研发效率。
第三个解决方案是以ChatGPT为代表的全新一代AI技术引入。以前我们研发是小作坊式,几个人一起把一个项目做起来。后来,通过服务器的方式,大家可以远程在线交流,以协同研发模式开展工作。AI导入后,这种研发模式进一步演进,另外一端不是自然人在和你交流,AI可能会比partner更懂你的需求。并且在第一时间提供更符合要求的解决方案。
关于光庭信息
武汉光庭信息技术股份有限公司是一家行业领先的智能网联汽车软件综合解决方案提供商,是“软件定义汽车”行业变革的引领者和汽车数字化转型的推动者。公司成立于2002年,致力于探索汽车电子软件先端技术的研发与创新,形成了以智能座舱、新能源、智能驾驶、智能车云及数字地图等多项产品解决方案和技术服务为支撑的核心竞争实力。目前,公司现已形成近3000人人员规模,并以武汉为总部,在重庆、南京、上海、山东、沈阳及日本东京等地成立了多家子公司,与全球知名的汽车零部件供应商和汽车整车制造商构建了长期稳固的战略合作关系。
光庭的应用实践
首先是工具链提升研发效率。光庭磐石是通信中间件服务化开发测试工具链,首先能支持我们自己的服务定义,尤其是早期SOA设计阶段对服务的定义;其次支持服务配置、服务框架代码生成、服务的自动测试,从设计直到最后验证,形成闭环的开发流程。
我们的服务配置工具以VS CODE插件的形式体现。可以在早期把我们的服务以表格的形式定义出来,大家再在表格中分别定义自己的服务,包括通讯数据、数据结构等。
另外我们还有Development Studio代码生成工具,可以在插件里把服务矩阵生成的服务接口,以框架形式生成Skeleton/Proxy 代码;然后在AutoTest Tool中实现代码的自动测试,同时生成测试用例,实现TDD的研发理念。
第二个是上述提到的技术货架,光庭构建了细腰型技术货架。基于21年的开发经验和量产项目技术积累,目前光庭初步形成了:操作系统技术平台;基础软件技术平台;自动驾驶技术平台;动力域控技术平台;智能座舱技术平台。
我们将技术体系和产品体系分离,强化基础技术体系的货架建设。搭建了KCarOS技术创新体系;并在此基础上构造出产品创新体系。以基础平台为腰部支撑,支持快速的产品开发。
同时我们引入AI技术,借助AI对技术货架进行训练学习。以后,当我们进行新项目开发时,可以通过代码注释,借助AI从我们的技术货架上搜索到代码进行匹配。
第三个是研发流程的改善。上述提到,传统的瀑布方式难以适应当下频繁变更的研发节奏。光庭持续关注研发流程的改进,早在2009年就提出了KMS管理体系。
2009年的汽车电子行业是面向导航电子系统开发。很大程度上和嵌入式软件开发相似。KMS V1.0的软件研发体系和瀑布模型强关联,以指导和规范软件研发流程,增强软件研发品质。其后,我们不断优化调整我们的研发体系,并通过了CMMI1.0的L5级认证。但随着产业不断发展,出现了更多智能网联的产品形态,这些产品的研发需要兼顾效率与成本的因素。所以,我们在2019年升级到了KMS V2.0,引入了中国流的理念,改进了瀑布研发流程。
2020年,我们将ASPICE流程融入到了KMS体系之中,升级为KMS V2.5。主要面向兴起的像仪表、自动驾驶等考虑功能安全、信息安全的业务。主要应对:高安全需求;架构的标准化需要;多种开发领域需要。
2021年光庭IPO上市成功后,在软件定义汽车的背景下,我们以AI技术指引研发,提出了超级软件工场的理念,其主要特点是软件的研发更智能化、更自动化。
有必要一说的是,关于敏捷实践,很多同行认为敏捷实践是个轻文档、轻过程的项目研发理念。光庭不是这么认为的,在光庭过CMMI2.0的L5级认证时,80%以上的项目都是敏捷实践的项目。我们的信心在于,我们在敏捷实践过程中引入了CICD的开发理念,可以通过TDD方式在设计之初,就把测试用例做好;通过测试不断驱动研发。
另外是光庭中国流研发实践。中国流的提出是我们在做传统V模型过程中,研发流程比较重型,开发周期比较长这样的大背景下做出的。中国流的核心是追求效率与成本平衡的高性价比研发流程体系。可以实现成本节省30% 工期缩短50%。
图源:光庭
第四个是我们引入了“技术债”的理念。“技术债”指开发人员为了加速软件开发,在应该采用最佳方案时进行了妥协,改用了短期内能加速软件开发的方案,从而在未来给自己带来的额外开发负担。
首先如何评估技术债?目前国际上通用的模型是SQALE。它可以清楚的说明代码在哪些方面的技术负债较高。但这种评估方式只是方法论,评估过程比较耗时。一般我们会引入工具进行技术上的评估。比较典型的是CppDepend,它可以基于代码评估技术负债率,并将术负债展现给用户。
技术债会产生年度利息和严重程度。即如果不早点还清技术负债,随着时间推移,系统会越来越难维护,技术债务越来越高。
最后一个关于超级软件工场。在软件定义汽车时代面临着两个突出矛盾,第一个汽车结构越来越复杂;第二个既懂汽车电子,又懂软件的专业人才严重缺乏。在这种情况下,传统的研发模式一定会形成人员的竞争,甚至出现恶性竞争。
我们通过人、机、料、法、环,把研发流程和技术货架有机关联,再实现研发的智能化和自动化。
第一个场景,当和客户谈项目时,需要分析客户需求,做技术提案和工时评估与报价。超级软件工场应用AI技术进行客户SOW分析,再从技术货架中搜索,找出与客户需求相匹配的功能点,工时评估和报价也都是自动的。如果当前光庭的技术货架没有完全覆盖客户需求,AI也会将没有覆盖的内容全部罗列出来,在此基础上进行人工分析。
第二个场景是对客户需求的分解与结构化。每个公司都有自己的需求管理体系,我们用AI辅助对需求做分解和结构化;第三个场景根据每个需求点,从技术货架中搜索时序图以及详细的设计资料。当然这个设计还需要我们的专家进行评审,AI也会提醒需要做哪些方面的评审。第四个场景完成设计后,进行编码。AI辅助代码生成可以满足我们的要求,前提条件是我们的技术货架要有丰富的代码。
第五个场景是对应代码的评审,我们的代码评审会有片段源码的输入,AI辅助会输出问题列表和改进方案,我们再对应的进行修改和更新。