为有效满足安全关键型系统不断增长的软件开发需求,JTEKT制定了一个基于AUTOSAR、符合ISO 26262标准的CI流程,该流程可以使用dSPACE TargetLink持续构建软件,为软件定义车辆领域的未来发展奠定了基础。
作为各大OEM的系统供应商,JTEKT开发了各种转向系统,该系统对车辆安全至关重要。目前,汽车行业ADAS/AD领域的趋势已经在这方面产生了重大影响,因为它们也会干预转向系统。因此,在为这些系统开发软件时,要考虑到大量的制约因素和标准(图1)。正常情况下,复杂性与日俱增还会导致开发时间增加。然而,JTEKT的客户却希望提高软件新版本的交付频率、缩短上市时间。
JTEKT欧洲公司高级软件工程师Luc Malrait博士谈到,“为了赢得和保持客户对我们的信任,必须简化开发流程,同时全面满足一系列标准。目前,客户的期望就这么简单。”
要求提高、开发时间缩短
为满足日益提高的要求,需要对工具部署和工作方法进行调整和优化。在这种情况下出现了一些典型的流行语,包括持续集成(CI)(即持续合并组件以形成一个应用程序)以及持续交付(CD)(即以非常短的间隔交付软件的新版本,几乎是持续交付)。
JTEKT软件设计组经理Ghislain Poncet解释道。“开发过程的时间已经很紧迫,而软件定义车辆让这根弦绷得更紧了。必须要用合适的工具和流程准备好迎接这些挑战。”
JTEKT给出的答案是:基于AUTOSAR的操作模式
JTEKT工作方法(图2)的第1步,也可以说其基础是根据AUTOSAR进行基于模型的软件架构设计。Luc Malrait博士表示“基于AUTOSAR的一致工作方式是一切的基础。它促进了软件模块的可重用性以及与其他参与者的交换,尽可能地减少了工具之间的接口问题。这种工作方式的优势几乎无处不在。”
在第2步中, JTEKT的开发人员使用dSPACE TargetLink通过模型生成产品代码。这样,就可以在开发过程的早期阶段检查软件设计,此时纠正错误所需的工作量比后期阶段要少很多。
MES(模型工程解决方案)的MXAM用于建模指南、模型结构和模型度量(第3步)方面的模型质量保证。同样值得一提的是BTC EmbeddedTester(第4步),它允许在执行过程中对代码进行功能测试,也可以进行背对背测试,即检查模型和代码的行为是否基本匹配。
Figure 2: Schematic representation of the development process at JTEKT. Everything is based on the AUTOSAR-based software architecture.
挑战:版本和工件管理
捷太格特/JTEKT推行了一种工作方法,让多位人员可以在不同地点从事相同的项目。为了掌握概况,需要应对两个关键挑战来确保整个工作顺利进行:
- 工件管理: 协作性工作方式和大量的工具难免会带来大量的文件(即工件),例如报告、数据模型、脚本、设计文档、源代码、文本文件等等。这些工件必须整齐地存储在特定的目录/存档库(即存储库)中。
- 版本控制: 由于软件开发人员在工作中会不断生成新的工件版本,这就要进行有序的版本管理,以便随时跟踪当前和以前的版本。
JTEKT的工具部署和工作方法
在JTEKT的软件开发工作流中,大体有下列文件处理工具相互作用(图3)。
- Git :Git是免费软件,用于文件的分布式版本管理。Git可以让多位开发人员同时开展一个项目,无论他们身在何地。Git独立于平台,因此几乎可以在任何环境中使用。
- JFrog Artifactory: JFrog Artifactory是一个存储库,即用于管理各种数据的目录/存档库。JFrog Artifactory用于管理在软件开发期间创建的软件工件。
- Jenkins: Jenkins是独立于平台、基于web的Java应用程序,用于将软件组件持续集成到应用程序中。利用Jenkins,几乎可以为任何语言和源代码存储库组合编写持续集成作业(即“管道”)。随后在这些管道中自动处理典型的活动(例如验证建模指南、背对背测试、报告等),并将所有工件正确打包,应用程序就此完成。
Figure 3: Tool landscape and working methods at JTEKT. The continuous integration of the software components into an application program is implemented with the help of the Jenkins software environment.
未来持续交付
持续集成(CI)已然成为JTEKT的标准工作方法。借助上述工作方式, JTEKT每个工作日平均可完成10次以上的构建工作。下一步是规划未来,即持续交付(CD)。软件定义车辆(SDV)今后的相关开发还将推动持续交付,因为这类车辆将定期提供日常使用情况数据,开发工作需要考虑到这些数据。