Este documento introduce los sistemas en tiempo real, que interactúan repetidamente con su entorno físico y responden a estímulos dentro de un plazo de tiempo. Explica que los sistemas en tiempo real suelen estar integrados en sistemas más grandes para control y monitoreo, y cubre temas como clases de sistemas en tiempo real, tareas temporales, características, programación, sistemas operativos de tiempo real y la norma POSIX.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
Especificación de Arquitectura de SoftwareSoftware Guru
El objetivo de la plática es mostrar con un ejemplo como especificar la arquitectura de un sistema.
Hoy en día hay varios libros de Arquitectura de software que nos muestran: Que debemos hacer, Que podemos usar pero pocos nos dan un ejemplo concreto.
Esta platica está dirigida a aquellos colegas que quieren iniciar en el rol de Arquitecto de Software, que tienen la experiencia y conocimientos pero tienen duda de como plasmar sus decisiones de diseño ó se preguntan si su diseño es suficiente y correcto.
En esta platica se desarrolla en 2 partes:
En la 1ª. se repasaran algunos conceptos relativos a la práctica de Arquitectura tales como objetivo, requerimientos no funcionales, riesgos, restricciones, patrones, vistas, etc.
En la 2ª. parte se mostrará como hacer una especificación de Arquitectura de un caso real pero acotado.
Al final espero que el participante se quede con una referencia que sirva para mejorar su práctica de Diseño de Arquitectura.
Rational Rose es una herramienta de diseño orientada a objetos, que da soporte al modelado visual, es decir, que permite representar gráficamente el sistema, permitiendo hacer énfasis en los detalles más importantes, centrándose en los casos de uso y enfocándose hacia un software de mayor calidad, empleando un lenguaje estándar común que facilita la comunicación.
Pruebas de sistemas, pruebas de aceptacion, descripcion de cada uno de los tipos de pruebas . tambien vemos la imlementacion de las pruebas de sistemas y de pruebas de aceptacion.
Rational Rose es una herramienta de diseño orientada a objetos, que da soporte al modelado visual, es decir, que permite representar gráficamente el sistema, permitiendo hacer énfasis en los detalles más importantes, centrándose en los casos de uso y enfocándose hacia un software de mayor calidad, empleando un lenguaje estándar común que facilita la comunicación.
Pruebas de sistemas, pruebas de aceptacion, descripcion de cada uno de los tipos de pruebas . tambien vemos la imlementacion de las pruebas de sistemas y de pruebas de aceptacion.
Este documento presenta todos los apuntes (que confeccioné en su día) de la asignatura Sistemas Informáticos en Tiempo Real de 2º de Ing. industrial de la UMH impartida por Luis Miguel Jiménez y Rafael Puerto.
En esta asignatura aprendí la arquitectura básica de un Sistema Operativo en Tiempo Real, justificando su importancia en las aplicaciones de ingeniería.
En esta asignatura también se describen y analizan los elementos que conforman un sistema distribuido, justificando su importancia en aplicaciones industriales.
Además, se nos enseñó cómo emplear herramientas para el desarrollo aplicaciones de tiempo real (UNIX/POSIX).
En el siguiente enlace podés acceder a los datos del libro de la asignatura:
http://zbiblio.umh.es/uhtbin/cgisirsi/0/UMH/0/5?searchdata1=^C39987
Contenidos dictados durante la totalidad de las clases presenciales de la asignatura "Programación en Tiempo Real", publicados aquí para que los alumnos puedan acceder a ellos de manera remota en caso de tener inquietudes y no haber podido preservarlos en algún medio de almacenamiento personal (nube, pendrive, etc.) mientras estaban en el aula.
VEHÍCULOS MAS RAPIDOS Y LENTOS, VEHÍCULOS DEPORTIVOSsgmauriciosg
ESTO ESTA DISEÑADO PARA PERSONAS INTERESADAS EN AUTOS ESTO CONTIENE DE INFORMACIÓN DE LOS AUTOS MAS CAROS, BARATOS LOS MAS RÁPIDOS MAS LENTOS. QUE SE OCUPA PARA CREAR UN MOTOR ENTRE OTRAS COSAS.
3. INTRODUCCIÓN A LOS SISTEMAS EN TIEMPO
REAL.
Un sistema de tiempo real es un sistema informático que realiza
las siguientes tareas:
• Interacciona repetidamente con su entorno físico.
• Responde a los estímulos que recibe del mismo dentro de un
plazo de tiempo determinado
• Para que el funcionamiento del sistema sea correcto no basta
con que las acciones sean correctas, sino que tienen que
ejecutarse dentro del intervalo de tiempo especificado.
4.
5.
6.
7. • Los sistemas en tiempo real suelen estar integrados en un sistema de ingeniería más general,
en el que realizan funciones de control y/o monitorización, denominados SISTEMAS
EMPOTRADOS (embedded systems).
• Un sistema empotrado es un sistema informático (hardware + software) de tiempo real
integrado en un sistema de ingeniería más general, en el que realiza funciones de control,
procesamiento y/o monitorización.
• Muchos sistemas de uso común en la industria, el transporte, las comunicaciones y el hogar
tienen computadores empotrados:
• Aviones.
• Trenes.
• Coches.
• teléfonos móviles.
• Televisores.
• GPS.
8.
9. CLASES DE SISTEMAS DE TIEMPO REAL:
Críticos (hard real-time systems):
• Los plazos de respuesta deben
respetarse siempre estrictamente.
• Una sola respuesta tardía a un
suceso externo puede tener
consecuencias fatales.
10. Acríticos (soft real-time systems):
• Se pueden tolerar retrasos ocasionales en la respuesta a un
suceso.
11. TAREAS DE TIEMPO REAL
Las actividades de un sistema de tiempo real se llaman tareas.
Tienen varios tipos de propiedades:
• Funcionales: que hacen
• Temporales: cuando lo hacen
• Fiabilidad, seguridad, etc.
El comportamiento temporal de las tareas se especifica mediante sus
atributos temporales
• Cuando se ejecutan: esquema de activación.
• Que plazo tienen para ejecutar cada acción.
12.
13. CARACTERÍSTICAS DE LOS STR
Gran tamaño y complejidad:
• Algunos STR tienen millones de líneas de código.
• La variedad de funciones aumenta la complejidad incluso en
sistemas relativamente pequeños.
Simultaneidad de acciones (concurrencia)
• Los dispositivos físicos controlados funcionan al mismo
tiempo.
• Las tareas que los controlan actúan concurrentemente.
14. Seguridad y fiabilidad
• Sistemas críticos: fallos con consecuencias graves.
• Pérdida de vidas humanas.
• Perdidas económicas.
• Daños medioambientales.
15. Dispositivos de entrada y salida especiales
• Los manejadores de dispositivos forman parte del software de
aplicación.
• Los sistemas empotrados interaccionan con su entorno
mediante diversos tipos de dispositivos que normalmente no
son convencionales (teclados, impresoras, ...): convertidores
A/D y D/A, entradas y salidas digitales, ... (interfaces con
sensores, actuadores, periféricos especiales, ...)
• Los componentes del software que controlan el funcionamiento
de estos dispositivos (manejadores, "drivers") son, en general,
dependientes del sistema concreto.
16. Determinismo temporal:
• Acciones en intervalos de tiempo determinados.
• Es fundamental que el comportamiento temporal de los STR sea
determinista o, al menos, previsible.
• No hay que confundirlo con la necesidad de que sea eficiente.
• El sistema debe responder correctamente en todas las
situaciones
• En los sistemas de tiempo real estricto hay que prever el
comportamiento en el peor caso posible.
17. • Los sistemas de tiempo real controlan actividades del
mundo exterior que son simultáneas.
• Para ello deben ejecutar varias tareas en
paralelo (concurrentemente).
• La ejecución de las tareas se multiplexa en el tiempo en uno
o varios procesadores.
18. PROGRAMACIÓN
Actualmente existen dos alternativas:
Lenguajes secuenciales (C, C++, ...) + sistema operativo de
tiempo real.
• Los lenguajes secuenciales dependen de un sistema operativo
para las funciones de concurrencia y temporización.
Lenguajes concurrentes (Ada, extensión tiempo real Java...)
• Las funciones de concurrencia y tiempo real forman parte del
lenguaje
19. SISTEMAS OPERATIVOS DE TIEMPO REAL
(SOTR)
Los sistemas operativos convencionales no son adecuados para tiempo
real:
• No tienen comportamiento determinista.
• No permiten garantizar los tiempos de respuesta.
Un sistema operativo de tiempo real debe soportar:
• Concurrencia: procesos ligeros con memoria común
• Temporización: medida de tiempos y ejecución periódica
• Planificación: expulsiva con prioridades, y acceso a recursos con
herencia de prioridad
• Manejo de dispositivos E/S: acceso a recursos de hardware e
interrupciones.
20.
21. Por lo regular Sistema Operativo de tiempo real suele tener la
misma arquitectura que un Sistema Operativo convencional, pero
su diferencia radica en que proporciona mayor prioridad a los
elementos de control y procesamiento que son utilizados para
ejecutar los procesos o tareas.
• El SOTR debe ser multitarea y permisible
• Un SOTR debe poder asignar prioridades a las tareas
• El SOTR debe proporcionar medios de comunicación y
sincronización entre tareas
• Un SOTR debe poder evitar el problema de inversión de
prioridades
• El comportamiento temporal del SOTR debe ser conocido
22. CLASIFICACIÓN DE LOS SISTEMAS DE TIEMPO
REAL
• Los sistemas de tiempo real pueden ser de dos tipos, esto es
en función de su severidad en el tratamiento de los errores que
puedan presentarse:
• Sistemas de tiempo real blandos o Soft real-time systems:
estos pueden tolerar un exceso en el tiempo de respuesta, con
una penalización por el incumplimiento del plazo. Estos
sistemas garantizan que las tareas críticas se ejecutan en
tiempo. Aquí los datos son almacenados en memorias no
volátiles, no utilizan técnicas de memoria virtual ni tiempo
compartido, estas técnicas no pueden ser implementadas en
hardware.
23. • Sistemas de tiempo real duros o Hard real-time systems: aquí
la respuesta fuera de término no tiene valor alguno, y produce
la falla del sistema. Estos sistemas tienen menos utilidades que
los implementados por hard, por ejemplo no pueden utilizarse
para control industrial y robótico. Pero si para multimedia,
supervisión de controles industriales y realidad virtual.
24. POSIX
Portable Operating System Interface + X
• Conjunto de normas IEEE/ISO que definen servicios que pueden
ofrecer los sistemas operativos de tiempo real.
• Normas básicas, con interfaces para C.
• Interfaces para Ada y otros lenguajes.
• Perfiles de aplicación.