当前位置: 首页 > 科技观察

本文讲的是面向服务架构的汽车软件分析与设计_0

时间:2023-03-20 12:12:01 科技观察

为什么要介绍汽车SOA软件?SOA作为一种面向服务的架构,是一种设计思想和方法论。在SOA架构中,服务是核心的抽象手段,是系统最基本的描述单元。每个服务组件具有独立的功能,可以重复使用;服务组件之间的接口遵循统一的标准,可以相互访问,可以组合扩展。业务流程是具有状态和服务调度策略的服务组件的组合和扩展(图1)。通过SOA架构,可以在不同的操作系统和硬件平台(控制器)上整合和规划主机厂的业务功能,实现功能的快速迭代和重组,响应灵活多变的智能网联趋势下的业务需求.图1SOA架构模型结合了未来汽车面向领域的电子电气架构(Domain-Oriented)和面向区域的电子电子架构(Zone-Oriented)。SOA架构的应用可以实现业务流程(功能)的快速迭代和灵活重组。智能网联趋势下对软件个性化和创新的需求提供了良好的平台解决方案。SOA架构应用于汽车电子电气新架构的优势(图2):车辆功能软件实现了软硬件分离由于服务组件接口是“标准可访问”的,描述方式独立于硬件平台和操作系统,组件功能可以分离硬件平台可以任意部署和移动,可以将需要计算能力的复杂功能组件移动到高带宽、大计算能力的域控制器上。车辆功能可以大规模重复使用。一些常用的、基础的功能可以先开发为基础服务组件。由于服务组件的独立性和接口的标准可访问性,在基础服务开发完成后,可以应用到服务中间件注册并可供所有电子电气架构中的控制器订阅。可以在SOP之后添加(扩展)车辆功能。“小”基础服务可以组合成“大”服务,“大”服务可以进一步组合和扩展,最终构建新的业务流程,实现OEM业务目标。结合OTA技术,用户可以订阅一个类似于“预测能量管理”的新功能,并在车辆使用寿命期间将其安装在域控制器上。新功能的业务逻辑依赖于一些已有的服务组件(例如:预测能源管理性能能源管理依赖于能源管理策略、地图预测信息等基础服务)。图2新汽车电子电气架构中的SOA架构应用面向服务架构汽车软件分析与设计面向服务架构的开发过程总体上可以概括为6个步骤,即:面向服务的分析、服务面向服务的设计、服务开发、服务测试、服务部署和服务权限管理,如图3所示。其中,分析和设计面向服务的架构是开发SOA软件的开始,也是最重要和最重要的。判断系统是否基于SOA架构的核心环节。联合电子探索了面向服务架构汽车软件分析设计的具体过程和方法,将面向服务分析分解为系统需求分析、系统功能分析、候选服务分析三个子步骤,将面向服务分解为设计分为系统架构设计和软件架构设计两个子步骤。架构师分析好后,结合实际实现,根据不同业务领域对车辆功能(业务逻辑/业务流程)进行解耦,分解得到候选服务组件。随后,经过详细的迭代设计,在候选服务的基础上,最终会产生一个面向服务(SOA)的软件架构。图3面向服务的分析与设计是服务架构开发的核心环节接下来,本文将围绕这五个子步骤介绍面向服务的分析与设计的过程。1、系统需求分析如图4所示,整个SOA架构模型分为三部分:业务流程层、服务接口层和应用程序层。SOA业??务流程层侧重于业务逻辑的分析;服务接口层侧重于候选服务的设计和分析;应用层体现了面向服务的系统架构和软件架构设计。系统需求分析侧重于SOA架构的顶层——业务层。简而言之,需求分析是指在用户特定的使用场景下,对真实的业务流程进行设计和充分理解,为后续的抽象和封装服务提供充分的上下文信息。图4需求分析关注SOA架构业务流程层2.系统功能分析如图5所示,系统功能分析在SOA架构的业务层和服务层之间架起了一座桥梁,流程从系统需求的第一步开始分析产品-业务流程和系统用例,过渡到服务的流程,目的是推导出构成候选服务的服务操作(operation)。系统功能分析可以具体描述为:设计用例的实现场景步骤,将系统用例逐一分析提炼,描述系统和参与者(actor)如何共同实现每一个用例,从而得到关系在系统和参与者以及外部系统之间。边界和信息交互,最终得到系统的功能需求,将这些功能需求直接作为候选服务操作(businessserviceoperationcandidates)。图5系统功能分析:从业务流程到服务3.候选服务分析候选服务分析重点关注SOA架构的中间层——服务接口层。候选服务分析的目的是对业务逻辑进行抽象和封装,从业务角度寻找候选服务(ServiceCandidate)。值得强调的是,对候选服务的分析需要跳出具体功能的开发,从架构的角度强调业务可重用性(reusable)、自主性(autonomous)和可组合性(composable)的特性,特别是考虑到候选服务在企业业务范围内潜在重用成为可能,充分发挥SOA设计理念的优势,而不是仅仅作为一种技术实现(图6)。图6以SOA架构服务接口层为重点的候选服务分析4.系统架构设计系统架构设计的目的是设计并获得服务到架构元素的映射,以及元素之间的服务调用关系。下图中的蓝色小圆圈代表分析的服务,通过系统架构设计映射到不同的架构元素(平台A~C)(图7)。在这里,架构元素对应于安装在汽车上的不同控制器平台(Platform)。图7系统架构设计:服务与系统元素的映射4.软件架构设计软件架构设计的目的是设计并获得服务(service)和服务组件(ServiceComponent)之间的映射关系。这个过程类似于系统架构的设计过程。但是焦点需要转移到控制器内部。在图8中,在SOA架构中,软件架构设计的行为发生在蓝色阴影区域。软件架构的设计受到很多因素的限制(以太网通信端口资源、客户特定用例场景的迭代变化等)。在整体设计理念上,高内聚和低耦合仍然是设计的总原则和架构评估的关键指标。另外,需要强调的是,针对智能网软件需求迭代、多变的特点,在SOA服务架构设计中,也需要强调可重用性和可扩展性,足够的灵活性可以应对大量以最少的软件更改来满足需求输入。如图。图9是一个示意图,对于一个服务ServiceA,有一个服务提供组件(ServiceComponent)提供A服务,有3个服务消费组件消费ServiceA。图8软件架构设计图9服务与应用的映射“分析和设计面向服务的体系结构”和“实现和部署面向服务的软件”是有效开发SOA汽车软件的关键环节。《分析和设计服务架构》过程是从客户用例场景/需求到SOA软件架构输出的分析过程。联合电子认为,与传统汽车软件开发采用的基于功能分解的面向过程的分析方法相比,“用例驱动的开发方法”和“面向服务的架构设计方法”是SOA软件的两大特点架构开发。