EDMS中间件集成的未来趋势和探讨

描述

ETAS Deterministic Middleware Solution (EDMS,前身为AOS)确定性中间件解决方案,是一个中间件框架,旨在面向汽车领域内应用程序的独特挑战和需求,尤其是在高级驾驶辅助系统 (ADAS)和自动驾驶 (AD)的背景下,为开发人员提供了创建高性能和高安全性应用程序所需的工具、运行时环境和集成能力。

自动驾驶

图1 EDMS确定性中间件解决方案概览

中间件在汽车系统中的重要性

自动驾驶

图2 中间件在汽车嵌入式控制和计算单元中的位置

在当下汽车行业正在经历一场变革,变得更加软件驱动和互联化。新型车辆由众多的电子系统和应用组成,每个系统都有其特定的要求和功能。而中间件就提供了一种强大的凝聚力,允许这些不同的组件和谐的工作,简化了开发流程,降低了复杂度,并有助于创建稳定可靠的汽车软件。

除了实现不同软件组件之间的平滑交互外,中间件还解决了安全性和实时性等关键因素。这些属性在汽车领域内至关重要,软件故障的后果可能会对车辆的安全和功能产生严重影响。

随着汽车行业不断接受技术进步和软件驱动带来的创新,中间件的作用变得更加重要。它是使汽车制造商和开发人员得以构建复杂和互联系统的基石,同时确保现代汽车应具备的稳定可靠和高性能。

可用于汽车领域应用的中间件类型

在汽车生态系统中,存在着各种不同的使用场景和功能上的需求,而由此产生多种中间件解决方案也就不足为奇了。文中我们将主要涉及以下三种类型中间件解决方案:深度嵌入式中间件、多用途汽车中间件和特定域中间件。

自动驾驶

图3 汽车领域中间件调研

深度嵌入式中间件

(Deeply Embedded Middleware,例如AUTOSAR Classic)

深度嵌入式中间件为在资源受限的嵌入式系统上运行的软件应用程序提供基础服务。这种中间件的一个著名代表就是AUTOSAR Classic。AUSOSAR Classic被汽车行业广泛采用,在深度嵌入式应用程序中几乎无处不在。

AUTOSAR Classic专注于安全性和实时性应用。它提供标准化的接口、通信协议和数据管理机制。其主要优势在于解决功能安全和网络安全问题,同时在安全关键环境中实现ECU之间的有效通信和协调。

多用途汽车中间件

(General-Purpose Automotive Middleware,例如AUTOSAR Adaptive、Eclipse SDV)

多用途汽车中间件是为更广泛的汽车领域用例而定制的,通常应用在更高规格的片上系统 (SoC)上。多用途中间件的典型代表包括AUTOSAR Adaptive、Eclipse SDV (软件开发环境)和GENIVI。

AUTOSAR Adaptive是承接AUTOSAR Classic的更加灵活和可扩展的后续产品,面向高性能控制器和应用程序。它提供了广泛的应用程序支持,包括调度、通信、诊断和更新管理。Eclipse SDV和GENIVI也提供多用途中间件解决方案,满足各种汽车功能,并提供与不同软件环境的兼容性。

特定域中间件

(Domain-Specific Middleware,

例如ETAS Deterministic Middleware)

对于专用领域的汽车功能,如高级驾驶辅助系统 (ADAS)和自动驾驶 (AD),特定域中间件就有了用武之地。这些中间件针对特定用例进行了优化,并提供了有针对性的功能。

例如,EDMS确定性中间件旨在满足ADAS/AD应用程序的需求,提供了一个具有执行控制、通信服务和数据日志记录的运行时环境。EDMS中间件还包括用于开发和执行的工具,为ADAS/AD场景提供了一个全面的解决方案。此外其他的特定域中间件,还有例如用于AD软件快速原型构建的ROS/ROS2,专注于满足了汽车领域的特定需求。

不同域的应用场景依赖于不同的中间件

汽车应用跨越广泛的域,每个域下都有独特的要求和挑战。而中间件解决方案就是为了有效地解决这些不同的应用程序域同时带来的挑战。

对于常规的车辆功能,AUTOSAR Adaptive等中间件提供了一套全面的服务,包括通信、诊断和软件更新。这些中间件非常适合需要灵活性并可以在高性能微处理器上运行的应用程序。

在自动驾驶领域,特定域中间件 (如EDMS确定性中间件) 专为满足ADAS/AD应用程序的独特需求而定制。这些中间件为自动驾驶算法的开发和部署提供确定性执行、通信支持和相关工具。

监控功能,例如ADAS/AD算法的合理性分析,需要高安全性、实时性能力。AUTOSAR Classic等中间件解决方案擅长提供安全关键服务,可以确保不同应用程序之间安全交互。

随着汽车行业的发展,多个中间件的集成也变得越来越重要,以满足不同应用域的不同需求。

 

EDMS及SDK工具如何加速ADAS/AD开发

高级驾驶辅助系统 (ADAS)和自动驾驶(AD)技术的发展,亟需一种结构化和可迭代的方式,以确保充分验证和持续改进。

AD循环是一个系统化的方法论,有助于逐步开发和验证ADAS/AD功能。它包括了五个关键阶段——设计开发,部署,构建,行驶/测量/记录,回放和模拟。通过遵从AD循环,开发团队的工作可以在每个阶段中系统化的进行,确保ADAS/AD功能得到严格的测试、验证和优化。

自动驾驶

图5 EDMS确定性中间件——软件开发SDK工具包和AD循环

通过EDMS确定性中间件解决方案及软件开发工具套件 (SDK),能够加速AD循环的各个阶段,支持无缝开发、部署、执行和验证ADAS/AD系统。

开发阶段:使用YAAA设计软件架构

在AD循环的开发阶段,重点在于创建稳定和高效的软件架构,使之构成ADAS/AD系统的基础。EDMS SDK提供了一个强大的工具,YAML As Architecture (YAAA),有助于设计软件架构。

YAAA支持:

结构化建模:YAAA允许将复杂的系统分解为功能组件,促进清晰的体系结构设计。

组件详细信息:YAAA捕获了功能组件、通信接口、以及部署信息等基本细节。

集成版本控制:YAAA无缝的融入了当下基于Git的工作流程,有效的实施了架构即代码 (architecture-as-code)

自动驾驶

图6 AD循环——开发阶段

部署和构建阶段:从硬件和OS层面进行抽象

在部署和构建阶段,重点转移到将软件架构转换为可执行代码,并为后续部署做好准备。EDMS SDK工具将软件从底层硬件和操作系统中抽象出来,从而简化了此过程。中间件抽象层 (MWALA)确保Business Logics可以跨不同的中间件平台运行,从而实现灵活的部署。

自动驾驶

图7 AD循环——部署和构建阶段

行驶阶段:通过EDMS中间件执行系统

在真实世界场景中执行ADAS/AD系统是AD循环的关键步骤。SDK工具通过与EDMS中间件无缝集成来支持该阶段,以确保确定性执行。EDMS确定性中间件中System所表述的构想,包括Activity和Runnable,使得在行驶阶段实现可靠和一致的行为。

自动驾驶

图8 AD循环——行驶阶段

测量阶段:记录数据以实现可复现行为

为了确保可复现性和有效验证,测量阶段务必记录系统执行的数据。EDMS SDK工具支持收集准确且详细的数据,捕获执行时间、激活间隔和数据流,这些记录的数据对于后续的分析和验证都是非常宝贵的。

自动驾驶

图9 AD循环——测量和记录阶段

回放和模拟阶段:验证和确认

回放和模拟阶段侧重于使用记录的数据来验证和确认ADAS/AD系统行为。RecAll工具在这一阶段发挥着关键作用,RecAll允许对系统执行进行重新计算,支持用于调试和分析的确定性回放。该阶段确保系统能够按预期运行,并适用于各种场景。

自动驾驶

图10 AD循环——回放和模拟阶段

EDMS确定性中间件的主要优势

通过前文对EDMS及其开发工具的概括介绍,毫无疑问,这种综合全面的中间件解决方案在塑造自动驾驶的未来方面会发挥出关键作用。实现确定性行为、处理高数据速率、满足功能安全要求和利用确定性重新计算的优势共同有助于开发安全、可靠和高效的ADAS/AD系统。

自动驾驶

图11 EDMS确定性中间件的优势

在基于处理器的系统上实现确定性行为

EDMS最深刻的优势之一是它能够在基于处理器的系统上实现确定性行为。通过利用复杂的调度和通信机制,EDMS确保软件组件的执行遵循一种可预测和稳定可靠的模式。这种确定性行为对于ADAS/AD等实时系统至关重要,其中精确时序和一致性能是首要的。

使用EDMS中间件处理高数据速率

现代自动驾驶系统生成并处理来自各种传感器和数据源的海量数据。EDMS中间件构建在高效的零拷贝 (zero-copy) 通信框架上,擅长处理低延迟的高数据速率。这种能力对于实时决策和控制来说是至关重要的,使ADAS/AD系统能够及时处理数据并对其做出反应。

通过支持ASIL-D满足功能安全要求

安全在自动驾驶领域中至关重要,特别是在危及人类生命的环境中。EDMS的设计充分考虑了安全性,提供ASIL-D (汽车安全完整性等级) 支持。这意味着EDMS符合最高级别的功能安全要求,确保使用EDMS构建的ADAS/AD系统能够满足汽车行业要求的严格安全标准。

利用确定性重新计算进行测试和验证

EDMS的另一个突出特征是其确定性重新计算 (Deterministic Recompute) 功能,目前由RecAll工具负责提供。此项功能允许精确复现系统执行,其意义对于测试、调试和验证来说都极其宝贵。工程师可以追溯并分析特定场景,确保系统按预期运行,并有效地识别任何潜在风险问题。

EDMS确定性中间件的集成

不同中间件之间的交互需求

有关汽车嵌入式控制和计算单元的话题,通常都会涉及对多个中间件解决方案进行融合的讨论,毕竟任一中间件都迎合特定的应用领域。随着车辆变得越来越复杂和互联,这些不同的中间件需要无缝的交互和通信。例如,执行合理性分析的监控应用程序可能需要与在特定域中间件上执行的ADAS/AD算法交互。

不同中间件之间的交互可以创建跨功能协作,增强数据交换,并更好的支持依赖于多个中间件解决方案各取所长的集成功能。这些交互的标准化机制对于保证兼容性、一致性和效率十分重要。

EDMS确定性中间件的一个显著优势在于它能够与各种中间件解决方案集成,包括多用途的和特定域的中间件。通过利用中间件网关,EDMS允许不同中间件进行高效和标准化连接,促进具有不同需求和语义的应用程序之间的数据交换和通信。

下面列举两个具体用例来说明,EDMS的集成为开发人员提供了多种可能性:

1.与同一ECU上的其他中间件无缝交互,实现ADAS功能的确定性执行。

2.高效连接外部管理的数据池,例如来自硬件加速器 (HWA) 的数据,过程中无需数据复制。

1. AUTOSAR Adaptive和EDMS确定性中间件的交互

中间件集成的第一个例子展示了两个不同中间件平台的连接:AUTOSAR Adaptive和EDMS确定性中间件,这两个中间件都在汽车系统中发挥着各自的作用,它们的集成也实现了增强协作和功能性。

此处创建了一个由用户编写的网关,该网关在AUTOSAR Adaptive和EDMS之间充当桥梁,促成两个中间件平台之间的通信和数据交换,允许它们各自的应用程序和服务之间的无缝交互。

自动驾驶

图12 EDMS与AUTOSAR Adaptive集成

2. 通过DMC集成外部数据

有效的集成外部管理的数据 (例如来自硬件加速器HWA的数据) 是一个典型的案例,而直接内存访问连接 (Direct Memory Connector, DMC) 端口的引入,面向挑战提出了十分便捷的处理办法,实现在中间件运行时环境中直接而安全的共享外部存储。

此示例中,EDMS确定性中间件使用DMC端口来连接外部管理的数据池。这种集成方案确保了确定性中间件可以访问和利用来自HWA的数据,而无需进行不必要的数据拷贝,即零拷贝 (zero-copy),从而达到提升性能和无缝数据交换的目的。

自动驾驶

图13 EDMS通过共享内存 (SHMEM)机制访问外部数据

中间件集成的未来趋势和探讨

受众多因素共同作用,汽车系统的中间件领域正在发生着重大变革:

多样化生态系统:随着汽车系统变得越来越复杂和互连,中间件解决方案的范围可能会扩大,以适应不同的应用程序域和硬件架构。

异构集成:集成将涉及更广泛的中间件解决方案,跨越安全关键、实时和多用途领域,导致复杂的混合架构。

AI和机器学习:人工智能和机器学习组件与中间件平台的集成将变得越来越普遍,从而实现高级感知、决策和控制功能。

边缘计算:中间件集成将适应边缘计算的发展趋势,其中计算任务分布在车辆网络的各个层级,需要高效和安全的数据交换。

多中间件集成可以为汽车系统带来几个显著的收益:

增强的功能:每个中间件在其特定领域中都有出色表现,特性和功能的合并能够增强系统的整体功能。

优化的性能:通过利用特定域中间件和优化网关,可以最小化性能瓶颈,从而提高系统性能和响应能复用性和兼容性:集成有助于跨不同中间件平台利用现有软件资产库,促进软件复用性和兼容性。

灵活性和定制化:多个中间件的集成提供了可以针对不同的应用域选择最适合中间件的灵活性,为特定需求定制化解决方案。

多中间件集成还需要考虑各种因素的权衡:

标准化与专业化:在标准化集成机制和特定域的优化之间取得平衡,以实现所需的性能和功能。

数据拷贝与零拷贝:基于性能和安全考虑,来决定是采用在中间件层之间复制数据,还是采用零拷贝机制 (如通过Direct Memory Connectors)。

复杂度与可维护性:管理集成所带来的复杂度递增,同时要确保集成后系统的长期维护和支持。

        审核编辑:彭菁

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分