Introducción a los sistemas de tiempo real Informática III El tiempo es un tirano...

Slides:



Advertisements
Presentaciones similares
S O F T W A R E Son todos los componentes virtuales y no tangibles de una computadora. Esto incluye el sistema operativo, programas varios y drivers. Es.
Advertisements

EL PROCESO DE DESARROLLO DEL SOFTWARE
También conocido como Diseño Lógico Rodrigo Salvatierra Alberú.
Control Interno Informático. Concepto
Lenguaje Unificado de Modelado
Guido Rubin Escalabilidad.
Introducción a LAS Bases de Datos
CALIDAD DE PRODUCTO PORTADA CALIDAD DE PRODUCTO.
Introducción a los sistemas de tiempo real
Módulo I: PRINCIPIOS Y CONCEPTOS BÁSICOS DE LA INFORMÁTICA (20%)
INSTITUTO TECNOLOGICO DE MINATITLAN
DSOO - María Eugenia Valencia
Guia Diseño Robert Echeverria
Modelos de confiabilidad
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:
3.2.2 Arquitectura de referencia para sistemas de tiempo
M.S.C. Ivette Hernández Dávila
Introducción al Software
SISTEMAS DE DISEÑO ASISTIDO POR COMPUTADORA
Laura Patricia Pinto Prieto Ingeniera de sistemas.
Introducción a los SSOO Sebastián Sánchez Prieto.
2. ASYNCRONOUS TRANSFER MODE 2.1Características generales 2.2 Modelo de referencia del protocolo 2.3 Categorías de servicio ATM.
DISEÑO DE LA INTERFAZ DE USUARIO
DISEÑO DE SOFTWARE 1ª. Parte
Sistemas en tiempo real (STR)
Ciclo de Vida del Software Paradigmas de Desarrollo
Fundamentos de programación Organización de una computadora.
PROCESOS INDUSTRIALES
Líneas de Investigación
Planificación Dinámica de Tareas
LENGUAJES DE PROGRAMACIÓN
Ingeniería en Sistemas de Información Diseño de Sistemas (3K1)
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
Página 1 19/04/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Repaso.
Ingeniería de Software
Ingeniería del Software
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Introducción a la tecnología Realizado por: Miguel Ángel Arias.
Introducción a los SOs.
CICLO DE VIDA Y NORMAALIZACION DE UN SISTEMA DE BASE DE DATOS
Diseño de Software y su Proceso
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
Conceptos Básicos de Informática
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
Docente: Lic. M. Alina Vargas García Horario: Lunes 20:05 – 21:25 Miércoles 20:05 – 21:25 Gestión: 2011.
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
Factores y Métricas que determinan la Calidad de un producto
Ingeniería de Requisitos
Roles de Open UP.
MÓDULO INTRODUCCIÓN AL CICLO DE VIDA DEL SOFTWARE ARTICULADORA: CLAUDIA MARIA RESTREPO P.
TIPOS DE AUDITORÍAS EN SISTEMAS DE INFORMACIÓN
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Introducción al proceso de verificación y validación.
Tipos de Lenguajes Ensamblador.
Ingeniería del Software I
Pablo Arturo Pérez Giraldo Melissa torres 11-C Tecnología e informática.
Introduccion a los Sistemas en Tiempo Real
INGENIERIA DE SOFTWARE
Tendencia De Los Sistemas Operativos
Proceso de desarrollo de Software
Investigación preliminar  Entender la naturaleza del problema  Definir el alcance y las restricciones o limitaciones del sistema  Identificar los beneficios.
Bases de Datos y Sistemas de Gestión de Bases Relacionales.
Harware Software Yuneidy moreno 7-2 Tecnología i. E. devora Arango.
Las fases del ciclo de la vida de desarrollo de sistemas
RAPID APPLICATION DEVELOPMENT RAD. Proceso de RAD Involucrar en todos los aspectos al usuario en el desarrollo del sistema Uso continuo y repetitivo de.
Modelo de procesos de software
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
SOFTWARE DE COMPUTADORAS
Diccionario/Directorio de Datos
Verificación y Validación del Software
Transcripción de la presentación:

Introducción a los sistemas de tiempo real Informática III El tiempo es un tirano...

Informática IIIIng. Nora BletPág. 2 Objetivos Introducir conceptos básicos relativos a los sistemas de tiempo real (STR) Examinar sus características Analizar técnicas y herramientas para el diseño de los STR

Informática IIIIng. Nora BletPág. 3 Referencias Alan Burns, Andy J. Wellings "Sistemas de Tiempo Real y Lenguajes de Programación", Addison-Wesley (3º edición) cap. 1 y 2 Transparencias de Juan Antonio de la Puente y …

Informática IIIIng. Nora BletPág. 4 Definición de Sistema de tiempo real Sistema informático que debe responder a estímulos generados por su entorno físico (incluido el paso del tiempo físico) en un plazo de tiempo finito y especificado

Informática IIIIng. Nora BletPág. 5 Definición de Sistema de tiempo real Interacciona repetidamente con su entorno físico: Realizando acciones de control sobre él Reaccionando a sus cambios La corrección de los mismos depende no sólo del resultado lógico de la computación (corrección lógica), sino también del tiempo en el que se producen los resultados (corrección temporal). (Stankovic, 1988)

Informática IIIIng. Nora BletPág. 6 Definición de Sistemas de tiempo real El tiempo en el que se ejecutan las acciones es significativo Sistema de Tiempo Real e1e1 r1r1 e2e2 e3e3 enen r2r2 r3r3 rnrn t e1e1 r1r1 e2e2 e3e3 r2r2 r3r3 e1e1 r1r1 eventosrespuestas

Informática IIIIng. Nora BletPág. 7 Tiempo real vs. rapidez En un análisis, que permanece válido aún hoy día, a 22 años, Stankovic lamenta el error de confundir tiempo real con rapidez El STR debe ser suficientemente rápido para cumplir los requerimientos pero, que un sistema sea rápido no implica que sea un STR La rapidez del STR la fijan la naturaleza de los estímulos del entorno, con los cuales tiene que tratar (propio de cada sistema) La clave es la previsibilidad!

Informática IIIIng. Nora BletPág. 8 Tiempo real vs. rapidez

Informática IIIIng. Nora BletPág. 9 Evolución de la informática

Informática IIIIng. Nora BletPág. 10 Sistemas embebidos

Informática IIIIng. Nora BletPág. 11 Sistemas embebidos Muchos STR forman parte de un sistema de ingeniería más amplio, tal como es el caso de muchos sistemas de uso común en la industria, transporte, comunicaciones, medicina, el hogar, etc.: Aviones Trenes Autos Teléfonos móviles Televisores, etc.

Informática IIIIng. Nora BletPág. 12 Sistemas embebidos Realizan funciones de control de otros sistemas Adaptado de Kopetz (1997)

Informática IIIIng. Nora BletPág. 13 Características Los recursos están limitados Procesador, memoria, pantalla, etc. Los dispositivos de entrada y salida son especiales para cada sistema No hay teclado ni pantalla normales El computador debe reaccionar a tiempo ante los cambios en el sistema que controla Una acción retrasada puede ser inútil o peligrosa Ejemplo: imágenes de TV, sistema de frenado ABS El desarrollo de software para sistemas embebidos tiene requisitos especiales

Informática IIIIng. Nora BletPág. 14 Tareas de tiempo real

Informática IIIIng. Nora BletPág. 15 Tareas de tiempo real Las actividades de un STR se llaman tareas Son activadas por estímulos del entorno (incluido el paso del tiempo). Una tarea es una secuencia de instrucciones que se ejecuta en forma concurrente y compartiendo recursos con otras tareas Se las implementa mediante threads, procesos, etc.

Informática IIIIng. Nora BletPág. 16 Tareas de tiempo real Tienen distintos tipos de propiedades Funcionales: ¿Qué hacen? Temporales: ¿Cuándo lo hacen? Fiabilidad, seguridad, etc. El comportamiento temporal de las tareas se especifica mediante sus atributos temporales ¿Cuándo se ejecutan?: Esquema de activación ¿Qué plazo tienen para ejecutar cada acción?

Informática IIIIng. Nora BletPág. 17 Tareas de tiempo real

Informática IIIIng. Nora BletPág. 18 Ejecución de una tarea de tiempo real

Informática IIIIng. Nora BletPág. 19 Atributos temporales Plazo de respuesta Absoluto: tiempo límite para terminar Relativo: intervalo desde la activación Se trata de garantizar que la ejecución de cada tarea termine dentro del plazo

Informática IIIIng. Nora BletPág. 20 Atributos temporales

Informática IIIIng. Nora BletPág. 21 Atributos temporales Activación Periódica: a intervalos regulares, con período T Aperiódica: cada vez que ocurre un suceso determinado  Esporádica: separación mínima entre activaciones T  Estocástica, irregular o a rachas

Informática IIIIng. Nora BletPág. 22 Tipos de requisitos temporales ¿Qué pasa sino se cumplen? Tiempo real estricto (hard real-time) Todas las acciones deben terminar dentro del plazo especificado. Ejemplo: control de frenado Tiempo real flexible (soft real-time) Se pueden perder plazos de vez en cuando El valor de la respuesta decrece con el tiempo  Ejemplo: adquisición de datos Tiempo real firme (firm real-time) Se pueden perder plazos ocasionalmente Una respuesta tardía no tiene valor  Ejemplo: Sistema multimedia

Informática IIIIng. Nora BletPág. 23 Tipos de requisitos temporales

Informática IIIIng. Nora BletPág. 24 Ejemplos de Sistemas en tiempo real

Informática IIIIng. Nora BletPág. 25 Ejemplos de Sistemas en tiempo real

Informática IIIIng. Nora BletPág. 26 Ejemplos de Sistemas en tiempo real

Informática IIIIng. Nora BletPág. 27 Sistema de computador embebido generalizado Control digital Registro de datos Visualización de datos Interfaz de operador Interfaz Sistema controlado Sistema de monitoreo remoto Reloj de tiempo real Base de datos Consola de operador Dispositivos de presentación Real-Time Computer

Informática IIIIng. Nora BletPág. 28 Características de los Sistemas en tiempo real Grandes y complejos La variedad de funciones aumenta la complejidad incluso en sistemas relativamente pequeños La adaptación a entornos cambiantes  las aplicaciones deben evolucionar continuamente  los STR deben ser extensibles

Informática IIIIng. Nora BletPág. 29 Características de los Sistemas en tiempo real Manipulación de números reales Ejemplo: Se debe tener un modelo matemático que relacione el calor aplicado y el incremento de temperatura del termo  números en punto flotante

Informática IIIIng. Nora BletPág. 30 Características de los Sistemas en tiempo real Extremadamente fiables y seguros (dependability) Muchos ejemplos dramáticos ilustran que el hardware y el software de los computadores debe ser fiable y seguro El tamaño y complejidad de los STR exacerban el problema de la fiabilidad Mecanismos para recuperar fallos (esperados y no esperados)

Informática IIIIng. Nora BletPág. 31 Características de los Sistemas en tiempo real Simultaneidad de acciones (concurrencia) Los dispositivos físicos controlados funcionan al mismo tiempo Las tareas que los controlan actúan concurrentemente

Informática IIIIng. Nora BletPág. 32 Características de los Sistemas en tiempo real Determinismo temporal Acciones en intervalos de tiempo determinados Es fundamental que el comportamiento temporal de los STR sea determinista o, al menos, previsible  No confundir con eficiencia  El STR debe responder correctamente en todas las situaciones  En los STR estrictos hay que prever el comportamiento en el peor caso posible

Informática IIIIng. Nora BletPág. 33 Características de los Sistemas en tiempo real Interacción con el hardware Los manejadores de dispositivos forman parte del software de aplicación Implementación eficiente Puesto que los STR son críticos respecto al tiempo, este requisito es más importante que en otro tipo de sistemas

Informática IIIIng. Nora BletPág. 34 Desarrollo de Sistemas en tiempo real

Informática IIIIng. Nora BletPág. 35 Desarrollo de Sistemas en tiempo real Los métodos, herramientas y tecnologías que se usan para construir otros tipos de sistemas no sirven para los STR No son lo suficientemente fiables Sólo contemplan tiempos de respuesta medio, no el peor No garantizan los requisitos temporales Las plataformas de desarrollo y ejecución suelen ser diferentes Es difícil hacer pruebas en la plataforma de ejecución Es difícil medir los tiempos con precisión

Informática IIIIng. Nora BletPág. 36 Desarrollo cruzado

Informática IIIIng. Nora BletPág. 37 Aspectos de un sistema Funcionalidad Relación entre entradas y salidas No se considera concurrencia, sincronización, tiempo real, fiabilidad, seguridad, etc. Arquitectura Componentes definidos por sus interfaces Concurrencia y tiempo real Hebras, sincronización Planificación y análisis temporal Implementación Código de aplicación Plataforma: RTOS, middleware

Informática IIIIng. Nora BletPág. 38 Diseño de Sistemas de tiempo real

Informática IIIIng. Nora BletPág. 39 Diseño de Sistemas de tiempo real

Informática IIIIng. Nora BletPág. 40 Diseño de Sistemas de tiempo real

Informática IIIIng. Nora BletPág. 41 Diseño de Sistemas en tiempo real

Informática IIIIng. Nora BletPág. 42 Diseño de Sistemas de tiempo real Las actividades de desarrollo de los STR incluyen las tradicionales de otros sistemas, aunque tienen requerimientos adicionales

Informática IIIIng. Nora BletPág. 43 Integración de métodos y herramientas

Informática IIIIng. Nora BletPág. 44 Integración de métodos y herramientas

Informática IIIIng. Nora BletPág. 45 Integración de métodos y herramientas

Informática IIIIng. Nora BletPág. 46 Integración de métodos y herramientas

Informática IIIIng. Nora BletPág. 47 Lenguajes de programación Hay varias clases de lenguajes de interés para los STR: Assembler  Flexibles y eficientes pero costosos y poco fiables

Informática IIIIng. Nora BletPág. 48 Lenguajes de programación

Informática IIIIng. Nora BletPág. 49 Lenguajes de programación

Informática IIIIng. Nora BletPág. 50 Lenguajes de tiempo real

Informática IIIIng. Nora BletPág. 51 Lenguajes de tiempo real Requerimientos Robustez (Seguridad) Legibilidad Flexibilidad Simplicidad Portabilidad Eficiencia

Informática IIIIng. Nora BletPág. 52 Lenguajes de tiempo real Robustez Medida del grado en el que el compiladorpuede detectar automáticamente los errores de programación Requiere  Que el lenguaje esté bien estructurado y sea legible, de modo que tales errores puedan ser localizados fácilmente Beneficios:  La detección temprana de errores en el desarrollo del programa  reducción general del coste  Las comprobaciones de tiempo de compilación no sobrecargan la ejecución del proceso, y un programa se ejecuta más veces de las que se compila Inconveniente  Puede llegar a complicar el lenguaje e incrementar tanto el tiempo de compilación como la complejidad del compilador

Informática IIIIng. Nora BletPág. 53 Lenguajes de tiempo real Legibilidad (Medida de la claridad de un programa) Minimiza la necesidad de comentarios y descripciones adicionales Requiere  Palabras claves, nombres de tipos, nombres de variables y la capacidad del lenguaje para permitir la modularización del código Beneficios  Menores costes de documentación  Mayor robustez  Mayor facilidad de mantenimiento Inconveniente  Mayor longitud de los programas

Informática IIIIng. Nora BletPág. 54 Lenguajes de tiempo real Flexibilidad Permite al programador expresar todas las operaciones oportunas de una forma directa y coherente Menor necesidad de recurrir a funciones del sistema operativo o a fragmentos en código máquina para obtener el resultado deseado

Informática IIIIng. Nora BletPág. 55 Lenguajes de tiempo real Simplicidad – (Poder usarlo fácilmente) Minimiza el esfuerzo de producción de compiladores Reduce el costo asociado a la formación de programadores Disminuye los errores de programación como consecuencia de una mala interpretación de las características del lenguaje

Informática IIIIng. Nora BletPág. 56 Lenguajes de tiempo real Portabilidad Un programa deberá ser independiente, en la medida de lo posible, del hardware sobre el que se ejecuta  En los STR una parte importante de cualquier programa estará involucrada en la manipulación de recursos hardware El lenguaje debe ser capaz de aislar la parte del programa que depende de la máquina de la parte independiente de la máquina

Informática IIIIng. Nora BletPág. 57 Lenguajes de tiempo real Eficiencia Deben producir sistemas con tiempos de ejecución predecibles  evitar aquellos mecanismos que conduzcan a sobrecargas impredecibles del tiempo de ejecución

Informática IIIIng. Nora BletPág. 58 Lenguajes de tiempo real Por lo menos hasta ahora no existe ningún lenguaje que sobresalga en todos estos ítems En el diseño de cualquier lenguaje, general o de tiempo real, se deben analizar y sopesar ventajas y desventajas de cada decisión