A Model-Driven, Component Generation Approach for the Web of Things (completed)

Keywords: Web of Things, REST. Meta-Model, Model-Driven, Software Component, Internet of Things.

Summary: Since its beginning in the late 80’s, the Web has evolved from a simple infrastructure built to serve files from remote machines to a participatory Web, where clients (people and machines) actively participate to create the content of web sites. At the same time, the Internet of Things took its first steps at the Auto ID Center. In parallel the automobile industry started tagging components in their assembly lines with QR codes for quality control. Adding tags to parts allows them to be directly identifiable by a machine. Since then, the Internet of Things has evolved to integrate smart devices (sensors and actuators) in pervasive systems able to sense the environment or to act on it. Finally, the adoption of HTTP as a fully-fledged application protocol for the Internet of Things led to the Web of Things. This thesis pushes the research in three directions: (1) an extension of the Web of Things, (2) a meta-model and (3) a component based methodology.

First, the xWoT is an extension of the classic Web of Things. As many applications built on top of the Web of Things depend on additional services and algorithms, the xWoT considers physical devices, virtual services and algorithms as first class citizens. From a client’s perspective, it is impossible to tell virtual and physical services apart, which supports this vision.

Second, a meta-model tailored for the xWoT (extended WoT) formally defines the different actors and their relationships. It considers the aspects related to smart devices and those important for creating services. The meta-model also takes care of an event mechanism so that applications can build on notifications to launch specific actions. Third, instead of thinking of how to create mashup applications, this thesis takes a step back and defines a methodology based on components to create new smart devices. The methodology is based on the meta-model and supported by specialized tools for translating models into code skeletons.

To conclude, in our vision we consider such a component based approach leading to reusable pieces of soft and hardware as the first step towards a world where it is easy to develop new smart devices, and where creating mashup applications tailored to a given situation become technically feasible for the average user.