ReTeC

ReTeC: Reduction of Test Complexity

Modellbasiertes Applizieren und Testen

Hier finden Sie die ersten Ergebnisse zu dem Projekt.

Selbst ausgefeilte Entwicklungsmethoden bei Großkonzernen können bei Softwareprojekten Fehler nicht verhindern.

Gerade bei Eingebetteten Systemen sind die Kosten bei einem Fehler enorm hoch, da nicht wie auf klassischen PCs oder auf Tablets üblich einfach neue Softwareversionen eingespielt werden können, sondern, wie im Fall von Audi, die Fahrzeuge in die Werkstätten zurückgerufen und dort die Fehler durch einen kostspieligen Software-Update (oft mehrere Stunden Belegung eines Arbeitsplatzes) beseitigt werden müssen.

Oft liegt das Problem an der mangelnden Testabdeckung. Um diese Kosten zu vermeiden, ist es notwendig, möglichst früh Fehler zu entdecken und somit möglichst fehlerfreie Software auszuliefern. Insbesondere Eingebettete Systeme sind schwierig zu testen und Software-Updates sind schwer durchzuführen, etwa bei der jährlichen Wartung einer Heizung. Der Hauptgrund liegt in der Tatsache, dass Eingebettete Systeme eingeschränkte Ressourcen haben und somit Tests – nicht wie auf Desktoprechner üblich – durchgeführt werden können.

Ebenso sind eingebettete Systeme oft zeitkritisch, sodass zusätzliche Testsysteme auf dem Eingebetteten System das Zeitverhalten verfälschen. Insbesondere jedoch hängen diese Systeme von komplexen, äußeren Randbedingungen/Zuständen ab, deren vollständige Testabdeckung extrem auf-wändige bzw. umfangreiche Testprozeduren/-abläufe erfordert und die daher oft nicht mit der nötigen Tiefe durchgeführt werden (können).

Genau hier setzt das Projekt an. Es soll ein ganzheitlicher modellbasierter Ansatz für die Entwicklung und den Test von Eingebetteten Systemen entwickelt werden. Ausgehend von den Systemanforderungen soll zum einen die modellbasierte Entwicklung der Applikation (Struktur, Daten, Funktionalität) folgen, zum anderen werden aus den Anforderungen auch Testfälle abgeleitet und in einem selben, sog. Omni-Modell, objektorientiert hinterlegt.

Durch diese objektorientierte integrale Ablage könnte bereits eine formale Prüfung der modellierten Applikation gegen die Testfälle erfolgen (ein sog. MIL= Modell in the Loop).

Anschließend sollte über Transformationen und Code-Generatoren der Quellcode für das Zielsystem als auch für eine Simulation dessen erzeugt werden. Analog sollte aus der Testinformation desselben Omni-Modells entsprechender Testcode automatisch generiert werden, der zu einer eigenständigen Test-Engine compiliert wird. Diese Engine kann im Folgenden gegen das Zielsystem (als sog. HIL = Hardware in the Loop, PIL = Prozessor in the Loop) als auch Simulation (als sog SIL = Software in the Loop) ausgeführt werden.

Alle Test-Komponenten und -Schritte sollten idealerweise automatisch erzeugt und ausgeführt werden.

Diese Ergebnisse könnten dann zur Fehlerbehebung und kontinuierlichen Verbesserung des Onmi-Modells als auch Dokumentation der Tests verwendet werden.

Teilnehmende Firmen

Weiter zum Projekt After Sales Safety