# An Interoperable Component-Based Architecture for Data-Driven IoT System
## 2 Related Work
[31] proposed a MEC-based architecture for energy harvesting IoT devices integration, known as the 2 EA (Energy-Aware-Edge-Aware) architecture that mainly tackle two problems: (1) the offloading of data traffic from IoT devices; and (2) resources assignment at the Mobile Edge Computing system. The proposal comes with a data-driven model for MEC computation and network resources allocation. Similarly, [PERSON] et al. [12] proposed the FIFu (Future Internet Fusion), a network architecture that unifies existing and upcoming network architecture. The solution target to resolve heterogeneity that exists upon currently available network architectures and protocols through the identification of network protocols and conversion of messages. [PERSON] et al. [32] suggested a middleware architecture known as the Microservice Middleware (MsM) to tackle device heterogeneity and interoperability issues. An Artificial Neural Network-inspired concept is used to build the standard microservice architecture for IoT device classification and integration. The proposed idea has also adopted the loosely-coupled design method to support device heterogeneity but the system interoperability and data-driven functions were not covered. [PERSON] et al. [11] proposed IoT-CANE, a unified configuration management and recommendation system for IoT, cloud and edge infrastructure. The proposal aims to solve the heterogeneity and complexity of cloud/edge/IoT environment by implementing a system that can be updated when IoT solutions evolve to facilitate increased data and knowledge acquisition. It is a different approach which does not provide a generic IoT architecture but proposed a comprehensive IoT resources and services classifier to enable easier integration of new services to the existing IoT systems. Another major challenge during the realization of system interoperation is to enable network interface between IoT devices with different networking protocols. To tackle this problem, the Condense architecture is introduced by [PERSON] et al. [14] as a solution for interoperability and scalability issue of IoT systems. The main focuses are to provide an active and reconfigurable service leveraged by the data analysis process and to enable the integration of Condense into 3 GPP (3 rd Generation Partnership Project) machine type communication architecture. However, the implementation only focused on the network resources allocation, which does not solve the interoperability issue for a system of various application domains [21]. With most IoT solutions designed and developed using various tools and platforms, it is unrealistic to select one as the standard. Furthermore, architectures that have their own standard device platforms or protocols is not an effective method to solve interoperability issue. To realize system interoperability and reusability, the requirement of IoT architectures to operate under a standard OS or protocol should not be removed. Instead of promoting interoperability by using one standard protocol, a method that interconnects each different model in a loosely-coupled manner would be a better solution. The combination of such multiple models is able to contribute a more comprehensive solution as they add up in the right measures and sequences to provide a complete solution to users [15]. Another concern is the availability of the data-driven functionalities as they are essential to compensate for the drastic increase in data volume. IoT systems that provide cognitive data-driven functionalities are receiving more attention than ever before. For instance, CEB and DIAT are both integrated with cognitive decision-making model that operates based on predefined situations. Unlike generic architecture, such as CEB and DIAT, which build the cognitive functions for system optimization, domain-specific architectures build data-driven models for domain related optimization. For instance, [PERSON], [PERSON], and [PERSON] [33] developed a real-time IoT control system for pumping stations of a water distribution system.