到底什么是软件定义汽车?软件与架构的“恩怨情仇”(完)

2021-03-25 10:20
41

(接上文)

④ 架构
在研究之前,我们先来回顾一下什么是架构:
架构是一个系统的基本结构,它包含组成系统的组件,组件和组件之间的相互关系,组件与环境之间的关系,以及指导系统设计和演化的原理!(来自IEEE Standard 1471)
上文中,我们也研究了架构与 "软件" "网络" "硬件" 之间的交叉,即:"软件架构" 、 "网络架构"、"硬件架构"!除此之外还有很多各种各样的架构。笔者这里再将几种常见的拿出来进行研究:

1)电子电气架构
相信很多朋友也发现了,在上文中,笔者并没有过多的提到电子电气架构(EEA),那为什么呢?其一是笔者相信很多朋友对电子电气架构很了解!
其二我们从电子电气架构的概念出发来看一下:EEA代表整车电子电气系统的顶层,是E/E各子系统设计开发、网络开发、功能开发、系统交互的整车解决方案!(笔者这里并没有采用一开始由德尔福提出的EEA的概念,一开始EEA的概念对当前的汽车电子而言有些不适配)!
回过头来对照一下我们的图5,笔者认为EEA是涉及"软件架构"、"网络架构"、"硬件架构"等的概念,是一个系统层面的概念,所以,笔者认为它是横跨 "软件"、"网络"、"硬件"乃至 "功能"、"通信"等的存在!

2)系统架构
什么是系统架构?UML对系统架构的定义是:系统的组成结构,包括系统分解的组成部分,它们的关联性,交互,机制和指导原则,这些都是提供系统设计的信息。
一个比较好的例子上述笔者提到的AUTOSAR。就CP AUTOSAR而言,主要包括以下部分:
分层的软件架构
开发方法论
标准化的接口


就AP AUTOSAR而言,跟CP AUTOSAR相似,它也包含上述三部分,但是,需要注意的是,AP AUTOSAR所描述软件架构并不跟CP AUTOSAR一样有严格的层级划分。而是偏向于一种模块化的软件架构!
同时,AP AUTOSAR还多提供了一个叫做AP(Adaptive Platform Demonstrate)的包。该APD中主要包含用于演示的代码包,工具等。但是,仅AUTOSAR会员可获取!

这也正如笔者之前所说,AUTOSAR涉及软件架构的概念,但它更准确的来说是一个 "系统架构"。
而 "系统架构" 也同样涉及 "软件"、"网络"、"硬件"乃至 "功能"、"通信"的概念!
还有一些其他的不常见的架构,这里就不做过多的解释!

接着,我们将问题2与问题3一起拿来研究:

第2个问题:到底什么是软件定义汽车?
第3个问题:到底是软件定义架构还是架构定义软件?

四、软件为汽车赋能

结合我们的总览图,如果硬要用 "定义" 这个词,倒也能找出几个有关系的:
逻辑功能架构 "定义" 软件功能网络与硬件功能网络
通信网络架构 "定义" 软件通信网络与硬件通信网络

还有,我们的应用软件架构、基础软件架构等,如果硬是用 "定义"这个词,似乎也可以沾上边:
应用软件架构 "定义" 应用软件
基础软件架构 "定义" 基础软件
这时候,可能有的朋友会说,不管是逻辑功能架构、通信网络架构还是应用软件架构、基础软件架构,都属于架构,而不管是软件功能网络还是软件通信网络还是应用软件、基础软件都属于软件,所以:

架构定义软件!


如果是这样,那是不是也可以这样理解:
通信网络架构属于 "网络"的概念,而软件通信网络是 "软件"的部分,所以:
网络定义软件!



当然不行,我们接着往下看,上面提到了逻辑功能架构和通信网络架构 "定义" 这个,定义那个的,那么:
逻辑功能架构和通信网络架构又由谁来定义?
这时候,可能会想到一个比较好的词:需求:
需求 "定义" 逻辑功能架构
需求 "定义" 通信网络架构


这样就完了吗?
我们将所有软件打包,包括应用软件、基础软件等等,以及交叉后产生的通信软件等,结合 "定义" 这个词,我们可以通过软件来决定一些内容!比如,如何通信,信号传输等!,这似乎能解释得通以下几个点:
软件 "定义" 硬件网络架构
软件 "定义" 通信(网络)
软件 "定义" 功能(网络)


这里,硬件网络架构属于架构,通信网络自身也包含有通信网络架构的概念,所以,是不是可以说:

软件定义架构!
还有,不管是硬件网络架构、还是通信网络,它们都属于 "网络"这个概念的范畴,所以,是不是又可以得出一个说法:

软件定义网络!

当然将 "功能" "通信"的概念落地或者实际化后,还能产生以下说法:
软件 "定义" 用户体验
软件 "定义" 功能等

回过头来再想一想,应用软件架构是由应用软件元素之间的依赖关系所组成的框架,那么,是不是用 "驱动"或者其他的词来描述更恰当呢?我们结合 "定义" 这个词,尝试完善一下我们的图6,看能否得出一张 "软件定义汽车"下的总览图:

图7 总览图("软件定义的")
这个时候,可能 "硬件" 就有些不太舒服了,"硬件" 可能会觉得你们几个定义来定义去的,"我" 又算什么?
硬件当然不可缺少,它是软件的承载,软件需要运行在硬件之上。正如之前笔者的一位朋友所说:软件脱离硬件后,是没有真实世界效应(Real world effect)的!当然,这就属于另一层次的话题,不在 "定义" 的范围内了!
回过头来,我们再来看本节最开始的两个问题:
到底是软件定义架构还是架构定义软件?
笔者认为这两者之间一定存在交叉,不存在所谓的谁完全定义谁的说法!

到底什么是软件定义汽车?
笔者认为,这是在一定条件下才能成立的一种以偏概全的说法!笔者并不认可 "软件定义汽车" 的说法,因为在智能网联汽车的大背景下,软件的灵活度与发展的空间更大。也正因如此,软件与大数据、云端等的结合也有了更多可以挖掘的空间。

所以,笔者认为与其一直停留 "软件定义汽车" 的噱头上,不如谈谈:
有哪些软件技术可以在汽车上使用?
结合这些软件技术能为汽车带来哪些 "能力"?
结合软件技术以及规范等如何推进汽车EEA的发展?


这也正是本系列的来源以及想要分享的内容!
接下来,上海繁森会结合上述几个问题,来分享《软件为汽车赋能》系列!

(转载自搞一下汽车电子小助手)

昵称:
内容:
提交评论
评论一下