
身处汽车行业的我们深知,新技术的应用或者新概念的提出,一定是事出有因的。通常是为了抢夺新技术高地,让汽车更好地满足未来的需求。那么,汽车电子电气架构领域掀起的这股SOA热潮是由什么导致的?什么是SOA?SOA能带来什么好处?怎样实施SOA呢?Adaptive AUTOSAR与SOA是什么关系?
1为什么汽车要上SOA
① 老车新体验,快速满足市场需求

② 万物互联,汽车接入物联网

2SOA详解
① 先说说什么是SOA


② 从中我们看到SOA实现的重点在于:• 服务通信标准化,即面向服务的通信(SOC,Service-Oriented Communication)• 以服务重用、灵活重组为目的的服务划分,即面向服务的重用共享设计(SORS,Service-Oriented Reuse-shared Design)• 还有一个隐形的重点,就是用于承载和适配SOC和SORS的软件实现,即基于服务的软件架构(SOSA,Service-Oriented Software Architecture) 在车载环境中,SOME/IP基本解决了SOC,但SORS呢?SOSA呢?仅有SOC的SOA是没有灵魂的,是不完整,也不可能实现SOA的目标。
3汽车SOA(v-SOA)怎么实现呢
① SOC面向服务的通信(Service Oriented Communication) SOC主要为了实现通信标准化,动态建立通信关系,连接信息孤岛。车载以太网协议架构中的SOME/IP(Service-Oriented MiddleWare over IP)就是基于SOA思想定义的通信中间件。熟悉SOME/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已经订阅的服务内容。由于以太网采用交换机的组网方式,拓扑内以太网节点的交互能够二层转发,网内节点可以动态地建立服务提供与消费的关系,不依赖于其他额外的机制和组件。


② SORS面向服务的重用共享设计(Service-Oriented Reuse-shared Design)汽车电子电气架构(EEA)的演进如下图所示:

当前整车架构多处于分布式阶段(下图),车内所有具备以太网通信能力的节点离散地挂在网关上,没有域控制器、中央处理器或者高性能处理节点等概念。如此实现SOC是没有问题的,但是以此实现SOA是有困难的。原因是功能太分散,每个节点的资源由于初期规划功能简单,而不可能预留丰富的资源供量产后新增功能使用和消耗,因此很难在此基础上实现功能重构。

SORS是基于下一代智能网联架构来实现的,主要是完成服务实现,并且体现服务复用性而进行的设计工作。使服务本身高内聚,服务之间能够低耦合,提高服务的可重用性,明确边界概念。
这个事情在什么阶段做?谁来做呢? 在整车功能概念设计阶段,OEM整车电子电气架构部门来做。这样的答案并不出乎意料,毕竟车辆本身的功能还有谁会比架构部门更加如数家珍呢?正如大家所熟知的,伴随着整车功能逻辑的定义和梳理,架构会主导或者参与到需求开发、功能定义、功能实现、子系统设计、零部件设计等过程中去,SORS的实现最好能够贯穿始终,并最终在功能实现的环节体现出来。
具体怎样做呢? SORS没有技术标准更没有国际规范,只有一些未经全部验证的车载领域的SORS实现方法论。目前来看有两种思路,一是自下而上,二是自上而下。• 自下而上:由整车末端硬件开始向中心硬件进行梳理和盘点,特定的硬件可以提供相同或者相似的服务。例如,阳光雨量传感器可以提供光照强度和雨量的信息。这样我们就可以抽象出来一个阳光雨量的服务。只要这个硬件在,我们的服务就会在,不受任何约束。之后可以继续向中心探索,挖掘硬件对应的功能、提供的数据等,进行服务抽取。• 自上而下:由车辆既有功能和业务流程入手。例如整车防盗认证,会有各级防盗认证流程,期间会调用到很多的模块或者算法,比如随机化算法、防盗认证算法等。可以将这些算法抽取出来形成不同的算法服务,从一个个的功能业务链入手,分化抽离出服务库。最后可以逆向重建,即从服务库中挑选出一个个服务模块,通过排列组合的调用就可以将原始的功能业务场景还原出来。 SORS的设计方法对将来功能新增的影响是巨大的。在传统开发模式下,新增功能只能由OEM规划并部署,甚至需要重新开发车型,创意受限,周期长且投入大。在SORS开发模式下,OEM在平台/车型研发阶段将分析车辆本身拥有的一切软硬件资源,并提供重复利用的可能。OEM或授权的第三方可以基于服务库轻松开发新功能,快速完成迭代,并通过OTA技术部署到车端,持续提高用户体验。
③ SOSA面向服务的软件架构(Service Oriented Software Architecture) Adaptive AUTOSAR这个基于服务理念的中间件,就是一种SOSA。它体现了基于服务的架构思想:运行环境(ara)分成了Foundation和Service两部分。

Foundation: CM(Communication Management)包揽了节点间&进程间通信EM(Execution Management)负责进程控制执行REST(RESTful)体现外沟通的连通性PHM(Platform Health Management)系统平台健康管理TimeSyn(Time Synchronization)时间同步模块. . . . . .Service:SM(State Management)监管了AP上运行的所有功能组和进程的状态转换 UCM(Update and Config Management)主导的应用程序更新、AP自更新以及OS更新的整套更新理念
NM(Network Management)网络管理模块
Adaptive AUTOSAR作为中间件,需要配合支持POSIX标准的操作系统使用,上层的自适应应用(AA)会通过ARA运行环境由AP来统一配置、管理、调度和分配资源。
4Adaptive AUTOSAR与SOA
现有的操作系统和架构,比如Android,不能满足SOA基于服务的实现吗?AP也是AUTOSAR推出的,和CP有什么关系呢?为什么要引入AP呢?
• Non-AUTOSAR(信息娱乐)的控制器:占用较大的硬件资源、不具有实时性、运行非车规级的操作系统上(比如Linux、Android)。
• CP AUTOSAR开发出来的控制器:实时性强、消耗资源少、软件资源固定。• Adaptive AUTOSAR是一种异构的软件平台,可以成为连接Classic AUTOSAR和非实时OS的桥梁。它的特点是:软实时(毫秒级别),满足功能安全要求(ASIL-B以上)、更适合于多核的高资源消耗环境、支持动态部署。AP和CP都属于AUTOSAR家族,是亲兄弟的关系。CP推出的时间比较早,AP则是2017年才正式出现并有了初版AP规范集。正如大家所知道的,目前CP在各类车载ECU的开发实现中占有很大的使用比例,主要是应对嵌入式ECU的开发。这很符合上文所说的一个盒子一个功能的整车分布式E/E架构的需求,明确具体功能后可以精准地控制ECU本身的软硬件开发,并且CP软件架构的模块化方式配合AUTOSAR OS也可以充分满足一些特定功能对ECU本身运行时的实时性要求。

普通的OS例如Android,在某些场景下不能满足汽车的功能安全需求。此时AP登上历史舞台,作为HPC(High Performance Controller)类型ECU的重要组成部分,AP所做就是统一管理下属OS以及周边资源,使得系统运行时的一切调度、状态和资源消耗都处在一个可控的范围内,以满足车载安全性、确定性的要求。当资源丰富时,可选择的余地就会大一些,比如可以充分利用多核异构架构来处理复杂场景,使用Hypervisor等虚拟化技术,使CP、AP和非AUTOSAR系统共同存在于HPC中。

基于信号和基于服务这两种通信方式如何结合起来,是对新一代E/E架构提出的挑战。Adaptive AUTOSAR这个基于服务理念的中间件,是我们实现SOA的一种不错的选择。