Options
2015
Doctoral Thesis
Titel
Rapid application development in the internet of things
Abstract
The Internet of Things (IoT) is a vision in which physical and digital objects are connected and cooperate to achieve particular goals. Unfortunately, the extent of expertise required to incorporate intelligent hardware, software, and computer network still presents a significant challenge. Service-oriented IoT middleware have been proposed quite often to solve this problem. However, they are mostly designed for professional developers with a high degree of flexibility and extensive features. Consequently, tool's simplicity is often sacrificed, and they present a steep learning curve for entry-level developers. This dissertation aims at addressing this gap by elaborating the state-of-the-art in IoT developments and proposing IoTLink, a rapid IoT software development tool for novice developers. For designing IoTLink, the author reviewed the available IoT architectures. A typical pattern suggests that a physical object must be uniquely identifiable, has physical qualities that partly can be sensed by sensors, and has some capabilities or services that could affect the environment. Virtual entities may act as proxies to execute services and retrieving information about the physical objects. IoTLink is designed for enabling inexperienced developers to develop proxies representing domain objects and abstracting individual sensors and actuators. IoTLink design concept comprises a five layered architecture. The first layer is responsible for abstracting communication with heterogeneous data sources. The second layer deals with sensor fusion components to process and fuse sensor data into useful information. The third layer is concerned with the definitions of domain models and the concrete objects. The fourth layer provides output components, including interfaces to the application logic, distributed applications, and databases to store the information about the virtual objects. The fifth layer abstracts the application logic that access the domain objects. IoTLink employs a model driven approach for wiring these components visually. The visual model is then serialized into XML data and used to generate a Java implementation which can be executed as proxies. In addition, IoTLink offers a discovery broker allowing developers to share and discover IoT resources within the internet. The key advantage of IoTLink discovery is the ability to detect if similar devices are described with synonymous terms. This approach increases the discoverability of similar devices described with diverse terms. The author evaluated the practicability of IoTLink and model-driven approach within three distinct case studies in European research projects. The result shows that it could reduce approximately 2/3 of the development efforts. In addition, the author compared IoTLink's usability to a Java middleware approach in a controlled experiment performed by 24 participants. The results show that IoTLink could on average reduce 44% of the development time and 48% of mistakes. Moreover, when used by developers with less than five years object-oriented experience, IoTLink was able to reduce up to 57% of mistakes compared to Java development.
;
Das Internet der Dinge (englisch: Internet of Things, IoT) ist eine Vision, in der physische und digitale Objekte miteinander verbunden sind und zusammenarbeiten, um bestimmte Ziele zu erreichen. Dabei stellt das Maß an notwendiger Expertise, um intelligente Hardware, Software und Rechnernetze zu integrieren, immer noch eine große Herausforderung dar. Zur Lösung dieses Problems wurden bereits oft service-orientierte Middleware vorgeschlagen. Allerdings sind sie meistens für professionelle Entwickler mit einem hohen Maß an Flexibilität und umfangreichen Funktionen konzipiert. Folglich wird bei diesen die Einfachheit oft geopfert, so dass sie von unerfahrenen Entwicklern bzw. Einsteigern eine steile Lernkurve erfordern. Diese Dissertation zielt darauf ab, diese Lücke durch Ausarbeitung aktueller IoT-Entwicklungsmethoden zu schließen und IoTLink vorzustellen, ein Rapid- Entwicklungswerkzeug für Einsteiger. Zur Gestaltung von IoTLink untersucht der Autor existierende oT-Architekturen. Typischerweise wird von einem physischen Objekt verlangt, dass es eindeutig identifizierbar ist, teilweise durch Sensoren erkennbare physikalische Eigenschaften besitzt und Funktionen bzw. Dienste hat, die dessen Umgebung beeinflussen können Zur Ausführung von Funktionen bzw. Diensten eines physischen Objekts bzw. um Information über dieses abzurufen, können virtuelle Objekte als Stellvertreter (engl. Proxy) verwendet werden. IoTLink ist so konzipiert, um unerfahrenen Entwicklern die Entwicklung von Proxys zu ermöglichen, die Objekte einer bestimmten Domäne darstellen und von einzelnen Sensoren und Aktoren abstrahieren. Das IoTLink-Designkonzept besteht aus einer Fünf-Schichten-Architektur. Die erste Schicht ist fürs Abstrahieren der Kommunikation mit heterogenen Datenquellen verantwortlich. Die zweite Schicht beschäftigt sich mit Sensorfusion-Komponenten, die für die Umwandlung von Sensordaten in nützliche Informationen zuständig sind. Die dritte Schicht beschäftigt sich mit der Definition von Domänenmodellen und mit konkreten Objekten. Die vierte Schicht liefert Ausgabekomponenten und Schnittstellen zu Anwendungslogik, verteilten Anwendungen und Datenbanken zur Speicherung der Daten bzw. Informationen. Die fünfte Schicht abstrahiert die Anwendungslogik, die auf die Domänen-Objekte zugreift. IoTLink verwendet einen modellgetriebenen Ansatz um diese Komponenten visuell miteinander zu verbinden. Das visuelle Modell wird dann in XML-Daten serialisiert und in eine Java-Implementierung umgewandelt, die als Proxys ausgeführt werden können. Zusätzlich bietet IoTLink eine Komponente an, die Entwicklern das Teilen und das semantische Suchen von IoT-Ressourcen im Internet ermöglicht. Der entscheidende Vorteil dieser Komponente ist die Fähigkeit zur Erkennung ob ähnliche Geräte mit unterschiedlichen, aber synonymen Begriffen beschrieben werden, was die Auffindbarkeit solcher ähnlicher Geräte erhöht.. Der Autor untersucht die Praktikabilität von IoTLink und dem odellgetriebenen Ansatz anhand drei verschiedener Fallstudien im Rahmen von europäischen Forschungsprojekten. Das Ergebnis zeigt, dass etwa zwei Drittel des Entwicklungsaufwands reduziert werden konnten. Außerdem wird IoTLink hinsichtlich dessen vebrauchstauglichkeit einem Vergleich mit einem Java-Middleware-Ansatz in einem kontrollierten Versuch mit 24 Teilnehmern unterzogen. Die Ergebnisse zeigen, dass IoTLink im Durchschnitt die Entwicklungszeit um 44% und die Fehlerquote um 48% reduzieren konnte. Bei Entwicklern mit weniger als fünf Jahren Erfahrung in objektorientierter Entwicklung konnte die Fehlerquote sogar um bis zu 57% im Vergleich zur Java-Entwicklungsumgebung reduziert werden.
ThesisNote
Aachen, TH, Diss., 2015
Verlagsort
Aachen