Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Nos brinda un alcance sobre. Los Sistemas en Tiempo Real, son por naturaleza sistemas
deben adaptarse a diversas restricciones (tiempo, energía, relación con el ambiente, etc.), así como
el desarrollo de software es hoy más un arte que una disciplina sistemática. La predictibilidad del
tiempo de respuesta determina el tiempo en el que el sistema emite una respuesta correcta ante un
estímulo, esta característica permite reconocer la prioridad cual va ser el comportamiento del
sistemas informáticos en entornos industriales un computador en ese entorno debe ser capaz de
leer variables del entorno, a través de sensores adecuados y determinar acciones de respuestas
En tanto el mundo real puede producir distintos eventos al mismo tiempo, en el computador el
tratamiento será de manera secuencial, del modo que los estímulos externos aparecerán en
instantes de tiempo no predecibles o en forma paralela que son recibidos por el computador que
los tiene que resolver de manera secuencial y atendiendo las restricciones de respuesta. Los
sistemas en tiempo real se distinguen en críticos y acríticos, los sistemas de tiempo real critico son
aquellos en que las acciones del sistema se producen de forma obligatorita dentro de un plazo
especificado, estos sistemas comportan que, si se producen fallos de plazo, el sistema puede
evolucionar de forma catastrófica. En los sistemas de tiempo real acríticos las perdidas puntuales
de alguno de los plazos pueden producir que el sistema tenga un funcionamiento degradado
durante un intervalo que debe acotarse y permitir que el sistema recupere de forma rápida el
Fuente: Alonzo (2012), en su publicación (Generación Automática de Software para Sistemas de Tiempo Real: Un
Enfoque basado en Componentes, Modelos y Frameworks).
Figure 2 Estructura de un Sistema de Tiempo Real
Fuente: Alonzo (2012), en su publicación (Generación Automática de Software para Sistemas de Tiempo Real: Un
Enfoque basado en Componentes, Modelos y Frameworks).
alcance en cuanto a los diseños de software en tiempo real, cada controlador en un sistema
multifrecuencia estructura en una tarea, el sistema estará formado por una secuencial de tareas que
implementan cada uno de los controladores, el modelo periódico de tarea es conocido el modelo
para el cual se desarrollaron varias extensiones con diversas funcionalidades de STR, existen
diversos métodos como herramientas para su diseño, análisis y validación. Este se caracteriza por
Cada tarea es ejecutada de forma regular cada intervalo de tiempo. Específicamente, cada
periodo de una tarea Ti, denotado por Pi, es una secuencia de activaciones (a1, a2, a3, ...,
ejecutarse dentro del intervalo denotado por [(k − 1). Pi, k. Pi].
El plazo de entrega de una tarea Ti, denotado por Di, es el intervalo de tiempo máximo que
puede transcurrir entre instante a partir del cual debe activarse y su finalización.
Normalmente, el plazo de entrega de una tarea sea igual al periodo. Esto quiere decir que
cada activación de la tarea debe finalizar su ejecución antes del siguiente periodo. En
algunos casos, dependiendo de las restricciones de sistema, el plazo de entrega será menor
El desfase inicial de una tarea Ti denota el desfase que tiene el inicio de la primera
activación de la tarea respecto al tiempo de inicio y se denota como φi. Los siguientes
El tiempo de computo de una tarea Ti es el tiempo de CPU necesario, Ci, para completar
su ejecución en cada una de las activaciones. Este tiempo depende de la complejidad del
distinto tiempo o el subsistema de ejecución (memoria cache y pipeline). Esto hace que la
ejecución de una activación cualquiera de la tarea Ti pueda variar entre dos limites
Una actividad de una tarea Ti tiene un retardo de inicio que corresponde con el tiempo en
el cual la actividad empieza a ser ejecutada. Este retraso viene determinado por el sistema
de ejecución (granularidad del reloj para reconocer el inicio del periodo, la ejecución del
planificador y la decisión del planificador sobre que tarea debe ejecutarse en cada instante)
y por las decisiones del planificador. Este retardo se puede modelar mediante un retardo
ejecución. Este tiempo depende del instante de inicio de la ejecución de la tarea, el tiempo
Nos indica que son aquellos sistemas en los que un fallo puede ocasionar consecuencias graves en
el entorno en el que está trabajando, tanto humanas como materiales (desfibriladores cardíacos,
sistemas de control de aviónica, sistemas de control de las plantas de energía nuclear, sistemas
antifrenado de los automóviles, etc). Los sistemas críticos deben tener las siguientes propiedades:
1.3.1. Confiabilidad
Es una de las características más importantes que debe poseer este tipo de sistemas,
ya que sin ello se produce una pérdida de confianza por parte del cliente, los costes
económicos y de información de las pérdidas pueden ser enormes. Para lograr una
Disponibilidad
Fiabilidad
Corrección
Precisión
Seguridad
protección
1.3.2. Mantenimiento
determinado tiempo.
1.3.3. Fiabilidad
Está vinculada con el número de fallas que puede llegar a tener, las fallas se definen
tipos de fallas: los que son transitorios que desaparecen a lo largo del tiempo, los
permanentes que permanecen hasta que se reparan y los intermitentes que ocurren de
vez en cuando.
1.4 Planificación de Sistemas críticos
alcance en cuanto a la ejecución de varias tareas realizadas por un mismo procesador y lo que esto
conlleva, la asignación del recurso (procesador) a cada una de las tareas durante el tiempo y por
otra parte la necesidad prioritaria si el conjunto de tareas cumple las restricciones temporales
impuestas por el área usuaria. Un planificador suministra un algoritmo u política para ordenar la
ejecución del conjunto de actividades de acuerdo a un criterio definido, en los sistemas operativos
convencionales, las actividades son ejecutadas de acuerdo a los criterios de equidad entre diversas
tareas, en cualquier c aso, el sistema operativo es quien realiza las operaciones de gestión
necesarios de los diversos recursos a un nivel prioritario, esto ocasiona que una tarea tenga que
esperar hasta que el sistema haya finalizado el servicio demandado por otra tarea menos urgente,
por lo tanto no se puede garantizar el correcto funcionamiento del sistema de control desde el
enfoque temporal. Es necesario la consideración de las restricciones temporales para poder ejecutar
las actividades del tiempo real con garantías y asegurar que el sistema operativo tenga un
comportamiento predecible, los sistemas operativos de tiempo real tienen este comportamiento por
lo tanto es apropiada la ejecución de sistema de control en tiempo real. Para poder garantizar el
previo que nos permita conocer si las restricciones impuestas se van a cumplir en cualquier
como se tomen las decisiones de planificación, atendiendo a estos aspectos se pueden categorizar
los planificadores en grupos: off-line cuando la decisión se realiza en fase de diseño, como los on-
Frameworks). Nos indica que una primera aproximación al diseño del sistema de
tiempo real consiste en analizar a fondo la ejecución de las tareas, considerado una
consiste en almacenar en una tabla el instante en que se debe ejecutar cada una de las
realizadas. Este esquema resultara simple cuando el sistema de control tenga periodos
sentido cuando pueden existir retrasos en la llegada de los datos del proceso, se produce
una indeterminación que restringe el uso de ese tipo de planificación, en el caso más
hiperperiodo que permite la ejecución de las tareas cumpliendo los plazos, este problema
implicaciones.
1.4.2. Planificadores basados en prioridades
Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos indica que
los algoritmos de planificación que están basados en prioridades selección las tareas a
ejecutar entre las que se encuentre disponibles atendiendo a un criterio básico, esta
dinámicas.
Nos indica que se propusieron dos algoritmos óptimos basados en prioridades para la ejecución de
tareas con plazos iguales a periodos. El primer algoritmo propuesto consideraba una asignación de
prioridades fijas creciente con la frecuencia de las tareas y otro con asignación de prioridades
dinámicas atendiendo al plazo más corto. En este artículo se demostraba la posibilidad de poder
en la utilización y era una condición suficiente pero no necesaria. Este trabajo puso las bases de la
teoría de planificación tal y como se la conoce actualmente, Aunque las restricciones impuestas en
el análisis fueron muy estrictas en posteriores trabajos estas restricciones se han ido eliminando e
incluyendo en el modelo.
1.4.1. Cálculo exacto del tiempo respuesta
asignación monotonía con el plazo con el cálculo exacto de los tiempos de respuesta en
el peor caso.
una mejora basada en protocolos de techo de prioridades que asignan al recurso una
prioridad techo que es heredada por la tarea. Otro protocolo de gestión de recursos
La integración de tareas aperiódicas se realiza mediante este tipo de servidores. Estos son
programados como tareas periódicas que con un tiempo de computo limitado por periodo,
Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos indica que
un sistema operativo de tiempo real es una clase de sistemas operativo que cumple una determinada
serie de requisitos para poder brindar soporte a aplicaciones de tiempo real, un sistema operativo
de tiempo real o núcleo de tiempo real tiene que cumplir ciertas características:
1.5.1 Multiprogramación
Tiene que dar soporte a varias tareas de aplicación. Las aplicaciones de tiempo real son
multitarea y requieren un núcleo que permita crear tareas y gestionarlas atendiendo a los
plazos de ´estas. La capacidad para expulsar a una tarea de menor prioridad que otra que
Para poder garantizar la ejecución de las tareas, se tiene que poder seleccionar y ejecutar
la parte del núcleo encargada de la selección de la tarea. La prioridad de tarea podrá ser
determinada por el usuario u ser calculada por el sistema atendiendo a distintos criterios.
El número de los niveles de prioridad soportados debe ser como mínimo de 32.
1.5.3 Gestión del tiempo
La gestión del tiempo es fundamental para las aplicaciones de tiempo real. El sistema
debe ser capaz de gestionar un reloj que sea siempre creciente y gestionar un número de
de las tareas. Funciones para acceder al reloj, operar con él, programar retardos
absolutos y relativos, etc., son necesarios para que las aplicaciones especifiquen
de relojes de alta resolución y relojes de ejecución asociados a cada tarea para conocer
debe ofrecer los mecanismos básicos y los protocolos adecuados (basados en herencia
mensajes.
Por un lado, es importante que el espacio de direccionamiento del núcleo este protegido
afecten al propio sistema operativo. Por otro lado, el núcleo tiene que suministrar
mecanismos predecibles para la gestión de memoria dinámica que puedan utilizar las
aplicaciones
1.7 Lenguajes de Tiempo Real
Nos dice que La programación de sistemas de tiempo real se ha hecho clásicamente mediante
lenguajes sin características específicas para sistemas de tiempo real. Para poder utilizar las
operativo que las proporcione. El uso de lenguajes específicos de tiempo real presenta algunas
1.6.1 Portabilidad
1.6.2 Fiabilidad
Según Romero (2002), en su publicación (Sistemas en Tiempo Real). Nos indica que
la mayoría de investigaciones sobre sistemas de tiempo real se han centrado en los sistemas
críticos, sin embargo, hay muchos sistemas con requisitos temporales en los que los
estructura adecuada para realizar este enfoque consiste en disponer de una entidad que se encarga
de gestionar el sistema y las aplicaciones. Así, por ejemplo, se pueden identificar dos niveles
El objetivo es maximizar la calidad que proporciona el sistema. Para ello, hay que
decidir la cuota de uso de los recursos que se asigna a las aplicaciones, la cual dependerá
de la importancia de las aplicaciones, los recursos que necesitan para ejecutar y los
factible, en el sentido de que son suficientes. Otra operación fundamental de este gestor
utilizados por las aplicaciones e impedir que empleen más que los asignados.
Nos dice que Un sistema distribuido de tiempo real está compuesto por un conjunto de
temporales. Este tipo de sistemas se emplean porque es necesaria una capacidad de computo que
no puede proporcionar. Los sistemas distribuidos de tiempo real presentan problemas adicionales
un sistema distribuido los mensajes que intercambian las aplicaciones tienen requisitos
El planificador tiene que decidir que tareas se ejecutan en que procesador. Una
asignación incorrecta puede impedir que algunos procesos cumplan sus plazos de
respuesta.
proceso o mensaje aislado. Una aplicación distribuida puede ejecutar partes de su código
este caso, es importante calcular el tiempo de respuesta desde que comienza a ejecutar
motivados por pequeñas derivas del hardware local. Estas diferencias pueden llegar a
ser suficientemente grandes como para que lo que en un procesador se considere que un
suceso ocurre a tiempo, en otro se interprete que ocurre fuera de plazo. En aquellos
sistemas en los que se deba evitar este tipo de interpretaciones divergentes hay que
Uno de los motivos de usar un sistema distribuido puede ser la necesidad de garantizar
detectar fallos. Dado que no es posible determinar cuándo aparecerán, puede ocurrir que
los semáforos son dispositivos utilizados para gestionar el tráfico, permitiendo o impidiendo el
paso de conductores y peatones en cada vía. Los semáforos son sistemas temporizados que pasan
de un estado a otro siguiendo un patrón de secuencias fijas, carecen de inteligencia para tomar
decisiones, lo que representa una gran desventaja durante las horas picos en importantes arterias
viales ya que los cambios se realizan en tiempos no adaptados a las condiciones del tráco, y
mientras una intersección vacía tiene luz verde la arteria principal se detiene a esperar el cambio,
agrupando los vehículos hasta congestionar el canal., A partir de esta problemática, surgen los
Semáforos Inteligentes capaces de tomar decisiones ante una condición de tráfico, Este tipo de
tecnología va evolucionando con el correr del tiempo y se espera que para los próximos años sea
capaz de tomar decisiones propias y controlar el tráfico sin tener que contar con la presencia de
policías de tránsito.
La primera pregunta que debemos responder es el por qué utilizar semáforos inteligentes. Ates de
explicar el por qué es necesario tener una idea de cómo funciona y a que se considera un semáforo
despendiendo de una serie de parámetros de entrada que vendría a ser el flujo de vehículos, medida
de velocidad, calles entre otros. En otras palabras, el comportamiento del mismo es de forma
Congestión vehicular
real proporcionado por el sistema. Se captan los datos y son almacenados en una base de datos
centralizada. Estos sensores captan la ubicación y el tiempo de cada vehículo y se guardan como
una etiqueta que puede ser referenciada a través de un identificador. En cada cruce, la espera de
comunicación entre el semáforo y el algoritmo de decisión se hace a través de internet. Con los
sensores ubicados en diferentes sectores se toman los tiempos, así como los tipos de vehículos;
todos los datos se van cargando en una tabla. Es posible determinar la velocidad media de los
vehículos que están transitando, velocidad después de estar parado, saber características
específicas de los vehículos entre otros parámetros. Si ocurre una situación extraña como un
accidente, todavía es posible controlar el tráfico ya que los datos acumulados en la base
centralizada pueden ser utilizados. El sistema puede aprender las decisiones y puede producir un
escenario general del flujo de tráfico mediante la identificación de una variedad de situaciones:
inteligente usando tecnologías GSM/GORS y Wireless). Indica que se cuenta con un sistema
semafórico inteligente, capaz de controlar el tráfico y manipular en forma dinámica los tiempos de
espera. Este sistema cuenta con dos partes principales. La red de sensores inalámbricos y la
de generar los datos de trafico como el número de vehículos, los procesos de salida, velocidad de
cada vehículo, si longitud, estos datos son recopilados y se envían en tiempo real a la estación
base.
Figure 5 Esquema del semáforo inteligente usando Redes de Sensores inalámbricos
Fuente: Reinoso (2009), Diseño de un prototipo para controlar un semáforo inteligente usando tecnologías
GSM/GORS y Wireless.
detección de vehículos requiere cuatro componentes: un sensor para detectar las señales generadas
por los vehículos, un procesador para los datos detectados, una unidad de comunicación para
transferir los datos procesados a la Base, y una fuente de energía. Cada carril cuenta con 2 sensores
TSN que están separados aproximadamente unos 30 mts. El TSCA (Tra-c System Comunication
Algorithm) se desarrolló para controlar las rutas de comunicación entre todos los TSN y la base,
así como la interfaz con la caja de control de tráfico. Luego los datos recogidos y añadidos
a la base se pasan al TSTMA (Tra-c Signal Time manipulation algorithm) para fijar duraciones de
algoritmo de tiempo de control adaptativo desarrollado para calcular la duración de la luz roja
verde para cada señal de tráfico encontrada usando la matriz de conflictos de direcciones (figura
6). La matriz de conflictos determina los posibles casos que se pueden dar cuando se habilita cierto
sentido del semáforo. Los casos se analizan a partir de un cruce típico en las áreas metropolitanas.
Figure 6Matriz de conflictos
Fuente: Reinoso (2009), Diseño de un prototipo para controlar un semáforo inteligente usando tecnologías GSM/GORS y
Wireless.
Las letras indican las orientaciones N (Norte), S (Sur), E (Este) y O (Oeste), así como también se
tiene los sentidos de circulación D (giro a la derecha), C (Continuar recto), I (giro a la izquierda).
Entonces la combinación NC sería la dirección norte siguiendo recto. Las “X” indican casos no
permitidos, las zonas pintadas son casos imposibles mientras que los espacios en blando indican
que se puede dar tal situación. Este tipo de tecnología tiene la idea de presentar algo eficiente,
Fuente: Reinoso (2009), Diseño de un prototipo para controlar un semáforo inteligente usando tecnologías GSM/GORS
y Wireless.
3.1 Solución Algoritmo Semáforo