From the Simulation Environment to the Vehicle in the Shortest Time

IAV’s integrated development process enables software to be extensively tested in simulation environments and then quickly brought into the vehicle as executable code. This “rapid control prototyping” is an important part of the holistic tool chain at IAV.

The development of software for interconnected, highly automated or fully autonomous driving functions is very complex and at the same time must be realized in ever shorter development times. Especially when using agile development methods, the testing of each software version (“builds”) is therefore of great importance. Tests of the code quality as well as the software functionality ensure that the delivered software versions have a high degree of maturity. As part of its holistic tool chain, IAV focuses on automating all tests as far as possible. The tests are triggered automatically once a build is complete.

The actual development process follows the process known as “V-Model” (see illustration). This model depicts the individual process steps over time and makes it clear that the level of detail from the first requirement to the architecture concept to the solution concept and implementation is constantly increasing. In the classic development process, the left branch is run through first until a compiled controller status is available. This is followed by an ascent to the right branch of the V-Model, where tests are typically performed. The final step is the integration into the vehicle and the final overall functional test.

iav werkzeugkette EN

IAV’s integrated development process for rapid control development makes it possible to perform horizontal iteration loops in the V-Model. This allows problems to be identified very quickly. For example, a controller in the design tool can be tested directly on available models of other components or subsystems even if the target hardware or vehicle is not yet available. This integrated development process for rapid control development is called “rapid control prototyping.” Key process steps in the integrated development process at IAV are “continuous integration,” “continuous deployment” and “continuous testing.”

Automatic testing of code quality

The “continuous integration” step focuses on non-functional tests. The term describes how the various components of an application are continuously merged into executable software. Within the context of a “static code analysis,” aspects are examined like the structure of the algorithms or conventions for the optimal readability of the software codes. The analysis also evaluates whether guidelines are adhered to, which were defined by industry committees such as MAAB (MathWorks Automotive Advisory Board) or MISRA (Motor Industry Software Reliability Association).

If deviations are found during this analysis, the responsible programmers are directly notified of this result so that they can correct the detected errors. As in the following steps, the code analysis also includes automated documentation.

Dr. Rick Voßwinkel, IAV expert for motion planning, explains how this is done: “Once a software release has completed this first test step, “continuous deployment” takes place. In this process step, the new, verified code is automatically provided for all relevant development, test, integration and production environments. For example, the code and the script-based delivery documents are stored centrally in a cloud solution. This ensures that all developers have access to this latest version.” The results of this automated delivery process include test logs from static code analysis and function documentation. If required, these documents can even be regenerated for earlier software versions.

Functional tests as part of the development workflow

Closely linked to the automated integration and delivery process is “continuous testing,” which focuses on the functional tests. In this step, the tests are carried out automatically, for example as sub-functional, integration or quality tests. Depending on the planned test scope, the tests are carried out on the basis of different simulation concepts.

In order to be able to test vehicle-related vehicle dynamics control, IAV has developed various specific simulation models that run, for example, in Simulink modeling software provided by MathWorks. Dr. Voßwinkel emphasizes the practical advantage:

«The rapid control prototyping we use enables us to generate executable software from the code in the simulation environment in a very short time, which we can then use directly in the vehicle in the next step.»

Dr. Voßwinkel — IAV expert for motion planning

“In this way, the developed functions can be experienced more quickly in the overall vehicle system.”

In addition to the use of these simulation tools, real data is another important basis for efficient testing, says Voßwinkel. The basis for this can be recorded real test data as well as previously generated simulation results. The fact that the developed software is modular in structure also favors efficient testing at module level. For example, internal module interfaces can be used as the basis for a comprehensive test catalog.

The advantages of “rapid control prototyping” have already been proven in customer projects as well as in internal development and research scenarios. IAV is continuously developing its customized tool chain for automated software testing and is thus ideally equipped to meet the current and future requirements of the automotive industry.

The article was published in automotion 03/2020, the automotive engineering magazine of IAV. Here you can order the automotion free of charge.

Stay up to date

Subscribe to the newsletter