Der Blick aufs Ganze – Wechsel von einer geräte- zu einer dienstorientierten Denkweise

Von zentralerer Bedeutung im IoT ist das Sammeln von Informationen, das Steuern entscheidender Infrastrukturen und die Erfassung der realen Welt, das von diesen Geräten erbracht wird. Die Verbraucher sind schließlich nicht allein an der Temperatur eines Zimmers in ihrem Haus interessiert oder am Videosignal einer einzelnen Kamera. Ihr Interesse liegt vielmehr auf einem höheren Niveau: Sie möchten, dass ihre Sicherheitssysteme Bewegungen im Haus und dessen Umgebung detektieren, und dass die Klimaanlage eine komfortable Raumtemperatur einhält. Ebenso möchten Unternehmen über den Produktionsdurchsatz einer ganzen Fertigungslinie informiert werden, anstelle über die Ausgaben einer einzigen Steuerung in ihrer Fabrik. Dieser Perspektivenwechsel ist entscheidend, denn er zwingt die Entwickler zu einem besseren Verständnis des Kontexts ihres Produkts und seiner Anwendungsfälle.

Auch Ihr Gerät ist wahrscheinlich Teil eines Diensts

Einzelne embedded Geräte werden möglicherweise nicht als Bestandteil eines Diensts wahrgenommen, auch wenn dies infolge ihrer Vernetzung mit größeren Systemen eigentlich so sein sollte. In einem Automobil zum Beispiel besteht die Rolle eines Motorsteuerungsgeräts (Engine Control Unit – ECU) allein darin, für eine ordnungsgemäße Verbrennung und einen korrekten Schadstoffausstoß des Motors zu sorgen. Das Auto insgesamt verfolgt mithilfe der ECU jedoch auch den Kraftstoffverbrauch und meldet diesen über eine Funkverbindung an einen zentralen Server. Diese Verbrauchsdaten werden dann für die Routenplanung und zum Abschätzen der Betriebskosten herangezogen. Das macht  die ECU zu einer entscheidenden Komponente, um geschäftliche Entscheidungen zu treffen.

Macht man sich diese Sichtweise zu eigen, gewinnen der Kontext eines einzelnen Geräts und sein betriebliches Spektrum an Umfang, und der Wechsel von einer geräte- zu einer dienstorientierten Denkweise hat entsprechende Rückwirkungen auf den Ansatz für das Systemdesign:

  • Konglomeration: Das IoT besteht aus zu vielen Dingen, als dass jedes einzelne davon von Nutzen sein könnte. Über die gemeinsame Organisation der Geräte können auf einer höheren Ebene nützliche Informationen bereitgestellt werden. Eine Heizungs-, Lüftungs- und Klimaanlage etwa muss nicht die Temperaturen der einzelnen Räume melden, stattdessen schicken die einzelnen Sensoren die jeweiligen Temperaturen an ein Steuerungssystem (z. B. ein SCADA-System in der industriellen Steuerungstechnik). Dieses wiederum fällt lokale Entscheidungen, die dann an ein (remote gelegenes) übergeordnetes System gemeldet werden.
  • Selbstüberwachung: Übergeordnete geschäftliche Entscheidungsprozesse würden in der Flut von Daten ertrinken, wenn alle Sensoren ständig alles meldeten. In dem eben angeführten Beispiel eines Heizungs-, Lüftungs- und Klimasystems kann das lokale Steuerungssystem die Temperatur im Gebäude auf einen Sollwert regeln, der von einem zentralisierten Prozess beispielsweise an Hand des Wetters und des gerade geltenden Stromtarifs vorgegeben wird. Die Systeme auf der Unternehmens-Ebene würden somit einen von der Klimaanlage gebäudeweise erbrachten Dienst nutzen, der wichtige Informationen wie etwa den Energieverbrauch liefert.
  • Austauschbarkeit: Im Lauf der Zeit werden die Dienste, die von diesem Konglomerat an Geräten erbracht werden, nützlicher als die Geräte selbst. Die einzelnen Sensoren und Steuerungen lassen sich deshalb in ihrer Gesamtheit durch ein anderes Produkt ersetzen, solange die insgesamt gesetzten geschäftlichen Vorgaben weiter erfüllt werden. Sofern die Dienstqualität nicht angetastet wird oder sich sogar verbessert, ist die Hardware austauschbar. Oberflächlich betrachtet, mag dies als nachteilig für die Gerätehersteller erscheinen, und für einige Hersteller ist dies sicher tatsächlich so. Klug geführte Unternehmen dagegen, die die Bedeutung dieser Dienste erkennen und über die Qualität dieser Dienste konkurrieren, werden sich als Marktführer herauskristallisieren.
Eine zentrale Aufgabe im Automobil spielt die Steuerungseinheit, indem sie erhaltene Daten aus Diensten kombiniert und daraus weitere Entscheidungen trifft. (Quelle: Parasoft)

Dienstbasierte Tests sind entscheidend für den Erfolg des IoT

Sobald man einen dienstorientierten Ansatz gewählt hat, ist es sinnvoll, beim Design, bei der Implementierung und beim Testen denselben Schritt zu vollziehen. Hat man erkannt, dass es der Dienst ist, der den geschäftlichen Nutzen bringt, gilt es sicherzustellen, dass die Geräte die diesbezüglichen Anforderungen erfüllen. Natürlich ist das Testen der Funktion auf der Modul-, Subsystem- und System-Ebene nach wie vor wichtig, jedoch ergeben sich unmittelbare Vorteile, wenn man den Umfang des Testens vergrößert.

Anstatt die Systemqualität im Hinblick auf die Erfüllung der Anforderungen an einzelne Geräte zu betrachten, wird der Blickwinkel so erweitert, dass die Qualität der erbrachten Dienste beurteilt wird. In dem weiter oben angeführten Beispiel der Klimaanlage kann ein neuer Temperatursensor leichter und kostengünstiger sein, eine längere Batterielebensdauer erreichen und eine ausgezeichnete Funkreichweite haben. Ebenso wichtig wie diese neuen Features ist aber, wie gut er im Kontext der Steuerung des gesamten Gebäudes funktioniert.

Indem man auf der Dienst-Ebene testet, stellt man sicher, dass auch die nicht funktionsbezogenen Anforderungen erfüllt werden. Zum Beispiel lassen sich auf der Geräte-Ebene oder während der Software-Modultests nur schwierig Aussagen über die Performance oder die Zuverlässigkeit einholen. Dienstbasierte Tests dagegen können die betriebliche Umgebung eines Geräts simulieren, um realistische Belastungen bereitzustellen. Um bei dem erwähnten Beispiel zu bleiben, lässt sich der neue Temperatursensor mit wechselnden Abfrageraten prüfen, um zu ermitteln, ob er die Leistungsvorgaben einhält.

Cyber-Attacken auf IoT-Systeme gehen vom Netzwerk selbst aus und zielen auf die exponierten APIs. Dienstbasierte Tests können für robuste Sicherheitstests simulierte Umgebungen errichten, sei es über Fuzzing (die Erzeugung wahlloser und fehlerhafter Dateneingaben) oder Denial-of-Service-Angriffe. So könnte etwa ein neuer Temperatursensor mit erwarteten Anfragen korrekt arbeiten, aber bei Überlastung abstürzen. Das wäre eine Angriffsstelle für einen Angreifer, um das System durch gezielte Überlastung zum Absturz zu bringen.

Fazit

Die Erkenntnis, dass es im IoT eigentlich um Dienste geht, führt zu besseren, differenzierten Embedded-Geräten für jene neue, vernetzte Welt, in der sie eingesetzt werden sollen. Hersteller, die sich auf die Dienste konzentrieren, laufen weniger Gefahr, dass ihre Produkte durch gleichwertige Hardware ersetzt werden. Um die von IoT-Systemen geforderte Performance, Dienstqualität und Sicherheit zu erzielen, ist außerdem das dienstbasierte Testen von entscheidender Bedeutung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.