Coding and Testing of Engine Control Unit Functions

The control system engineers of Volkswagen and its suppliers use a model-driven approach to develop the physical models of the requested functions. The software engineering department takes these models and transforms them into C-code, e.g. by adding quantization formulas and using code generators. IPSSE is handling a part of the load which the software engineering department of Volkswagen has to manage. More concrete, IPSSE is performing the following tasks:

  • Integer quantization: The physical models developed by the control systems engineers are by default calculated in floating point arithmetic. Although code generators can automatically transform floating point into fixed point calculations, the results can be significantly improved if meta information like ranges of values or needed resolutions are added to the model.
  • Model to C code transformation: The C code is generated from the given physical model by a code generator, which requires a specific configuration of the involved tools and referenced objects.
  • Testing: Currently, model in the loop tests are run by the control system engineers. The results of these tests are compared against those of the software in the loop tests, which are performed by the software engineers.
  • Analysis: A static code analysis is performed for the generated C code for all models, in order to ensure safety and non-functional requirements.

The purpose of this project is to gain a better understanding of the underlying principles which support the process of software development for engine control units at Volkswagen. Only with a good knowledge of the involved tools and processes can serious support and consulting in the fields of tool support and processes of software development be provided.