Iterative Test-Driven Development Methodology for IoT-Based Systems
Metadata
Show full item recordAuthor
Guerrero Ulloa, GleistonEditorial
Universidad de Granada
Departamento
Universidad de Granada. Programa de Doctorado en Tecnologías de la Información y ComunicaciónDate
2024Fecha lectura
2024-04-29Referencia bibliográfica
Guerrero Ulloa, Gleiston. Iterative Test-Driven Development Methodology for IoT-Based Systems. Granada: Universidad de Granada, 2024. [https://hdl.handle.net/10481/93716]
Sponsorship
Tesis Univ. Granada.; Spanish Ministry of Science and Innovation (State Research Agency), grant number PID2022-139297OB-I00; ERDF: A way of making Europe; Spanish Ministry of Science and Innovation (State Research Agency), grant number PID2019-109644RB-I00; Junta de Andalucía (Andalusian Regional Government), grant number BTIC- 320-UGR20; Funding for open access charge: Universidad de Granada / CBUAAbstract
This thesis proposes a methodology to support the development of quality
Internet of Things (IoT)-based Systems (IoTSs). This methodology,
called Test-Driven Development Methodology for IoT-based Systems
(TDDM4IoTS), consists of a set of 11 stages that include tasks ranging from
preliminary analysis to maintenance of an IoTS. Along the development
process, models, tests and software components are expected to be
automatically generated from system requirement specifications expressed
as extended use cases and models designed in previous stages, as it is usually
carried out in Model-Driven Engineering. In consequence, a companion
Computer-Aided Software Engineering (CASE) tool for TDDM4IoTS has
been designed.
This tool, called Test-Driven Development Tool for IoT-based Systems
(TDDT4IoTS), is able to automatically generate UML class diagrams
from extended use cases annotated through a specifically designed marking
language. Moreover, in case the IoTS to be developed requires customdesigned
electronic devices, the tool also allows to design diagrams of
the electronic components that may conform such devices. From those
diagrams, the tool generates a list of materials to be acquired and a
preliminary firmware to be uploaded to the device itself, so as to accomplish
the requirements of the overall IoTS to be developed. Finally, the tool is able
to automatically generate software components and tests to facilitate and
improve end-user application development targeting mobile devices and/or
Web deployments. The methodology and the tool have been designed following an extensive
study of the state of the art regarding methodologies, tools, platforms and
architectures supporting the development of IoTSs. The result of such
study showed that the methodologies and tools used by other authors were
either direct applications of existing methodologies or tools, lacking specific
support towards developing IoTSs, or ad-hoc solutions that were only used
by the authors themselves, and vastly undocumented. Consequently, both
TDDM4IoTS and TDDT4IoTS are proposed in order to fill that scientific
and technical gap.
Both TDDM4IoTS and TDDT4IoTS have also been validated through
their application to the development of several IoTSs for different domains:
care for dependent elderly, smart medicine dispenser, classroom access
control and resource management, indoor plant care, indoor air quality
control and guiding visually impaired people. Moreover, a survey has been
conducted to system engineering students who have used them to develop
their academic projects. The results were overwhelmingly positive, with a
high degree of satisfaction among the participants.
Finally, it is important to highlight that the thesis presented herein
is the result of a compendium of articles published by the candidate and
his supervisors in several quality journals and international forums. Those
publications demonstrate the quality of the proposals presented and their
acceptance by the scientific community. Esta tesis propone una metodología para respaldar el desarrollo de Sistemas
basados en Internet de las Cosas (IoT) de calidad. Esta metodología,
llamada Metodología de Desarrollo Dirigido por Pruebas para Sistemas
basados en IoT (TDDM4IoTS), consta de un conjunto de 11 etapas que
incluyen tareas desde el análisis preliminar hasta el mantenimiento de
un IoTS. A lo largo del proceso de desarrollo, se espera que se generen
automáticamente modelos, pruebas y componentes de software a partir
de las especificaciones de requisitos del sistema expresadas como casos
de uso extendidos y modelos diseñados en etapas anteriores, como se
hace comúnmente en Ingeniería Dirigida por Modelos. En consecuencia,
se ha diseñado una herramienta de Ingeniería de Software Asistida por
Computadora (CASE) para TDDM4IoTS.
Esta herramienta, llamada Herramienta de Desarrollo Dirigido por
Pruebas para Sistemas basados en IoT (TDDT4IoTS), puede generar
automáticamente diagramas de clases UML a partir de casos de uso
extendidos anotados a través de un lenguaje de marcado diseñado
específicamente. Además, en caso de que el IoTS a desarrollar requiera
dispositivos electrónicos diseñados a medida, la herramienta también
permite diseñar diagramas de los componentes electrónicos que pueden
conformar dichos dispositivos. A partir de esos diagramas, la herramienta
genera una lista de materiales a adquirir y un firmware preliminar para
cargar en el dispositivo mismo, para cumplir con los requisitos del IoTS
global a desarrollar. Finalmente, la herramienta es capaz de generar automáticamente componentes de software y pruebas para facilitar y
mejorar el desarrollo de aplicaciones dirigidas a dispositivos móviles y/o
implementaciones web por parte del usuario final.
La metodología y la herramienta se han disenado tras un extenso
estudio del estado del arte en metodologías, herramientas, plataformas
y arquitecturas que respaldan el desarrollo de IoTS. El resultado de
dicho estudio mostró que las metodologías y herramientas utilizadas por
otros autores eran aplicaciones directas de metodologías o herramientas
existentes, careciendo de un respaldo específico para el desarrollo de
IoTS, o soluciones ad-hoc utilizadas únicamente por los propios autores y
ampliamente no documentadas. En consecuencia, tanto TDDM4IoTS como
TDDT4IoTS se proponen para llenar ese vacío científico y técnico.
Ambas TDDM4IoTS y TDDT4IoTS también se han validado mediante
su aplicación al desarrollo de varios IoTS para diferentes dominios:
cuidado de personas mayores dependientes, dispensador de medicamentos
inteligente, control de acceso y gestión de recursos en aulas, cuidado de
plantas de interior, control de calidad del aire interior y guía para personas
con discapacidad visual. Además, se realizo una encuesta a estudiantes
de ingeniería de sistemas que las utilizaron para desarrollar sus proyectos
académicos. Los resultados fueron abrumadoramente positivos, con un alto
grado de satisfacción entre los participantes.
Finalmente, es importante destacar que la tesis presentada aquí es el
resultado de un compendio de artículos publicados por el candidato y sus
supervisores en varias revistas de calidad y foros internacionales. Estas
publicaciones demuestran la calidad de las propuestas presentadas y su
aceptación por parte de la comunidad científica.