Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas

El Internet de las Cosas (IoT) es una de las áreas de mayor crecimiento dentro de las tecnologías de información, debido a su incidencia técnica, social y económica en la sociedad, transformando favorablemente la forma en que vivimos y trabajamos. En la actualidad, uno de los desafíos más importante...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autor principal: Erazo Garzón, Lenin Xavier
Otros Autores: Cedillo Orellana, Priscila
Formato: Tesis Tesis de doctorado
Lenguaje:Español
Publicado: 2024
Materias:
Acceso en línea:http://sedici.unlp.edu.ar/handle/10915/175347
https://doi.org/10.35537/10915/175347
Aporte de:
id I19-R120-10915-175347
record_format dspace
institution Universidad Nacional de La Plata
institution_str I-19
repository_str R-120
collection SEDICI (UNLP)
language Español
topic Ciencias Informáticas
Autoconsciencia Computacional
Ingeniería Dirigida por Modelos (MDE)
Internet de las Cosas (IoT)
Lenguaje Específico de Dominio (DSL)
Modelos en Tiempo de Ejecución (models@run.time)
Monitoreo
spellingShingle Ciencias Informáticas
Autoconsciencia Computacional
Ingeniería Dirigida por Modelos (MDE)
Internet de las Cosas (IoT)
Lenguaje Específico de Dominio (DSL)
Modelos en Tiempo de Ejecución (models@run.time)
Monitoreo
Erazo Garzón, Lenin Xavier
Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas
topic_facet Ciencias Informáticas
Autoconsciencia Computacional
Ingeniería Dirigida por Modelos (MDE)
Internet de las Cosas (IoT)
Lenguaje Específico de Dominio (DSL)
Modelos en Tiempo de Ejecución (models@run.time)
Monitoreo
description El Internet de las Cosas (IoT) es una de las áreas de mayor crecimiento dentro de las tecnologías de información, debido a su incidencia técnica, social y económica en la sociedad, transformando favorablemente la forma en que vivimos y trabajamos. En la actualidad, uno de los desafíos más importantes para la comunidad científica y la industria es el desarrollo de software para sistemas IoT, ya que se caracterizan por ser altamente distribuidos, heterogéneos y dinámicos, siendo complejo identificar todos los requisitos del sistema en la etapa de desarrollo. Además, las metodologías y herramientas de ingeniería de software tradicionales han demostrado ser poco efectivas y productivas para afrontar las características intrínsecas de estos sistemas y, en particular el dinamismo y la incertidumbre asociados a los mismos. En sí, estos enfoques y herramientas se limitan a gestionar la evolución de los sistemas en tiempo de diseño, dejando de lado el tiempo de ejecución. Asimismo, se centran en los detalles de implementación (programación a bajo nivel) en lugar del dominio del problema, volviéndose una tarea compleja y tediosa el desarrollo de software para sistemas IoT. Un enfoque apropiado es incorporar la autoconsciencia computacional a los sistemas IoT con el apoyo de la Ingeniería Dirigida por Modelos (MDE) y, particularmente los modelos en tiempo de ejecución (models@run.time), a fin de aumentar su autonomía y resiliencia frente a las situaciones imprevistas. Bajo este enfoque, un sistema IoT es considerado autoconsciente, si es capaz de obtener y mantener el conocimiento sobre sí mismo y el entorno (p. ej., estructura, estado, evolución), sin un control externo. Mientras que, los modelos en tiempo de ejecución constituyen una autorrepresentación causalmente conectada de un sistema IoT, siendo el medio a través del cual el sistema captura el conocimiento, es decir, es consciente. Sin embargo, la autoconsciencia computacional en IoT es un área de investigación en desarrollo. Los esfuerzos de investigación se han concentrado fundamentalmente en trabajos teóricos orientados a establecer hojas ruta para la adopción de la autoconsciencia en sistemas IoT, así como soluciones prácticas sobre arquitecturas, frameworks, middlewares y algoritmos de aprendizaje automático para apoyar la autoconsciencia en aplicaciones particulares (ad hoc) de IoT, descuidando la concepción de metodologías e infraestructuras genéricas e integrales para construcción de este tipo sistemas. De igual manera, existen pocos estudios que consideran explícitamente a MDE y los modelos en tiempo de ejecución como parte de sus soluciones autoconscientes. Frente a esta problemática, la presente tesis doctoral aborda las limitaciones y desafíos expuestos mediante la creación de Aware-IoT@Run.Time, un método de ingeniería de software basado en modelos en tiempo de ejecución que apoya a los stakeholders en la construcción, operación y mantenimiento de sistemas IoT autoconscientes. Específicamente, el proceso metodológico de Aware-IoT@Run.Time y sus actividades están fundamentados en el bucle de aprendizaje y razonamiento basado en modelos (LRA-M loop). Este proceso metodológico ha sido descrito a profundidad y representado gráficamente bajo la notación SPEM, incluyendo su descomposición jerárquica en actividades, tareas y subtareas, junto con la especificación de los roles de usuario, herramientas y artefactos de entrada / salida que intervienen en cada una de las actividades y tareas. Además, en esta tesis doctoral se implementó un prototipo avanzado de una infraestructura de soporte a la metodología Aware-IoT@Run.Time, compuesto por un conjunto de artefactos y herramientas de ingeniería de software que integran, automatizan y simplifican todas sus actividades y tareas. En primer lugar, el Lenguaje Específico de Dominio (DSL) Monitor-IoT y el configurador web de autoconsciencia permiten la construcción de modelos con especificaciones (conceptos) de alto nivel sobre las preocupaciones arquitectónicas, de monitoreo y autoconsciencia de un sistema IoT. Estas herramientas se basan en metamodelos construidos a partir de estándares (ISO/IEC 30141:2018), frameworks conceptuales y ontologías relevantes sobre arquitecturas de IoT, autoconsciencia computacional y medición de la calidad de software, lo cual asegura la formalidad y coherencia semántica de los modelos. A su vez, estos metamodelos poseen un vocabulario amplio para especificar una diversidad de entidades IoT (físicas y digitales), flujos de datos de monitoreo, así como aspectos y procesos de autoconsciencia, a nivel de las capas Edge, Fog y Cloud de un sistema IoT. Como complemento, un middleware mantiene la relación causal entre los modelos y el sistema IoT gestionado, y viceversa. Este middleware ante cualquier cambio en las especificaciones de los modelos, implementa y/o reconfigura de forma automática y distribuida los artefactos de software de monitoreo y autoconsciencia de un sistema IoT, a nivel de las capas Edge, Fog y Cloud. Por su parte, los artefactos generados por el middleware se encargan de proveer el soporte necesario para que un sistema IoT pueda aprender y razonar a partir de la actualización y calibración continua de los parámetros (métricas, metadatos, etc.) de los modelos, volviéndose capaz de comprender su estado y posible evolución para llegar a recomendaciones (acciones correctivas) de ser necesario. La metodología Aware-IoT@Run.Time y sus herramientas de soporte fueron evaluadas empíricamente mediante un estudio de caso y dos cuasi experimentos bajo el subdominio de ambientes de vida asistida. El estudio de caso ha demostrado que siguiendo paso a paso la guía metodológica y con el apoyo de las herramientas es factible construir sistemas IoT autoconscientes con un alto grado de abstracción, expresividad y flexibilidad. Mientras que, los cuasi experimentos basados en el Modelo de Evaluación de Métodos (MEM) y ejecutados en un entorno académico han determinado la alta efectividad y eficiencia de los participantes al utilizar la solución Aware-IoT@Run.Time. Además, estos cuasi experimentos han demostrado la intención de los participantes de utilizar la solución a futuro, ya que la consideran fácil de usar y útil. Finalmente, la implementación y evaluación de la solución Aware-IoT@Run.Time ha servido para corroborar que un enfoque de ingeniería de software basado en la autoconsciencia computacional y los modelos en tiempo de ejecución resulta ser idóneo para abstraer la complejidad y elevar el nivel de automatización del desarrollo de los sistemas IoT, mejorar la gestión de su evolución y cambio, aumentar la independencia del dominio de aplicación y la plataforma tecnológica; y, en definitiva, reducir el esfuerzo y tiempo requerido para su puesta en operación. Sin embargo, a lo largo de la tesis doctoral se han evidenciado una serie de oportunidades de investigación para perfeccionar la solución Aware-IoT@Run.Time, mismas que deberán ser consideradas a futuro.
author2 Cedillo Orellana, Priscila
author_facet Cedillo Orellana, Priscila
Erazo Garzón, Lenin Xavier
format Tesis
Tesis de doctorado
author Erazo Garzón, Lenin Xavier
author_sort Erazo Garzón, Lenin Xavier
title Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas
title_short Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas
title_full Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas
title_fullStr Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas
title_full_unstemmed Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas
title_sort metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de internet de las cosas
publishDate 2024
url http://sedici.unlp.edu.ar/handle/10915/175347
https://doi.org/10.35537/10915/175347
work_keys_str_mv AT erazogarzonleninxavier metodologiabasadaenmodelosentiempodeejecucionparalaconstruccionyoperaciondesistemasautoconscientesdeinternetdelascosas
_version_ 1844301370319962112
spelling I19-R120-10915-1753472024-12-29T04:18:39Z http://sedici.unlp.edu.ar/handle/10915/175347 https://doi.org/10.35537/10915/175347 Metodología basada en modelos en tiempo de ejecución para la construcción y operación de sistemas autoconscientes de Internet de las Cosas Erazo Garzón, Lenin Xavier 2024-12-16 2024 2024-12-26T12:31:39Z Cedillo Orellana, Priscila Rossi, Gustavo Héctor Genero, Marcela Olsina Santos, Luis Antonio Piattini Velthuis, Mario es Ciencias Informáticas Autoconsciencia Computacional Ingeniería Dirigida por Modelos (MDE) Internet de las Cosas (IoT) Lenguaje Específico de Dominio (DSL) Modelos en Tiempo de Ejecución (models@run.time) Monitoreo El Internet de las Cosas (IoT) es una de las áreas de mayor crecimiento dentro de las tecnologías de información, debido a su incidencia técnica, social y económica en la sociedad, transformando favorablemente la forma en que vivimos y trabajamos. En la actualidad, uno de los desafíos más importantes para la comunidad científica y la industria es el desarrollo de software para sistemas IoT, ya que se caracterizan por ser altamente distribuidos, heterogéneos y dinámicos, siendo complejo identificar todos los requisitos del sistema en la etapa de desarrollo. Además, las metodologías y herramientas de ingeniería de software tradicionales han demostrado ser poco efectivas y productivas para afrontar las características intrínsecas de estos sistemas y, en particular el dinamismo y la incertidumbre asociados a los mismos. En sí, estos enfoques y herramientas se limitan a gestionar la evolución de los sistemas en tiempo de diseño, dejando de lado el tiempo de ejecución. Asimismo, se centran en los detalles de implementación (programación a bajo nivel) en lugar del dominio del problema, volviéndose una tarea compleja y tediosa el desarrollo de software para sistemas IoT. Un enfoque apropiado es incorporar la autoconsciencia computacional a los sistemas IoT con el apoyo de la Ingeniería Dirigida por Modelos (MDE) y, particularmente los modelos en tiempo de ejecución (models@run.time), a fin de aumentar su autonomía y resiliencia frente a las situaciones imprevistas. Bajo este enfoque, un sistema IoT es considerado autoconsciente, si es capaz de obtener y mantener el conocimiento sobre sí mismo y el entorno (p. ej., estructura, estado, evolución), sin un control externo. Mientras que, los modelos en tiempo de ejecución constituyen una autorrepresentación causalmente conectada de un sistema IoT, siendo el medio a través del cual el sistema captura el conocimiento, es decir, es consciente. Sin embargo, la autoconsciencia computacional en IoT es un área de investigación en desarrollo. Los esfuerzos de investigación se han concentrado fundamentalmente en trabajos teóricos orientados a establecer hojas ruta para la adopción de la autoconsciencia en sistemas IoT, así como soluciones prácticas sobre arquitecturas, frameworks, middlewares y algoritmos de aprendizaje automático para apoyar la autoconsciencia en aplicaciones particulares (ad hoc) de IoT, descuidando la concepción de metodologías e infraestructuras genéricas e integrales para construcción de este tipo sistemas. De igual manera, existen pocos estudios que consideran explícitamente a MDE y los modelos en tiempo de ejecución como parte de sus soluciones autoconscientes. Frente a esta problemática, la presente tesis doctoral aborda las limitaciones y desafíos expuestos mediante la creación de Aware-IoT@Run.Time, un método de ingeniería de software basado en modelos en tiempo de ejecución que apoya a los stakeholders en la construcción, operación y mantenimiento de sistemas IoT autoconscientes. Específicamente, el proceso metodológico de Aware-IoT@Run.Time y sus actividades están fundamentados en el bucle de aprendizaje y razonamiento basado en modelos (LRA-M loop). Este proceso metodológico ha sido descrito a profundidad y representado gráficamente bajo la notación SPEM, incluyendo su descomposición jerárquica en actividades, tareas y subtareas, junto con la especificación de los roles de usuario, herramientas y artefactos de entrada / salida que intervienen en cada una de las actividades y tareas. Además, en esta tesis doctoral se implementó un prototipo avanzado de una infraestructura de soporte a la metodología Aware-IoT@Run.Time, compuesto por un conjunto de artefactos y herramientas de ingeniería de software que integran, automatizan y simplifican todas sus actividades y tareas. En primer lugar, el Lenguaje Específico de Dominio (DSL) Monitor-IoT y el configurador web de autoconsciencia permiten la construcción de modelos con especificaciones (conceptos) de alto nivel sobre las preocupaciones arquitectónicas, de monitoreo y autoconsciencia de un sistema IoT. Estas herramientas se basan en metamodelos construidos a partir de estándares (ISO/IEC 30141:2018), frameworks conceptuales y ontologías relevantes sobre arquitecturas de IoT, autoconsciencia computacional y medición de la calidad de software, lo cual asegura la formalidad y coherencia semántica de los modelos. A su vez, estos metamodelos poseen un vocabulario amplio para especificar una diversidad de entidades IoT (físicas y digitales), flujos de datos de monitoreo, así como aspectos y procesos de autoconsciencia, a nivel de las capas Edge, Fog y Cloud de un sistema IoT. Como complemento, un middleware mantiene la relación causal entre los modelos y el sistema IoT gestionado, y viceversa. Este middleware ante cualquier cambio en las especificaciones de los modelos, implementa y/o reconfigura de forma automática y distribuida los artefactos de software de monitoreo y autoconsciencia de un sistema IoT, a nivel de las capas Edge, Fog y Cloud. Por su parte, los artefactos generados por el middleware se encargan de proveer el soporte necesario para que un sistema IoT pueda aprender y razonar a partir de la actualización y calibración continua de los parámetros (métricas, metadatos, etc.) de los modelos, volviéndose capaz de comprender su estado y posible evolución para llegar a recomendaciones (acciones correctivas) de ser necesario. La metodología Aware-IoT@Run.Time y sus herramientas de soporte fueron evaluadas empíricamente mediante un estudio de caso y dos cuasi experimentos bajo el subdominio de ambientes de vida asistida. El estudio de caso ha demostrado que siguiendo paso a paso la guía metodológica y con el apoyo de las herramientas es factible construir sistemas IoT autoconscientes con un alto grado de abstracción, expresividad y flexibilidad. Mientras que, los cuasi experimentos basados en el Modelo de Evaluación de Métodos (MEM) y ejecutados en un entorno académico han determinado la alta efectividad y eficiencia de los participantes al utilizar la solución Aware-IoT@Run.Time. Además, estos cuasi experimentos han demostrado la intención de los participantes de utilizar la solución a futuro, ya que la consideran fácil de usar y útil. Finalmente, la implementación y evaluación de la solución Aware-IoT@Run.Time ha servido para corroborar que un enfoque de ingeniería de software basado en la autoconsciencia computacional y los modelos en tiempo de ejecución resulta ser idóneo para abstraer la complejidad y elevar el nivel de automatización del desarrollo de los sistemas IoT, mejorar la gestión de su evolución y cambio, aumentar la independencia del dominio de aplicación y la plataforma tecnológica; y, en definitiva, reducir el esfuerzo y tiempo requerido para su puesta en operación. Sin embargo, a lo largo de la tesis doctoral se han evidenciado una serie de oportunidades de investigación para perfeccionar la solución Aware-IoT@Run.Time, mismas que deberán ser consideradas a futuro. Doctor en Ciencias Informáticas Universidad Nacional de La Plata Facultad de Informática Tesis Tesis de doctorado http://creativecommons.org/licenses/by-nc-sa/4.0/ Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) application/pdf