# An Interoperable Component-Based Architecture for Data-Driven IoT System
## 2 Related Work  
We review some of the essential characteristics of a data-driven IoT architecture, aiming to solve heterogeneity, interoperability and reusability issues. Besides the basic functionalities, we narrow down some of the key aspects that are essential for the development of high interoperable, data-driven IoT architecture. A brief explanation of each characteristic is as follows:  
* System interoperability: The ability to accommodate devices of diverse operating systems or protocols. The system development method and choices of protocols or devices are diversified depending on application domains. As a result, this created the interoperability issue for IoT systems. To realize device interoperability, the system needs to comply with a certain standard of system architecture, such as operating systems or protocols. * System reusability: The ability of the system to be reused for any identical or different application. The system reusability is essential for wide-scale adoption of IoT in the real world as the ease of system duplication greatly reduces the effort required to design, develop and deploy an IoT system. * Data-driven function availability: The existence of any decision-making or action mechanism based on the data sensed. Data-driven modeling (DDM) is based on analyzing the data about a system, in particular, to find connections between the system state variables, such as input and output variables, without explicit knowledge of the physical behavior of the system [30]. The implementation could be a heuristic closed-loop feedback mechanism or machine learning and artificial intelligence techniques. Based on these characteristics, we review a few data-driven IoT architectures which have targeted to solve heterogeneity and interoperability issues. For instance, Distributed Internet-like Architecture for Things (DIAT) was introduced by [PERSON] et al. [15], as a solution for large scale expansion of IoT. The proposed idea specifically created a standardized operating system (IoT daemon) with layered architecture that provides various levels of abstraction. The devices under this architecture will have different layers of the same OS according to the services they provide and the resources they have. The advantages of having a standardized OS includes faster and seamless device interfacing and information processing. Furthermore, it is easier to perform system maintenance and updates for the entire system that operates under the same OS. However, the proposed idea failed to address device heterogeneity and scalability issues as the system will not support devices of different OS. Similarly, [PERSON] and [PERSON] introduced Cloud-Edge-Beneath (CEB) Atlas architecture [16]. The architecture proposed a standard description language that fosters the interoperation and integration of the IoT systems. However, the architecture has limited interoperability, as the proposed architecture only works on dedicated Atlas platform, which is a smart device platform developed by the same group of authors. These types of IoT architectures target to provide solutions for generic application but mostly suggested their own software or hardware protocol which restrict heterogeneity and interoperability. Different from the mentioned architectures, [PERSON] et al. [18] identified the need for IoT architectures to provide a here degree of interoperability through minimal standardization of system protocol and introduced the IoT Manager. The proposed solution aims to provide a highly interoperable, full-stack IoT platforms that enable rapid deployment of IoT prototypes, through the quick coupling and decoupling of sensors network, even for those which are already online. One key feature of the IoT Manager is to be able to accommodate a variety of sensor devices as long as they communicate under HTTP or HTTPS-based API protocols. [PERSON] et al.