身处汽车行业的我们,一定深知新技术的应用或者新概念的提出绝不会事出无因,通常是为了抢夺新技术高地,让汽车更好满足现在和未来的需求。那么,针对汽车电子电气架构领域掀起的这股SOA风潮是由什么导致的?SOA是什么?SOA带来什么好处?又应怎样实施SOA呢?
小编:一、为什么汽车要上SOA?
老车新体验,快速满足市场需求
?? 必须打破车内静态交互模型
车辆内部控制器通过传统总线连接,从而实现通信交互,但是信号的收发关系和路由信息通常是静态的、不可再更改的,如果后期突然新增节点,改矩阵和路由表?再如果车辆上市后想新增一个功能到某个控制器,OTA可以将软件包本身下载到该控制器,但这个新“朋友”怎样从其他节点获得所需信息呢?
?? 必须建立功能灵活治理的系统架构
OTA是目前解决车辆在线升级,持续提高用户用车体验的好方法,一个功能一个盒子的时代已经过去了,但…OTA仅仅是途径,车辆的电子电气架构和软件设计架构能否支持得起功能更新呢?如果一个新增功能的实现,与车辆原有的系统架构、驱动方式甚至通信方式不匹配,甚至相冲突,肯定是不可行的。那么应该怎样解决呢?
万物互联,汽车要进物联网
汽车在不久的将来会在互联网、物联网、能源物联网中都占有重要的地位,那么汽车必须具备开放性、网联性甚至自主性和自进化性,自动驾驶、V2X、边缘计算都是目之可见的应用场景,电子电气架构和软件平台架构在面对这样需求的时候,应如何处理?
已有的电子电气架构及相应的解决方案,很难对应并且解决目前汽车所遇到的挑战,需要新的方法论来打破僵局,于是SOA的车载运用作为解决方案被提了出来。
小编:二、为什么说SOA=SOME/IP的话,就低估了整件事?
先说说,什么是SOA(Service-Oriented Architecture)呢?
?? BEA资深SOA架构师Jeff Davies在其《SOA权威指南》中说到, SOA不是一种具体的技术,而是一种架构策略层面的指导思想。
?? OASIS(结构化信息标准促进组织)给予出的SOA定义“SOA是一个范式,以达到组织利用处于不同所有权范围控制下的分布式系统。”
?? 百度百科告诉我们,面向服务的架构(SOA)是一个组件模型,它将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。
SOA的概念出自IT界,然而也还没有大家公认的定义,但是SOA的目标及其应具有的特性却是清晰明了的:
? 目的:构建灵活可变的平台系统
? 特性:
1. 服务间 松耦合,无状态、无依赖
2. 服务内 高内聚且完整,可复用、可灵活重组
3. 服务通信标准化
从中我们看到SOA实现重点在于:
?? 服务通信标准化,即面向服务的通信(SOC,Service-Oriented Communication)
?? 以服务重用、灵活重组为目的的服务划分,即基于服务的复用共享式设计(SORS,Service-Oriented Reuse-shared Design)
?? 还有一个隐形的重点,就是用于承载和适配SOC和SORS的软件实现,即基于服务的软件架构(SOS,Service-Oriented Software Architecture)
在车载环境中,SOME/IP基本解决了SOC,但SORS呢?SOS呢?仅有SOC的SOA是没有灵魂的,是不完整,也不可能实现SOA的目标,故而,若认为SOA=SOME/IP的话,你真的低估了SOA。
图1 SOA示意图
小编说:三、v-SOA怎么实现呢?
v-SOA:vehicle SOA,即应用在车辆上的SOA 。SOA在IT领域基本是基于以太网实现的,车载环境下优的实现方式应该是继承成熟的技术和实现思路,好在车载以太网发展至今也有了几年的积累,国内自主研发应用以太网技术的新一代车型,已经陆续量产发售了,站在车载以太网的肩膀上去实现SOA,无疑是一种不错的选择。聚焦于汽车电子来说,可以从SOC(Service Oriented Communication)、SORS(Service-Oriented Reuse-shared Design)和SOS(Service-Oriented Software Architecture)的介绍v-SOA的实现。
SOC(Service Oriented Communication)
SOC主要为了实现通信标准化,动态建立通信关系,连接信息孤岛。车载以太网协议架构中的SOME/IP就是基于SOA思想定义的通信中间件,熟悉SOME/IP(Service-Oriented MiddleWare over IP)的小伙伴会知道,SOME/IP是针对车载环境定义一套通信协议,出自AUTOSAR,可以达到屏蔽系统异构性,实现互操作的目的,所以,就实现SOC而言,我们能够通过SOME/IP来完成(当然SOC并非仅能通过SOME/IP来实现,在满足一些前提条件时,其他传输协议也可以使用,例如DDS等)。
通信行为:SOME/IP吸收了RPC机制,顺利地继承了Server-Client的模型,SOME/IP Service Discovery可以让Client灵活可靠的找到Server,并订阅感兴趣的服务内容,Client可以用Request-Response、Fire&Forget的模型访问Server所提供的Services;Server可以利用Notification推送给Client已经订阅的服务内容。由于以太网采用交换机的组网方式,拓扑内以太网节点的交互能够二层转发,网内节点可以动态的建立服务提供与消费的关系,不依赖于其他额外的机制和组件。例如,订阅机制,高精地图Server向外提供高精地图数据(Offer Service),ADAS控制单元想要订阅其车道线相关信息(Subscribe EventGroup),高精地图Server同意其订阅请求(Subscribe EventGroup Ack),而后Server开始发布高精地图的车道线数据给ADAS控制单元。再如,请求与响应机制,HU想要获取DVR内存信息,此时DVR是Server,HU是client,由HU向DVR发出request,DVR收到请求后,根据自身当前状态,回复response。
图2 SOME/IP通信示例
服务接口描述:统一的服务接口描述是跨系统通信的重要组成,SOME/IP有自己的一套序列化原则,系统设计阶段要基于SOME/IP提供的数据类型,统一设计服务接口描述,例如下表,还要进一步定义寻址信息等。
小编说:进度条撑不住了,今天就先跟大家分享到这里,下一期我们再聊SORS、SOS的相关实现,以及SOA实现现状,看看各大OEM是如何实现他们自己的SOA的,敬请期待~