Servicexpert - Gesellschaft für Service-Informationssysteme mbH

Continuous Integration für Embedded Systeme

OEM & Lieferant 2/2017

04.10. 2017

Agile Softwareentwicklung mit Continuous Integration ist in der klassischen Softwareentwicklung gängige Praxis. Die Prozesse bieten den Entwicklern einen schnelleren und detaillierteren Rückmeldezyklus und optimieren somit das Aufzeigen und Lokalisieren von Problemen. Fehler werden früher entdeckt und können zeit- und budget-effektiv beseitigt werden. Das Risiko von Mängeln im finalen Produkt wird minimiert. Um die Testbarkeit eines komplexen Systems zu gewährleisten, ist es unter Prozessgesichtspunkten von Vorteil, Testfälle vor der eigentlichen Implementierung einer neuen Funktionalität zu schreiben. Kompakte, einfach zu testende Softwaremodule und eine bessere Testabdeckung sind bei dieser testgetriebenen Entwicklung (Test Driven Development) die Folge. Das Abarbeiten der definierten Testfälle ist ein sich immer wiederholender Ablauf, der automatisiert und in den Continuous Integration Prozess eingebunden werden kann.

ServiceXpert Gesellschaft für Service-Informationssysteme hat über die letzten 20 Jahre umfassende Kompetenzen in der Elektrik-/Elektronikentwicklung auch im Hinblick auf Testautomatisierungen aufgebaut. Als etablierter Trusted Partner für Test- und Integrationsaufgaben bei großen Nutzfahrzeugherstellern unterstützen die Ingenieure der ServiceXpert auch als unabhängige Testanbieter und wissen aus der Praxis: Um die oben genannten Praktiken auf die Softwareentwicklung im Embedded Bereich zu übertragen, sind einige Herausforderungen von den Prozessbeteiligten zu meistern. Neben den Limitierungen der gewählten Programmiersprache oder eines Frameworks, denen man in der klassischen Softwareentwicklung begegnen muss, kommen bei Embedded-Plattformen zusätzlich Limitierungen und spezielle Funktionen der Hardware hinzu. Während High-Level-Funktionalität auch auf Embedded-Systemen noch mit gängigen Modultests (Unit-Tests) überprüft werden kann, ist dies bei hardwarenahem Code zum Ansteuern von physikalischen Schnittstellen nicht ohne weiteres möglich. Meist bestehen die von der Embedded Hardware gesteuerten Systeme aus einer Vielzahl an Sensoren, Aktoren, Steuersignalen und Kommunikationsschnittstellen. Tests am realen System sind daher sehr aufwendig und lassen sich nur schwer unter gleichen Bedingungen wiederholen. Der Einsatz von Labor- oder Prototypenfahrzeugen zum Testen von realen, komplexen Systemen ist sehr kostspielig, zeitaufwendig und unflexibel. Um unter kontrollierten Bedingungen Tests durchführen zu können, bietet sich daher eine Hardware-in-the-Loop (HiL) Simulation an, welche an dem zu testenden System reale Bedingungen durch geeignete Stimuli simuliert. Tests können dann mit Hilfe einer geeigneten Kontrollsoftware automatisiert durchgeführt werden, um neben den implementierten Funktionen auch Hardwareschnittstellen zu testen. Hardware ist meist teuer und besonders im Prototypen-Status sind solche Entwicklungsboards nur in kleinen Stückzahlen verfügbar. Ein Testaufbau mit Testautomatisierung bietet daher die Möglichkeit, die zur Verfügung stehende Hardware optimal auszunutzen.

Je nach Anforderungen und Komplexität des zu testenden Systems ist auch ein Laboraufbau mit HiL-System sehr kostenintensiv. Die ServiceXpert hat daher eine eigene HiL-Lösung entwickelt, bestehend aus einer Embedded Linux Plattform, die zusammen mit einem Interfaceboard derzeit digitale Ein- und Ausgänge mit variabler Spannung, sowie ein CAN-Interface zur Verfügung stellt. Befehle können über eine Netzwerkkommunikation an den HiL gesendet werden, was eine flexible Anbindung auch an kommerzielle, bereits etablierte Kontrollprogramme ermöglicht. Mit einem zum Embedded System kompatiblen Debugger wird die neue Softwareversion auf die zu testende Hardware aufgespielt. Das Einbinden in den Continuous Integration Prozess ermöglicht, nun den kompletten Ablauf über alle Ebenen (Build, Unit-Tests, Flashen der Hardware) sowie die Integrationstests auf Hardwareebene zu automatisieren.

Die ServiceXpert hat eine Lösung für Continuous Integration mit Testautomatisierung unter praktischen Gesichtspunkten und einfachen Mitteleinsatz entwickelt. Den Ingenieuren ist es gelungen, eine effiziente, kostengünstige Alternative zu bereits auf dem Markt existierenden HiL-Systemen zu entwickeln, die auf Consumer Components und Open Source Software setzt und sich deshalb auch für Projekte mit überschaubarem Umfang und Budget eignet. Zukünftig soll die momentan verwendete kommerzielle Kontrollsoftware durch ein eigenes Framework ersetzt werden, um komplett lizenzunabhängig zu sein. Zusätzlich ist die Einbindung von analogen Ein- und Ausgängen sowie weiteren Kommunikationsschnittstellen geplant.

ServiceXpert, ein Unternehmen der ESG-Gruppe, beschäftigt über 85 Mitarbeiter an den Standorten Hamburg und München. ServiceXpert ist ein europaweit operierendes System- und Softwarehaus mit einem fokussierten Leistungsportfolio für das Lifecycle-Management von EE-Informationen für führende Nutzfahrzeughersteller sowie deren Zulieferindustrie.

Copyright ServiceXpert Gesellschaft für Service-Informationssysteme mbH 2016. All rights reserved.