在“软件定义汽车”这个概念提出之前,软件是由开发人员来定义的。由于市场巨大、应用复杂,而且在许多情况下软件又是汽车安全行驶的基础,因此每段代码都必须具备可追溯性,一头关联至产品需求,另一头关联至功能测试。

可追溯性是确保软件功能与质量、并验证任何局部更改都不会意外影响其他软件的最佳方法。随着软件规模的扩展,开发人员需要自动化的工具,来追踪所有代码并把它们适当地关联起来。软件可追溯性也是联合国欧洲经济委员会 (UN/ECE) 第 156 号条例的基础。

可追溯性的概念植根于汽车软件开发的最佳实践指南,例如ASPICE(汽车软件过程改进和能力确认)。ASPICE借鉴了V模型,这是一种描述开发过程中每个步骤如何连接到下一个步骤的方法——从系统需求到系统设计、软件需求、软件实现、软件的集成与合格测试以及系统集成与合格测试。在软件开发过程中,应该非常清楚各个部分是如何与每个阶段联系在一起。

如何实现软件的可追溯性

软件开发流程的合规性非常有必要进一步强调。如果开发人员在需求尚未经过审查和批准之前就开始编写代码,那么工作结果可能就不符合最终需求,并且有可能导致失败。在流程的后期再去尝试使软件与需求保持一致,这通常会更加耗时,并招致高昂的成本。

Automotive Software Traceability

开发团队可以建立提升软件可追溯性的系统,在需求管理系统、任务管理系统、代码存储库和测试管理系统之间建立精准的关联性。这些工作原本都需要大量的手工作业。Wind River Studio Developer则支持开发团队自动化地把上述系统关联起来,并将它们全部纳入单一窗口进行管理。对于任何给定的项目,其可追溯性都可实现可视化管理,并确保流程合规性。所有这些功能都可以扩展到外部合作伙伴和供应商。在每家供应商开发软件的过程中,其代码都可以在Studio中进行跟踪,从而提供对汽车软件的完整可视化。

可追溯性的测试优势

借助于可追溯性,开发人员还可以从与软件、需求和任务相关的测试中自动收集数据。由于这些测试分布十分广泛,既包括云端的软件环路,也包括测试台上的硬件,因此可追溯性也十分关键。

更重要的是,可追溯性让采用Studio的开发人员不仅可以智能化地选择与特定需求精准匹配的测试,而且还可以选择与之相关联的其他测试。这样一来,开发人员就可以更加全面地了解新代码更改是否对相邻的软件造成了影响——而且他们可以在极短时间内就得到结果。

Automotive Software Traceability

展望未来,生成式AI可以借助于Studio提供的可追溯性来选择相关的测试、生成额外的测试场景,并将测试集中在人类可能尚未意识到需要加强审查的领域。其最终目标是优化测试策略并发现错误,特别是在软件尚未投入使用之前。

可追溯性和安全性

可追溯性在汽车信息安全中也发挥着重要作用。例如,如果车辆遇到安全事故,Studio就可以借助于可追溯性来自动将此次事故与特定的代码片段关联起来,甚至与引入该代码的原始开发人员关联起来。如果数字反馈能够做到位,开发人员就可以在很短时间内了解事故,并开始采取行动来补救它,而不是在好多天之后才后知后觉。其中还配备了一套密钥管理系统,从而可以对每段代码在部署到车辆之前都进行加密签名。采用最先进的加密标准为可追溯性提供高度保障,而且每个签名模块都保持与需求的精准关联。

Automotive Software Traceability

对于软件定义汽车的工具来说,随着时间的推移,软件独立性的概念日趋重要。汽车制造商必须有能力管理、保护、测试和更新数以万计的独立软件,其中许多软件来自独立供应商。在这种情况下,可追溯性就成为一种性命攸关的能力,这也使Wind River Studio这样的工具对软件定义汽车来说更为重要。