Architecting integrated internet of things systems

IoT (Internet of Things) enables anytime and anyplace connectivity for anything by linking the objects of the real world with the virtual world. In the near future, it is predicted that more than 50 billion of things will be connected to the internet. This will lead to many different IoT- based systems that will have a huge impact on the society. Often, these IoT systems will not be standalone but will be composed with other different systems to create additional value. Hence, with the heterogeneity and the integration of IoT-based systems with other IoT-based or non-IoT-based systems has become an important challenge. In this thesis, the main objective is to analyze, design and integrate IoT-based systems and to answer the following research questions: RQ1. What are the characteristic features of IoT systems? RQ2. How to design the architecture for an IoT-based system? RQ3. What are the identified obstacles of the data distribution (DDS) middleware? RQ4. What are the solution directions for the identified obstacles of DDS? RQ5. What are the approaches for integrating multiple IoT-based systems? RQ6. How to design a DDS-based IoT system? RQ7. How to derive feasible deployment alternatives for DDS-based systems? In order to answer these research questions, three different research methodologies were used: Systematic Literature Review, Design Science Research, and Case Study Research. In chapter 2, we have applied a feature driven domain analysis of IoT systems. We have presented the reference architecture for IoT and discussed the corresponding layers. Among these layers, we have focused on the session layer of the IoT. The protocols in this layer are related with the communication sessions of the IoT systems and hence determine the communication characteristics of the IoT systems. We have presented the common and variant features of the most commonly used session layer protocols, namely AMQP, CoAP, DDS, MQTT, and XMPP which are used for communication between M2M (machine-to- machine), M2S (machine-to-server), and S2S (server-to-server). Further, we have provided an evaluation framework to compare session layer communication protocols. Among these protocols, we focused on the DDS that is mainly used for M2M communication in Industrial Internet of Things (IIoT). In chapter 3, we have described an architecture design method for architecting IoT systems for the Farm Management Information Systems (FMIS) domain. Hereby, we have also developed a family feature diagram to represent the common and variant features of IoT- based FMIS. In order to illustrate our approach, we have performed a systematic case study approach including the IoT-based wheat and tomato production with IoT-based FMIS. The case study research showed that the approach was both effective and practical. In chapter 4, we have presented the method for designing integrated IoT systems. We showed that integration of IoT-based systems can be at different layers including session layer, cloud layer and application layer. Further we have shown that the integration is typically carried out based on well-defined patterns, that is, generic solutions structures for recurring problems. We have systematically compiled and structured the 15 different integration patterns which can be used in different combinations and likewise supporting the composition of different IoT systems. We have illustrated the use of example patterns in a smart city case study and have shown that the systematic structuring of the integration patterns is useful for integrating IoT systems. A systematic research methodology has been applied in chapter 5 to identify the current obstacles to adopt DDS and their solution directions. We have selected 34 primary studies among the 468 identified papers since the introduction of DDS in 2003. We identified 11 basic categories of problems including complexity of DDS configuration, performance prediction, measurement and optimization, implementing DDS, DDS integration over WAN, DDS using wireless networks and mobile computing, interoperability among DDS vendor implementations, data consistency in DDS, reliability in DDS, scalability in DDS, security, and integration with event-based systems. We have adopted feature diagrams to summarize and provide an overview of the identified problem and their solutions defined in the primary studies. DDS based architecture design for IoT systems is presented in chapter 6. DDS is considered to be a potential middleware for IoT because of its focus on event-driven communication in which quality of service is also explicitly defined. We provide a systematic approach to model the architecture for DDS-based IoT in which we adopted architecture viewpoints for modeling DDS, IoT and DDS-based IoT systems. We have integrated and represented the architecture models that can be used to model DDS-based IoT systems for various application domains. When designing DDS-based systems typically multiple different alternatives can be derived. Chapter 7 presents an approach for deriving feasible DDS configuration alternatives. For this we have provided a systematic approach for extending the DDS UML profile and developed an extensible tool framework Deploy-DDS to derive feasible deployment alternatives given the application model, the physical resources, and the execution configurations. The tool framework Deploy-DDS implements a set of predefined algorithms and can be easily extended with new algorithms to support the system architect. We have evaluated the approach and the tool framework for a relevant IoT case study on smart city engineering. Chapter 8 concludes the thesis by summarizing the contributions.