Taller de Sistemas de Tiempo Real

Departamento de Computación

Facultad de Cs. Exactas y Naturales - Universidad Nacional de Buenos Aires
Objetivo de la materia:
Introducir a los alumnos los principales conceptos de este área de investigación. Que comprendan los problemas existentes en el desarrollo de software para tiempo real. Que los alumnos puedan completar un proyecto de investigación/ desarrollo en el área.



Metodología de trabajo y evaluación:

El carácter del curso será primordialmente tutorial. En una primer fase se analizará material de lectura básico cubriendo los conceptos básicos del Programa incluido a continuación. Se pondrá énfasis en la resolución de ejercicios relacionados con tales temas, algunos de los cuales serán de entrega obligatoria.

Una vez finalizada esta fase, se encarará el desarrollo de un proyecto de desarrollo/investigación relacionado con temas del área. La evaluación será por medio de coloquios, un exámen Prefinal y la entrega del Proyecto desarrollado.


Programa

Unidad 1. Introducción. ¿Qué son Sistemas de Tiempo Real?

Características de los Sistemas de Tiempo Real. Definiciones. Clasificaciones. Historia.

Unidad 2. Hardware para Tiempo Real

Control centralizado: características de la cpu, memorias, dispositivos de E/S (tipos de transferencia), interfaces con dispositivos de planta. Sensores y Actuadores. Interfaces AD/DA. Control Distribuído: sistemas Jerárquicos, sistemas distribuídos puros.

Unidad 3. Sistemas de Control y Supervisión

Sistemas de Control: Control de Secuencia, Control clásico realimentado, Control Digital Directo. Algoritmos de control: on-off, P, I, PID. Otros tipos de control. Sistemas de Supervisión de Procesos. Funciones de Supervisión.

Unidad 4. Software para Tiempo Real

Sistemas Operativos. Características. Tipos. Algoritmos de Planificación para Tiempo Real: TM, MAP, MFP, otros. Administración de memoria. Comunicación y cooperación entre tareas. Primitivas de Tiempo Real. Sistemas Distribuídos. Redes en Tiempo Real. Lenguajes de Programación. Requerimientos de lenguajes para Tiempo Real. Características generales de lenguajes para Tiempo Real. Algunos lenguajes de ejemplo. Técnicas de especificación y diseño: métodos formales (Redes de Petri, Notación Z, otros); métodos semiformales (MASCOT, DARTS, Deutsch, otros).


Proyectos:

A continuación se incluye una lista (no exhaustiva) de los posibles proyectos a desarrollar durante el curso.

  • Migración de una herramienta de análisis de algoritmos de planificación del procesador en tiempo real: En este proyecto se harán modificaciones a AgaPé-TR , una herramienta construida para analizar algoritmos de planificación de procesos. La idea es portarla a entornos Unix, y proveer replicaciones independientes de las simulaciones para mejorar el desempeño de las mismas

  • Inclusión de algoritmos de planificación en tiempo real a una herramienta de supervisión de procesos industriales: En este proyecto se tomará como base el trabajo con IGNATIUS , una herramienta para construir sistemas de supervisión de procesos industriales. Se modificarán las rutinas de planificación de alto nivel incluidas en dicha herramienta con el fin de incluir algoritmos de planificación en tiempo real. Se hará análisis experimental de las soluciones propuestas.

  • Implementación de comunicación configurable entre una herramienta de supervisión de procesos industriales y controladores programables: En este proyecto se tomará como base el trabajo con IGNATIUS , una herramienta para construir sistemas de supervisión de procesos industriales. Se modificarán las rutinas de comunicación con controladores y PLC's, con el fin de hacerlas configurables (desde el punto de vista de los comandos emitidos y de los protocolos empleados).

    Volver