Software-Test

Durch Simulation bessere IoT-Systeme entwickeln

Seite: 2/2

Anbieter zum Thema

Das Testen lässt sich auch horizontal skalieren (Bild 2). Es ist leicht, viele Varianten von Netzwerken aufzubauen, um die Software bei unterschiedlich verteilten und verbundenen Knoten zu testen. Verschiedene Gewichtungen zwischen Gateways und Sensorknoten sowie diverse Netzwerktopologien lassen sich testen. Bild 2 zeigt auch, wie man mit Simulation verschiedene Tests parallel vornehmen kann. Das verkürzt die Gesamtzeit zur Realisierung von Testsets erheblich.

Bildergalerie

Kann es in der Praxis funktionieren, Hunderte oder Tausende Nodes auf einem einzigen Host Computer zu simulieren? Die Antwort lautet ja. IoT-Sensor-Nodes weisen typischerweise ein sehr geringes Aktivitätsprofil auf. Die Sensoren erfassen die Welt nicht kontinuierlich. Statt dessen erfassen sie regelmäßig einen Messwert und stellen diesen bereit. Jeder Sample-Lauf kann eine Sekunde oder nur ein paar Millisekunden dauern. Anschließend kann das System minuten- oder sogar stundenlang im Idle-Zustand verharren. Dies spart Energie und ermöglicht die Implementierung von Nodes in die reale Welt über lange Zeiträume ohne Batteriewechsel.

Simulation läuft viel schneller als Tests in Echtzeit

Somit gibt es in einem System sehr viele Idle-Zeiten, die man nutzen kann, um die Simulation zu beschleunigen. Statt Idle-Zeit Zyklus um Zyklus abzuspielen, springt eine Simulationslösung direkt zum nächsten Ereignis, das einen im Sleep-Zustand befindlichen Knoten aufweckt. Das bedeutet, dass sich ein System, das sich meist im Idle-Zustand befindet, viele Male schneller als in Echtzeit simulieren lässt. In großen IoT-Simulationen ist das von Vorteil.

Einige Anwender nutzen Simics, um das Systemverhalten auf physikalischer und auf der Zeit-Ebene zu untersuchen. Die Probleme, die sie zu analysieren versuchen, involvieren sowohl Software- als auch Netzwerk-Verhalten von tausend oder mehr Nodes und wie sich dieses Verhalten über die Zeit entwickelt. Netzwerksimulation wird verwendet, um Erreichbarkeit und Funk-Netzwerktopologien nachzubilden.

Die Simulation wird zum Zweck der Skalierbarkeit über viele Multicore-Hosts verteilt. Durch den Einsatz von Hypersimulation ist es möglich, die Stabilität über Wochen oder Monate zu testen, ohne echte Wochen oder Monate warten zu müssen. Da man die echte Hardware simuliert und die reale Software nutzt, lassen sich Software-Probleme wie überlaufende Zähler und Knoten, die fehlerhafte Zustände über die Zeit akkumulieren, erfassen.

Für die finalen Systemtests werden letztlich physikalische Labors gebraucht. Denn man muss das testen, was man liefert und das liefern, was man testet. Trotzdem ist die Simulation notwendig, um über physikalische Testlabors hinauszugehen, mehr Testfälle abzudecken und mehr Testvarianten zu nutzen. Das stellt sicher, dass die Qualität erhalten bleibt und das System sich über eine Reihe von Situationen robust verhält. Fazit: Mit Simulation kann man bessere IoT-Systeme auf eine bessere Art und Weise entwickeln.

* Jakob Engblom ist Product Line Manager für Simics-Tools bei Wind River.

Artikelfiles und Artikellinks

(ID:43361104)