首页 > 其他分享 >电子电气架构 -- 新的架构带来的软件革命

电子电气架构 -- 新的架构带来的软件革命

时间:2024-12-04 19:04:59浏览次数:8  
标签:SOA 架构 -- 电气 服务 车企 开发 软件

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的豁达,往不幸上面喷“香水”来掩盖问题。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

时间不知不觉中,快要来到元旦。2024快要结束,2025又开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

本文主要讲述软件革命⸺功能独立,基础软件平台创造新机遇。

一、背景信息

随着汽车逐渐成为“轮子上的电脑”,车载软件在整车BOM(物料清单)中的占比显著增加,这对传统车企的架构、研发体系、流程和观念都提出了严峻的挑战。

传统ECU(电子控制单元)架构及其附带的软件在面对复杂的车载软件集成需求时显得力不从心。功能之间的紧密关联导致无法实现差异化,用户无法感知到功能的差异性,同时产生了大量冗余和臃肿的软件代码。此外,随着跨终端应用和服务需求的增加,需要为不同功能设定独立的生命周期管理与迭代,这进一步加剧了传统架构的局限性。

传统车企的架构及其背后的研发体系、流程和观念在面对这些挑战时显得捉襟见肘。软件能力的缺失和日益复杂的软件集成使得车企不得不将大量技术、资金与时间投入到查漏补缺中,而原有的研发重点则被迫忽视或推延。这种“不断救火”的恶性循环不仅影响了车企的研发效率和产品质量,还导致了资源的浪费和成本的增加。

二、SOA(服务导向架构)带来软件新机遇

将功能独立出来,并将架构从“信号导向”转变为“服务导向”(SOA)的观点,正是汽车行业在智能化、网联化转型过程中的重要趋势。SOA(Service-Oriented Architecture,面向服务的架构)作为一种架构类型或指导思想,其核心要义确实如您所述,包括用抽象层分离软件与硬件、用一套基础软件平台承载独立的功能、以及用功能集的方式增加软件复用率:

1、用抽象层分离软件与硬件:

在SOA架构中,抽象层起到了至关重要的作用。它使得软件可以在不同的硬件平台上运行,而无需关心底层硬件的具体实现。这种分离提高了系统的灵活性和可扩展性,使得软件可以更容易地适应不同的硬件环境和需求。

抽象层的引入还为实现软硬件的完全分离以及域融合提供了重要基础。这有助于降低系统的复杂性和冗余度,提高整体性能和可靠性。

2、用一套基础软件平台承载独立的功能:

在SOA架构中,各个功能被设计为独立的、可重用的服务。这些服务可以被不同的应用程序和业务场景复用,从而提高了开发效率和系统的可维护性。

一套统一的基础软件平台可以承载这些独立的功能服务。这些功能可以是传统的Blackbox(黑盒)功能,也可以是全新的智能网联功能,甚至可以是存在于云端和其他终端设备的功能。这种设计使得系统可以更加灵活地组合和调用不同的服务,以满足不同的业务需求。

3、用功能集的方式增加软件复用率:

通过将功能设计为独立的、可重用的服务,并构建功能集(Function Catalog),可以显著提高软件的复用率。这有助于降低开发成本和时间,提高系统的质量和稳定性。

功能集还可以促进不同系统和服务之间的互操作性和跨平台的兼容性。这使得车企可以更加高效地整合和利用现有的技术和资源,加速智能化、网联化转型的进程。

总之,将功能独立出来,并将架构从“信号导向”转变为“服务导向”(SOA)是汽车行业在智能化、网联化转型过程中的重要趋势。SOA架构的核心要义包括用抽象层分离软件与硬件、用一套基础软件平台承载独立的功能、以及用功能集的方式增加软件复用率。这些要义的实现将有助于车企提高系统的灵活性和可扩展性、降低开发成本和时间、提高系统的质量和稳定性,从而加速智能化、网联化转型的进程。

在这里插入图片描述

在这里插入图片描述

SOA(Service-Oriented Architecture,面向服务的架构)在汽车行业中的应用,确实展现了其强大的多功能、多终端无缝连接能力。通过SOA架构,车企可以高效地整合和利用传统ECU功能、独立的智能网联服务、云端服务、智慧交通体系内的服务以及其他终端设备,实现功能之间的高效沟通和协作。

随着SOA架构的广泛应用,基础软件平台解决方案将成为车企需要把握的价值高地。这一解决方案包含了抽象软件层和基础服务层(包括OS、车内网络、诊断等固件),为车企提供了强大的软件支撑和灵活性。通过这一平台,车企可以更加高效地开发、部署和管理车载软件,提高系统的整体性能和可靠性。

同时,SOA架构也为供应商带来了全新的产品机遇。这些机遇不仅限于软件平台本身以及端到端应用软件的提供,还包括相关的服务提供,如云服务、OTA(Over-The-Air,空中下载技术)服务等。供应商可以依托SOA架构,为车企提供更加全面、专业的解决方案和服务,共同推动汽车行业的智能化、网联化转型。

三、软件的工业化生产

“软件工厂”理念在汽车行业中的应用,确实展现了ICT(信息通信技术)行业与汽车行业融合的趋势。随着车载软件代码量的不断增加,汽车行业玩家开始借鉴ICT行业的成功经验,通过打造软件工厂来提高软件开发的效率和质量。

戴姆勒旗下的全资软件开发公司MBition正在打造的软件工厂,正是这一趋势的缩影。通过对软件组件的标准化、结构化运用,软件工厂能够实现快速开发,将软件开发从“定制化手工制作”转变为“自动化产线制造”。这种转变不仅提高了软件产品的一致性和品质,还大大提升了开发效率。

软件工厂为开发者提供了可行的软件框架、配套的开发指令、预设的程序模板、可复用的代码以及伴随开发进程可以连续测试的环境。这些工具和环境使得开发者能够更加高效地拆解需求模块,并将其分配至各个“产品线”。每个产品线再根据新需求识别可以复用和需要新开发的部分,判断开发工作所需资源,最后部署开发、测试工具并完成任务。

在这里插入图片描述

相比于传统的“手工”开发模式,软件工厂具有以下显著优势:

-> 提升软件产品的一致性和品质:通过标准化、结构化的软件组件和流程,软件工厂能够确保每个软件产品都符合既定的标准和规范,从而提高产品的一致性和品质。

-> 提高开发效率:软件工厂通过提供可复用的代码和模板,以及自动化的开发和测试工具,能够显著缩短开发周期,提高开发效率。

-> 提前识别开发工作量,前置风险:在软件工厂中,开发者能够根据现有能力拆解需求模块,并判断开发工作所需资源。这使得车企能够提前识别开发工作量,前置风险,从而更加准确地预测整个开发和部署流程。

-> 提升车企对软件工作的资源配置和进程管控能力:通过软件工厂,车企能够更加灵活地调配资源,优化开发流程,从而实现对软件工作的有效管控。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

标签:SOA,架构,--,电气,服务,车企,开发,软件
From: https://blog.csdn.net/Soly_kun/article/details/144175322

相关文章

  • 解释ResNet代码,而且一步一步教你怎么跑通!提供完整数据集和代码
    ResNet网络用到了残差块,可以看一下上篇简单了解。上一篇简单了解一下ResNet。        如果重新训练模型的话会很慢,我选择直接用官网训练好的模型参数进行微调就行(就是直接加载参数,然后训练批次小一点,效果就很好),官网的这个网络是做图像分类的。步骤一:下载预训练模型......
  • 代码随想录第五十天
    1.图论基础图论的基础概念:图(Graph)图G=(V,E)G=(V,E)G=(V,E)由两个元素组成:顶点集VVV:图中的节点,通常用字母或数字表示。边集EEE:表示顶点之间的连接关系,边通常由一对顶点表示,形式为(u,v)(u,v)(u,v)或(u,v)(u,v)(u,v)(对于有向图)或者{u,v}{u,v}{u,v}(对于无向......
  • 手把手教你华为鸿蒙开发第十章
    华为鸿蒙开发:深入探索Tabs组件的定制与应用引言在移动应用设计中,标签页(Tabs)是用户切换不同内容区块的重要界面元素。华为鸿蒙操作系统提供的Tabs组件支持开发者创建高度定制化的标签页界面。本文将通过DevEcoStudio详细介绍Tabs组件的使用,包括基本设置、动态生成标签页......
  • C#中的数组2
    一、数组的遍历技巧foreach循环:这是一种简洁的遍历数组的方式,它可以自动遍历数组中的每个元素,而不需要显式地使用索引。例如,对于int[]array={1,2,3};,可以使用foreach循环来遍历: for循环的反向遍历:有时候需要从数组的末尾开始向前遍历。可以使用for循环来实现,例如对于int[......
  • python毕设 电影推荐系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于电影推荐系统的研究,现有研究主要以通用推荐算法为主,如协同过滤算法、基于内容的推荐算法等在电影推荐领域的应用研究较多。专门针......
  • 运用Python爬虫与代理IP实现电商数据采集 代码示范
    python爬虫结合代理ip获取电商数据可以通过使用Python的requests库结合代理IP来获取。这里以简单模拟获取某个网页内容为例,实际应用中大家需要根据具体电商平台的接口、页面结构等进行针对性调整,并且这里假设大家有可用的代理IP列表,示例中使用了免费的代理IP测试网站httpbin.or......
  • 基于微信小程序的校园二手书籍交易平台的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于SpringBoot的智能旅游网站系统的设计与实现(源码+LW+讲解和调试)
     目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 基于SpringBoot的游戏分享网站的设计与实现(源码+LW+讲解和调试)
    目录:博主介绍:  完整视频演示:系统技术介绍:后端Java介绍前端框架Vue介绍具体功能截图:部分代码参考:  Mysql表设计参考:项目测试:项目论文:​为什么选择我:源码获取:博主介绍:  ......
  • 分类算法中的样本不平衡问题及其解决方案
    一、样本不平衡问题概述在机器学习的分类任务中,样本不平衡是指不同类别训练样本数量存在显著差异的现象。这一差异会给模型训练和性能评估带来挑战,尤其在处理少数类样本时,模型可能难以有效学习其特征。以二分类为例,理想情况下正负样本数量应相对平衡,如各1000个样本时,模......