Warum Thing Abstraction?

Immer mehr Hersteller erkennen das Potential des Internet of Things und stellen Entwicklern Schnittstellen (API) zur Verfügung über die sich die Geräte ansprechen lassen. Oftmals sind diese Schnittstellen jedoch aus der Perspektive er Hersteller gestaltet. Sie unterstützen in erster Linie die Ansprüche der Hersteller selbst, um hauseigene Use-Cases zu bedienen. Der Nachteil hierbei ist, dass die daraus resultierenden Gerätemodelle, selbst bei gleichartigen Gerätetypen wie beispielsweise Lampen, von Hersteller zu Hersteller in der Regel komplett unterschiedlich sind.

Für Entwickler, die diese Geräte innerhalb ihrer Dienste nutzen wollen, ist dieser Zustand problematisch, weil zeitaufwändig bei der Einarbeitung in API und gleichzeitig kompliziert bei der eigentlichen Implementierung der Dienste.

Ziel ist, die Developer bei der Umsetzung der Anwendungen so zu unterstützen, dass nicht die Geräteanbindung sondern die Anwendung selber die größte Aufmerksamkeit bei der Entwicklung bekommen kann. Bisher sind die Ressourcen maßgeblich für die Anbindung und Übersetzung von herstellerspezifischen Modellen gebunden.

philips-hue-vs-lifx.jpg

In der Abbildiung erkennt man sehr einfach, dass beide Modelle den gleichen Gerätetypen (RGB Lampe) in seinen Bestadteilen abstahieren und beschreiben und dennoch sehr unterschiedlich sind.

Durch implizites Wissen erkennt ein Mensch die Zusammenhänge, eine Maschine jedoch nicht. Semantik kann hierbei Abhilfe schaffen! Durch die Verlinkung von existierenden Modellen zu bestehenden Schemata und Ontologien können die zugrundeliegenden Modelle soweit beschrieben werden, dass sie maschinenlesbar werden. Das hat den Vorteil, dass Entwickler nicht mehr durch ihr implizites Wissen aufwändig Übersetzungen von/in bestimmte Modelle schreiben müssen, sondern dieser Prozess (idealwerweise) automatisert stattfinden kann.

Im SENSE-Projektes wird herausgearbeitet, auf Basis welcher Schemata und Ontologien herstellerspezifische Modelle beschrieben werden können, um die Anwendungsentwicklung von datenbasierten Services stark zu vereinfachen.