Universidad del Cauca, Facultad de Ingeniería Electrónica y Telecomunicaciones

 

 

 

Universidad del Cauca
Facultad de Ingeniería Electrónica y Telecomunicaciones
Departamento de Telemática
 
Segundo Período de 2006
Asignatura: Sistemas de Tiempo Real
(Electiva)
 
Profesores Prácticas
Objetivos Bibliografía
Modalidad Régimen de Evaluación
Intensidad Horaria Horario
Contenido Temático Planeación por Clases

  1. PROFESORES
  2. Dr. Ing. Álvaro Rendón Gallón
    Mag. Héctor Fabio Jaramillo O.

     

  3. OBJETIVOS
  4. General

    • Al finalizar el curso el estudiante estará en capacidad de desarrollar aplicaciones con restricciones de tiempo real especialmente en el ámbito de las telecomunicaciones, contando con los conocimientos y la formación básica sobre las técnicas, notaciones y métodos necesarios para su construcción.

    Específicos de Formación

    • Comprender los problemas particulares que enfrenta el desarrollo de aplicaciones de tiempo real y los principios en los que se fundamentan las soluciones propuestas.
    • Identificar las características y funcionalidades que debe ofrecer un sistema operativo para ser utilizado como plataforma para aplicaciones de tiempo real.
    • Conocer cómo se utiliza un sistema operativo de tiempo real en la implementación de aplicaciones que manejan recursos bajo restricciones de tiempo real.
    • Conocer los estándares POSIX y su implementación en un sistema operativo concreto.
    • Ampliar el horizonte de aplicaciones de los sistemas de tiempo real hacia el campo de las telecomunicaciones.

     

  5. MODALIDAD
  6. Teórico-práctico

    Los temas del curso serán expuestos mediante clases magistrales que serán complementadas con prácticas de laboratorio y un proyecto final.

    Las prácticas y el proyecto tendrán una orientación y desarrollo inicial dentro del horario de la asignatura, pero su culminación exigirá un trabajo adicional por parte de los estudiantes.

     

  7. INTENSIDAD HORARIA
  8. 4 horas semanales (60 horas semestre)

     

  9. CONTENIDO TEMÁTICO
    1. Introducción y conceptos básicos
      1. Definiciones, características y requisitos.
      2. Planificación de tareas.
      3. Entornos de desarrollo.
    2.  

    3. Entornos de ejecución
      1. Sistemas operativos.
      2. Normas POSIX de tiempo real.
      3. Lenguajes de programación.
    4.  

    5. Modelado de sistemas de tiempo real
      1. Proceso de desarrollo.
      2. Proceso Rápido Orientado a Objetos para Sistemas Empotrados (ROPES).
      3. Lenguaje de Especificación y Descripción (SDL) y MSC.
      4. Métodos mixtos de desarrollo: UML, SDL, MSC.
    6.  

    7. Administración de tareas
      1. Conceptos básicos.
      2. Administración de procesos.
      3. Administración de hilos.
      4. Ejecutivos cíclicos.
      Práctica 1: Construcción de un ejecutivo cíclico. Taller 1.
    8.  

    9. Sincronización y comunicación
      1. Señales.
      2. Acceso a recursos compartidos.
      3. Paso de mensajes.
      Práctica 2: Desarrollo de una aplicación con señales, exclusión mutua y comunicaciones. Taller 2.
    10.  

    11. Administración del tiempo
      1. Relojes, retardos y temporizadores.
      2. El tiempo en POSIX 1003.1.
      3. Relojes y temporizadores en POSIX 1003.1b.
      4. El tiempo en RTLinux y RT-Java.
      Práctica 3: Desarrollo de una aplicación con retardos y temporizaciones. Taller 3.
    12.  

    13. Planificación de tareas
      1. Requisitos temporales y planificación.
      2. Planificación Monótona en Frecuencia (RMS).
      3. Planificación en POSIX.
      4. Planificación en RTLinux y RT-Java.
      Práctica 4: Planificación de hilos con herencia simple y techo de prioridad. Taller 4.
    14.  

    15. Sistemas distribuidos de tiempo real
      1. Aspectos generales.
      2. Comunicaciones.
      3. Planificación.
    16.  

    17. Proyecto
      1. Discusión y asignación de temas.
      2. Desarrollo.
      3. Sustentación.

   

  1. PRÁCTICAS
    Guías de Prácticas y Talleres

    • Práctica 1: Ambientación con RTLinux/RT-Java y tareas periódicas.
    • Taller 1: Construcción de un ejecutivo cíclico.
    • Práctica 2: Desarrollo de una aplicación con señales, exclusión mutua y comunicaciones.
    • Práctica 3: Desarrollo de una aplicación con retardos y temporizaciones.
    • Práctica 3: Planificación de hilos con herencia simple y techo de prioridad.

    Documentación

   

  1. BIBLIOGRAFÍA
  2. Lecturas recomendadas, Referencias generales, Transparencias.
    Lecturas recomendadas

    Referencias Generales

    • J.A. Stankovic. “Misconceptions about real-time programming: A serious problem for next-generation systems”. IEEE Computer, Vol. 21, No. 10, October 1988.
    • G. Bernat, A. Llamosí, R. Puigjaner. “Diseño de Sistemas de Tiempo Real”. Novática, edición especial de Sistemas de Tiempo Real, No. 129, Septiembre-Octubre, 1997.
    • M. González y C.D. Locke. “Tostadores y POSIX”. Novática, edición especial de Sistemas de Tiempo Real, No. 129, Septiembre-Octubre, 1997.
    • N. Audsley and A. Burns. “Real-Time System Scheduling”. Department of Computer Science, University of York, Report YCS 134. Jan 1990.
    • Alan Burns & Andy Wellings. “Real-Time Systems and Programming Languages”. 2nd Ed. Addison-Wesley, 1996.
    • Bill O. Gallmeister. “POSIX.4: Programming for the Real World”. O'Reilly, 1995.
    • Phillip Laplante. “Real-Time Systems Design and Analysis: An Engineer's Handbook” (2nd edition). IEEE Press, 1997.
    • Jane W. S. Liu. “Real-Time Systems”. Prentice-Hall. 2000.
    • Hermann Kopetz. “Real-Time Systems. Design Principles for Distributed Embedded Applications”. Kluwer, 1997.
    • Bruce Powel Douglass. "Doing Hard Time: Developing Real-Time Systems With UML, Objects, Frameworks, and Patterns". Addison-Wesley. 1999.
    • Alvaro Rendón Gallón. “Prueba Incremental de Modelos de Sistemas de Tiempo Real”. Tesis Doctoral, Universidad Politécnica de Madrid, España. 1997.
    • Andrew Tanenbaum, Albert Woodhull. “Operating Systems Design and Implementation”. Prentice Hall. 1997.
    • A.S. Tanenbaum. “Computer Networks”. Third Edition, Prentice Hall PTR.1996.
    • R. Bræk and Ø. Haugen. “Engineering Real Time Systems”. Prentice Hall, 1993.
    • SDL Forum Society. http://www.sdl-forum.org/.
    • Rolv Bræk. "SDL Basics". SINTEF Delab, Trondheim, Norway. 2002.
    • The International Engineering Consortium. "Specification and Description Language (SDL)". Wep ProForum Tutorials. 2000. http://www.iec.org.
    • Morgan Bjorkander. “Real-Time Systems in UML (and SDL)”. Embedded System Engineering, October/November 2000. realtimerev2.pdf.
    • C. Liu and J. Layland. “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment”. Journal of the ACM, Vol. 20 No. 1, January 1973.
    • J. Lehoczky, L. Sha, and Y. Ding. “The Rate-Monotonic Scheduling Algorithm: Exact Characterization and Average Case Behavior”. Proc. of the 10th IEEE Real-Time Systems Symp. RTSS’89, IEEE CS Press. Dec. 1989.
    • L. Sha, R. Rajkumar and J. Lehoczky. “Priority Inheritance Protocols: An Approach to Real-Time Synchronization”. IEEE Transactions on Software Engineering, Vol. 39, No. 3, Sep. 1990.
    • J. Lehoczky, L. Sha, J.K. Strosnider and H. Tokuda. “Fixed Priority Scheduling Theory for Hard Real-Time Systems”. En: A.M. Van Tilborg y G.M. Koob (Eds.). “Foundations of Real-Time Computing. Scheduling and Resource Management”. Kluwer Academic Publishers. 1991.
    • H. Hanssson (Ed.). “Distributed Real-Time Systems: A survey”. Technical Report DoCS 94/48. Department of Computer Systems, Uppsala University, Sweden. May 1994.
    • K. Tindell, A. Burns and A.J. Wellings. “Analysis of Hard Real-Time Communications”. YCS 222, Dept. of Computer Science, University of York. England. January 1994.
    • ISO. “Road Vehicles - Interchange Digital Information - Controller Area Network (CAN) for High Speed Communications”. International Standard 11898, 1993.
    • H. Schulzrinne, S. Casner, R. Frederick, and V. Jacobson. “RTP: A Transport Protocol for Real-Time Applications”. IETF, Audio-Video Transport Working Group, RFC 1889. January 1996.
    • H. Kopetz, A. Damm, C. Koza, M. Mulazzani, W. Schwabl, C. Senft, and R. Zainlinger. "Distributed Fault-Tolerant Real-Time Systems: The MARS Approach". IEEE Micro, 9(1):25-40, February 1989.
    • J.A. Stankovic anf K. Ramamritham. “The Spring kernel: A new paradigm for real-time systems”. IEEE Software, 8(3), May 1991.
    • The Open Group. “The Open Group Base Specifications Issue 6 (IEEE Std 1003.1-2001)”. The Single UNIX Specification C950. 2001. http://www.opengroup.org/publications/catalog/t950x.htm
    • José Ismael Ripoll Ripoll. “Tutorial de Real Time Linux”. Universidad Politécnica de Valencia. 2001. http://bernia.disca.upv.es/~iripoll/rt-linux/rtlinux-tutorial/
    • FSMLabs. “The definitive list of RTLinux functions”. 2002. http://www.fsmlabs.com/developers/man_pages/function_list.htm
    • Matt Sherer. "Writing Applications with RTLinuxPro". Finite State Machine Labs. 2003. http://www.fsmlabs.com/articles/simple/simple_app.html.
    • Cinderella. “Cinderella SDL”. 2002. http://www.cinderella.dk/csdl.html
    • Anders Ek. “The SOMT Method”. Telelogic AB. September 19, 1995. http://www.telelogic.com/.
    • SINTEF. “TIMe: The Integrated Method”. Julio 2002. http://www.informatics.sintef.no/projects/time/.

    Transparencias de Clase

    1. Introducción y conceptos básicos: IntroSTR.pdf.
    2. Entornos de ejecución: Entornos.pdf.
    3. Modelado de sistemas de tiempo real: Modelado.pdf.
    4. Administración de tareas: AdmTareas.pdf.
    5. Sincronización y comunicación: Sincronizacion.pdf.
    6. Administración del tiempo: AdmTiempo.pdf.
    7. Planificación de tareas: Planificacion.pdf.
    8. Sistemas distribuidos de tiempo real: Distribuidos.pdf.
 
  1. RÉGIMEN DE EVALUACIÓN
  2.  
     
    Ítem
    Descripción
    Valor
    1
    Taller 1 15%
    2
    Taller 2 15%
    3
    Taller 3 15%
    3
    Taller 4 15%
    4
    Proyecto 40%
     

    Asignatura "Sistemas de Tiempo Real" / Álvaro Rendón Gallón