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

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

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

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

时间不知不觉中,快要来到元旦。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正在打造的软件工厂,正是这一趋势的缩影。通过对软件组件的标准化、结构化运用,软件工厂能够实现快速开发,将软件开发从“定制化手工制作”转变为“自动化产线制造”。这种转变不仅提高了软件产品的一致性和品质,还大大提升了开发效率。

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

在这里插入图片描述

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

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

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

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

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

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/482659.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

后端 Java发送邮件 JavaMail 模版 20241128测试可用

配置授权码 依赖 <dependency><groupId>javax.mail</groupId><artifactId>javax.mail-api</artifactId><version>1.5.5</version> </dependency> <dependency><groupId>com.sun.mail</groupId><artifa…

【零基础学习UDS诊断测试】——0x10测试用例设计

从0开始学习CANoe使用 从0开始学习车载测试 相信时间的力量 星光不负赶路者,时光不负有心人。 目录 1.概述 2.三个会话介绍 3.会话切换逻辑 4.会话响应格式 5.解析测试点 5.1. 0x10 5.1.1 具体用例设计 5.1.1.1 NRC否定响应码 6.详细用例展示 1.概述 主要基于诊断调查表介…

【Robocasa】Code Review

文章目录 OverviewalgoInitializationImportant Class MethodsTrain LoopTest Time ConfigsdemoConfig FactoryConfig StructureConfig Locking默认锁定状态配置修改的上下文管理器 dataset示例数据集对象参数说明 model基础模块EncoderCoreVisualCoreScanCore随机化器 (Random…

阅读笔记--知识蒸馏

1.一些基本概念 教师模型&#xff08;Teacher Model&#xff09;&#xff1a;预训练复杂神经网络&#xff0c;高精度&#xff0c;计算存储开销大。学生模型&#xff08;Student Model&#xff09;&#xff1a;简单参数少推理快的模型&#xff0c;目标从教师模型获取知识&#…

【Maven Helper】分析依赖冲突案例

目录 Maven Helper实际案例java文件pom.xml文件运行抛出异常分析 参考资料 《咏鹅》骆宾王 鹅&#xff0c;鹅&#xff0c;鹅&#xff0c;曲项向天歌。 白毛浮绿水&#xff0c;红掌拨清波。 骆宾王是在自己7岁的时候就写下了这首杂言 Maven Helper A must have plugin for wor…

一些基于宏基因组的巨型病毒研究

Introduction 上次已经介绍了巨型病毒的一些基本内容&#xff0c;也讲到了不依赖培养的方法是从环境样本中发现巨型病毒基因组成的不可或缺的工具。可以通过基因组解析宏基因组学来从环境序列数据中获取 NCLDV 基因组并进行深入研究如功能基因&#xff0c;宿主&#xff0c;进化…

李宏毅深度强化学习入门笔记:Actor-Critic

李宏毅-深度强化学习-入门笔记&#xff1a;Actor-Critic 一、深度强化学习简介二、Policy-based 方法&#xff08;一&#xff09;学习一个 Actor&#xff08;二&#xff09;Deep Learning 的 3 个步骤1. 确定 Function&#xff1a;作为 Actor 的神经网络2. 确定 Actor 的好坏3.…

基于Java Springboot成人教育APP且微信小程序

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信…

知乎启用AutoMQ替换Kafka,开辟成本优化与运维提效新纪元

作者&#xff1a;知乎在线架构组 王金龙 关于知乎 知乎公司&#xff0c;成立于 2010 年 8 月 10 日&#xff0c;于 2011 年 1 月 26 日正式上线&#xff0c;是中文互联网的高质量问答社区和创作者聚集的原创内容平台。 知乎起步于问答&#xff0c;而超越了问答。知乎以「生…

mysql数据库varchar截断问题

用了这么多年mysql数据库&#xff0c;才发现varchar是可以截断的&#xff0c;而且是在我们线上数据库。个人觉得dba的这个设置是非常有问题的&#xff0c;用户往数据库里存东西&#xff0c;就是为了以后用的&#xff0c;截断了存放&#xff0c;数据不完整&#xff0c;就用不了了…

SeggisV1.0 遥感影像分割软件【源代码】讲解

在此基础上进行二次开发&#xff0c;开发自己的软件&#xff0c;例如&#xff1a;【1】无人机及个人私有影像识别【2】离线使用【3】变化监测模型集成【4】个人私有分割模型集成等等&#xff0c;不管是您用来个人学习还是公司研发需求&#xff0c;都相当合适&#xff0c;包您满…

MySQL底层概述—9.ACID与事务

大纲 1.ACID之原子性 2.ACID之持久性 3.ACID之隔离性 4.ACID之一致性 5.ACID的关系 6.事务控制演进之排队 7.事务控制演进之排它锁 8.事务控制演进之读写锁 9.事务控制演进之MVCC 10.事务隔离级别之隔离级别的类型 11.事务隔离级别之和锁的关系 12.事务隔离级别之隔…

基于 SpringBoot 的新冠密接者跟踪系统:如何实现高效信息推送功能

第2章 程序开发技术 2.1 Mysql数据库 为了更容易理解Mysql数据库&#xff0c;接下来就对其具备的主要特征进行描述。 &#xff08;1&#xff09;首选Mysql数据库也是为了节省开发资金&#xff0c;因为网络上对Mysql的源码都已进行了公开展示&#xff0c;开发者根据程序开发需要…

手撸了一个文件传输工具

在日常的开发与运维中&#xff0c;文件传输工具是不可或缺的利器。无论是跨服务器传递配置文件&#xff0c;还是快速从一台机器下载日志文件&#xff0c;一个高效、可靠且简单的文件传输工具能够显著提高工作效率。今天&#xff0c;我想分享我自己手撸一个文件传输工具的全过程…

基于Java Springboot电子书阅读器APP且微信小程序

一、作品包含 源码数据库全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 微信开发者工具 数…

【AI系统】AI 编译器基本架构

AI 编译器基本架构 在上一篇文章中将 AI 编译器的发展大致分为了 3 个阶段&#xff0c;分别为 1&#xff09;朴素编译器、2&#xff09;专用编译器以及 3&#xff09;通用编译器。 本文作为上一篇文章 AI 编译器架构的一个延续&#xff0c;着重讨论 AI 编译器的通用架构。首先…

华为关键词覆盖应用市场ASO优化覆盖技巧

在我国的消费者群体当中&#xff0c;华为的品牌形象较高&#xff0c;且产品质量过硬&#xff0c;因此用户基数也大。与此同时&#xff0c;随着影响力的增大&#xff0c;华为不断向外扩张&#xff0c;也逐渐成为了海外市场的香饽饽。作为开发者和运营者&#xff0c;我们要认识到…

SuperMap GIS基础产品FAQ集锦(20241202)

一、SuperMap iDesktopX 问题1&#xff1a;请问一下&#xff0c;iDesktopX11.2.1如何修改启动界面 11.2.0 【解决办法】参考帮助文档的“自定义启动界面”内容&#xff1a;https://help.supermap.com/iDesktopX/zh/SpecialFeatures/Development/DevelopmentTutorial/UserCust…

Java基础访问修饰符全解析

一、Java 访问修饰符概述 Java 中的访问修饰符用于控制类、方法、变量和构造函数的可见性和访问权限&#xff0c;主要有四种&#xff1a;public、protected、default&#xff08;无修饰符&#xff09;和 private。 Java 的访问修饰符在编程中起着至关重要的作用&#xff0c;它…

浪潮X86服务器NF5280、8480、5468、5270使用inter VROC Raid key给NVME磁盘做阵列

Inter VROC技术简介 Intel Virtual RAID on CPU (Intel VROC) 简单来说就是用CPU的PCIE通道给NVME硬盘做Raid 更多信息可以访问官方支持页面 Raid Key 授权&#xff0c;即VROC SKU 授权主要有用的有2个标准和高级&#xff0c;仅Raid1的授权我暂时没见过。 标准 VROCSTANMOD …