
By abstracting devices to Web resources, the Web of Things (WoT) fosters innovation and rapid prototyping in the Internet of Things (IoT): it enables developers to use standard Web technologies for creating mashups of Web services that perceive and act on the physical world (a.k.a. physical mashups). In recent years, however, it has become apparent that current programming paradigms for Web development have important shortcomings when it comes to engineering IoT systems: static Web mashups cannot adapt to dynamic IoT environments, and manually mashing-up the IoT does not scale. To address these limitations, WoT researchers started to look for means to engineer WoT systems that are more autonomous in pursuit of their design objectives. The engineering of autonomous systems has already been explored to a large extent in the scientific literature on artificial intelligence. In this position paper, we distill that large body of research into a coherent set of abstractions for engineering autonomous WoT systems.
The Web of Things has become mainstream: REST (though sometimes interpreted liberally) and Web best practices today constitute the de-facto application layer of smart physical objects within Internet of Things deployments' WoT Mission Accomplished!However, the WoT workshop series was never only about technology, but rather enabled us to establish a community of academics and practitioners who are on the forefront of research fields from real-time communication with physical objects to discovery and search, and from the composition of services provided by smart devices to resource-constrained smart environments. In this year's eighth iteration of the International Workshop on the Web of Things, we therefore invited the WoT community to discuss about our Next Big Thing.
The importance of the Internet of Things (IoT) in our society is reflected by its exponential growth over recent and years to come. The Web of Things (WoT) emerged as a special case of IoT, allowing end-users to deal with their devices through Web applications, with which they are familiar. However, as more users are reached by this technology, it becomes more difficult to fulfil specific user needs, i.e., user requirements these technologies are not prepared to cover. For that matter, this paper presents an approach to augmenting smart devices for the WoT through the augmentation of their corresponding Web applications. In this way, devices may be enriched with new behavior (composed by the existing ones) to better fit further user needs. We propose Domoto as a solution for achieving device augmentation, composed by a framework to build browser extensions that augments devices behavior, and a Web Application that manages devices and extensions.
Along with Internet of Things (IoT), Augmented Reality (AR) and Mixed Reality (MR) are going to be an important ingredient for the design and development of future smart environments, in particular in enterprise contexts. The vision of Web of Augmented Things (WoAT) -- discussed in this paper -- aims at exploiting the Web of Things to enable the development of open interoperable pervasive hybrid systems integrating IoT and AR/MR, mashing up both physical Things and augmented, AR-based ones.
The creation of open APIs is one of the core concepts advocated by the Web of Things community. However, drastically open APIs to the basic functional components of physical devices are only found in research projects and seem to not yet find favor with a wider audience. With this paper, I would like to initiate a discussion about the value of open APIs for the producers and users of smart devices, and for society as a whole: How can manufacturers be motivated to outfit their products with open APIs? How can consumers be educated about the benefits of not being locked into manufacturer ecosystems? And might the decision of opening up a device API even be subject to antitrust law?
More and more things are now connected to the Internet and become part of the Web of Things. The notion of "thing" encompasses various types of devices, from complex robots to simple sensors. In particular, things may rely on limited memory, storage and computing capabilities. We propose an architecture able to embed both semantic and RESTful technologies into constrained things, while being generic and reconfigurable. It combines emerging standards such as CoAP and Hydra to split RDF graphs, process requests, and generate responses on-the-fly. We validate our proposition by implementing such a Server in an Arduino UNO.
As we extend the reach of the Internet through sensing and automation, networked interactions become more critical and safety and security require improved means for designing and testing system components, platforms and services. A tremendous amount of messy, heterogeneous data passes through such networks; integrating and applying that data so that it can be used for seamless interoperability and higher level reasoning requires conversion into some higher abstraction. This necessitates a new foundation for information modeling and model management, broadly construed. Such a foundation must support model construction in a wide range of formalism as well as capabilities for integrating models across different formalisms. We must also allow for easy model evolution, simplifying both iterative design and long-term maintenance. In this paper, we argue that category theory, a branch of abstract mathematics, provides a firm conceptual foundation for information modeling which already meets most of these criteria. We close with a discussion of some challenges for exploiting category theory in applied contexts.
Applications in the Internet of Things require security, high availability and real-time communications for reliable operation. But their software contains issues that need to be fixed. Timely installation of software updates allows securing vulnerable software quickly but conventionally disrupts availability and communications. Rolling update schemes prevent disruptions, but have to be performed carefully. Dynamic software updating significantly shortens the installation duration of updates by implementing them in-memory, allowing timely hot fixing and installation of new features without service disruption or degradation in soft real-time communications. As the Web of Things settles on common technologies, we see the need for quick hot fixing of security vulnerabilities in widespread components. To demonstrate the benefits, we present a case study in which the moquette message broker has been retrofitted for dynamic updating with our update system. We provide dynamic patches for all three releases of moquette and perform these updates on moquette at saturated load stressed by a 1:10 fan-out benchmark with 100 simulated publishers. While no connections or messages are lost, it demonstrates that the throughput drops only for 1-2s and that average message latency peaks up to 1000ms during this time.
Any upcoming industrial revolution will rely on the ability to harness software as the nervous system of future production environments. This paper proposes an app ecosystem as the potential key enabler of industry digitization and argues for the need of semantic web technologies as primary enablers for app interoperability. We shortly discuss how we envision the emergence of semantically annotated apps on the manufacturing shop floor. Subsequently, we demonstrate how a loosely coupled mashup of apps can easily form a full stack internet-of-things solution that covers sensor data from its origin toward its visualization in a (mobile) web browser.
The Web of Things is about extending the Internet of Things concept beyond the connection of things and considering issues like heterogeneity, scalability, and usability with respect to pervasive computing. The goal of this initiative is to reuse the architectural principles that made the Web successful and apply them to smart devices, thereby making real-world objects first-class citizens of the Web. The approach taken by the Web of Things initiative is to look at the problems and research issues that emerge when considering the interaction of heterogeneous devices within composite applications. Continuing the successful Web of Things workshop series, we further explored the use of technologies and principles at the core of the Web to provide methods for a seamless integration of physical devices. In particular, our goal in WoT 2016 was to foster discussions about how the Web architecture and its successful patterns can support semantic interoperability between devices and applications.
In this paper, we describe ideas on how to realize personalized and adaptive user interfaces in the Web of Things domain. One of the main goals of personalization is to provide accessible user interfaces for everyone. Our proposal is based on an extension of the Universal Remote Console framework by a RESTFUL communication mechanism in conjunction with the pattern based user interface generation approach of the MyUI project.
The increasing number and sensing capabilities of connected devices offer unique opportunities for developing sophisticated applications that employ data analysis as part of their business logic to make informed decisions based on sensed data. So far, mashup tools have been successful in supporting application development for Internet of Things. At the same time, Big Data analytics tools have allowed the analysis of very large and diverse data sets. The problem is that there is no consolidated development approach for integrating the two fields, IoT mashups and Big Data analytics. Such integration should go beyond merely specifying IoT mashups that only act as data providers. Mashup developers should also be able to specify Big Data analytics jobs and consume their results within a single application model. In this paper, we contribute to the direction of integrating Big Data analytics with IoT mashup tools by highlighting the need for such integration and the challenges that it entails via concrete examples. We also provide a research and development roadmap that can pave the way forward.
To cope with dynamic environments, Internet of Things (IoT) applications are expected to autonomously discover and interact with services at runtime in pursuit of design or user-specified goals. On the one hand, various paradigms and technologies are available to program goal-driven autonomous software agents, and on the other hand hypermedia-driven environments are central to the development of robust machine-to-machine applications. However, existing approaches for the development of hypermedia-driven environments fall short of meeting the needs of autonomous agents: they either severely restrict the agents' autonomy, or their topological structure is either fragmented or inefficient to navigate at scale. In this paper, we explore the use of socio-technical networks, that is networks of people and things interrelated in a meaningful manner via typed relations, as an overlay for enhancing hypermedia-driven interaction in IoT environments. We present a proof of concept and discuss several classes of applications in which this model could prove useful.
While almost any device today may have a virtual representation, the web itself is not yet a very physical experience. Bringing proven spatial interaction and ubiquitous computing paradigms to life using current web technology, we designed IndianaJS, a JavaScript framework to add a physical browsing experience to any Web of Things content. The evaluation of the IoT-Radar, built on top of our library, shows that web-based hyper-reality can still achieve a unique user experience 15 years after the first implementations.
This paper presents the iFLUX middleware, designed to provide a lightweight integration solution for Smart City applications. Based on three core abstractions, namely event sources, action targets and rules, iFLUX makes it very easy to expose sensors and actuators through REST APIs so that they can be integrated in application-level workflows. Sensors and actuators can be smart objects integrating hardware and software, but can also be pure software services. In the paper, we introduce the iFLUX programming model and describe how it has been implemented in a middleware platform. We also report on how the platform has been used and evaluated in various contexts. While iFLUX has been initially designed in the context of Smart City applications, it is generic and applicable to other domains where hardware and software components are connected through the Web.
Model Driven Architectures are the holy grail of software engineering. Instead of writing code, developers draw models from the client's specification, which are then compiled into executable code (skeletons). We have taken this principle and applied it to the WoT. With the help of a meta-model tailored for the WoT we are able to build models to simultaneously take care of the physical and virtual aspects of smart devices. These models can then automatically be turned into code skeletons. The emphasis in the meta-model and its associated tools is reusability. Following the software engineering principle of independent reusable and deployable components, the outcome of the meta-model compiler are WoT compliant components.
In this paper, we aim at tools for the development of applications for the Internet of things. We consider mashup tools, which can model the data flow between applications and devices in a graphical way. We present a first approach to model generic components in mashup tools for IoT systems, which represent a set of sensors and actuators. We introduce and compare different approaches for operations on such generic components. In particular, we propose an extension of mashup tools with 1:n relations, which models a set of resources in a concise way. Then, we discuss how operations can be conducted in a simple and concise way based on RESTful operations.
Several web-based platforms have emerged to ease the development of interactive or near real-time IoT applications by providing a way to connect things and services together and process the data they emit using a data flow paradigm. While these platforms have been found to be useful on their own, many IoT scenarios require the coordination of computing resources across the network: on servers, gateways and devices themselves. To address this, we explore how to extend existing IoT data flow platforms to create a system suitable for execution on a range of run time environments, toward supporting distributed IoT programs that can be partitioned between servers, gateways and devices. Eventually we aim to automate the distribution of data flows using appropriate distribution mechanism, and optimization heuristics based on participating resource capabilities and constraints imposed by the developer.
This paper provides a Web of Things use case from a personalized load forecasting service to a gamified demand response program. Combining real-world measuring applications with web-based applications opens new opportunities to the smart grid. For this purpose, we propose a Web of Things framework for a novel load forecasting process at the appliance level. Firstly, we illustrate the concept design of the Web of Things framework consisting of the sensing infrastructure, the activity recognition and the load forecasting modules. Secondly, we show how we guarantee the modularity and flexibility for implementing all the three modules in a web-based manner. On top of our infrastructure, we propose an extended Web of Things use case by integrating our load forecasting approach into a demand response concept.
Data storage has become a major topic in sensor networks as large quantities of data need to be archived for future processing. In this paper, we present a cloud storage solution benefiting from the available memory on smart things becoming data nodes. In-network storage reduces the heavy traffic resulting of the transmission of all the data to an outside central sink. The system built on agents allows an autonomous management of the cloud and therefore requires no human in the loop. It also makes an intensive use of Web technologies to follow the clear trend of sensors adopting the Web-of-Things paradigm. Further, we make a performance evaluation demonstrating its suitability in building management systems.