自动驾驶领域的SOA软件架构设计应用分析

发布时间:2023-06-29  

随着汽车电子行业的迅猛发展,高级别的智能驾驶技术对软件架构的灵活性和可复用性有了更高的要求。面向服务的体系架构(Service-Oriented Architecture, SOA)因具有基于标准、松耦合性、互操作性等优势,更加贴近智能网联化时代车载系统对软件架构的要求,从而被汽车行业广泛采用。


一、面向服务的设计原则与战略目标


01

面向服务的设计原则与约束

标准化服务契约原则

服务松耦合原则

服务抽象原则

服务可重用性原则

服务自治性原则

服务无状态原则

服务可发现原则

服务可组合性原则


02

面向服务的战略目标

提升本征互操作性

增强联合

增加供应商多元化选择

同步提升业务和技术对齐

提高投资回报率

提高组织的业务敏捷性

降低研发成本

f3efaa58-058d-11ee-8a94-dac502259ad0.png

图 1通过应用面向服务的原则实现面向服务技术的战略目标


二、SOA软件架构在自动驾驶领域的应用

因汽车智能网联化的需求,尤其是自动驾驶系统研发应用的需要,SOA受到汽车行业的广泛关注,车载SOA软件架构开始在汽车行业兴起。2010年,以宝马、大众为首的欧、美、日汽车产业巨头便开始车载SOA软件架构技术的研究工作,形成一定的理论基础和实践成果,并对传统汽车电子系统进行革命性创新。 车载SOA软件架构技术落地的支持工具和技术基础是中间件平台,Adaptive AutoSAR平台则是采用SOA方法论,进行自适应软件产品的开发,是一套包括服务设计、开发、部署在内的复杂工作流程。 换言之,Adaptive AutoSAR平台即为一个面向服务的车载软件架构。接下来,本节将对基于Adaptive AutoSAR平台的功能软件开发流程的核心步骤——“服务设计”进行介绍。


01

服务接口设计

面向服务架构的核心是服务,服务是通过定义的接口提供有用的功能,因此首先需要进行服务接口的设计。服务接口的设计包含以下几个方面:

服务ID——服务ID需全局唯一。

消息数据类型 —— 定义服务间交互的数据结构。

服务通信方式 ——Adaptive AutoSAR支持服务间使用 Event、Method、Field三种通信方式。

服务通信协议 —— 车载领域一般采用的通信协议有SOME/IP、DDS两种。


02

软件组件(SWC)设计

Adaptive AutoSAR应用软件开发主要从软件组件设计开始,软件组件是定义一个应用模型,然后为模型赋予可执行性,最后为进程关联可执行文件,部署在指定的设备上。软件组件是通过应用收发端口(Required Port/Provided Port)来定义,每个应用端口实现一个服务接口。软件组件的设计包括以下两个方面:

Application SW

定义收发端口(Port),对应引用服务接口所定义的服务。

Executable

定义可执行文件的基本属性,引用Application SW配置。


03

“机器”(Machine)设计

Adaptive AutoSAR平台引入了“机器”的概念,“机器”是一个可部署软件的实体。它可以是真实存在的处理器,也可以是一个虚拟机,Adaptive AutoSAR平台软件则运行在某一特定的“机器”上。Machine的设计包括以下几个方面:

通信结构——定义Machine上所有的网络端点、服务发现地址与端口号。

物理资源用量——CPU利用率、内存利用率等。


04

服务实例设计

已设计好服务接口,则可设计服务接口的实例,服务实例的设计包括以下几个方面:

服务提供者—— 具有提供服务功能的特定角色的服务实例,依据定义的服务接口提供服务,以不同的InstanceID区分实例。

服务消费者——具有使用服务功能的特定角色的服务实例,需确保从服务提供者获取定义的服务接口,以不同的InstanceID区分实例。 

服务实例的映射——设计服务实例到Machine的映射以及服务实例到端口(Port)的映射。


05

进程(Process)设计

进程(Process)表示可执行程序在机器上加载运行的实例,Process的设计包括以下几个方面:

进程基本参数——定义对应的可执行程序,并指定运行的Machine。

启动管理——定义进程启动方式、启动优先级以及启动依赖。

目前,已有软件供应商提供了Adaptive AutoSAR中间件的开发工具(如Vector-MICROSAR,华为-MDC),可对服务设计项进行配置,并可输出arxml格式文件导入工具链生成代码。Arxml文件格式如下图(以服务接口为例):

f418a124-058d-11ee-8a94-dac502259ad0.png

图 2 服务接口配置文件示例

三、SOA软件架构的不足

虽然目前SOA发展得如火如荼,但其应用于汽车领域还存在许多待改进的地方,主要体现在性能、安全性以及服务的颗粒度标准三个方面。


01

性能低

性能是SOA架构最遭人们诟病的地方,SOA架构的性能低主要是由于SOA的分布性质以及服务协议的开销。因为受到网络的制约,分布式系统的性能都会稍低于独立式系统。


02

安全性不强

安全问题在任何行业一直都受到足够的重视,由于SOA架构的松耦合性,当服务端对客户端提供服务时,其很难保证数据不被窃取和篡改,因而SOA架构的安全性也难免让人们担忧。


03

 服务的颗粒度标准难定

所谓的服务颗粒度问题其实就是服务的“大小”问题。目前,服务的“大小”都是根据我们的经验来决定,因此要真正实现标准化组件,还有很长的路要走。


四、SOA在汽车领域的前景与展望

软件架构技术为行业共性技术,属于研发共性技术,一直以来国内缺乏行业协同机制和共性平台的研究,从而使软件架构技术发展缓慢。如今,国内的汽车行业企业,如一汽、东风、上汽、华为、东软等主要OEM或供应商,也意识到SOA软件架构的重要性,也开始对车载SOA软件架构技术进行研究,努力寻找自主解决方案。 未来,国家智能网联汽车创新中心将联合更广泛的创新力量,针对共性基础技术攻关,着力构建汽车开发者生态,保障车载SOA软件架构技术规范的开发。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>