面向服务架构的汽车软件及其开发方法_第1页
面向服务架构的汽车软件及其开发方法_第2页
面向服务架构的汽车软件及其开发方法_第3页
面向服务架构的汽车软件及其开发方法_第4页
面向服务架构的汽车软件及其开发方法_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向服务架构(SOA)的汽车软件及其开发方法随着汽车智能化、网联化、共享化的趋势,终端用户对车辆功能的预期也悄然发生着改变,汽车在实现高等级自动驾驶 /辅助驾驶功能的同时,也更趋向于提升用户体验,例如满足快速的功能更新和升级,可以提供个性化、人性化、差异化的功能与服务等。面向服务的软件架构(Service-OrientedArchitecture)正为未来的车辆软件服务提供良好的解决方案。不同于传统汽车电子电气架构中面向信号的架构,面向服务的软件架构(SOA)通过标准化的服务接口,松耦合的服务机制以及可组合扩展的服务特性,结合未来以高性能计算平台一一域控制器——为核心的集中化电子电气架构,将成为未来汽车领域“软件驱动创新”的技术基础。一.为什么要引入SOA汽车软件?SOA是一种软件架构,同时也是一种软件设计方法和理念,在 IT领域已有数十年的应用经验。SOA具备”松耦合”、”接口标准可访问”和”易于扩展”等特点,使得开发人员能以最小的软件变更应对迭代多变的客户需求。在智能网联汽车中,大量的功能需要控制器(ECU)间的协调工作来实现,当前ECU间基于信号(Signal-Oriented)的点对点通讯将会变得异常复杂,且不具备灵活性和扩展性,微小的功能改动都会引起整车通讯矩阵的改动(图1)。

因此,将SOA引入到当前汽车软件设计中(图2),车辆功能被以面向服务的设计理念架构为不同的服务组件,有别于面向信号的传统架构,SOA中的每个服务都具有唯一且独立互不影响的身份标识 (ID),并通过服务中间件(ServiceMiddleware)完成自身的发布,对其他服务的订阅以及与其他服务的通讯工作。由此,SOA良好的解决了传统架构中因个别功能增减/变更而导致整个通讯矩阵与路由矩阵都要变更的问题。更进一步,由于其”接口标准可访问”的特性,服务组件的部署不再依赖于具体特定的操作系统和编程语言,在一定程度上实现了组件的”软硬分离”。娱乐域控制器运动域控制器'充电管理,•控遍电子樵定..控制器ADAS勺器'充电管理,•控遍电子樵定..控制器ADAS勺器摄像头摄像头'电池管理'■控^福J 信懿 瞻流(新增座更)㈠控制器(新增/变更)图1面向信号的架构(Signal-OrientedArchitecture)

ServicePrmidtT雁务提方CHi^iiiner限弗精方图2面向服务的架构(Service-OrientedArchitecture)二.如何有效的开发SOA汽车软件?对于汽车行业而言,SOA是一套新引入的技术,需要一套有效的流程、方法和工具,用以解决如下三个问题:1)如何分析和设计服务架构,2)如何建模和记录服务架构,3)如何部署和实现面向服务的软件。1)如何分析和设计面向服务的架构?“分析和设计服务架构”的过程是从客户需求到SOA软件架构产出的分析过程,相对于传统汽车软件开发采用的基于功能分解的面向过程分析方法,“用例驱动的开发方法”和“面向服务架构的设计方法”是SOA软件架构开发的两个主要特点。用例(UseCase)驱动的开发方法(图3)指从用户的角度而非开发人员的角度考虑功能需求和系统实现,重视从系统外部观察对系统的使用。由用例驱动的开发活动,可以建立需求和系统功能之间清晰的追溯关系,更好的应对智能网联产品需求的快速迭代更新。面向服务的分析方法(图4)则是以业务为中心,在由用例分析得到系统功能需求的基础上,对业务逻辑进行抽象和封装,从业务角度寻找候选服务(ServiceCandidate),从架构角度强调服务的重用性(reusable)、自主性(autonomous)以及组合扩展性(composable)特点,充分发挥SOA设计理念的优势,而不是仅仅作为技术实现方式。场景与用1朔分析长期目标层以用产号中出取车辆5P疾方至停考虎环垸国橐驾驶前驾驶中 驾驶结束 离车场景与用1朔分析长期目标层以用产号中出取车辆5P疾方至停考虎环垸国橐驾驶前驾驶中 驾驶结束 离车参与者 参与者图3用例驱动的开发方法图4面向服务的分析方法如何建模和记录面向服务的架构?标准化的建模语言和统一化的文档结构,对提升架构的开发质量、实现架构内容的有效传递具有重要作用。SysML语言和Arc42模板可以作为SOA软件架构的标准语言和文档结构模板。系统建模语言SysML(SystemModelingLanguage )是由统一建模语言UML(UnifiedModelingLanguage)扩展而来的标准化系统建模语言,能够准确表达系统及其组件的需求、行为、结构和属性。Rhapsody软件支持SysML建模,并提供了自动化功能,提高建模效率,同时保证与用例的追溯关系。Arc42明确定义了架构文档的结构,通过统一化的文档,提升开发团队中的信息传递效率和质量。如下图5显示,使用SysML语言,Rhapsody建模工具以及Arc42架构模板进行应用服务架构的开发。邪署在XCU上的服务Service留暑在H涮上施服务ProviderapplicationWCcnsumsrapplicaiicn」CcrijnierapplicationCcniun^Tapplication在HMI内分配服契到应用冠停SysML'盘RhapsodyARC42希构文槽D邪署在XCU上的服务Service留暑在H涮上施服务ProviderapplicationWCcnsumsrapplicaiicn」CcrijnierapplicationCcniun^Tapplication在HMI内分配服契到应用冠停SysML'盘RhapsodyARC42希构文槽D凹』\* *r-i • r4.JS满代呻三曲曾.原诚F.WtftHi;何汇瞅茶Arc42图5SysML语言,Rhapsody工具和ARC42开发模板3)如何部署和实现面向服务的软件“部署和实现面向服务架构的软件”的过程是以SOA软件架构为设计输入,最终开发实现出软件产品的工作过程(图6)。主要包括1)对服务接口行为的开发和实现,完成服务接口与服务主体逻辑的绑定; 2)针对目标运行环境,完成对服务接口参数,服务主体运行参数的配置; 3)服务接口与应用程序策略逻辑的集成编译。AUTOSARAdaptive组件封装了SOA软件底层的通讯细节(包括SOME/IP协议,IPC等),同时提供代理(Proxy)-骨架(Skeleton)模型,该模型以C++面向对象语言描述,方便上层应用开发人员调用标准服务接口(API)进行开发。ApplicationDesignModel是该模型另一种可配置的呈现,开发人员通过使用相应的配置工具对 ApplicationDesignModel进行描述和配置,即可实现基于SOA服务架构的软件落地和部署。使用AUTOSARAdaptive组件完成SOA服务架构软件的开发(图7):

swcswcTswcswcTr"sAdaptivePlattarm图6部署和实现面向服务的软件应用软件设计模型ApplicationDesignModel(ARXML)图7应用软件设计模型三.SOA汽车软件创新平台联合电子开发的域控制器XCU,提供了部署SOA汽车软件的平台。在硬件方面,XCU具备高算力处理器芯片和多路车规级以太网通道;在软件方面,XCU搭载POSIX操作系统和AUTOSARAdaptive平台。根据SOA软件开发方法,可从两个切入点开展SOA汽车软件平台的开发。1)自下至上,从车辆基础功能/信号出发,将已有的应用功能逻辑/信号(eg:车辆车速信息)抽象或封装成服务组件,这类组件被称为基础服务层(Basic/PlatformServiceLayer) 组件,具有最高的可复用性和可组合性,这些组件将为上层(业务服务层BusinessServiceLayer)的服务组件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论