5 research outputs found
Opaque analysis for resource-sharing components in hierarchical real-time systems : extended version
A real-time component may be developed under the assumption that it has the entire platform at its disposal. Composing a real-time system from independently developed components may require resource sharing between components. We propose opaque analysis methods to integrate resource-sharing components into hierarchically scheduled systems. Resource sharing imposes blocking times within an individual component and between components. An opaque local analysis ignores global blocking between components and allows to analyse an individual component while assuming that shared resources are exclusively available for a component. To arbitrate mutually exclusive resource access between components, we consider four existing protocols: SIRAP, BROE and HSRP - comprising overrun with payback (OWP) and overrun without payback (ONP). We classify local analyses for each synchronization protocol based on the notion of opacity and we develop new analysis for those protocols that are non-opaque. Finally, we compare SIRAP, ONP, OWP and BROE by means of an extensive simulation study. From the results, we derive guidelines for selecting a global synchronization protocol
Real-Time Analysis of Servers for General Job Arrivals
Abstract-Several servers have been proposed to schedule streams of aperiodic jobs in the presence of other periodic tasks. Standard schedulability analysis has been extended to consider such servers. However, not much attention has been laid on computing the worst-case delay suffered by a given stream of jobs when scheduled via a server. Such analysis is essential for using servers to schedule hard real-time tasks. We illustrate, with examples, that well established resource models, such as supply bound function and models from Real-Time Calculus, do not tightly characterize servers. In this work, we analyze the server algorithm of the Constant Bandwidth Server and compute a provably tight resource model of the server. The approach used enables us to differentiate between the soft and hard variants of the server. A similar approach can be used to characterize other servers; the final results for which are presented
The Continuous Stream Model of Computation for Real-Time Control
This paper presents a new Model of Computation (MoC) for real-time tasks used in control systems. This new model, named continuous stream task model, relaxes some of the constraints imposed by the traditional hard and soft real-time task models. A key advantage of the model is the possibility to easily analyse the probabilistic evolution of the delays. This leads to an easy formalisation of necessary and sufficient conditions for the stochastic stability of the closed loop system producing considerable savings in the amount of CPU bandwidth required to stabilise the system. This fact is confirmed by an extensive set of simulations. © 2013 IEEE
Contributions to the safe execution of dynamic component-based real-time systems
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. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Los sistemas de tiempo real han basado tradicionalmente su desarrollo en modelos altamente
predecibles 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 de
aplicación y ajustándose a paradigmas de desarrollo software más novedosos. Esto ha presentado y
presenta en la actualidad un tremendo reto ya que estas aplicaciones suelen tener un alto grado de
dinamismo, lo que entra en conflicto con la predictibilidad temporal y, en general la ejecución
segura de los mismos.
Hoy en dia se esta realizando un gran esfuerzo en el desarrollo de sistemas cada vez más
dinamicos que permitan adaptar su estructura en tiempo de ejecución para adaptarse a entornos que
presentan condiciones cambiantes. La capacidad de soportar este tipo de dinamismo presenta
ventajas descatables como permitir corregir fallos y anadir funcionalidad mediante actualizaciones
en caliente, es decir, poder actualizarse sin necesidad de realizar paradas en su servicio, lo que
podria 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 muy
populares y su aplicación a los sistemas de tiempo real gana terreno día a día. Uno de los
principales 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 de
componentes.
En esta tesis se aborda el objetivo de proveer a los sistemas de tiempo real de cierto grado de
dinamismo para poder reemplazar componentes de forma segura, que permita incorporar nuevas
funcionalidades o corregir errores existentes. Para ello, en esta tesis se ha elaborado de un marco de
trabajo para dar soporte a reemplazos de componentes de forma segura, entendiendo como tal que el
hecho de que no se produzcan ejecuciones incorrectas debido a la ejecución concurrente de
multiples tareas, asi como el garantizar los tiempos de ejecucion de cada tarea y acotar la duración
temporal de los reemplazos. El marco de trabajo propuesto está basado, pues, en componentes de
tiempo real, que tiene en cuenta los requisitos temporales en la ejecución de los componentes del
sistema y de las tareas propias del marco que dan soporte a estos mecanismos de reemplazo. Este
marco de trabajo incorpora un modelo generico de componente con tareas de tiempo real, un
modelo de reemplazo de componentes cuyos tiempos de ejecucion son conocidos y limitados en
tiempo y diferentes estrategias de aplicacion de dicho modelo de reemplazo de componente. Las
contribuciones propuestas integran el analisis de la planificabilidad de los componentes del sistema
y de las tareas del marco de componentes para permitir establecer los parámetros de reserva de los
recursos necesarios para las tareas del marco. Por último, se realiza una validación empírica en la
que se comprueba experimentalmente la validez del modelo tanto de forma genérica como en un
escenario específico y determinando también los recursos necesarios para su implementación