软件究竟如何定义汽车【二】?

智车科技IV
关注

简单来说,SOA就是要求各个控制器,把自己的能力,以服务的方式提供出来,以此来构建一个与车型、芯片、操作系统无关的灵活可变的平台系统。

服务内高内聚,功能完整,可复用服务间低耦合,无依赖服务通信接口标准化,不依赖于平台实现。

下面举个例子来说明,在中央计算电子电气架构下,以以太网为通信方式,把各个控制器提供的功能按服务的维度进行拆解(以下只是示意,主要为了讲清楚原理,服务的分类、拆解、分层,是一个架构设计的细活儿,是一个系统性的工作)。

面向服务的架构设计举例.png

上面这张图,软件上的分层看起好像和传统软件的架构也没太大区别,其实这里面最关键还是服务间的连接关系,其核心是需要SOA框架软件的实现一套服务管理的框架,类似与IT领域所说的 UDDI(Universal DescriptionDiscovery and Integration,统一描述、发现和集成),提供服务发布、查找和定位的方法。在这个框架下,服务节点可以动态加入,并且按照统一标准实现的所有服务都是对等的,服务之间可以动态的建立订阅/发布的关系,且相互之间以一种中立的服务描述语言为契约,是一种松耦合的关系。

服务可以分为三类,原子服务、组合服务、流程服务,原子服务提供的是最基本的功能,比如获取传感器的数据、升降车窗指令;组合服务是利用多个原子服务,实现了部分判断逻辑,比如升降车窗并不是任何条件下都能执行,还需其他条件去综合判断;流程服务,是根据业务功能定义的服务,比如产品上定义一个抽烟模式,需要同时打开车窗、天窗,并播放车主收藏的音乐,这就需要调用多个组合服务去实现。

原子服务,一般和硬件功能有关,硬件功能决定了原子服务的范围;组合服务,可以认为和某种策略和控制逻辑相关,比如实现一种新的驾驶模式;流程服务,可以认为是和特定场景下的产品功能。在SOA的软件框架下,“软件定义汽车”就变成了,在一个完备的原子服务集合当中,通过定义新的组合服务与流程服务,去实现新的产品功能。而在硬件可升级的前提下,又可以通过硬件升级,去拓展原子服务的功能范围。比如,换了带V2X的中央计算单元,就可以新增V2X相关的原子服务,然后定义一个新的流程服务,如,基于V2X的紧急刹车。

当然新的架构,也一定会带来新的挑战:

架构设计的挑战, 比如上面提到的服务的拆解、分类、分层,这类工作往往具有一定的灵活性,需要不断地去摸索和总结最佳实现。

功能安全的挑战,传统AutoSAR,功能静态部署,可以对每个分支流程,做危害分析,而SOA功能可以动态部署,无法预先做到每个场景都覆盖到。

信息安全的挑战,传统的离散系统,造成信息孤岛的同时,也无形之中构建了一道物理防火墙,现在服务都变成了对等节点,就需要一套完整的权限控制解决方案。

结语

本篇主要对智能汽车软件的范围、软硬件升级、SOA的内涵进行了介绍,下一篇将重点介绍,SOA实现的基础;对常见的技术概念,车载以太网、SOME/IP、DDS、Adaptive AutoSAR、ROS2 等,梳理各自所处的技术层次与要解决的问题,阐述其与SOA的关系。

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存