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...

Full description

Bibliographic Details
Main Authors: Victor Takashi Hayashi, Wilson Vicente Ruggiero, Júlio Cezar Estrella, Artino Quintino Filho, Matheus Ancelmo Pita, Reginaldo Arakaki, Cairo Ribeiro, Bruno Trazzi, Romeo Bulla
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