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.
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.»
— 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.