0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AP Autosar在SOA开发中的应用方法论

智能汽车电子与软件 来源:焉知智能汽车 作者:Jessie 2022-10-27 10:24 次阅读

近年来,随着汽车的智能化程度越来越高,处理器的性能要求也大大提高。通常是在CP Autosar端采用多核处理器移植相应的软件算法,对于高阶自动驾驶来说其对处理能力的需求远超多核。许多具有数十到数百个内核的众核处理器、GPGPU(GPU的通用用途)、FPGA和专用加速器正在出现,因为这些处理器提供的性能比传统 MCU高出一个数量级。

995f9db0-551a-11ed-a3b6-dac502259ad0.png

AP Autosar的架构部署原理

随着内核数量的不断增加,原本为单核 MCU 设计的 CP 虽然可以支持多核,但是效率却极度降低。主要体现在随着内核数量增加,单核MCU所布局的CP计算能力已经远超其本身负荷。并且,随着计算能力的不断增长,在诸如数据中心、功耗效率、主频率也已经成为一个问题,对于如何布局各个ECU软件模块到各个性能核上就显得尤为重要。同时,对于功率利用率来讲,最佳性能指标是通过异构计算来实现,也即混合不同的计算资源(如Many Core、协处理器、GPU、FPGA、加速器等),强大的处理能力和快速的芯片内通信速度,也促使开发者建立一种新的平台,以适应不断增长的系统要求。

01 AP与CP之间的关系

首先我们需要从根源上讲讲AP和CP的关系实际上,AP Autosar是集成了CP Autosar和非Autosar ECU,AP 不会取代显示端 IVI / COTS 中的 CP 平台或 非AUTOSAR 平台。而是与这些平台和外部后端系统进行交互,形成集成系统。同时,除了基础的以太网协议外,CP和AP都可以支持了SOA中的基础服务协议Some/IP。

9994b554-551a-11ed-a3b6-dac502259ad0.png

AP 定义了运行时系统架构,构成平台,也定义了该平台提供的功能和接口。它还定义了在此类系统的开发中使用的 Machine可读模型。该规范应提供有关使用平台开发系统的必要信息,以及实现平台本身需要满足的条件。

AP在传统CP基础上增加了通信技术优化设计,可以充分利用基于以太网的通信功能并从中受益。AP 主要提供高性能的计算和通信机制,并提供灵活的软件配置,例如支持无线更新软件。专门为 CP 定义的功能(例如访问电信号和汽车专用总线系统)可以集成到AP中。同时,对于功率节省来讲,最佳的能效比则是通过混合不同的计算资源实现,比如多核、协处理器、GPU、FPGA和加速器的联合运作实现。

02 AP Autosar的几大关键模块典型应用原理

1)AP Autosar架构方案

AP Autosar的逻辑视图体现了其相应的体系结构,自适应应用程序(Adaptive Application,AA)通常运行在ARA(AUTOSAR Runtime for Adaptiveapplications,自适应应用程序的运行平台)上,ARA由功能群集(FCs)提供的应用程序接口组成,这些集群属于Adaptive Platform Foundation或 Adaptive Platform Services,分别提供 AP 的基本功能和服务。属于 Adaptive Platform Foundation的功能集群是“基于库的”,而 AdaptivePlatform Services 是“基于服务的”。ARA通过隐形接口确保自适应应用程序之间可以有效进行交互。状态管理使用标准ARA接口来维护不同AP堆栈实现之间的可移植性。应用程序通信管理(CM,Communication Management)可以为机器内提供面向服务的通信,并处理Service请求与应答之间的路由,不必关系他们之间的拓扑部署。

同时,AA和FC之间的调用不是通过IPC的进程间通信进行,而是常规的库函数调用进行的。在ARA接口下,包括在 AA上下文中调用的ARA 库,可以使用 ARA以外的其他接口来实现 AP 规范,这取决于 AP 实现的设计。

操作系统的角度来看,AP 和 AA只是形成一组进程,每个进程包含一个或多个线程。尽管这些进程的实现取决于 AP 的实现方式,但它们之间没有区别。这些进程通过进程间通信IPC 或任何其他可用的 OS 功能相互交互。这里需要注意,自适应应用程序进程可能不会直接使用 IPC,而只能通过 ARA进行通信。

99bf1880-551a-11ed-a3b6-dac502259ad0.png

ara :: com 和 ara :: rest 这两个通信堆栈都可以在自适应应用程序之间建立通信路径。ara:: rest 是一个 framework,用于在此类 API之上构建 RESTful API以及特定服务。整个框架设计严格针对最大的资源控制。可以严格控制和定制所有计算和分配,以适合应用程序(部署)的确切需求。

2)应用程序执行控制管理

应用程序的生命周期管理由执行管理(EM,Execution Management)模块进行程序加载/启动的。但该模块不决定应用程序的启动和终止时间,该启动和终止时间由状态管理SM进行特殊控制的,并且需要在系统集成/运行时进行适当的配置才能启动程序。

实际上,从EM的角度来看,所有的功能集群都是应用程序,除了EM本身外,他们也以相同的方式启动。自适应应用程序AA和功能集群可以使用任何非标准接口,只要它们不与标准 AP 功能冲突,并且它们符合项目的安全性要求即可。

9a13b12e-551a-11ed-a3b6-dac502259ad0.png

对于数据确定性,执行管理提供了 DeterministicClient API,以支持对内部流程的控制,确定性工作人员池,激活时间戳和随机数。对于软件锁步,DeterministicClient 与可选的软件锁步框架进行交互,以确保冗余执行的流程具有相同的行为。DeterministicClient 与 CommunicationManagement 进行交互,以使数据处理与周期激活同步。

3)运行机器Machine/Hardware

AP 将运行在其上的硬件视为一台虚拟机Virtual Machine,多台 Machine之间以及与其他传感器之间的主要互连机制预计将基于以太网进行,其背后的原理是获得一致的平台视图,而不考虑可能使用的任何虚拟化技术。对功能应用程序的分布式,独立和敏捷开发的支持需要一种标准化的开发方法。AUTOSAR 自适应方法论涉及工作产品的标准化,用于描述诸如服务,应用程序,Machine及其配置之类的工件。

9aa2141e-551a-11ed-a3b6-dac502259ad0.png

4)状态管理

状态管理是一个独特的功能集群(FC),主要用于特定于 ECU开发项目,并且通常最终实现由系统集成商执行。它负责 AUTOSAR 自适应平台的运行状态的所有方面,包括处理传入事件,确定这些事件/请求的优先级以设置相应的内部状态。

状态管理可以根据项目需求由一个或多个状态机组成。状态管理通过项目特定的 ara :: com Service Interface(由“Fields”组成)与自适应应用程序进行交互。状态管理和其他功能集群之间的交互应通过每个功能集群定义的标准化接口(IFC)来完成。

9ac97c2a-551a-11ed-a3b6-dac502259ad0.png

为了实现同步行为,在状态管理中可提供已定义的消息和应答消息,这些已定义的消息和应答消息在 ara :: com 方法和字段在“通信管理”的“通信组”范围内生成。同时,网络管理(NM)可以通过状态管理进行控制,因为部分网络的控制需要通过 SM 控制的 EM 的功能组状态与相关应用程序的集合进行协调,状态管理则可通过项目特定的 ARA:: com Service Interface(由“Fields”组成)与自适应应用程序进行交互,执行过程中可以实现包含设置功能组专用状态、激活/取消部分网络功能、关闭/重启Machine等相关的过程状态控制。

5)Manifest模型描述

Manifest仅仅作为AUTOSAR 一种模型描述,平台软件和应用软件的程序分别由执行管理根据 MachineManifest 和 Execution Manifest 信息确定。在开发项目中,大部分的ARXML会被自动视为Manifest。Manifest的描述是为了支持 AUTOSAR AP 产品的配置而创建的,并会搭载到 AUTOSAR AP 产品上,并可能与其他包含 Manifest 文件的可执行代码的工件(如二进制文件)结合使用。存在与Manifest 相关的模型元素,且这些元素在典型开发项目的不同阶段都具有相关性。

总体上Manifest定义细分为如下几个阶段:

9b321744-551a-11ed-a3b6-dac502259ad0.png

其中,执行 Manifest 的目的是提供将应用程序实际部署到 AUTOSAR AP 所需的信息(包括启动配置应用程序实例和资源管理)。总体思路是保持应用程序软件代码与部署方案尽可能独立,以增加应用程序软件可以在不同部署方案中重用的几率。最终,自适应平台实例会运行在特定硬件Machine上。该过程包括配置网络连接并定义网络技术基本凭证、Service 发现技术配置、Machine状态定义等等。

6)通信网络

车载网络不断增长的带宽要求导致引入了以太网,该以太网提供更高的带宽并具有交换网络,与传统的车载通信技术(例如 CAN)相比,它可以更有效地传输长消息、实现点对点通信等。

通信管理负责分布式实时嵌入式环境中应用程序之间的所有通信,对于SOA的整个开发来说主要指面向服务的通信。通信管理软件为机器内通信以及机器间通信提供了使用此类服务的机制。可以在设计时、启动时或运行时建立通信伙伴之间的通信路径。该机制的重要组成部分是 Service Registry 中心,它充当中介实例为每个应用程序注册对应的服务,通过查询Service Registry来找到请求的服务,并且也是通信管理软件的一部分。

当前,通信管理支持 SOME /IP,DDS,IPC(进程间通信或任何其他自定义绑定)和 Signal PDU(基于信号的网络绑定)。

9b55b082-551a-11ed-a3b6-dac502259ad0.png

对于 ServiceMethods,Service Requester Proxies 提供了同步(阻止调用者直到服务器返回结果)和异步调用(被调用函数立即返回)的机制。

网络管理(NM)旨在通过状态管理进行控制,因为部分网络的控制需要通过 SM 控制的 EM 的功能组状态与相关应用程序的集合进行协调。

7)其他方面

诊断——管理代表基础层上 AdaptivePlatform 的功能集群。该配置基于经典平台的AUTOSAR 诊断提取模板(DEXT)。DoIP 是一种车辆发现协议,旨在与诊断基础架构(诊断客户端,生产/车间测试仪)进行车外通信。车载或远程诊断通常使用其他传输协议,因此提供了使用自定义传输层扩展平台的API。

时间同步­——当需要跨分布式系统的不同事件之间的关联时,不同应用程序和/或 ECU 之间的时间同步(TS)至关重要,以便能够及时跟踪此类事件或在准确的时间点触发它们。因此,为应用程序提供了时间同步 API,因此它可以检索与其他实体/ ECU 同步的时间信息。然后,通过不同的“Time Base Resources”(从现在开始称为 TBR)提供时间同步功能,这些“Time Base Resources”通过预构建配置存在于系统中。时间同步模块包括考虑启动行为、构造函数行为(初始化)、正常操作、错误处理等几个方面。

功能安全与信息安全驱动——AP 瞄准的系统通常需要某种级别的安全性,可能是最高级别。新概念和新技术的引入不应破坏这些要求,尽管要实现它并非易事。为了应对挑战,AP 结合了架构,功能和程序方法。该体系结构基于 SOA的分布式计算,从而使每个组件固有地变得更加独立且不受意外干扰;有助于实现 Safety 和 Security 的专用功能。

车载软件实时更新——新的车辆功能(例如高度自动驾驶)将在车辆中引入高度复杂且计算量大的软件,并且必须满足严格的完整性和安全性要求。这种软件可实现诸如环境感知和行为计划之类的功能,并将车辆集成到外部后端和基础架构系统中。由于不断发展的外部系统或改进的功能,需要在车辆的生命周期内更新车辆中的软件。

03 Autosar AP 在SOA的开发流程

除了应用程序设计和不同种类的Manifest 外,AUTOSAR 方法论还支持系统设计,它有可能在一个单一模型中描述将在系统中使用的两个 AUTOSAR 平台的软件组件。不同的 AUTOSAR 平台的软件组件可以以面向服务的方式相互通信。但是也有可能描述信号到服务的映射,以在面向服务的通信与基于信号的通信之间建立桥梁。

在SOA环境中, Client 和服务的 provider通过 服务接口和行为连接在一起。在开发服务期间,服务接口或行为可能会随时间而改变。因此,已引入服务合同 Contract Versioning 以区分服务的不同版本。AUTOSAR 自适应平台支持Contract 的 Versioning 设计,以用于服务的设计和部署阶段。

9b6e8030-551a-11ed-a3b6-dac502259ad0.png

04 总结

在中央计算单元中,使用APAUTOSAR 架构可以满足一些模块化、动态化的需求。使用UCM(升级通信管理)功能集群,可以满足一些OTA的功能要求。 可以使用AP AUTOSAR满足运行时建立动态通信路径的需求。也可以使用PHM(平台健康管理)和Crypto(加密)满足一些Safety和Security的需求。同时,AP Autosar也包含有智能ECU和相应的技术驱动程序,且需要使用更多的计算能力。AP也支持应用程序的增量部署,在其中动态管理资源和通信,以减少软件开发和集成的工作量,从而缩短迭代周期,增量部署还支持探索性软件开发阶段。但是无论国内还是国外,对于这块研究的并不成熟,要真正应用于工程化量产项目的开发还有很长的路要走。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AUTOSAR
    +关注

    关注

    10

    文章

    363

    浏览量

    21706
  • SOA
    SOA
    +关注

    关注

    1

    文章

    293

    浏览量

    27535
  • 自动驾驶
    +关注

    关注

    784

    文章

    13915

    浏览量

    166774

原文标题:AP Autosar在SOA开发中的应用方法论

文章出处:【微信号:智能汽车电子与软件,微信公众号:智能汽车电子与软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OptiSystem应用:SOA波长变换器(XGM)

    和1540nm的载波波长和0.316mW和0.158mW的功率(没有线宽、初始相位和极化)。WDM复用器2×1的帮助下对信号进行复用,输入SOA。 图3所示为高斯脉冲生成器参数设置: 图3.高斯脉冲
    发表于 01-06 08:51

    AUTOSAR通信与网络安全 AUTOSAR通信在车辆的应用

    架构合作伙伴计划,旨在创建并建立一个开放的标准化软件架构,以简化汽车电子控制单元(ECU)的开发和生产。 1. AUTOSAR通信概述 AUTOSAR定义了一个分层的软件架构,其中包括了通信层
    的头像 发表于 12-17 15:06 350次阅读

    AUTOSAR通信实现的常见问题

    AUTOSAR(Automotive Open System Architecture)汽车开放系统架构旨在实现汽车电子的软硬件分离,降低ECU软件开发的复杂度,提高软件可重用性。 一、通信协议栈
    的头像 发表于 12-17 15:03 440次阅读

    AUTOSAR通信堆栈的配置 AUTOSAR通信模块测试方法

    )的开发和生产。通信堆栈是AUTOSAR架构的关键组成部分,负责处理ECU之间的通信。 AUTOSAR通信堆栈的配置 通信模型 :
    的头像 发表于 12-17 15:01 339次阅读

    AUTOSAR通信协议解析 如何实现AUTOSAR通信

    通信协议栈是一个复杂的系统,它涵盖了多种通信方式和模块,以实现车内ECU之间的高效、可靠的数据交换。以下是对AUTOSAR通信协议的解析及实现AUTOSAR通信的方法: 一、AUTOSAR
    的头像 发表于 12-17 14:54 915次阅读

    基于遗传算法的QD-SOA设计新方法

    了QD-SOA的设计,提出了一种基于遗传算法的QD-SOA设计新方法。由于具有用于设计的模型是必不可少的,因此第一步获得数值模型。然后,
    的头像 发表于 12-17 09:58 128次阅读
    基于遗传算法的QD-<b class='flag-5'>SOA</b>设计新<b class='flag-5'>方法</b>

    材料失效分析方法汇总

    材料故障诊断学:失效分析技术失效分析技术,作为材料科学领域内的关键分支,致力于运用科学方法论来识别、分析并解决材料与产品实际应用过程中出现的故障问题。该技术对于增强产品的可靠性、改进设计、优化制造
    的头像 发表于 12-03 12:17 348次阅读
    材料失效分析<b class='flag-5'>方法</b>汇总

    AUTOSAR解决方案 — INTEWORK-EAS-AP

    经纬恒润自主研发的Adaptive AUTOSAR平台产品, 遵循AUTOSAR Adaptive R19-11和R22-11规范, 使用C++11、C++17语言开发。可通过极易上手的自研工具配置,实现
    的头像 发表于 11-06 16:11 746次阅读
    <b class='flag-5'>AUTOSAR</b>解决方案 — INTEWORK-EAS-<b class='flag-5'>AP</b>

    9月26日云技术研讨会 | SOA整车EE架构开发流程及工具实施方案

    本次研讨会经纬恒润将结合业务团队多年来SOA架构开发和工具实施领域的项目实践经验,分享探讨SOA趋势下先进的整车EE架构开发模式,聚焦
    的头像 发表于 09-19 17:09 337次阅读
    9月26日云技术研讨会 | <b class='flag-5'>SOA</b>整车EE架构<b class='flag-5'>开发</b>流程及工具实施方案

    天津港:码头与数智世界间的船票

    正确的方法论,是数智化的起点与蓝图
    的头像 发表于 09-18 10:13 1312次阅读
    天津港:码头与数智世界间的船票

    SOA架构开发小助手PAVELINK.SOA-Converter V1.4.2新版本发布

    PAVELINK.SOA-Converter转换工具,用于衔接基于SOA的控制器设计、开发及测试过程中所常见的各类软件工具。PAVELINK.SOA-Converter能提供IDL及服
    的头像 发表于 08-07 15:10 588次阅读
    <b class='flag-5'>SOA</b>架构<b class='flag-5'>开发</b>小助手PAVELINK.<b class='flag-5'>SOA</b>-Converter V1.4.2新版本发布

    AUTOSAR MCAL驱动程序与演示程序的Libraries的驱动程序有什么不同之处?

    1.关于 AUTOSAR MCAL 驱动程序 与演示程序的 Libraries 的驱动程序 有什么不同之处? 2.AUTOSAR MCAL 驱动程序
    发表于 05-17 06:55

    PAVELINK.SOA-Converter-应用场景介绍#SOA #IDL转化 #汽车架构开发

    SOA
    北汇信息POLELINK
    发布于 :2024年04月29日 18:56:30

    汽车SOA功能模块与开发流程深度剖析

    SOA是从遵循服务导向原则的可重用服务构建复杂软件系统的方法SOA也是1个组件模型,它将应用程序的不同功能单元(称为服务),通过这些服务之间定义良好的接口和契约联系起来。
    发表于 04-07 10:13 959次阅读

    TRIZ智能机器人开发的创新之旅

    挥作用呢?让我们一起来探索这一话题。 TRIZ,即发明问题解决理论,是一套系统的创新方法论。它通过分析大量专利和发明案例,总结出了一套解决创新问题的有效工具和方法智能机器人开发
    的头像 发表于 02-22 10:24 701次阅读