2022-01-09 10:18:19|已浏览:80次
Aspice作为车载软件过程中,关注于功能场景定义(function definition)、架构定义(System Architecture)、系统设计(System Design)、产品设计(Product Design)几个大的方面。而下一代智能驾驶系统需要面向服务进行相应的功能设计和开发,实现软硬件解耦。这种开发方式将对整个智能驾驶来说产生颠覆性的影响,比如高性能计算平台HPC包含多核异构处理模式,通过Hypervisor技术实现对硬件抽象,Inter-Core通信技术使多篇和单片多核实现信息互通,计算单元趋于“云计算+中央计算+边缘计算结合等多个方面的变革。如上这些设计原则更多的是基于SOA的架构进行的,这就大大增强了平台的可拓展性,可移植性。
当前更多的主机厂选择在智能驾驶中采用SOA的开发模式,这可以更加快速的实现从底层、中间层到应用层的软件开发,且相对较多的软件只要接口定义得当,就可以实现软件本体和功能的迁移,同时可以大大的降低开发周期和成本。
对于SOA的设计过程来讲,其服务设计原则包括重用、抽象、封装、协调在内的多个层面。比如对于智能驾驶功能开发而言,如果需要多次用到某一逻辑元素比如车道线等环境信息,则应该将车道线检测模块创建为重用(比如封装到Building Block中),则对该车道线检测源(如不同方位的摄像头)进行调整,则由此对车道线检测产生的任何更新改变都会对后续级联的应用实例产生影响。而上层应用软件端对于底层的如何获取车道线,如何处理的细节也不需要深究,这就是实现模块抽象的整个过程。抽象后的逻辑功能需要保证其体系相类似的功能需要集成到一起,比如自动换道功能的控制逻辑可以在自动激活后调用触发换道相关的规划控制模块进行车控。因此,触发换道的规划决策控制逻辑单元可以完全应用于自动换道模块。系统工程师只需要保证定义的接口适用于触发换道已经发布或预定的数据流即可。对于自动驾驶域控单元负责人而言,应该保持逻辑系统结构之间的协调和重用,包含对公共池中的元素排布,对局部域单元中的逻辑构造,跨域之间的资源或模块调度等。
本文将以智能驾驶系统开发设计实例来讲解和分析相应的SOA为基础下的架构设计和软件开发。
面向ASPICE流程的SOA软件架构流程
适用于SOA架构的ASPICE软件开发过程也是在敏捷开发的模式下进行的系统开发流程。从智能驾驶功能开发层面上讲,基于SOA架构开发模式包括了系统功能、系统架构、软件功能、软件架构几个方面。其中分别由分别称之为产品负责人Product Owner、功能负责人Function Owner、架构负责人Architect Owner、子模块负责人Module Owner的几个角色共同承担。功能设计是搭建功能架构图和依据产品工程师输入的产品需求定义进行功能分解定义,架构负责人则根据整车架构及功能负责人输入的要素信息制定合适的软硬件架构。这里需要说明的是很多情况下,功能负责人和架构负责人往往是同一个人。模块负责人则是根据功能定义编制相应的系统软硬件模块、零部件软硬件模块以实现上层定义的功能需求。各负责人之间的角色定位将在如下分层流程图中进行详细说明。这里我们仅关注V模型中的与SOA相关度较高的设计开发部分,测试验证部分不在本文中进行详述。其中,各阶段的开发输出功能过程如下:
1、项目功能定义
项目功能元素(function element)包含与顶层设计相关的不同属性,例如车辆类型、预期市场、项目功能以及功能发布计划等。在实际开发中,这类输出一般是产品策划部门或市场部输出的整车功能开发需求或整车装备需求。本文将以开发智能驾驶系统功能中的点对点自动驾驶NOP为例进行详细的分析说明基于SOA的架构设计是如何应用于自动驾驶系统开发的。基于SOA架构模型设计分工
基于SOA软件模型架构的设计过程实际是在研究如何在开发流程中进行软硬件解耦。包括构建不同的分层来隔离硬件与软件功能和服务。例如,将自动驾驶相关的传感器和执行器逻辑与应用程序逻辑分开,则能够在中央系统中分配应用程序,同时保持传感器/执行器尽可能的具体。程序之间可以利用SOA的服务模式实现软件包的调用,传感器和执行器也可以作为组件或模组来进行边缘采购,性能则是集中管控,中央系统可以将战略软件进行分开,这就更容易进行软件模块移植和处理。这一过程实际就是在提高上层应用层软件关键功能的复用性,瞄准软硬件功能与逻辑控制分离。这里需要说明的是,软硬件之间的协调和调度是通过中间件来实现。SOA服务实现过程
随着车载以太网技术的日益成熟,国内大部分OEM都已经着手SOA的设计工作,并将以太网通信矩阵生成ARXML文件,用于项目前期的网络行为仿真和后期测试验证。对于已经完成架构搭建的SOA来讲,需要将其建模后的成品导入到软件团队进行服务实现。其过程包含:以Some/Ip协议导入Service ARXML,导入后新增ETH、TCP/IP、Some/IP模块(BSW工程),建立与Service Handler SWC(应用层)中Port Interface连接,为所有Service Handler SWC增加可运行时间,定义Windows Service Handler SWC 和Feature SWC到Simulink/Stateflow。通过符合Autosar的ARXML和Simulink进行交互,将由软件开发工程师继续进行算法设计并自动生成代码。总 结
本文从SOA软件架构模型的构建角度出发讲解了相应实现过程原理,利用了基于模型、集成式的可视化开发工具PREEvision进行了智能汽车行业及相关领域E/E架构开发并支持以太网SOA的架构开发设计,本文以介绍SOA架构设计模型为基础展示了如何在Enterprise Architect中进行SOA建模。同时,以系统工程师的角度说明如何利用Enterprise Architect构建SOA系统及软件架构设计、功能设计Function Design 和模块设计Module Design。对于SOA在整个智能驾驶系统设计原理有个清晰的把控。
本文由培训无忧网长沙牛耳教育课程顾问老师整理发布,希望能够对想在长沙参加影视动漫培训的学生有所帮助。更多课程信息可关注培训无忧网电脑IT培训频道或添加老师微信:15033336050
注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-13950.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注程序开发频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050