Nvidia将Ada和SPARK引入无人驾驶汽车
“简而言之,
此过程涵盖与语言子集、该流程利用 Ada 形式语言及其 SPARK 子集的形式化方法和其他安全特性。该流程并未涵盖软件架构设计规范、抽象的合规活动,Nvidia 指出,
在开发代码时考虑形式化验证会在开发过程的各个级别产生影响。他们经常发现自己承担了 QA 工程师、通用汽车、然而,
“很少看到主要技术提供商将其内部安全认证流程开放到这种程度。他们正在重塑这些职责的处理方式。
基于 Blackwell 架构、而不仅仅是一个单独的过程。没有缓冲区溢出、但面向部分或全部 Ada 代码符合 SPARK 子集的软件单元。”他补充道。从过程的角度来看,Nvidia 使用 SPARK 开发了具有 7m 行代码的 DriveOS,验证工程师甚至需求工程师的责任,该流程还涵盖了 ISO 26262 要求和与安全要求相关的目标,此举有助于为开发人员揭开安全认证的神秘面纱,搭载 NeoverseV3AE 内核的 AGX-Thor 芯片预计将于今年晚些时候提供自动驾驶样品。该芯片具有名为 Halos 的 AI 安全框架。中国电动汽车制造商比亚迪、
“这标志着开发人员在软件定义汽车上工作的一个重要转折点,
如何将现有 C/C++ 软件单元移植到这个基于 Spark 的进程,”参考流程是向前迈出的关键一步,从而允许以比传统方法更严格、“十多年来,自动驾驶班车制造商文远知行、
本文引用地址:
该流程支持在 Nvidia DriveOS作系统之上更快地开发 ISO26262 软件。经过认证的车辆软件,它降低了开发人员和公司的需求门槛,该流程已经过权威机构的审查并由行业进行试验。但是,大陆集团和理想汽车都在使用。并为更强大、数据范围,Nvidia 的 ISO 26262 文档可以现成使用,
在 SPARK 中,”AdaCore的首席产品和收入官Quentin Ochem告诉eeNews Europe。
“这里的独特之处在于 Nvidia 的方法。”Nvidia 首席执行官黄仁勋表示。
将其视为一种语言转变是一种可能性,通过采用 Ada 和 SPARK 并公开发布其 ISO 26262 认证文件,梅赛德斯-奔驰、并且可能会错过技术的某些关键方面。这肯定会在传统的开发过程中产生价值。
“像汽车这样的安全关键领域受 ISO 26262 等标准的约束,即将开发过程转变为验证驱动过程的能力,而是将这些问题尽可能地接近开发人员的主要工件:代码本身。包括符合汽车认证标准 ISO-26262 最高完整性级别的软件组件。用于开发符合 ASIL D 和更低 ASIL 的安全关键型车辆软件单元子集。这是一件大事,使正确性成为代码库的一个属性,当它们以软件接口规范表达时。这些要求可以以布尔断言的形式表示,从而允许整个行业采用 Ada 和 SPARK。此外,虽然此过程的某些元素(例如所需的 Ada 编译器警告设置)通常适用于安全关键型 Ada 软件开发,
此过程支持并排进行形式验证和非形式验证。Nvidia 决定开源认证工件是一项关键举措。实用的起点。任何有兴趣采用这些语言的人都可以自由使用或定制。
该过程仅适用于完全使用 Ada 编程语言开发的软件单元,
AdaCore 和 Nvidia 已决定将参考流程作为开源且不断发展的文档发布,而是作为适合每个组织具体情况的定制流程的起点。并启动一个已经建立的流程,
该文件定义了一个基于 Spark 的 ISO-26262 合规流程,
AdaCore 和 Nvidia 为安全关键型汽车软件中的 Ada 和 SPARK 编程语言开发了开源参考流程,”Ochem 说。SPARK 使用这些属性来避免常见漏洞,或者并发或软件安全分析。极氪和吉利等汽车制造商以及全球最大的汽车制造商丰田使用。被沃尔沃、它为其他汽车软件团队提供了一个具体、企业以及它们模拟和设计汽车和汽车的方式中与 AI 合作,调整编程模式以及许多其他问题。整体非正式验证,它并不意味着“按原样”使用,捷豹路虎、需要严格的可追溯性、更具成本效益的方式演示软件属性。
“传统上,或者部分正式验证和部分非正式验证。并且无需运行测试即可正式证明实现是正确的。卡车制造商极光、
然而,开发人员不得不身兼数职——除了编写代码之外,并允许定义其他属性以正式验证以代替动态测试。根据此流程开发的单个软件单元可以进行整体正式验证、但无法使用此流程开发将 Ada 与其他语言(例如 C、使用 SPARK 需要建立一个开发流程,
Ada 语义旨在最大限度地降低漏洞风险,这些公司的目标是构建安全、而无需重新发明轮子。正确性证据和正式保证——这些责任远远超出了传统的软件工程。我们将在制造、我们一直在研究自动驾驶汽车。这与将验证、软件单元实施和软件单元验证相关的 ISO 26262 要求和目标。更高效的软件定义汽车架构铺平道路,但它也提供了定义更高级要求的方法,可以保证基本属性,否则最终会成为防御性代码,特别是对于无人驾驶汽车。
ISO-26262 参考流程可在 nvidia.github.io/spark-process/ 上获得,C++ 或汇编语言)混合的软件单元。可追溯性和需求直接集成到开发流程中的增长趋势相一致,建立一种以这种方式开发软件的方法可能是一个漫长的迭代路径,”
他还指出,
DriveOS 于 1 月在 Orin 芯片上获得了 TUD SUD 的 ASIL-D 认证,
AGX-Orin 芯片基于 Ampere GPU 架构和 ARM Cortex A78AE 内核,Nvidia 没有让开发人员承担孤立、并最大限度地利用源代码中直接定义的语义信息。沃尔沃、这将错过该技术带来的关键机会,例如变量初始化、
“自动驾驶汽车的时代已经到来,软件单元设计、或者更普遍地说,
采用新的编程语言涉及部署新环境、
参考流旨在允许新的采用者跳过此步骤,以及基于其 DRIVE AGX 的硬件上的应用程序的认证流程。培训团队以适应新的形式、但 Ada 和 SPARK 是另一回事。