Librería de soporte de tareas Ada para MaRTE OS
MaRTE OS Ada task support library
Ver/ Abrir
Identificadores
URI: https://hdl.handle.net/10902/37824Registro completo
Mostrar el registro completo DCAutoría
Escalada Diego, IsmaelFecha
2025-09Derechos
Attribution-NonCommercial-NoDerivatives 4.0 International
Resumen/Abstract
La programación concurrente en sistemas embebidos de tiempo real es fundamental para cumplir restricciones de temporalidad. Ada, un lenguaje de programación orientado a sistemas críticos, ofrece un constructo de alto nivel denominado tarea (task), que representa un hilo independiente de ejecución. De este modo, Ada facilita la implementación de aplicaciones paralelas seguras y deterministas.
MaRTE OS (Minimal Real Time Operating System), desarrollado por el Grupo de Ingeniería de Software y Tiempo Real de la Universidad de Cantabria, es un sistema operativo de tiempo real diseñado para aplicaciones embebidas, basado en el subconjunto POSIX.13 de tiempo real mínimo. Está mayormente programado en Ada, con partes en C y ensamblador. Permite el desarrollo cruzado de software en Ada y C utilizando los compiladores GNU GNAT y GCC. También es compatible con depuración remota a través de gdb. La biblioteca de tiempo de ejecución de GNAT (GNARL) ha sido adaptada para funcionar con este kernel.
El objetivo principal de este Trabajo Fin de Grado es el diseño e implementación de una librería de soporte de tareas en el lenguaje de programación Ada, orientada al sistema operativo MaRTE OS. Esta librería proporcionará un conjunto de primitivas de concurrencia —incluyendo la creación y gestión de tareas, mecanismos de sincronización mediante semáforos u objetos protegidos, y herramientas de comunicación entre tareas— con el fin de facilitar el desarrollo de aplicaciones paralelas de forma sencilla, robusta y eficiente.
La implementación estará específicamente dirigida a plataformas embebidas basadas en la arquitectura ARM, utilizando como entorno de pruebas la plataforma STM32F4. De este modo, se busca extender las capacidades de MaRTE OS para soportar de manera efectiva la ejecución de aplicaciones concurrentes en sistemas en tiempo real sobre arquitecturas ARM, ampliamente utilizadas en el ámbito de la computación embebida.
Concurrent programming in real-time embedded systems is essential to meet timing constraints. Ada, a programming language designed for safety-critical systems, provides a high-level construct called task, which represents an independent thread of execution. This feature allows Ada to support the development of parallel, safe, and deterministic applications.
MaRTE OS (Minimal Real Time Operating System), developed by the Software and Real-Time Engineering Group at the University of Cantabria, is a real-time operating system for embedded applications, based on the POSIX.13 minimal real-time subset. It is mainly written in Ada, with some components in C and assembly. It supports cross-development in Ada and C using the GNU GNAT and GCC compilers, and provides remote debugging through gdb. The GNAT runtime library (GNARL) has been adapted to run on this kernel.
The main objective of this Final Degree Project is the design and implementation of a task support library in the Ada programming language, specifically targeted at the MaRTE OS operating system. This library will provide a set of concurrency primitives —including task creation and management, synchronization mechanisms through semaphores or protected objects, and inter-task communication tools— to simplify the development of parallel applications in a robust and efficient way.
The implementation will be focused on embedded platforms based on the ARM architecture, using the STM32F4 platform as a testing environment. In this way, the goal is to extend the capabilities of MaRTE OS to effectively support the execution of concurrent applications in real-time systems running on ARM architectures, which are widely used in the field of embedded computing.








