Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area IV: Pr. y Met. de Des. del Soft.
(Programa del año 2018)
I - Oferta Académica
Materia Carrera Plan Año Periodo
SISTEMAS DE TIEMPO REAL ING. INFORM. 026/12- 08/15 2018 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
VILALLONGA, GABRIEL DOMINGO Prof. Responsable P.Adj Exc 40 Hs
MIRANDA, ENRIQUE ALFREDO Responsable de Práctico JTP Simp 10 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
0 Hs. 2 Hs. 2 Hs. 1 Hs. 5 Hs. 1º Cuatrimestre 12/03/2018 22/06/2018 15 75
IV - Fundamentación
Los sistemas de tiempo real (STR) se encuentran en un gran número de elementos de la vida cotidiana. Desde los sistemas de control de lavavajillas, sistema de control de reproductores de DVD, CD, etc. hasta los sistemas de antibloqueo de los frenos de los automóviles, pasando por el control de tracción y el climatizador del aire. Los controladores realizan el análisis del medio en el cual el controlador esta embebido y activan las operaciones pertinentes en fracciones de segundo. También se encuentran en lugares más sensibles como los sistemas de navegación y posicionamiento de aviones, y en lugares ultrasensibles como las centrales termonucleares.
En los últimos años tanto el hardware con el software están siendo embebidos en la mayoría de los STR para monitorear y controlar sus operaciones. Sin lugar a dudas la corrección de estos sistemas es de suma importancia debido que en muchos de estos sistemas la falla parcial o total puede acarrear consecuencias incomodas en el mejor de los casos, hasta catastróficas en otro extremo.
El desarrollo de estos sistemas implica el conocimiento de casi todas las teorías generales de los sistemas de computación, desde ingeniería de software hasta la teoría de sistemas operativos de tiempo real (SOTR), pasando por la arquitectura de la computadora hasta el conocimiento de lenguajes de programación con habilidades para el manejo de conceptos de tiempo real.
El estudio profundo de los STR implica un amplio conocimiento de varias áreas temáticas de las ciencias de la computación.
Tanto en las áreas curriculares de la carrera de electrónica como la de sistemas es imposible cubrir todos los aspectos teórico-prácticos de tiempo real. El aspecto teórico es muy rico pero no menos complejo desde el punto de vista de la enseñanza. La verificación y testeo de estos sistemas involucra el estudio que va desde los modelos de sistemas hasta distintos tipos de lógicas, temporales y no temporales, necesarios para producir sistemas formalmente verificados.
Para el logro de los objetivos se impartirán clases teóricas y practicas según la guía de estos trabajos, como así también el estudio de material bibliográfico y de publicaciones científicas. En el área práctica se abordaran las distintas herramientas que existen en distintos ámbitos, académicos y comerciales, para su estudio.
La demanda de recursos humanos altamente calificado para el correcto desempeño en proyectos de desarrollo de software, donde las especificaciones temporales son una variable fundamental, hace que esta área de la ingeniería de software, tome real importancia y donde un ingeniero informático debe poseer las herramientas necesarias para un correcto desempeño en grupos de trabajo abocados a estos tipos de proyectos.
La formación de los alumnos de Ingeniería en Informática por medio de esta materia adquieren los conocimientos teóricos y la habilidad en el manejo de herramienta de tiempo real.
V - Objetivos / Resultados de Aprendizaje
El alumno al aprobar la materia debe ser capaz de:
-. Identificar, formular y resolver problemas de tiempo real,
-. Concebir, diseñar y desarrollar proyectos de sistemas de tiempo real,
-. Gestionar -planificar, ejecutar y controlar- proyectos de tiempo real,
-. Utilizar de manera efectiva las técnicas y herramientas de ingeniería de sistemas de tiempo real,
-. Contribuir a la generación de desarrollos tecnológicos de sistemas de tiempo real.
-. Desempeñarse de manera efectiva en equipos de trabajo.
-. Actuar con responsabilidad profesional y compromiso social, considerando el impacto social y ambiental de los sistemas de tiempo real en el contexto local y global.
VI - Contenidos
Unidad I: Tiempo real: Concepto. Las restricciones temporales. Estudio de casos.
Características del procesamiento de información con requisitos de respuesta a estímulos de generados externamente en un período finito y específico. Corrección de las respuestas en función de los resultados lógicos y del momento en el cual se producen. Fallas por no responder en tiempo. Especificación de restricciones temporales.

Unidad II: Ambientes de “tiempo real”: hardware y dispositivos. Sistemas Operativos de Tiempo Real.
Sistema en tiempo real. Ambiente de ejecución de los sistemas de tiempo real: dispositivos de E/S, hardware y software de propósito especial. Sistemas Operativos de Tiempo Real. Conceptos preliminares. Kernels de tiempo real. Tipos de kernels de tiempo real. Fundamentos teóricos de los sistemas operativos de tiempo real. Planificación de tareas. Comunicación y sincronización de tareas. Administración de memoria. Estudio de caso: POSIX.

Unidad III: Lenguajes de Programación para Sistemas de Tiempo Real.
Programación con restricciones temporales. Programación de software naturalmente concurrente. Exigencias de alta confiabilidad en la programación a bajo nivel y en la sincronización de tareas. Lenguajes assembler, procedural, orientado a objetos. Lenguajes de tiempo real específicos.
Unidad IV: Confiabilidad y tolerancia a fallas. Mecanismos de protección. Costos.
Requisitos temporales. Requisitos de predictibilidad. Restricciones de utilización de recursos, de precedencia, de confiabilidad y desempeño. Balanceo de carga. Costos asociados a disponibilidad, confiabilidad, y seguridad. Modelado de Requisitos y Costos de Sistemas de Tiempo Real.

Unidad V: Ingeniería de Sistemas de tiempo discreto y tiempo denso. Herramientas de Ingeniería de modelado.
Tiempo Discreto. Herramientas para análisis de sistemas con características temporales discretas. Tiempo Continuo. Herramientas para análisis de sistemas con características temporales continuo. Gestión del proceso de desarrollo de sistemas de tiempo real. Uso de Herramientas de Ingeniería de Tiempo Real.

Unidad VI: Model Checking en el contexto de Ingeniería de Sistemas de Tiempo Real.
Fundamentos teóricos. Correspondencia entre un modelo que representa a un sistema con una dada especificación. Model checking aplicado a sistemas de hardware, software y protocolos de comunicación conteniendo requisitos de seguridad. Distintos enfoques de model checking: continuo, discreto, probabilístico.

VII - Plan de Trabajos Prácticos
Sistemas de Tiempo Real: Estudio de Casos.

Hardware y dispositivos. Sistemas Operativos de Tiempo Real.;Trabajo de campo: Análisis de hardware y de software de tiempo real. Actividades de Laboratorio. Estudio de Casos. POSIX, Real Time Linux.

Lenguajes de Programación: Resolución de Problemas. Actividades de Laboratorio: Manejo de compiladores.

Confiabilidad y tolerancia a fallas. Mecanismos de protección. Balanceo de carga. Redundancia. Resolución de Problemas.
Actividades de Laboratorio: Manejo de herramientas.

GT - Redes de Petri con Relojes. Resolución de Problemas. Actividades de Laboratorio: Manejo de herramientas UPPAAL, PNwC.

Model Checking. Resolución de Problemas. Actividades de Laboratorio: Manejo de herramientas NuSMV, UPPAAL.
VIII - Regimen de Aprobación
1.- Crédito Horario: El crédito horario semanal es de cinco (5) horas, de contenidos Teórico/Práctico.
2.- Regularización y Aprobación: La materia se desarrolla con la modalidad de promoción sin examen final. Existen dos niveles:
2.1.- Regularización solamente: Para regularizar la materia se deberá:
2.1.1- Tener como mínimo un 80% de asistencia a clases prácticas.
2.1.2- Tener los prácticos, pedidos por la cátedra, aprobados.
2.1.3- Aprobar los dos parciales, o sus respectivas recuperaciones (dos por parcial), con un mínimo del 60%.
2.2- Regularización y Aprobación: Para regularizar y aprobar la materia se deberá:
2.2.1.- Cumplir con los requisitos 2.1.1 y 2.1.2.
2.2.2.- Aprobar todos los parciales, o sus respectivas recuperaciones (dos por parcial), con un mínimo del 70%, porcentaje que se corresponderá con una escala de siete a diez, la que será la nota definitiva en la materia.
3.- Examen Final.
3.1.- Aquellos alumnos que solo regularicen la materia podrán rendir el examen final, en los turnos establecidos.
3.2.- Se aceptan exámenes libres acorde a lo establecido en el Art. 27 de la Ord. CS 13/03.
IX - Bibliografía Básica
[1] Real Time Systems Design and Analysis. Laplante Phillips and Seppo J. Ovaska. IEEE PRESS 4th edn. 2011. ISBN-10: 0470768649, ISBN-13: 978-0470768648.
[2] Sistemas de tiempo real y lenguajes programación. Alam Burns & Andy Welings. Pearson Educación, 2005. ISBN: 8478290583, 978-8478290581.
[3] Real-Time Systems: Scheduling, Analysis and Verification. Albert M. K. Cheng. John Wiley & Sons, Inc., Hoboken, New Jersey. 2010. ISBN-10: 8126527854, ISBN-13: 978-8126527854.
[4] Real-Time Embedded Systems: Design Principles and Engineering Practices. Xiaocong Fan. Newnes; 1st Edition (February 11, 2015). ISBN-10: 0128015071. ISBN-13:978-0128015070.
X - Bibliografia Complementaria
[1] Model Checking. Edmund Clarke, Orna Grumberg and Doron Peled, MIT Press, 1999. ISBN-10: 0262032708 ISBN-13: 978-0262032704.
[2] Real-Time C++: Efficient Object-Oriented and Template Microcontroller Programming 2nd ed. 2015 Edition. Christopher Kormanyos. Springer; 2nd ed. 2015 edition (November 24, 2015). ISBN-10: 3662478099. ISBN-13: 978-3662478097
[3] Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications (Real-Time Systems Series) Softcover reprint of hardcover 3rd Edition. Giorgio C Buttazzo. Springer. (December 31, 2013). ISBN-10: 1461430194. ISBN-13: 978-1461430193.
[4] Embedded and Real-Time Operating Systems 1st ed. 2017 Edition. K.C. Wang. Springer; 1st Edition (April 21, 2017). ISBN-10: 3319515160. ISBN-13: 978-3319515168.
[5] Real-Time Systems: Design Principles for Distributed Embedded Applications (Real-Time Systems Series) Hardcover – April 26, 2011. Hermann Kopetz. Springer; 2nd Edition . ISBN-10: 1441982361. ISBN-13: 978-1441982360.
[6] Real-Time Embedded Systems: Design Principles and Engineering Practices - 1st Edition. Xiaocong Fan. Newnes. (February 11, 2015). ISBN-10: 0128015071. ISBN-13:978-0128015070.
[7] Formal Verification of a Power Controller Using the Real-Time Model Checker UPPAAL. NASA Technical Reports Server (NTRS). BiblioGov (August 6, 2013). ISBN-10: 1289283141. ISBN-13: 978-1289283148.
[8] Principles of Model Checking. Moshe Vard, Gerard J. Holzmann. The MIT Press (May 31, 2008). ISBN-10: 026202649X ISBN-13: 978-0262026499.
[9] The SPIN Model Checker. Gerard J. Holzmann. Addison-Wesley Professional (September 14, 2003). ISBN-10: 0321228626. ISBN-13: 978-0321228628.
[10] Systems and Software Verification: Model-Checking Techniques and Tools. B. Berard et al. Springer; 1 Edition (August 9, 2001). ISBN-10: 3540415238. ISBN-13: 978-3540415237.
XI - Resumen de Objetivos
Desarrollar las competencias necesarias para integrar equipos de desarrollo de productos de software que estén sujetos a restricciones de tiempo real.
XII - Resumen del Programa
Unidad I: Tiempo real: Concepto. Las restricciones temporales. Estudio de casos. Desarrollo de ejemplos. Ordenamiento de tareas.
Unidad II: Ambientes de “tiempo real”: hardware y dispositivos. Sistemas Operativos de Tiempo Real.
Unidad III: Lenguajes de Programación.
Unidad IV: Confiabilidad y tolerancia a fallas. Mecanismos de protección. Balanceo de carga. Redundancia.
Unidad V: Consideración de costos: tasa de error y consecuencias, modelado de la confiabilidad, disponibilidad, seguridad. Casos de estudio y simulación de su comportamiento.
Unidad VI: Tiempo discreto y tiempo denso. Herramientas de modelado.
Unidad VII: Model Checking
XIII - Imprevistos
Serán resueltos por los integrantes del área en el momento apropiado en la medida de lo posible.
XIV - Otros