Continuous Integration for Embedded Systems
OEM & Lieferant 2/2017
Agile software development with continuous integration is common practice in classical software development. The processes provide developers with a faster and more detailed feedback cycle, thus optimising the identification and localisation of problems. Errors are discovered earlier and can be eliminated in a timely and budgetary manner. The risk of defects in the final product is minimised. In order to ensure the testability of a complex system it is advantageous, from a process point of view, to write test cases before the actual implementation of a new functionality. Compact, easy to test software modules and better test coverage are the results of this Test Driven Development. The processing of the defined test cases is a constantly recurring process, which can be automated and incorporated into the continuous integration process.
ServiceXpert Gesellschaft für Service-Informationssysteme has built up comprehensive skills in electrical / electronic development with regard to test automation over the past 20 years. The ServiceXpert engineers also provide support with independent tests and practical knowledge as established trusted partners for test and integration tasks for large commercial vehicle manufacturers. In order to transfer the above-mentioned practices to software development in the field of embedded systems, some challenges have to be overcome by those involved in the process. In addition to the limitations of the chosen programming language or framework encountered in classical software development, there are additional limitations and special functions of the hardware with embedded platforms. While high-level functionality can also be checked on embedded systems with common module tests (unit tests), this is not possible with hardware-specific code for controlling physical interfaces. Usually, the systems controlled by the embedded hardware consist of a large number of sensors, actuators, control signals and communication interfaces. Tests on the real system are therefore very complex and are difficult to repeat under the same conditions. The use of laboratory or prototype vehicles for testing real, complex systems is very costly, time-consuming and inflexible. A hardware-in-the-loop (HiL) simulation, which simulates real conditions via suitable stimuli on the system to be tested, is appropriate in order to be able to carry out tests under controlled conditions. Automated tests can then be conducted with the aid of a suitable control software in order to test hardware interfaces as well as the implemented functions. Hardware is usually expensive and such development boards are only available in small quantities, especially in the prototype phase. A test set-up with test automation therefore offers the possibility of optimum utilisation of the available hardware.
Depending on the requirements and complexity of the system to be tested, a laboratory setup with an HiL system is also very cost-intensive. ServiceXpert has therefore developed its own HiL solution consisting of an embedded Linux platform, which together with an interface board currently provides digital inputs and outputs with variable voltage as well as a CAN interface. Commands can be sent to the HiL via a network communication, which allows a flexible connection to commercial control programs which are already established. With a debugger compatible with the embedded system, the new software versions are transferred to the hardware to be tested. The incorporation into the Continuous Integration process allows the automation of the complete process over all levels (build, unit tests, flashing of the hardware) as well as the integration tests at hardware level.
ServiceXpert has developed a solution for continuous integration with test automation for practical purposes and simple allocation of resources. The engineers have succeeded in developing an efficient, cost-effective alternative to already existing HiL systems based on consumer components and open source software, which is also suitable for projects with a manageable scope and budget. In the future, the currently used commercial control software is to be replaced by a separate framework in order to be completely license-independent. In addition, the integration of analog inputs and outputs as well as other communication interfaces is planned.
ServiceXpert, an ESG-Group company, employs over 85 staff in Hamburg and Munich. ServiceXpert is a Europe-wide operating system and software house with a focused service portfolio for Lifecycle management of EE information for leading manufacturers of commercial vehicle and their supplier industry.