车载诊断技术 发表于 2023-3-25 09:20:24

车载基础软件——国产基础软件开发平台架构ASF的架构设计及关键技术

我是穿拖鞋的汉子,魔都中坚持长期主义的工程师。
老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

你要登高山一睹春风得意,要做不惧风浪的云帆,去踏青云万里的征程,脚下荆棘遍布也要欣然前往,前途锦绣正等你全力奔赴,风吹过的夏天,我们终将得到救赎!

本文主要介绍国产基础软件开发平台架构ASF的架构设计及关键技术。
一、 架构设计
ASF 是位于基础软件平台(即基础操作系统和运行环境)和功能服务层之间的服务软件单元的集群,主要用于支持功能服务的通用化基础功能的开发和使用。可实现车内各功能服务之间、车云之间共享通信、诊断、计算等资源。
ASF 软件架构在 SOA 平台的层级如图:

ASF 使用标准化基础软件平台和操作系统提供的接口,提供更多整车业务层面需要的功能,并封装成基础系统服务与整车系统服务,例如整车级日志服务、整车级诊断服务等,将各个节点的服务汇总成整车级,为开发者提供整车统一视图的服务功能及服务接口。
ASF弥补了标准基础软件没有对接口进行业务级汇总和统一的问题,对开发者提供更多面向服务开发所需要的功能服务,使开发者专注于业务设计和开发,为业务创新和软件快速迭代提供支撑。
二、架构下的关键技术设计
ASF 是一组为功能服务开发、使用和集成而设计的通用化中间件服务集群,服务集群可以被所有的功能服务调用,用于对功能服务在整车平台的能力进行扩展,并实现整车各系统之间的协同,保证整车软件平台的整体性并进行统一管控。
ASF 主要可分为原子服务、SOA 增强型服务、系统级基础服务、整车级基础服务。软件架构设计师需基于各服务类型进行服务定义、设计,使 ASF 分层和功能定义更加清晰。在服务设计过程中遵循以下原则:
-> SOA 增强型服务具有通用性:即可为所有的应用服务提供通用功能,应用服务基于服务自身需求可使用该类服务,如数据存储、服务信号转换、服务调试等诸如此类的通用化功能;
-> 系统级基础服务具有一定范围的(如某操作系统或控制器之上)通用性,且具有抽象性:即对基础软件开发平台(如 AUTOSAR Adaptive/Classic、Android 等)提供的通用化功能进行抽象,并提供给应用服务使用,如健康管理服务、网络管理服务、时钟服务、电源管理服务等;
-> 整车级系统服务具有全局性:即该类服务的设计更多关注的是整车层面对车内所有系统的通用化功能进行协同和管控,该层服务是对系统基础服务在整车层面的抽象和管控,即通过该层服务可以配置和控制系统基础服务,如整车健康管理服务、整车网络管理服务、整车时钟服务、整车电源管理服务等;
-> 动态服务具有动态配置性:即应用服务在运行过程中可对服务进行配置,并基于配置输入执行动态服务的功能;
-> 原子服务具有独立性:即其设计应与硬件配置和实现无关,与上层功能服务层和下层的硬件驱动层解耦,完全独立;
-> 原子服务具有原子性:即设计的服务不可再拆分,作为服务的最小单位和执行实体,为功能服务提供最基础的执行或采集等功能.

1)SOA增强型服务
SOA 增强服务是在国际共同讨论的基础平台进行服务框架扩展,封装通用化的基础功能。应用服务调用此类服务的接口更加方便完善其功能软件逻辑、便于系统集成和敏捷测试。
该类服务为一组服务集群,以 Lib 库的形式集成在应用服务中,并提供满足国际共同讨论的自适应性标准的服务接口,使接口标准完整统一。主要包含模块:服务调试、服务转换、服务权限、服务同步、SOA For Android、日志管理、动态数据收集、诊断管理。
2)系统级基础服务
系统级基础服务描述车端各类域控及网关节点,基于通用基础软件提供的底层支持,进行相应的封装和扩展,实现各类通用化服务功能和框架及在此基础上形成的面向上层应用的各类服务接口(SDK接口、API 接口、IPC 接口、RPC 接口等)。
系统基础服务包括通用支撑类服务和公共框架类服务。通用支撑类服务包括服务治理(服务发布及发现)及服务容器、服务访问及限流降级、数据订阅及发布、集群管理、消息总线等。公共框架类服务包括升级管理服务、健康管理服务、网络配置服务、资源管理服务、时钟同步服务、安全管理服务、测试服务、电源管理服务、日志服务、诊断服务、数据收集等。
此外,系统基础服务还包括针对具体域控节点功能的框架服务,如针对自动驾驶域控制器,提供自动驾驶融合感知模型和框架服务、规划控制模型和框架服务、决策执行模型及框架服务、定位服务等。针对智能座舱域控制器,提供手势识别服务、语音识别服务、仪表显示服务以及其他应用框架服务。系统基础服务支持灵活组合、配置及部署,在不同的域控节点上部署不同的服务模块,如升级服务、健康管理服务、网络管理服务、系统资源查询服务、时钟服务、安全服务、调试服务、软件包管理服务、电源管理服务、通信服务、日志服务、通用支撑类服务、数据收集服务。

3)整车级系统基础服务
整车级系统基础服务是将各控制器节点的能力,通过跨域、跨核组合成整车级别的业务功能,以对应用层提供整车级统一的调用。整车级系统基础服务包含整车电源管理服务、整车健康管理服务、整车时钟服务、整车诊断 Master、整车版本管理服务、整车数据采集服务、整车日志管理服务。
4)动态服务
动态服务工作流通常由车云一体的云端平台( 比如:开发者平台)提供工具链支持,对接技术生态及运营,从而在运行态具备灵活更新的能力。动态服务开发流程以逻辑组合建模为主,因此工具链需要支持可视化 UML 建模,输出模型脚本,并与车端建立同步机制。
动态服务开发面对的角色,不再局限于传统的 OEM/ 供应商角色,而是拓展面向第三方开发者,甚至是车主。
5)原子服务
原子服务是执行单一操作功能的服务,具有硬件功能上的不可拆分性。例如获取一个数值或者执行一个I/O操作。通过将域控制器的硬件功能,拆分为最小功能的原子服务,并统一定义原子服务的访问接口,从而实现软硬件的完全隔离。
软硬件隔离后,车载硬件不再绑定特定的功能,应用软件得以自由使用车载硬件,实现更加灵活多样化的功能。例如方向盘在正常行驶过程中,用于控制车辆的转向,当车辆处于非驾驶模式时,又可以成为中控大屏游戏应用的控制手柄。

页: [1]
查看完整版本: 车载基础软件——国产基础软件开发平台架构ASF的架构设计及关键技术