DIT-UPM

Menu

Menu

Valid XHTML 1.0 Strict

¡CSS Válido!

Presentación

Los sistemas informáticos de tiempo real se caracterizan por que su funcionamiento correcto depende del tiempo en que se ejecuten sus acciones.

Estos sistemas se utilizan en numerosos campos de aplicación, como el control de aviones, automóviles y trenes, tráfico, comunicaciones, satélites, control de procesos, electrónica de consumo, etc.

Para poder realizar sus funciones adecuadamente, la dinámica de los sistemas de tiempo real se debe acompasar a la de los sistemas físicos que supervisan o controlan. Además, suelen tener requisitos estrictos de fiabilidad y seguridad.

Muchos de estos sistemas están empotrados en otros sistemas, lo que conlleva una limitación de recursos (potencia de procesador, memoria, etc.) con respecto a otros tipos de sistemas informáticos. En la mayoría de los casos, además, deben ejecutar varias tareas concurrentemente. Estas características, en conjunto, hacen que la construcción de sistemas de tiempo real presente características específicas respecto a otros tipos de sistemas informáticos.


Contexto y objetivos

En el estudio de los sistemas de tiempo real se apoya en conceptos estudiados en cursos anteriores. En particular, en las asignaturas de «fundamentos de programación», «laboratorio de programación», «fundamentos de ordenadores» y «sistemas electrónicos digitales» se estudian las bases necesarias para realizar sistemas informáticos, en sus aspectos de hardware y software. En «arquitectura de ordenadores» y «laboratorio de programación de sistemas» se estudian los fundamentos de los sistemas operativos y de la programación concurrente. Todas estas asignaturas cubren los conocimientos mínimos de informática que se han considerado necesarios para la formación de un ingeniero de telecomunicación.

En este contexto, el estudio de los sistemas de tiempo real es un complemento de las asignaturas anteriores que se ofrece de forma optativa a aquellos alumnos que deseen completar su formación en informática. De acuerdo con esto, los objetivos de la asignatura son:

Por otra parte, la formación en informática ofrecida por la Escuela se complementa con otros temas específicos que se estudian en asignaturas de la especialidad de Telemática, como las de «software de comunicaciones», «laboratorio de software de comunicaciones», «ingeniería del software», «bases de datos» y «sistemas operativos distribuidos». Aunque estas asignaturas son de gran interés para los alumnos interesados en adquirir una formación completa en informática, no se requiere su conocimiento para cursar «sistemas de tiempo real».


Enfoque

La asignatura se orienta al estudio de los mecanismos de lenguajes de programación y sistemas operativos necesarios para la realización de sistemas de tiempo real, así como de los conceptos teóricos necesarios para abordar la realización de sistemas informáticos con un comportamiento temporal determinista.

El enfoque seguido está basado en la utilización de núcleos de multiprogramación con planificación basada en prioridades fijas. Para ello, se parte de los fundamentos de sistemas operativos estudiados en «arquitectura de ordenadores» y «laboratorio de programación de sistemas» se analizan las limitaciones de los sistemas operativos más comunes, y se estudian los mecanismos adecuados para construir sistemas de tiempo real.

Para ilustrar los conceptos se utilizan los lenguajes de programación Ada 2005, C y Java. Los dos últimos deben ser conocidos por los alumnos, ya que se utilizan también en otras asignaturas. En cuanto a Ada, se trata de un lenguaje de programación diseñado específicamente para sistemas de tiempo real con un alto grado de fiabilidad, que se introduce al principio de la asignatura.

En lo que se refiere a sistemas operativos, se estudian las extensiones de tiempo real de las normas POSIX y su utilización con los lenguajes de programación mencionados.


Programa

El programa de la asignatura comprende un conjunto de actividades que suponen una carga de trabajo que estima en 4,8 créditos ECTS, equivalentes a 6 créditos del plan de estudios de 1994.

Estas actividades se reparten de la siguiente forma:

Fundamentos: 1,8 ECTS

(45-55 h de trabajo, incluidas 24 h de clase)

  1. Introducción a los sistemas de tiempo real.
  2. Tecnología de sistemas de tiempo real.
  3. Mecanismos de temporización.
  4. Planificación de tareas y análisis temporal.
  5. Programación de bajo nivel.

Herramientas y métodos: 1,2 ECTS

(30-35 horas de trabajo, incluidas 20 h de clase)

  1. Lenguajes de programación y sistemas operativos.
  2. Diseño basado en componentes.
  3. Diseño basado en modelos.

Trabajo dirigido: 1,8 ECTS

(45-55 h de trabajo, incluidas 2 h de presentación en clase)

  1. Herramientas de desarrollo.
  2. Diseño e implementación de un sistema de tiempo real: control de una maqueta de tren.

Bibliografía

El texto básico de la asignatura es:

Otros libros que pueden ser útiles para consultar o ampliar algunos temas son:


Clases

Las clases de teoría, aplicaciones y presentación de prácticas tienen una duración de dos horas. Para facilitar el seguimiento de los contenidos se utilizarán transparencias. Dentro de cada tema se realizarán ejercicios relacionados con los contenidos correspondientes.

Las clases tendrán lugar los martes y jueves de 10 a 12, en el aula B-8


Prácticas

Las prácticas de la asignatura forman parte del programa y, por tanto, son obligatorias. Se realizará una exposición en clase sobre su contenido y el uso de los equipos de laboratorio. El trabajo de laboratorio se realizará en horario abierto, sujeto a la disponibilidad de las personas responsables del mismo.

Además de las prácticas obligatorias se podrán realizar otras de forma voluntaria. Más adelante se facilitará información sobre las prácticas obligatorias y voluntarias.


Evaluación

La evaluación de la asignatura se realiza a partir del trabajo realizado (50%) y de tests de evaluación para cada tema (50%). Alternativamente, para aquellos alumnos que no superen el curso se realizará un examen final.