Arquitectura de Software Multitarea Basada en MVP para la Carga Dinámica de GUIs en Sistemas Embebidos.

Authors

  • Marco Antonio Núñez Gaona
  • Heriberto Aguirre Meneses Departamento de Sistemas Médicos , Instituto Nacional de Rehabilitación Luis Guillermo Ibarra Ibarra
  • Mario Ibrahín Gutiérrez Velasco Departamento de Sistemas Médicos , Instituto Nacional de Rehabilitación Luis Guillermo Ibarra Ibarra

Abstract

Introducción

La evolución de los sistemas embebidos ha desplazado los bucles antiguos de control simples en favor de aplicaciones robustas con conectividad IoT e interfaces gráficas de usuario (GUI) complejas. El desarrollo de firmware presenta el desafío de integrar lógica de control, gestión de tiempos y controladores de hardware. Cuando estos elementos se vinculan, se generan códigos monolíticos que limitan la escalabilidad y dificultan el mantenimiento. Para mitigar estas deficiencias, la ingeniería de software adapta patrones de diseño y sistemas operativos en tiempo real (FreeRTOS). Esta sinergia combina el patrón Modelo-Vista-Presentador (MVP), la Inversión de Control (IoC) y las Máquinas de Estados Finitos (MEF) para orquestar la carga dinámica de vistas en un entorno multitarea.

Objetivo

El objetivo de este trabajo es diseñar, implementar y validar una arquitectura de software multitarea para sistemas embebidos que optimice el uso de memoria RAM y el determinismo temporal. Esto se logra mediante la separación de responsabilidades (MVP), el desacoplamiento de periféricos (IoC) y la gestión de transiciones visuales mediante una MEF ejecutada sobre tareas concurrentes de FreeRTOS.

Metodología

La propuesta se define en tres capas:

  • Separación de Responsabilidades y Concurrencia (MVP + FreeRTOS): Se aísla la adquisición de sensores (Modelo) de la representación gráfica (Vista), utilizando al Presentador como mediador. El Modelo y el Presentador se ejecutan en tareas independientes de FreeRTOS con prioridades definidas. La comunicación entre la lógica de negocio y la interfaz se realiza de forma segura mediante colas de mensajes (Queues) y semáforos, evitando condiciones de carrera.

  • Desacoplamiento mediante IoC: Se implementa la Inversión de Control utilizando Inyección de Dependencias a través de punteros a estructuras o clases abstractas en C++. Los controladores de bajo nivel se inyectan en las tareas de FreeRTOS durante la inicialización, permitiendo la abstracción del hardware y facilitando la escalabilidad del sistema.

  • Control de Flujo y Carga Dinámica (MEF): El ciclo de vida de la interfaz se rige por una MEF dentro de la tarea principal de la GUI. Mediante la carga dinámica, al cambiar a otro estado, se reserva memoria en tiempo de ejecución para la vista seleccionada; al abandonar dicho estado, la memoria se libera, optimizando el espacio asignado a la tarea.

Resultados

Para validar la propuesta, los componentes de la arquitectura se implementaron físicamente utilizando una pantalla táctil de 7 pulgadas ESP32-8048S070 con LVGL (Light and Versatile Graphics Library). Las pruebas experimentales demostraron un comportamiento determinista gracias a la planificación por prioridades de FreeRTOS y una reducción del consumo de memoria RAM de hasta un 40% en comparación con el despliegue estático tradicional. La separación en tareas evita que el refresco de la pantalla bloquee la lectura crítica de los sensores del Modelo.

Conclusiones

La validación experimental demuestra que la integración de MVP, IoC, MEF y FreeRTOS es altamente ventajosa en entornos microcontrolados robustos. La carga dinámica de vistas guiada por estados soluciona las restricciones físicas de memoria RAM, el uso de FreeRTOS garantiza el tiempo real y el determinismo crítico necesarios para aplicaciones IoT modernas.

Publication Facts

Metric
This article
Other articles
Peer reviewers 
0
2.4

Reviewer profiles  N/A

Author statements

Author statements
This article
Other articles
Data availability 
N/A
16%
External funding 
N/A
32%
Competing interests 
No
11%
Metric
This journal
Other journals
Articles accepted 
14%
33%
Days to publication 
145
145

Indexed in

Editor & editorial board
profiles
Academic society 
N/A

Published

2026-11-03

How to Cite

1.
Núñez Gaona MA, Aguirre Meneses H, Gutiérrez Velasco MI. Arquitectura de Software Multitarea Basada en MVP para la Carga Dinámica de GUIs en Sistemas Embebidos. Invest. Discapacidad [Internet]. 2026 Nov. 3 [cited 2026 Nov. 5];12(S1). Available from: https://dsm.inr.gob.mx/indiscap/index.php/INDISCAP/article/view/1058

Most read articles by the same author(s)

1 2 > >>