A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning
Robust, fault tolerant, and available systems are fundamental for the adoption of Internet of Things (IoT) in critical domains, such as finance, health, and safety. The IoT infrastructure is often used to collect a large amount of data to meet the business demands of Smart Cities, Industry 4.0, and...
Main Authors: | , , , , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2022-12-01
|
Series: | Sensors |
Subjects: | |
Online Access: | https://www.mdpi.com/1424-8220/22/23/9498 |
_version_ | 1797462114685681664 |
---|---|
author | Victor Takashi Hayashi Wilson Vicente Ruggiero Júlio Cezar Estrella Artino Quintino Filho Matheus Ancelmo Pita Reginaldo Arakaki Cairo Ribeiro Bruno Trazzi Romeo Bulla |
author_facet | Victor Takashi Hayashi Wilson Vicente Ruggiero Júlio Cezar Estrella Artino Quintino Filho Matheus Ancelmo Pita Reginaldo Arakaki Cairo Ribeiro Bruno Trazzi Romeo Bulla |
author_sort | Victor Takashi Hayashi |
collection | DOAJ |
description | Robust, fault tolerant, and available systems are fundamental for the adoption of Internet of Things (IoT) in critical domains, such as finance, health, and safety. The IoT infrastructure is often used to collect a large amount of data to meet the business demands of Smart Cities, Industry 4.0, and Smart Home, but there is a opportunity to use these data to intrinsically monitor an IoT system in an autonomous way. A Test Driven Development (TDD) approach for automatic module assessment for ESP32 and ESP8266 IoT development devices based on unsupervised Machine Learning (ML) is proposed to monitor IoT device status. A framework consisting of business drivers, non-functional requirements, engineering view, dynamic system evaluation, and recommendations phases is proposed to be used with the TDD development tool. The proposal is evaluated in academic and smart home study cases with 25 devices, consisting of 15 different firmware versions collected in one week, with a total of over 550,000 IoT status readings. The K-Means algorithm was applied to free memory available, internal temperature, and Wi-Fi level metrics to automatically monitor the IoT devices under development to identify device constraints violation and provide insights for monitoring frequency configuration of different firmware versions. To the best of the authors’ knowledge, it is the first TDD approach for IoT module automatic assessment which uses machine learning based on the real testbed data. The IoT status monitoring and the Python scripts for model training and inference with K-Means algorithm are available under a Creative Commons license. |
first_indexed | 2024-03-09T17:31:55Z |
format | Article |
id | doaj.art-66ed229fcbca4d3dbefb2b2a28c7cd1b |
institution | Directory Open Access Journal |
issn | 1424-8220 |
language | English |
last_indexed | 2024-03-09T17:31:55Z |
publishDate | 2022-12-01 |
publisher | MDPI AG |
record_format | Article |
series | Sensors |
spelling | doaj.art-66ed229fcbca4d3dbefb2b2a28c7cd1b2023-11-24T12:15:23ZengMDPI AGSensors1424-82202022-12-012223949810.3390/s22239498A TDD Framework for Automated Monitoring in Internet of Things with Machine LearningVictor Takashi Hayashi0Wilson Vicente Ruggiero1Júlio Cezar Estrella2Artino Quintino Filho3Matheus Ancelmo Pita4Reginaldo Arakaki5Cairo Ribeiro6Bruno Trazzi7Romeo Bulla8Polytechnic School (EPUSP), University of São Paulo, São Paulo 05508-010, BrazilPolytechnic School (EPUSP), University of São Paulo, São Paulo 05508-010, BrazilInstitute of Mathematics and Computer Sciences (ICMC), University of São Paulo, São Paulo 13566-590, BrazilElectrical Engineering Deapartment, Federal University of Amapá (Unifap), Macapa 68903-436, BrazilSchool of Arts, Sciences and Humanities (EACH), University of São Paulo, São Paulo 03828-000, BrazilPolytechnic School (EPUSP), University of São Paulo, São Paulo 05508-010, BrazilInstitute of Mathematics and Computer Sciences (ICMC), University of São Paulo, São Paulo 13566-590, BrazilInstitute of Mathematics and Computer Sciences (ICMC), University of São Paulo, São Paulo 13566-590, BrazilPolytechnic School (EPUSP), University of São Paulo, São Paulo 05508-010, BrazilRobust, fault tolerant, and available systems are fundamental for the adoption of Internet of Things (IoT) in critical domains, such as finance, health, and safety. The IoT infrastructure is often used to collect a large amount of data to meet the business demands of Smart Cities, Industry 4.0, and Smart Home, but there is a opportunity to use these data to intrinsically monitor an IoT system in an autonomous way. A Test Driven Development (TDD) approach for automatic module assessment for ESP32 and ESP8266 IoT development devices based on unsupervised Machine Learning (ML) is proposed to monitor IoT device status. A framework consisting of business drivers, non-functional requirements, engineering view, dynamic system evaluation, and recommendations phases is proposed to be used with the TDD development tool. The proposal is evaluated in academic and smart home study cases with 25 devices, consisting of 15 different firmware versions collected in one week, with a total of over 550,000 IoT status readings. The K-Means algorithm was applied to free memory available, internal temperature, and Wi-Fi level metrics to automatically monitor the IoT devices under development to identify device constraints violation and provide insights for monitoring frequency configuration of different firmware versions. To the best of the authors’ knowledge, it is the first TDD approach for IoT module automatic assessment which uses machine learning based on the real testbed data. The IoT status monitoring and the Python scripts for model training and inference with K-Means algorithm are available under a Creative Commons license.https://www.mdpi.com/1424-8220/22/23/9498IoTmachine learningsoftware engineeringTDDtestbed |
spellingShingle | Victor Takashi Hayashi Wilson Vicente Ruggiero Júlio Cezar Estrella Artino Quintino Filho Matheus Ancelmo Pita Reginaldo Arakaki Cairo Ribeiro Bruno Trazzi Romeo Bulla A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning Sensors IoT machine learning software engineering TDD testbed |
title | A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning |
title_full | A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning |
title_fullStr | A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning |
title_full_unstemmed | A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning |
title_short | A TDD Framework for Automated Monitoring in Internet of Things with Machine Learning |
title_sort | tdd framework for automated monitoring in internet of things with machine learning |
topic | IoT machine learning software engineering TDD testbed |
url | https://www.mdpi.com/1424-8220/22/23/9498 |
work_keys_str_mv | AT victortakashihayashi atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT wilsonvicenteruggiero atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT juliocezarestrella atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT artinoquintinofilho atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT matheusancelmopita atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT reginaldoarakaki atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT cairoribeiro atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT brunotrazzi atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT romeobulla atddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT victortakashihayashi tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT wilsonvicenteruggiero tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT juliocezarestrella tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT artinoquintinofilho tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT matheusancelmopita tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT reginaldoarakaki tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT cairoribeiro tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT brunotrazzi tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning AT romeobulla tddframeworkforautomatedmonitoringininternetofthingswithmachinelearning |