为什么Eclipse Iceoryx使用Helix QAC

创提信息
2022/07/07

分享到

一辆现代化的汽车包含超过1亿行代码。而且,自动驾驶汽车处理传感器数据必须达到10GB/s,才能实时做出对安全至关重要的决策。所有这些数百万行的代码和数千兆字节的数据都必须高效地处理,以减少发生故障和错误的风险。
 
因此,汽车软件开发人员必须为自动驾驶汽车提供安全的进程间通信。这就是Eclipse Iceoryx得以开发的原因,也是Eclipse Iceoryx选择使用Helix QAC来帮助确保自动驾驶汽车软件的安全性和高质量的原因。


本文将包含如下几个部分:
 
     • 什么是中间件?
 
     • 什么是Eclipse Iceoryx?
 
     • Eclipse Iceoryx如何影响ISO 26262?
 
     • Eclipse Iceoryx依靠Helix QAC满足合规


什么是中间件?
 
在自动驾驶汽车软件的开发过程中,“中间件”这个术语经常用于描述将传感器、算法和执行控制器粘合在一起的软件。
 
设计能够在并发操作的传感器和处理单元之间传输大量数据,同时满足严格的延迟和运行时要求的中间件确是一个挑战。
 
为了有效地处理这一挑战,必须通过删除任何不必要的拷贝操作以及任务或进程等待时间来优化中间件的性能,同时还要保持数据的完整性。


什么是Eclipse Iceoryx?
 
传统中间件的工作方式是创建传感器数据的单独拷贝,提供给每个消耗资源的算法。这意味着延迟和运行时的出现次数与所提供的数据量成正比。
 
Eclipse Iceoryx开源项目旨在处理这一挑战。这是OpenADx计划的一部分,该计划由博世(Bosch)、微软(Microsoft)和其他软件行业领导者发起,旨在通过开放协作创建一条无缝工具链,用于自动驾驶的开发。
 
Eclipse Iceoryx是一款使用零拷贝共享内存方法的中间件,该方法针对大型数据进程间通信进行了优化。Eclipse Iceoryx是用现代C++编写的,将共享内存进程间通信(Inter-Process Communication, 简称IPC)方法与发布/订阅架构、服务发现以及无锁算法相结合了。这种独特的设计使得中间件消除了数据传输性能瓶颈。
 
您可以在Eclipse社区站点上阅读有关其设计的精彩描述。


Eclipse Iceoryx如何影响ISO 26262?
 
ISO 26262是对汽车行业至关重要的功能安全标准,因为ISO 26262对汽车产品开发并符合其要求非常关键。ISO 26262的一个关键组成部分是汽车安全完整性等级(Automotive Safety Integrity Levels, 简称ASIL)。
 
Eclipse Iceoryx是专门为符合ISO 26262 ASIL-D而创建的。为了帮助实现最高级别的软件完整性ASIL-D,有必要对代码运行静态分析,以检查可能导致安全问题的潜在缺陷。
 
Eclipse Iceoryx的开发人员选择了适用于C++的Helix QAC来根据MISRA C++、AUTOSAR和CERT C++编码规范检查其代码。
 
代码静态分析结果将以一个项目实例上传到Helix QAC仪表盘中,以便监测并与项目的贡献者共享。
 
通过这种方式,可以很容易地定位和发现编码缺陷,并保持代码库的正常运行以符合ISO 26262标准,这对于软件作为公路车辆的一部分运行至关重要。


Eclipse Iceoryx依靠Helix QAC满足合规
 
全球十大汽车供应商都依赖包括Helix QAC在内的Perforce静态代码分析方案,帮助他们开发复杂的嵌入式软件,在我们许多人驾驶的汽车中执行安全关键功能。
 
Helix QAC有助于确保代码是安全、可靠和兼容的。而且,Helix QAC使得应用像MISRA或AUTOSAR这样的编码规范更简便,不妨立刻注册申请免费试用吧。