# A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning +
## 3 Research Background
### IoT Architecture  
Standards and reference architectures (RA) contribute to the reduction of the complexity of IoT systems and the architectural structures help to build IoT systems that can support and execute necessary functions [23]. It is important because an architecture for IoT needs to integrate many technologies, such as protocols, patterns, sensors, actuators, conventional frameworks of the Internet, and applications for the most different purposes while keeping the security and reliability of applications.  
IoT architecture presents challenges in the most diverse scenarios. These challenges may be in architectural layers (inter-architecture or intra-architecture), entity-based (hardware, software, or data), technological (specific IoT or related technologies), or feature-based challenges (compatibility, capacity, connectivity, scalability, or security) [24]. Then, the challenges for architecture in IoT are diverse and occur because of the heterogeneity of environments and technologies.  
IoT heterogeneity can be observed in [25] with an overview of IoT architectures, taxonomies, devices, gateways, operating systems, communication technologies, middleware, and platforms. Architectures based on layers, middleware, service-oriented, and fog-based are presented. In middleware-based architectures, one middleware layer is responsible for controlling the flow of data in the system. Service-oriented architecture divides the functionalities and exposes them through interfaces. In fog-oriented architectures, other layers are added with a focus on the processing of data.  
Therefore, the diversity of IoT architectures result in its complexity. Reference architectures are proposed to mitigate this diversity. Another issue must be taken into account,  
\begin{table}
\begin{tabular}{l l l l l l} \hline \hline
**Reference** & **Publisher** & **Year** & **Simulation** & **Testbed** & **ML** \\ \hline [PERSON] et al. [9] & MDPI & 2018 & no & yes & no \\ \hline [PERSON] et al. [10] & ACM & 2019 & yes & yes & no \\ \hline [PERSON] et al. [11] & MDPI & 2019 & yes & yes & no \\ \hline [PERSON] [12] & MDPI & 2018 & yes & no & no \\ \hline [PERSON] et al. [13] & MDPI & 2020 & no & yes & no \\ \hline [PERSON] et al. [14] & IEEE & 2020 & no & yes & no \\ \hline [PERSON] [15] & Oxford & 2020 & yes & yes & no \\ \hline [PERSON] et al. [16] & Springer & 2019 & yes & yes & no \\ \hline [PERSON] et al. [17] & UCC & 2021 & yes & no & no \\ \hline [PERSON] et al. [18] & MDPI & 2017 & no & yes & no \\ \hline [PERSON] et al. [19] & IEEE & 2022 & yes & no & no \\ \hline [PERSON] et al. [20] & Springer & 2022 & yes & no & no \\ \hline \hline \end{tabular}
\end{table}
Table 1: Related works regarding IoT testing.  
the heterogeneity of physical and software components to be integrated in these architectures. These components directly influence the complexity of the IoT design and the choice of architecture.  
In the proposed TDD framework, we propose the automated monitoring of black-box connected devices and software modules that compose IoT architectures. As long as the architecture uses the open standard MQTT (Message Queuing Telemetry Transport) [26] protocol to support rasterability with the proposed framework, the underlying IoT architecture may use other technologies and reference architectures. In this way, the proposed framework may contribute to address the challenge of diverse IoT architectures by enhancing their testability.