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