RT Dissertation/Thesis T1 Contributions to the safe execution of dynamic component-based real-time systems A1 Cano Romero, Julio Ángel AB Traditionally, real-time systems have based their design and execution on barely dynamic models to ensure, since design time, the temporal guarantees in the execution of their functionality. Great effort is being applied nowadays to progressively develop more dynamic systems, with the target of changing during their execution and to adapt themselves to their environment. The capability to change and to reconfigure themselves represents remarkable advantages as the capability to fix errors and to add new functionality with on-line updates. This means to be able to be updated without needing to stop the service, that may imply monetary losses in many cases. Design and development techniques based on components have become popular due to the use of components, which allows simplifying the system design, code reusability and updates through the substitution of components. The target of this thesis work is to provide certain degree of dynamism to real-time systems allowing them to replace components, incorporating new functionality of fixing existing bugs. On that purpose, a component-based framework is proposed, as well as the corresponding task in charge of providing dynamism to the system. The main contribution is to provide a framework to allow safe component replacements. Safe meaning that incorrect executions of tasks are avoided even y multiple tasks are executing concurrently and making use of the same data. Also that temporal guarantees are provided for every task. This framework incorporates a generic component model with real-time threads, a components replacement model with execution times that are known and bounded, and different strategies to apply such component replacement model. Some mechanisms to maintain a seamless and safe execution, regarding concurrency, before, during, and after applying the processes in charge of replacing running components are also described. Seamless execution means that components themselves do not perform the replacements, and safe means that temporal guarantees are provided and components are not affected in their execution. Part of these mechanisms are the system schedulability analysis and the framework tasks as well as reserving the needed resources for such scheduling to be correct. --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- AB Los sistemas de tiempo real han basado tradicionalmente su desarrollo en modelos altamentepredecibles ya que estos requieren garantías temporales en su ejecución.A lo largo de los años, la technología de tiempo real ha ido penetrando en diferentes campos deaplicación y ajustándose a paradigmas de desarrollo software más novedosos. Esto ha presentado ypresenta en la actualidad un tremendo reto ya que estas aplicaciones suelen tener un alto grado dedinamismo, lo que entra en conflicto con la predictibilidad temporal y, en general la ejecuciónsegura de los mismos.Hoy en dia se esta realizando un gran esfuerzo en el desarrollo de sistemas cada vez másdinamicos que permitan adaptar su estructura en tiempo de ejecución para adaptarse a entornos quepresentan condiciones cambiantes. La capacidad de soportar este tipo de dinamismo presentaventajas descatables como permitir corregir fallos y anadir funcionalidad mediante actualizacionesen caliente, es decir, poder actualizarse sin necesidad de realizar paradas en su servicio, lo quepodria implicar costes monetarios en muchos casos o perdidas temporales de servicio.Por otro lado, las técnicas de diseño y desarrollo basadas en componentes se han hecho muypopulares y su aplicación a los sistemas de tiempo real gana terreno día a día. Uno de losprincipales motivos de ellos es que el uso de componentes permite simplificar el diseño del sistema,la reutilizacion de codigo e incluso la actualizacion del mismo mediante la substitucion decomponentes.En esta tesis se aborda el objetivo de proveer a los sistemas de tiempo real de cierto grado dedinamismo para poder reemplazar componentes de forma segura, que permita incorporar nuevasfuncionalidades o corregir errores existentes. Para ello, en esta tesis se ha elaborado de un marco detrabajo para dar soporte a reemplazos de componentes de forma segura, entendiendo como tal que elhecho de que no se produzcan ejecuciones incorrectas debido a la ejecución concurrente demultiples tareas, asi como el garantizar los tiempos de ejecucion de cada tarea y acotar la duracióntemporal de los reemplazos. El marco de trabajo propuesto está basado, pues, en componentes detiempo real, que tiene en cuenta los requisitos temporales en la ejecución de los componentes delsistema y de las tareas propias del marco que dan soporte a estos mecanismos de reemplazo. Estemarco de trabajo incorpora un modelo generico de componente con tareas de tiempo real, unmodelo de reemplazo de componentes cuyos tiempos de ejecucion son conocidos y limitados entiempo y diferentes estrategias de aplicacion de dicho modelo de reemplazo de componente. Lascontribuciones propuestas integran el analisis de la planificabilidad de los componentes del sistemay de las tareas del marco de componentes para permitir establecer los parámetros de reserva de losrecursos necesarios para las tareas del marco. Por último, se realiza una validación empírica en laque se comprueba experimentalmente la validez del modelo tanto de forma genérica como en unescenario específico y determinando también los recursos necesarios para su implementación. YR 2012 FD 2012-12 LK https://hdl.handle.net/10016/17325 UL https://hdl.handle.net/10016/17325 LA eng DS e-Archivo RD 5 may. 2024