• Tidak ada hasil yang ditemukan

This thesis comprises six chapters. Chapter 2 presents a comprehensive survey of over one decade of IoTSE research and development from both an academic and industrial perspective.

It starts by presenting a background of IoTSE and then proposing a model for describing IoTSE instances. Afterward, it introduces the framework for conducting the survey and then presents the survey results. This chapter concludes with a discussion on open issues of IoTSE research and engineering, including leveraging reuse in IoTSE engineering to address the diversity of the solution space.

Chapter 3 presents an IoTSE reference architecture. It captures the commonalities of IoTSE that have emerged from the survey. This chapter starts by presenting the method that was utilized to derive the reference architecture. Then, it introduces 18 types of IoTSE

1.4 Thesis Structure 9 components, which are arranged into 5 horizontal layers and 3 vertical layers. Then, it specifies 13 composition patterns and 6 deployment patterns that have emerged from the IoTSE literature. Afterward, it proposes a framework for utilizing the reference architecture to instantiate IoTSE instances. Finally, this chapter presents the assessment of the reference architecture by mapping it into two representative IoTSE prototypes.

Chapter 4 and 5 present our work on the software infrastructure for enabling the reuse- centric IoTSE engineering. The kernel-based approach is proposed in Chapter 4. The platform-based approach, which extends the kernel-based approach to separate the archi- tectural design decisions from the implementation of components, is proposed in Chapter 5. This chapter concludes with three case studies which generate 16 IoTSE instances in total from 8 IoTSE components. These case studies have demonstrated the feasibility of the reuse-centric IoTSE engineering, based on the architecture and the software infrastructure proposed in this thesis.

Chapter 6 concludes this thesis with final remarks and a discussion on future research directions.

Chapter 2

Searching the Internet of Things:

State-of-the-art, Challenges, and Solutions

This chapter presents a systematic and extensive survey of over one decade of IoTSE research and development, taking into the consideration both academic and industrial efforts. It covers over 200 research works on IoTSE, 6 representative industrial efforts, and 4 related international standards. By analyzing the number of publication, the number of in-field citations, and the number of works receiving in-field citations between 2001 and 2016, we provide an insight into the growth of IoTSE research and a cluster of works published between 2010 and 2012 that have a significant influence on the field. By proposing a novel model called meta-path for describing the functionality of an IoTSE instance, and a basic modular decomposition of IoTSE, we analyze and provide insights into the internal operations of representative IoTSE prototypes. Based on these results, we identify the open issues in IoTSE research, including addressing the diversity of IoTSE solution space.

2.1 Introduction

Our world is becoming a resource library for software applications. Advances in embedded computing and low-power wireless communication bring Internet connectivity to physical objects, forming the Internet of Things (IoT) [6]. An emerging trend is reusing technologies and techniques of the World Wide Web (e.g., HTTP protocol, HTML documents, and REST architectural style) to represent and serve IoT content. The so-called Web of Things (WoT) [25, 26] has emerged from such integration of the IoT and the Web and has been becoming increasingly prevalent. As the WoT is a subset of IoT, the survey presented in this chapter covers and is relevant to the content discovery and search mechanism for both the IoT and the WoT. Besides some intricacies, this chapter refers to the IoT and the WoT interchangeably, unless indicated otherwise.

Internet of Things Search Engines (IoTSE) bridge users and applications with the resource from IoT. For instance, consider a cyber-physical application in a smart home for seniors that blinks the lamp closest to the house owner to notify that the meal in the oven is done (Fig.

2.1). This application requires control service of lamps and light bulbs in the house, a sensor stream from the meat thermometer, a stream of results from the installed indoor localization system, and a Web service showing the optimal temperature for the meal being cooked.

Assuming that these resources are available, the task of developers is finding and linking them to the application logic. IoTSE decouples resource retrieval from the application. By querying an appropriate IoTSE, the application can retrieve resources needed for its operation without the manual configuration of developers. As long as the application has access to the IoTSE managing its deployment area, it can configure itself to work. Also, as long as the IoTSE continues to manage changes of objects in its scope, the application always has access to the latest resources.

Research related to IoTSE begins from early 2000s and enjoys steady expansion ever since.

It branches into different directions including object search, sensor search and functionality

2.1 Introduction 13

Application App Logic:

“Blinking the lamp nearest to the userwhen food in the oven is cooked”

Resource Queries:

Search Engines:

Web of Things:

Lamp control services?

Indoor localization results?

Temperature of food?

Optimal Temperature for the food

Functionality

Search Sensor Search Service Search

Physical World:

Lamp control service

Temperature Stream Localization

Stream

Cooking Instruction Service Planned Meals

Fig. 2.1 Search engines as middle-ware to decouple application logic from resource retrieval in the Internet of Things

search. Essentially, IoTSE comprises of different types of systems, including unseen ones that will emerge when the adoption of WoT increases. This diversity complicates both the development of new IoTSE and the assessment of its state of the art. Therefore, a survey on IoTSE must focus on the whole field, not just only what happens within one type of IoTSE.

Existing surveys either focus on one form of IoTSE [27–29] or focus on potential technical problems without considering the state of the whole field [30].

In this chapter, we perform a systematic survey on over 200 works related to IoTSE, with the focus on their diversity. Our contributions are fourfold:

• Proposing a conceptual model that describes IoTSE succinctly with resources involving in their query resolution process.

• Proposing a modular architecture as a reference to evaluate representative IoTSE prototypes.

• Reviewing the growth and state of the art of research and industrial efforts around IoTSE.

• Identifying open issues and potential solutions for the diversity challenge.

The remaining of this chapter is organized as follow. Section 2.2 introduces WoT and IoTSE concepts. Section 2.3 presents our proposed conceptual model and reference architecture for IoTSE. In Section 2.4, we present the analytical framework of our survey, which is built on our proposed models. We apply this framework on academic and industrial efforts and present the results in Section 2.5 and 2.6, respectively. Finally, we discuss prominent open research issues around IoTSE in Section 2.7.