Realizing Emergent Configurations in the Internet of Things

Abstract: The Internet of Things (IoT) is a fast-spreading technology that enables new types of services in several domains such as transportation, health, and building automation. To exploit the potential of the IoT effectively, several challenges have to be tackled, including the following ones that we study in this thesis. First, the proposed IoT visions provide a fragmented picture, leading to a lack of consensus about IoT systems and their constituents. To piece together the fragmented picture of IoT systems, we systematically identified their characteristics by analyzing existing taxonomies. More specifically, we identified seventeen characteristics of IoT systems, and grouped them into two categories, namely, elements and quality aspects of IoT systems. Moreover, we conducted a survey to identify the factors that drive the deployment decisions of IoT systems in practice. A second set of challenges concerns the environment of IoT systems that is often dynamic and uncertain. For instance, due to the mobility of users and things, the set of things available in users' environment might change suddenly. Similarly, the status of IoT systems’ deployment topologies (i.e., the deployment nodes and their interconnections) might change abruptly. Moreover, environmental conditions monitored and controlled through IoT devices, such as ambient temperature and oxygen levels, might fluctuate suddenly. The majority of existing approaches to engineer IoT systems rely on predefined processes to achieve users’ goals. Consequently, such systems have significant shortcomings in coping with dynamic and uncertain environments. To address these challenges, we used the concept of Emergent Configurations (ECs) to engineer goal-driven IoT systems. An EC is an IoT system that consists of a dynamic set of things that cooperate temporarily to achieve a user goal. To realize ECs, we proposed an abstract architectural approach, comprising an architecture and processes, as well as six novel approaches that refine the abstract approach. The developed approaches support users to achieve their goals seamlessly in arbitrary environments by enabling the dynamic formation, deployment, enactment, and self-adaptation of IoT systems. The approaches exploit different techniques and focus on different aspects of ECs. Moreover, to better support users in dynamic and uncertain environments, we investigated the automated configuration of those environments based on users' preferences. 

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.