In order to efficiently meet the growing demands on software development for safety-critical systems, JTEKT has set up an AUTOSAR-based, ISO 26262-compliant CI process that enables continuous software builds with dSPACE TargetLink and serves as a foundation for future developments in the field of software-defined vehicles.
As a system supplier for all major OEMs, JTEKT develops, among other things, steering systems, one of the vehicle components that are particularly critical to safety. The current trends in the automotive industry in the ADAS/AD sector are already having a major impact here because they also intervene in the steering system. A large number of constraints and standards must therefore be taken into account when developing software for these systems (Figure 1). Under normal circumstances, this growing complexity would also lead to an increase in the time required for development work. However, JTEKT’s customers expect exactly the opposite, namely more frequent delivery of new software versions and a reduction in the time to market.
“In order to gain and maintain the trust of customers, it is important to streamline the development processes and meet a whole range of standards at the same time. Customers simply expect that these days,” says Dr. Luc Malrait, Senior Software Engineer at JTEKT Europe.
Higher Requirements with Reduced Development Time
In order to meet the growing requirements, both tool landscapes and working methods need to be adapted and optimized. Typical buzzwords in this context include continuous integration (CI), i.e., the continuous merging of components to form an application, and continuous delivery (CD), i.e., the delivery of new software versions at very short intervals, i.e., almost continuously.
“And the software-defined vehicle acts as an additional accelerator for development processes that are already tight on time. You must be prepared for these challenges with the right tools and processes,” explains Ghislain Poncet, Software Design Group Manager at JTEKT.
JTEKTS Answer: AUTOSAR-Based Mode of Operation
The first step – the foundation, so to speak – of the JTEKT working method (Figure 2) is the model-based software architecture design in accordance with AUTOSAR. “A consistent, AUTOSAR-based way of working is the foundation for everything. It facilitates the reusability of software modules and the exchange with other participants and minimizes any interface problems between tools. The advantages of this way of working are felt virtually everywhere,”, says Dr. Luc Malrait.
In the second step, the JTEKT developers then generate production code from the model using dSPACE TargetLink. This allows the software design to be checked at a very early stage in the development process – the effort required for any error corrections is then considerably less than at a later stage.
MXAM from MES (Model Engineering Solutions) is used for quality assurance of the model with regard to modeling guidelines, model structure, and model metrics (step 3). Also worth mentioning is the BTC EmbeddedTester (step 4), which allows functional tests of the code during its execution and also enables so-called back-to-back tests, which check that the behavior of the model and code basically match.
Challenge: Version and Artifact Management
JTEKT practices a working method in which a large number of people work on the same projects in different locations. In order to maintain an overview, there are two key challenges that need to be overcome to ensure that the work as a whole runs smoothly:
- Artifact management: The collaborative way of working and the large number of tools inevitably result in large quantities of files (so-called artifacts), e.g., reports, data models, scripts, design documents, source code, text files, and much more. These must be neatly stored and managed in special directories/archives (so-called repositories).
- Version control: Because software developers are constantly generating new versions of the artifacts during their work, clear version management is essential so that current and previous versions can be tracked at all times.
Tool Landscape and Working Methods at JTEKT
Essentially, the following file-handling tools interact in the software development workflow at JTEKT (Figure 3).
- Git: Git is free software and is used for distributed version management of files. Git makes it possible for several developers to work on a project at the same time, irrespective of their location. Git is platform-independent and can therefore be used in almost any environment.
- JFrog Artifactory: JFrog Artifactory is a repository, i.e., a directory/archive that is used to manage a wide variety of data. JFrog Artifactory is used to manage the software artifacts that are created during software development.
- Jenkins: Jenkins is a platform-independent, web-based Java application for the continuous integration of software components into an application program. Jenkins makes it possible to write continuous integration jobs (so-called “pipelines”) for almost any combination of languages and source code repositories. In these pipelines, the typical activities (e.g., verification of modeling guidelines, back-to-back tests, reports, etc.) are then processed automatically and all artifacts are correctly packaged. The result is a finished application program.
Continuous Delivery in the Future
Continuous integration (CI) has established itself as a standard working method at JTEKT. With the help of the described working methods, JTEKT completes an average of more than 10 builds per working day. The next logical step is then planned for the future, i.e., continuous delivery (CD). Among other things, this will be driven by the upcoming developments relating to the software-defined vehicle (SDV), as this will regularly provide data from everyday use, which in turn will have to be taken into account in the development work.
About the authors:
Ghislain Poncet
Software Design Group Manager, JTEKT Europe
Dr. Luc Malrait
Senior Software Engineer, JTEKT