Capacidades de tiempo real Nora Blet Informática III.

Slides:



Advertisements
Presentaciones similares
BizAgi - Business Agility
Advertisements

PLANIFICACIÓN DE TESTING
Administración de procesos Lic. Orlando Zamora Rdz.
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Planificación de Monoprocesadores
PLANEACION DE PROYECTOS
CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
I.T.E.S.R.C. Romina Tamez Andrea Martínez Ma. De Lourdes Solís
ADA: lenguaje de programación concurrente
Introducción a los sistemas de tiempo real
Despliegue de la Función de la Calidad “QFD”
LA PLANIFICACIÓN DE LA AUDITORÍA TEMA 4
Introducción a los Algoritmos

Gestión de proyectos Es la primera etapa de Ingeniería del Software.
CERTIFICACIÓN ISO/TS
Fundamentos de Ingeniería de Software
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
EXCEPCIÓN DE ERRORES.
IEEE-std Práctica Recomendada para la Especificación de Requerimientos de Software Fuente: IEEE Recommendad Practice for Software Requirements.
Teoría de lenguajes y compiladores
SISTEMAS OPERATIVOS UNIDAD 1..
Diseño de un Sistema de Control en Tiempo Real para el Kernel del Sistema Operativo utilizando MatLab-SimuLink Por: MARCO ANTONIO ESPINEL CANGUI DIRECTOR:
LOGICA DE NEGOCIOS ADAN GONZALEZ BARRERA.
Funciones en lenguaje C
UNIDAD I Conceptos Básicos.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
Semana 5 Subprogramas..
Planificación de Tareas Aperiodicas
PROCESO DE DESARROLLO. Introducción Mediante esta presentación se pretende describir el proceso de desarrollo del TALLER I.
Planificación Cíclica
* FRAUSTO JIMENEZ GABRIELA * * HERNANDEZ TORRES ANA LAURA * * MANDUJANO JUAN CARLOS * * NOVA MARIN YARELI PAULINA * * ZAVALA CORTE JOCELYN ARELI *
DESARROLLO MODELO RESOLUCION MODELO ¿VALIDA? MODELO MODIFICADO IMPLEMENTACION DEFINICION DEL PROBLEMA t.
5.3 APROXIMACIONES AL DISEÑO
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
ORGANIZACIÓN DE LOS DATOS PARA PROCESARLOS EN COMPUTADORA Las computadoras trabajan con datos. Aceptan y procesan datos, y comunican resultados. No pueden.
STR Sistemas de Tiempo Real Juan Sebastián Cabrera Sistemas de Control Embebido Universidad del Cauca.
Planificación Dinámica de Tareas
Planificación de Procesos
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
Planificación de Tareas Aperiodicas
LENGUAJES DE PROGRAMACIÓN
EXPRESIONES Y SENTENCIAS
Servicio horario NTP - Protocolo NTP Luis Villalta Márquez.
Auditoria de la Explotación
Metodología para solución de problemas
CONTROL DE PROYECTOS.
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s06 Se ha tomado como base el material generado por Peter Marwedel de.
- 1 - Sistema Embebidos: Propiedades de los Lenguajes y SDL Agustín J. González 1s07 Se ha tomado como base el material generado por Peter Marwedel de.
Trabajo realizado por: Rosa Fernández Extremera Virginia Sánchez López.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
PROGRAMACION ORIENTADA A OBJETOS
Ing. Noretsys Rodríguez. Definición de Conceptos  Falla: Ocurre cuando un programa no se comporta de manera adecuada. Es una propiedad estadística de.
DIAGRAMA DE FLECHAS O RUTA CRITICA
REQUISITOS.
Actividades del Análisis de Sistemas Análisis de Factibilidad
Métricas de la Calidad de la Especificación.
Introducción al proceso de verificación y validación.
INTERRUPCIONES – ABRAZO MORTAL
Desarrollo de lógica algorítmica.
Microsoft Office Project INTRODUCCIÓN A LA GESTIÓN DE PROYECTOS Microsoft Office Project 2010.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Introduccion a los Sistemas en Tiempo Real
Evaluación interna Nivel superior (NS)
Introducción a los sistemas de tiempo real Informática III El tiempo es un tirano...
Proceso de desarrollo de Software
GAJAH ANNUAL REPORT 2015 | ‹#› Módulo 8 – Proceso de aprobación/aceptación.
Seguimiento y Control de Proyectos Informáticos..
Gestión de tiempos del proyecto
Transcripción de la presentación:

Capacidades de tiempo real Nora Blet Informática III

Capacidades de Tiempo Real Objetivo  Comprender el papel del tiempo en el diseño e implementación de sistemas de tiempo real Contenido:  Sistemas de referencia de tiempo  Relojes, retardos y límites temporales (time-outs)  Requisitos temporales  Ámbitos temporales  Tolerancia a fallos

Necesidades Acceso al tiempo real  leer el paso del tiempo en relojes  retrasar la ejecución de los procesos durante un tiempo  definir límites temporales para la ocurrencia de un suceso (timeouts) Representación de los requisitos temporales  períodos de activación  plazos de ejecución Análisis del cumplimiento de los requisitos temporales  Lo veremos en el próximo tema

Medida del tiempo Objetivo: Comprender la importancia de la medida del tiempo con precisión en el desarrollo de sistemas de tiempo real Contenido:  Sistemas de referencia de tiempo  Relojes y retardos

Acceso a un reloj Si un programa ha de cumplir con determinados requisitos temporales debe tener alguna forma de medir el paso del tiempo  Accediendo al marco temporal del entorno (Ej.: GPS, Internet utilizan una señal de tiempo internacional que se emite por radiofrecuencia o por via satelital (UTC))  Mediante un reloj hardware interno que de una aproximación adecuada del paso del tiempo del entorno Desde la perspectiva del programador:  Mediante una primitiva del reloj del lenguaje  Programando un controlador (driver) de un reloj del sistema asociado al procesador (reloj interno) o, un reloj externo o un radioreceptor sintonizado con una señal de tiempo internacional

Tiempo Universal TU0 o UT0 (Tiempo Universal)  Tiempo solar medio en el meridiano 0. Definido en 1884 (GMT)  1s = 1/ de un día solar medio  Definición válida hasta 1955  Relativamente impreciso y variable Día solar variante por acción de las mareas y otros fenómenos

Tiempo de efemérides Año trópico  Tiempo transcurrido por dos pasos de la tierra por un punto definido   1s=1/ , 9747 del año trópico de 1990  Definición oficial entre 1955 y 1967 Correcciones de UT0:  UT1: UT0 Corregido por el movimiento de los polos (astrónomos)  UT2: UT1 Corregido por variaciones de la rotación de la tierra

Tiempo atómico Los relojes atómicos presentan una medida del tiempo precisa y estable.  1s= 1/ periodos de la radiación correspondiente a la transición entre los dos niveles hiperfinos del estado fundamental del átomo de cesio 133 en reposo a una temperatura de 0º K.  Definición oficial (SI) desde 1967  Precisión del orden de (1s en años) TAI (tiempo atómico internacional)  definido en 1970 mantenido por una red coordinada por el BIMP (Bureau International de Mésures et Poids)

Tiempo universal coordinado El TAI se aparta lentamente del UT  La duración del día solar medio va en aumento  En 2001, la diferencia es aprox. de 32 s UTC (Universal Time Coordinated)  Definido en 1972  UTC = TAI + H H se elige de forma que |UT2 - UTC| ≤ 0,5 s

Relojes en Java Reloj de hora del día (“reloj de pared”)  java.lang.System.currentTimeMillis() da el número de milisegundos transcurridos desde UTC :00:00  java.util.Date usa este valor para dar la fecha y hora del día Tipos de datos de alta resolución (RT Java)  representación del tiempo con resolución de 1 ns

Índice Medida del tiempo y relojes Retardos Límites temporales (time-outs) Requisitos temporales Tolerancia de fallos

Retardos Un retardo suspende la ejecución de una tarea durante un cierto tiempo Hay dos tipos  Retardo relativo: la ejecución se suspende durante un intervalo de tiempo relativo al instante actual  Retardo absoluto: la ejecución se suspende hasta que se llegue a un instante determinado de tiempo absoluto

Ejecución de un retardo

Índice Medida del tiempo y relojes Retardos Límites temporales (time-outs) Requisitos temporales Tolerancia de fallos

Limitación del tiempo de espera A menudo conviene limitar el tiempo durante el cual se espera que ocurra un suceso Ejemplos:  Acceso a una sección crítica: La espera está limitada por la duración de la sección crítica  Sincronización condicional Ahora el bloqueo asociado no está limitado. Problema del buffer acotado. Un proceso productor con un buffer lleno debe esperar un tiempo indefinido a que un consumidor retire un ítem del buffer. Es necesaria una primitiva de sincronización condicional con plazo. En Java, puede utilizarse el método wait con un tiempo límite de espera, ya sea con una granularidad de milisegundos o de nanosegundos.  Cita entre dos tareas  Ejecución de una acción

Paso de mensajes y tiempo límite de espera task Controller is entry Call(T : Temperature); end Controller; task body Controller is -- declarations, including New_Temp : Temperature; begin loop accept Call(T : Temperature) do New_Temp := T; end Call; -- other actions end loop; end Controller; Problema: Modificar el controlador a fin de actuar cuando no se recibe una entrega de temperatura rebasado un plazo.

Aceptación temporizada Se puede especificar una acción alternativa en caso de que la llamada no se reciba (espera en la recepción de un mensaje) dentro de un cierto intervalo mediante una aceptación temporizada

Aceptación temporizada task Controller is entry Call(T : Temperature); end Controller; task body Controller is -- declarations begin loop select accept Call(T : Temperature) do New_Temp := T; end Call; or delay 10.0; -- action for timeout end select; -- other actions end loop; end Controller;

Llamada temporizada (en la tarea invocante) Se puede limitar el tiempo que tarda en aceptarse la llamada (espera en el envio de un mensaje) mediante una llamada temporizada El driver del sensor está leyendo temperaturas continuamente y no tendría sentido enviarle al controlador una lectura caduca, cuando podría pasarle a este un valor más nuevo

Llamada temporizada loop -- get new temperature T Controller.Call(T); end loop; loop -- get new temperature T select Controller.Call(T); or delay 0.5; null; end select; end loop;

Llamada condicional Se usa cuando quiere ejecutarse una acción alternativa si la llamada no se acepta inmediatamente (en lugar de hacer una invocación temporizada con tiempo 0)

Acciones temporizadas Se puede usar una transferencia asíncrona de control (ATC) para limitar el tiempo de ejecución de una acción: Es útil para detectar y recuperar fallos

Aplicación al cómputo impreciso Se trata de ejecutar rápidamente un parte obligatoria de un cálculo, y de iterar sobre una parte opcional que mejora el resultado si le sobra tiempo

Aplicación al cómputo impreciso

Índice Medida del tiempo y relojes Retardos Límites temporales (time-outs) Requisitos temporales Tolerancia de fallos

Requisitos temporales Hay dos formas de enfocar este tema: Métodos formales:  Especificar las propiedades temporales con un modelo formal  Validar la especificación  Comprobar que la implementación satisface las propiedades temporales Métodos analíticos:  Analizar las propiedades temporales desde el punto de vista de la planificación de las tareas Seguiremos en detalle este último enfoque

Atributos temporales Los atributos temporales de una secuencia de instrucciones definen un marco temporal para su ejecución

Parámetros temporales Parámetros D Plazo de respuesta (R ≤ D) L Tiempo límite (t f ≤ L) J min Latencia mínima J max Latencia máxima C Tiempo de cómputo máximo Activación  Periódica T Período  Aperiódica Irregular, a ráfagas, estocástica  Esporádica T Separación mínima

Parámetros temporales Latencia mínima J min : tiempo mínimo que debe transcurrir desde que se produce el evento de activación hasta que ejecuta el Marco Temporal Latencia máxima J max : tiempo máximo que debe transcurrir desde que se produce el evento de activación hasta que ejecuta el Marco Temporal Plazo de respuesta D: máximo tiempo en que la ejecución del Marco Temporal debe haber finalizado, medido desde el evento de activación del mismo Tiempo de respuesta R: tiempo transcurrido desde que se produce el evento de activación hasta que acaba la ejecución del Marco Temporal Tiempo de cómputo C: tiempo de utilización del procesador del Marco Temporal Tiempo límite L: Máximo tiempo en que la ejecución del Marco Temporal debe haber finalizado, medido desde el comienzo de su ejecución

Requisitos temporales de tareas Los marcos temporales suelen ir asociados a tareas o procesos La mayoría de los atributos temporales pueden satisfacerse al:  Ejecutar tareas periódicas  Ejecutar tareas esporádicas cuando ocurren los sucesos correspondientes  Completar la ejecución de todas las tareas dentro de su plazo de respuesta La desviación del cumplimiento de un atributo temporal se llama fluctuación o jitter

Criticidad Una tarea de tiempo real puede ser Crítica (hard): No se puede admitir que se sobrepase el plazo de respuesta especificado ni una sola vez Acrítica o flexible (soft): Es admisible que se sobrepase el plazo ocasionalmente Firme (firm): El plazo no es crítico, pero una respuesta tardía no sirve para nada Interactiva: No se especifican plazos de respuesta, sino tiempos de respuesta medios o adecuados

Índice Medida del tiempo y relojes Retardos Límites temporales (time-outs) Requisitos temporales Tolerancia a fallos

Fallos temporales Una tarea (en un sistema “probado”) puede incumplir su plazo por varias razones, por ejemplo: El tiempo de cómputo no está bien calculado El análisis de tiempos de respuesta no es realista Las herramientas de análisis contienen errores No se cumplen las hipótesis de diseño (por ejemplo, separación mínima entre eventos) En estos casos hay que detectar los fallos Si el sistema es crítico, debe recuperarse

Tolerancia a fallos de temporización Para ser considerado tolerante a fallos de temporización el sistema tiene que poder detectar:  El desbordamiento de un tiempo límite  El desbordamiento del tiempo de ejecución en el peor caso  Eventos esporádicos que ocurran más a menudo de lo previsto  Tiempos límites de espera en comunicaciones

Reconfiguración basada en eventos A menudo, las consecuencias de un error de temporización en un proceso/hilo responsable de un tiempo límite, son:  Otros procesos deben alterar sus límites temporales, o incluso terminar lo que están haciendo  Hay que arrancar nuevos procesos  Si los cálculos importantes requieren más tiempo del procesador del asignado, para tener tiempo extra, otros procesos menos importantes pueden tener que ser “suspendidos”  Los procesos tienen que ser “interrumpidos”, normalmente para emprender una de las siguientes acciones: Se debe devolver inmediatamente el mejor de los resultados obtenidos Cambiar a un algoritmo más rápido Pasar a estar disponible para recibir nuevas instrucciones

Fuente de las transparencias empo.pdf empo.pdf R_v0.pdf R_v0.pdf libro de Alan Burns y Andy Wellings cuya versión en castellano es: Sistemas de Tiempo Real y Lenguajes de Programación (3ª Edición). Autor: Alan BURNS y Andy WELLINGS. Editorial:ADDISON-WESLEY Iberoamericana España, Pgs: 824 ISBN: Alan Burns y Andy Wellings