# An Interoperable Component-Based Architecture for Data-Driven IoT System
## 1 Introduction  
The advancement in wireless communication technology and high-speed Internet connectivity have fostered the development of data ubiquity and data heterogeneity. The Internet of Things (IoT) is by far the most idealistic and revolutionary implementation of ubiquitous and heterogeneous computing and, in recent years, the application of the IoT has expanded to various fields, following the introduction of Industry 4.0 [1; 2]. According to _Gartner_[3], in 2020, the forecasted connected things will reach 20.4 billion and the total spending on hardware will reach $3 trillion. As the deployment of IoT systems stretches across multiple domains, the challenges of IoT systems are also becoming more significant. One of them is system interoperability. The diversity in IoT platform technology [4] and the networking protocols [5] have contributed to limited system interoperability in IoT applications. Numerous researchers have expressed device heterogeneity and interoperability as the two main issues that have been identified as the main obstacles of the progress of IoT [6; 7; 8; 9; 10; 11; 12]. Much has been done to solve the limitation of IoT devices interoperability with most of the proposed system architectures with fixed protocols, e.g., COMPOSE (Collaborative Open Market to Place Objects at your Service) [13] and Condense (reconfigurable knowledge acquisition systems) [14], or hardware operating systems, e.g., DIAT (Distributed Internet-like Architecture for Things) [15] and CEB (Cloud-Edge-Beneath) Atlas [16]. However, these different technologies compete to become the standard for IoT system. This causes difficulties to thestandardization of IoT development and increases the requirements of extra hardware and software when connecting devices [17]. Moreover, most practitioners and engineers face extreme difficulties to meet the requirements of these architectures during real-world implementation. One typical reason is that different application domains have different design specifications, which require different technologies and face different development limitations. As a result, most of the real-world IoT systems leveraged model-based design methodology to build systems that solely suits the needs of the designated applications. These solutions might provide superior solutions for specific use cases but lead to a heterogeneous protocol landscape for IoT ecosystems and raise questions on how to enable a clear path for providers to utilize those IoT architectures [12]. Furthermore, large-scale implementation of these application-oriented-designed IoT solutions will require both network and domain knowledge and at the expert level to support the design or development of solutions for that specific domain [11; 12]. On the other hand, the integration of uncorrelated sensors or IoT devices will be trivial while sometimes it could be extremely complex [18]. The introduction of Mobile Edge Computing (MEC) paradigm further extends the complexity of IoT system design due to the mobility management [19]. Hence, these explicit model-based solutions are not cost-effective due to the limited system and device interoperability, and low reusability. Another problem is the ever-increasing data volume. Considering the growth in mobile systems such as mobile IoTs, WSNs, BSNs, robotics, unmanned aerial vehicles, and satellite systems, mobile data will challenge the storage and processing capacities of existing computing systems [20]. Many researchers have expressed concern towards the increase in data volume from IoT devices [6; 21; 22; 23; 24; 25; 26; 27], and much data management solutions had been proposed. However, these systems' mechanisms of managing and utilizing the data from these objects have yet to match the maturity of the IoT technology itself [21; 28]. As data volume grows, the processes that depend on mankind to perform data analysis for knowledge extraction becomes inefficient and unrealistic.