GUIA DOCENTE DE LA ASIGNATURA
Programación de Sistemas Empotrados y de Tiempo Real.
MÓDULO
MATERIA
Complemento de Telemática
Complementos de Telemática
CURSO
4º
PROFESOR(ES)
Nombre Apellido Apellido: Parte I “XXXXXXX” ((Nombre Apellido Apellido: Parte II “YYYYYYY”))
SEMESTRE
CRÉDITOS
7º u 8º
TIPO
6
Optativa
DIRECCIÓN COMPLETA DE CONTACTO PARA TUTORÍAS (Dirección postal, teléfono, correo electrónico, etc.) Dpto. XXXXX, XXª planta, Facultad de XXXX. Despachos nª Y y X. Correo electrónico:
[email protected] y
[email protected] HORARIO DE TUTORÍAS Martes, miércoles y jueves, de 8 a 10 horas (Profesor YYYY) y de 10 a 12 horas (Profesor XXXX)
GRADO EN EL QUE SE IMPARTE Grado en Ingeniería de Tecnologías de Telecomunicación
OTROS GRADOS A LOS QUE SE PODRÍA OFERTAR ---- Se puede ofertar al Grado de Informática ---
PRERREQUISITOS Y/O RECOMENDACIONES (si procede) Tener cursadas las asignaturas: • Sistemas Telemáticos. • Fundamentos de Programación. • Seguridad en Redes. • Complementos de Programación. BREVE DESCRIPCIÓN DE CONTENIDOS (SEGÚN MEMORIA DE VERIFICACIÓN DEL GRADO) - Requerimientos particulares de sistemas empotrados y de tiempo real. - Entornos de ejecución: sistemas operativos. - Modelos de planificación y análisis temporal de tareas. - Programación de aplicaciones empotradas. Interacción con el hardware. Control del Tiempo. Gestión de Eventos. Control de Recursos.
Página 1
- Diseño, configuración, despliegue y depuración de aplicaciones empotradas.
COMPETENCIAS GENERALES Y ESPECÍFICAS T7: Capacidad de programación de servicios y aplicaciones telemáticas, en red y distribuidas. O4: Capacidad para conocer sistemas operativos y los detalles de implementación. G1 - Capacidad de análisis y síntesis: Encontrar, analizar, criticar (razonamiento crítico), relacionar, estructurar y sintetizar información proveniente de diversas fuentes, así como integrar ideas y conocimientos. G2 - Capacidad de organización y planificación así como capacidad de gestión de la Información G3 - Capacidad de comunicación oral y escrita en el ámbito académico y profesional con especial énfasis, en la redacción de documentación técnica G4 - Capacidad para la resolución de problemas G5 - Capacidad para tomar decisiones basadas en criterios objetivos (datos experimentales, científicos o de simulación disponibles) así como capacidad de argumentar y justificar lógicamente dichas decisiones, sabiendo aceptar otros puntos de vista G6 - Capacidad para el uso y aplicación de las TIC en el ámbito académico y profesional. G7 - Capacidad de comunicación en lengua extranjera, particularmente en ingĺés. G8 - Capacidad de trabajo en equipo. G9 - Capacidad para el aprendizaje autónomo así como iniciativa y espíritu emprendedor G10 - Motivación por la calidad y la mejora continua, actuando con rigor, responsabilidad y ética profesional. G11 - Capacidad para adaptarse a las tecnologías y a los futuros entornos actualizando las competencias profesionales. G12 - Capacidad para innovar y generar nuevas ideas. G13 - Sensibilidad hacia temas medioambientales.
OBJETIVOS (EXPRESADOS COMO RESULTADOS ESPERABLES DE LA ENSEÑANZA) • Reconocer las particularidades especiales de los sistemas empotrados y de tiempo real en cuanto a sus requerimientos, diseño o programación. • Conocer las técnicas de programación, lenguajes de programación, y herramientas de desarrollo disponibles para la programación de este tipo de sistema. • Seleccionar el entorno de ejecución (firmware o sistema operativo) más adecuado para la implementación de aplicaciones sobre entornos empotrados. • Determinar las necesidades de tiempo real de una aplicación, evaluar su impacto en los entornos de ejecución, y analizar el modelo de planificación más adecuado. • Aprender a diseñar, implementar, configurar y desplegar una aplicación empotrada sobre una plataforma empotrada concreta atendiendo a los requerimientos específicos de la aplicación. • Realizar pequeños proyectos de sistemas empotrados para casos prácticos de sistemas de control de procesos, domótica, robots móviles, instrumentación, …, haciendo especial hincapié en las características de conectividad. TEMARIO DETALLADO DE LA ASIGNATURA
Página 2
TEMARIO TEÓRICO: Tema 1: Introducción a los sistemas empotrados y de tiempo real. Consideraciones y requerimientos particulares del diseño de sistemas empotrados: criticidad, cumplimiento de requisitos temporales, coste por unidad, consumo de energía,... Hardware y software básico de un sistema empotrado. Tipos de entornos empotrados. Desarrollo de software para sistemas empotrados: Esquema host-target. Tema 2. Lenguajes de programación y entornos de ejecución. Características básicas de los lenguajes de programación. Componentes de un sistema empotrado. Entornos de ejecución: firmware y sistemas operativos. Sistemas Operativos Empotrados y de Tiempo Real: El estándar POSIX. Análisis y selección del entorno de ejecución más adecuado. Tema 3. Diseño, configuración, despliegue y depuración de aplicaciones empotradas. Esquemas de diseño de una aplicación empotrada. Herramientas de programación: depuradores, emuladores, compiladores cruzados, … Técnicas de depuración. Despliegue de una aplicación empotrada: carga software y hardware. Tema 4: Tareas y Concurrencia. Particionamiento del software en tareas. Modelos de gestión de tareas en un entorno empotrado: ejecutivo cíclico, sistemas foreground-background, sistemas basado en prioridades. Planificación de tareas de tiempo real: algoritmos de planificación. Análisis temporal de tareas. Mecanismos de comunicación y sincronización entre tareas. Inversión de prioridad: mecanismos de acceso a recursos compartidos. Tema 5: Interacción con el hardware. Modelos de abstracción del hardware. Manejador de dispositivos de E/S. Gestión de memoria: memoria montón y pila. Gestión de eventos: interrupciones y excepciones. Implementación de un controlador de dispositivo. Tema 6: Control y medida del tiempo. Medida del tiempo: Relojes. Activación de tareas: retardos y temporizadores. Plazos de Tiempo: Timeout. Watchdog. Tema 7: Gestión y control de recursos. Introducción. Uso de recursos en acciones atómicas. Control de acceso a recursos. Esquemas de gestión de recursos. Tema 8: Conectividad. Buses y comunicaciones en sistemas empotrados. Modelos de abstracción de protocolos de comunicaciones. Aplicación a sistemas de telecomunicaciones: redes de sistemas empotrados, redes de sensores, sistemas basados en Internet, sensores inteligentes, … Tema 9: Desarrollo de un proyectos software para entornos empotrados. Métodos y técnicas avanzadas para el desarrollo de proyectos empotrados. Ciclos de vida para el desarrollo de empotrados (desarrollo rápido de aplicaciones, prototipado rápido, ...). TEMARIO PRÁCTICO: Seminarios y talleres: • Evaluación de núcleos de tiempo real en sistemas empotrados. • Java para el desarrollo de sistemas empotrados. • Sistemas críticos. • Virtualización. Prácticas de Laboratorio
Página 3
Práctica Práctica Práctica Práctica Práctica
1. Familiarización con un entorno empotrado. Montando un sistema operativo. 2. Control del tiempo: Diseño de un cronómetro de alta precisión. 3. Planificación de Tareas. Controlador de un brazo robótico. 4. Implementación de un controlador de dispositivo: GPIO. Sistema de detección de intrusos. 5. Diseño de un núcleo de tiempo real: planificación de tareas periódicas.
Prácticas de campo: No hay BIBLIOGRAFÍA BIBLIOGRAFÍA FUNDAMENTAL: • Sistemas de Tiempo Real y Lenguajes de Programación (tercera edición). Alan Burns y Andy Wellings. Addison-Wesley (2002). • Embedded C. Michael Pont. Addison-Wesley (2002). • An Embedded Software Primer. David Simon. Addison-Wesley (2001) • Programming Embedded Systems: With C and GNU Development Tools, 2nd Edition (Paperback). Michael Barr. O’Reilly (2006). • Embedded Systems Design. Steve Heath. 2nd Edition. Newnes (2003). • Computers As Components: Principles of Embedded Computing Systems Design. Wayne Wolf. Morgan Kaufman Publisher, (2001) BIBLIOGRAFÍA COMPLEMENTARIA: • MicroC OS II: The Real Time Kernel. John Labrosse. Micrium Press (2002). • Embedded C Coding Standard. Michael Barr. Netrino Institute (2008). • Real-Time Concepts for Embedded Systems. Qing Li. CMP (2003). • Software Engineering for Real-Time Systems. Jim Cooling. Addison Wesley, (2002). • Hard Real-Time Computing Systems (Second Edition). Giorgio Buttazzo, G. Springer, (2005). • Programming Microcontrollers in C, Second Edition. , G. Springer, (2005). • Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers. Tammy Noergaard. Newnes, (2005). ENLACES RECOMENDADOS En la página web de la asignatura (http://lsi.ugr.es/~psetr) se muestra información complementaria y recursos para la ampliación de conocimientos.
METODOLOGÍA DOCENTE 1. ACTIVIDAD FORMATIVA: Lección magistral (Clases teóricas-expositivas) Descripción: Presentación en el aula de los conceptos fundamentales y desarrollo de los contenidos propuestos. Propósito: Transmitir los contenidos de las materias del módulo motivando al alumnado a la reflexión, facilitándole el descubrimiento de las relaciones entre diversos conceptos y formarle una mentalidad crítica. Contenido en ECTS: 15-20 horas presenciales (0,6-0,8 ECTS).
Página 4
-
Competencias: O4. G1, G2, G4, G6, G7 y G11.
2. ACTIVIDAD FORMATIVA Actividades prácticas (Clases prácticas) Descripción: Actividades a través de las cuales se pretende mostrar al alumnado cómo debe actuar a partir de la aplicación de los conocimientos adquiridos Propósito: Desarrollo en el alumnado de las habilidades instrumentales de la materia. Contenido en ECTS: 25-30 horas presenciales (1,0-1,2 ECTS). Competencias: O4. G1, G2, G4, G6, G7 y G11. 3. ACTIVIDAD FORMATIVA: Seminarios Descripción: Modalidad organizativa de los procesos de enseñanza y aprendizaje donde tratar en profundidad una temática relacionada con la materia. Incorpora actividades basadas en la indagación, el debate, la reflexión y el intercambio. Propósito: Desarrollo en el alumnado de las competencias cognitivas y procedimentales de la materia. Contenido en ECTS: 10 horas presenciales (0,4 ECTS) Competencias: O4. G1, G2, G4, G6, G7 y G11. 4. ACTIVIDAD FORMATIVA: Actividades no presenciales Actividades no presenciales individuales (Estudio y trabajo autónomo) Descripción: 1) Actividades (guiadas y no guiadas) propuestas por el profesor a través de las cuáles y de forma individual se profundiza en aspectos concretos de la materia posibilitando al estudiante avanzar en la adquisición de determinados conocimientos y procedimientos de la materia, 2) Estudio individualizado de los contenidos de la materia 3) Actividades evaluativas (informes, exámenes, …) Propósito: Favorecer en el estudiante la capacidad para autorregular su aprendizaje, planificándolo, diseñándolo, evaluándolo y adecuándolo a sus especiales condiciones e intereses. Competencias: O4. G1, G2, G3, G4, G6, G9, G11, G12. Actividades no presenciales grupales (Estudio y trabajo en grupo) Descripción: 1) Actividades (guiadas y no guiadas) propuestas por el profesor a través de las cuáles y de forma grupal se profundiza en aspectos concretos de la materia posibilitando a los estudiantes avanzar en la adquisición de determinados conocimientos y procedimientos de la materia. Propósito: Favorecer en los estudiantes la generación e intercambio de ideas, la identificación y análisis de diferentes puntos de vista sobre una temática, la generalización o transferencia de conocimiento y la valoración crítica del mismo. Competencias: O4. Todas las competencias transversales. Contenido en ECTS: 90 horas no presenciales (7,2 ECTS) 5. ACTIVIDAD FORMATIVA: Tutorías académicas Descripción: manera de organizar los procesos de enseñanza y aprendizaje que se basa en la interacción directa entre el estudiante y el profesor Propósito: 1) Orientan el trabajo autónomo y grupal del alumnado, 2) profundizar en distintos aspectos de la materia y 3) orientar la formación académica-integral del estudiante Contenido en ECTS: 5 horas presenciales, grupales e individuales (0,2 ECTS). Competencias: O4. G1, G4, G5, G11 y G12. METODOLOGÍA DE ENSEÑANZA Y APRENDIZAJE: las actividades formativas propuestas se desarrollarán desde una metodología participativa y aplicada que se centra en el trabajo del estudiante (presencial y no presencial/individual y grupal). Las clases teóricas, los seminarios, las clases prácticas, las tutorías, el estudio y trabajo autónomo y el grupal son las maneras de organizar los procesos de enseñanza y aprendizaje de esta materia.
Página 5
PROGRAMA DE ACTIVIDADES
Primer cuatrimestr e
Temas del temari o
Actividades presenciales (NOTA: Modificar según la metodología docente propuesta para la asignatura)
Actividades no presenciales (NOTA: Modificar según la metodología docente propuesta para la asignatura)
Sesione s teóricas (horas)
Tutorías individual es (horas)
Sesiones práctica s (horas)
Exposicione sy seminarios (horas)
Exámenes (horas)
Etc.
Tutorías colectivas (horas)
Estudio y trabajo individual del alumno (horas)
Trabajo en grupo (horas)
Etc.
Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 … … … … … … … … Total horas
EVALUACIÓN (INSTRUMENTOS DE EVALUACIÓN, CRITERIOS DE EVALUACIÓN Y PORCENTAJE SOBRE LA CALIFICACIÓN FINAL, ETC.) Con objeto de evaluar la adquisición de los contenidos y competencias a desarrollar en la materia, se utilizará un sistema de evaluación diversificado, seleccionando las técnicas de evaluación más adecuadas para las asignaturas en cada momento, que permita poner de manifiesto los diferentes conocimientos y capacidades adquiridos por el alumnado al cursar cada asignatura. De entre las siguientes técnicas evaluativas se utilizarán alguna o algunas de las siguientes:
Para la parte teórica se realizarán exámenes finales o parciales, sesiones de evaluación y
Página 6
entregas de ejercicios sobre el desarrollo y los resultados de las actividades propuestas. La ponderación de este bloque oscila entre el 20% y el 80%. Para la parte práctica se realizarán prácticas de laboratorio, resolución de problemas y desarrollo de proyectos (individuales o en grupo), y se valorarán las entregas de los informes/memorias realizados por los alumnos, o en su caso las entrevistas personales con los alumnos y las sesiones de evaluación. La ponderación de este bloque oscila entre el 10% y el 60%. En su caso, la parte de trabajo autónomo y los seminarios se evaluarán teniendo en cuenta la asistencia a los seminarios, los problemas propuestos que hayan sido resueltos y entregados por los alumnos, en su caso, las entrevistas efectuadas durante el curso y la presentación oral de los trabajos desarrollados. La ponderación de estos oscila entre el 10% y el 60%.
La calificación global corresponderá a la puntuación ponderada de los diferentes aspectos y actividades que integran el sistema de evaluación. Así, el resultado de la evaluación será una calificación numérica obtenida mediante la suma ponderada de las calificaciones correspondientes a una parte teórica, una parte práctica y, en su caso, una parte relacionada con el trabajo autónomo de los alumnos, los seminarios impartidos y el aprendizaje basado en proyectos. Los criterios de evaluación se indicarán en los Programas y Guías Didácticas correspondientes a cada asignatura, garantizando así la transparencia y objetividad de los mismos. Todo lo relativo a la evaluación se regirá por la normativa vigente de planificación docente y organización de exámenes de la Universidad de Granada.
El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.
INFORMACIÓN ADICIONAL El alumno puede encontrar los recursos y la información adicional en el sitio web http://lsi.ugr.es/~psetr
Página 7