面向服务架构(SOA)的汽车软件及其开发方法.docVIP

面向服务架构(SOA)的汽车软件及其开发方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向服务架构(SOA)的汽车软件及其开发方法 随着汽车智能化、网联化、共享化的趋势,终端用户对车辆功能的预期也悄然发生着改变,汽车在实现高等级自动驾驶/辅助驾驶功能的同时,也更趋向于提升用户体验,例如满足快速的功能更新和升级,可以提供个性化、人性化、差异化的功能与服务等。 面向服务的软件架构(Service-Oriented Architecture)正为未来的车辆软件服务提供良好的解决方案。不同于传统汽车电子电气架构中面向信号的架构,面向服务的软件架构(SOA)通过标准化的服务接口,松耦合的服务机制以及可组合扩展的服务特性,结合未来以高性能计算平台——域控制器——为核心的集中化电子电气架构,将成为未来汽车领域“软件驱动创新”的技术基础。 一. 为什么要引入SOA汽车软件? SOA是一种软件架构,同时也是一种软件设计方法和理念,在IT领域已有数十年的应用经验。SOA具备”松耦合”、”接口标准可访问”和”易于扩展”等特点,使得开发人员能以最小的软件变更应对迭代多变的客户需求。 在智能网联汽车中,大量的功能需要控制器(ECU)间的协调工作来实现,当前ECU 间基于信号(Signal-Oriented)的点对点通讯将会变得异常复杂,且不具备灵活性和扩展性,微小的功能改动都会引起整车通讯矩阵的改动(图1)。 因此,将SOA引入到当前汽车软件设计中(图2),车辆功能被以面向服务的设计理念架构为不同的服务组件,有别于面向信号的传统架构,SOA中的每个服务都具有唯一且独立互不影响的身份标识(ID),并通过服务中间件(Service Middleware)完成自身的发布,对其他服务的订阅以及与其他服务的通讯工作。由此,SOA良好的解决了传统架构中因个别功能增减/变更而导致整个通讯矩阵与路由矩阵都要变更的问题。更进一步,由于其”接口标准可访问”的特性,服务组件的部署不再依赖于具体特定的操作系统和编程语言,在一定程度上实现了组件的”软硬分离”。 ?? 图1? 面向信号的架构(Signal-Oriented Architecture)?? 图2 ?面向服务的架构(Service-Oriented Architecture) 二. 如何有效的开发SOA汽车软件? 对于汽车行业而言,SOA是一套新引入的技术,需要一套有效的流程、方法和工具,用以解决如下三个问题:1) 如何分析和设计服务架构,2) 如何建模和记录服务架构,3)如何部署和实现面向服务的软件。 1) 如何分析和设计面向服务的架构? ?“分析和设计服务架构”的过程是从客户需求到SOA软件架构产出的分析过程,相对于传统汽车软件开发采用的基于功能分解的面向过程分析方法,“用例驱动的开发方法”和“面向服务架构的设计方法”是SOA软件架构开发的两个主要特点。 用例(Use Case)驱动的开发方法(图3)指从用户的角度而非开发人员的角度考虑功能需求和系统实现,重视从系统外部观察对系统的使用。由用例驱动的开发活动,可以建立需求和系统功能之间清晰的追溯关系,更好的应对智能网联产品需求的快速迭代更新。 ?面向服务的分析方法(图4)则是以业务为中心,在由用例分析得到系统功能需求的基础上,对业务逻辑进行抽象和封装,从业务角度寻找候选服务(Service Candidate),从架构角度强调服务的重用性(reusable)、自主性(autonomous)以及组合扩展性(composable)特点,充分发挥SOA设计理念的优势,而不是仅仅作为技术实现方式。? ? 图3? 用例驱动的开发方法?? 图4? 面向服务的分析方法 2) 如何建模和记录面向服务的架构? 标准化的建模语言和统一化的文档结构,对提升架构的开发质量、实现架构内容的有效传递具有重要作用。SysML语言和Arc42模板可以作为SOA软件架构的标准语言和文档结构模板。 系统建模语言SysML(System Modeling Language)是由统一建模语言UML(Unified Modeling Language)扩展而来的标准化系统建模语言,能够准确表达系统及其组件的需求、行为、结构和属性。Rhapsody软件支持SysML建模,并提供了自动化功能,提高建模效率,同时保证与用例的追溯关系。Arc42明确定义了架构文档的结构,通过统一化的文档,提升开发团队中的信息传递效率和质量。 如下图5显示,使用SysML语言,Rhapsody建模工具以及Arc42架构模板进行应用服务架构的开发。 图5? SysML语言,Rhapsody工具和ARC42开发模板 3) 如何部署和实现面向服务的软件 “部署和实现面向服务架构的软件”的过程是以SOA软件架构为设计输入,最终开发实现出软件产品的工作过程(图6)。主要包括 1)对服务接口行为的开发和实现,完成服

文档评论(0)

play + 关注
实名认证
文档贡献者

分享有帮助的文档

1亿VIP精品文档

相关文档