Última actualización: 20/01/2025


Curso Académico: 2024/2025

Procesamiento de formatos en aplicaciones telemáticas
(13420)
Grado en Ingeniería Telemática (Plan: 447 - Estudio: 215)


Coordinador/a: SANCHEZ FERNANDEZ, LUIS

Departamento asignado a la asignatura: Departamento de Ingeniería Telemática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
- Programación - Programación de Sistemas
Objetivos
El objetivo de esta asignatura es que los alumnos adquieran los conocimientos y capacidades básicos para procesar documentos en formatos intercambiados en aplicaciones telemáticas. Se considera tanto el enfoque tradicional (procesadores de lenguajes) como el enfoque basado en tecnología XML, y se relacionan ambos. Para lograr estos objetivos, el alumno debe adquirir una serie de conocimientos y capacidades. Por lo que se refiere a conocimientos, al finalizar el curso el estudiante será capaz de: - Conocer las definiciones de alfabeto, cadena y lenguaje. - Entender las partes en que se divide un compilador, las tareas que se realizan en cada parte y sus interrelaciones. - Conocer algunos formalismos para definir lenguajes: expresiones regulares y gramáticas. - Conocer las funciones de un analizador léxico y como especificarlo. - Conocer las funciones de un analizador sintáctico y como especificarlo. - Conocer el funcionamiento de un generador de analizadores sintácticos LR(k). - Conocer las definiciones de atributo, atributo heredado y atributo sintetizado. - Conocer como especificar un atributo. - Conocer el lenguaje XML - Conocer el formato DTD para especificación de aplicaciones XML - Conocer el entorno para procesar documentos XML DOM En cuanto a las capacidades, éstas las podemos clasificar en dos grupos, uno de capacidades específicas y otro de capacidades más genéricas o destrezas. En cuanto a las capacidades específicas, al finalizar el curso el alumno será capaz de: - Entender cuál es el lenguaje definido por una expresión regular o una gramática. - Definir la especificación de un analizador léxico y un analizador sintáctico para un lenguaje dado. - Programar un conjunto de clases Java que representen los árboles de sintaxis abstracta para cadenas de un lenguaje dado. - Utilizar generadores de analizadores para producir analizadores léxicos y sintácticos. - Implementar una tabla de símbolos. - Implementar un atributo sintetizado o heredado a partir de su especificación. - Implementar un comprobador de tipos. - Implementar otras comprobaciones requeridas por el analizador semántico. - Diseñar e implementar un generador de código en Java. - Determinar si un documento XML es válido según un DTD. - Escribir programas sencillos que procesen documentos XML. En cuanto a las capacidades genéricas o destrezas, los alumnos deberán ser capaces de: - Identificar, formular y resolver problemas ingenieriles. - Usar técnicas, destrezas y modernas herramientas ingenieriles necesarias para la práctica ingenieril.
Resultados del proceso de formación y aprendizaje
CB1: Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio CB2: Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio CG1: Capacidad para redactar, desarrollar y firmar proyectos en el ámbito de la ingeniería de telecomunicación que tengan por objeto, de acuerdo con los conocimientos adquiridos según lo establecido en el apartado 5 de esta orden, la concepción y el desarrollo o la explotación de redes, servicios y aplicaciones de telecomunicación y electrónica. ECRT1: Capacidad para aprender de manera autónoma nuevos conocimientos y técnicas adecuados para la concepción, el desarrollo o la explotación de sistemas y servicios de telecomunicación. ECRT13: Capacidad de diferenciar los conceptos de redes de acceso y transporte, redes de conmutación de circuitos y de paquetes, redes fijas y móviles, así como los sistemas y aplicaciones de red distribuidos, servicios de voz, datos, audio, video y servicios interactivos y multimedia. ETEGT5: Capacidad de seguir el progreso tecnológico de transmisión, conmutación y proceso para mejorar las redes y servicios telemáticos. ETEGT6: Capacidad de diseñar arquitecturas de redes y servicios telemáticos. ETEGT7: Capacidad de programación de servicios y aplicaciones telemáticas, en red y distribuidas. RA1: Conocimiento y comprensión de los fundamentos básicos generales de la ingeniería, los principios científicos y matemáticos, así como los de su rama o especialidad, incluyendo algún conocimiento a la vanguardia de su campo. RA3: Los egresados tendrán la capacidad de realizar diseños de ingeniería de acuerdo a su nivel de conocimiento y comprensión, trabajando en equipo. El diseño abarca dispositivos, procesos, métodos y objetos, y especificaciones más amplias que las estrictamente técnicas, lo cual incluye conciencia social, salud y seguridad, y consideraciones medioambientales y comerciales. RA4: Los titulados serán capaces de usar métodos apropiados para llevar a cabo investigaciones y estudios detallados de aspectos técnicos, en consonancia con su nivel de conocimiento. La investigación implica búsquedas bibliográficas, diseño y ejecución de experimentos, interpretación de datos, selección de la mejor propuesta y simulación por ordenador. Puede requerir la consulta de basesde datos, normas y procedimientos de seguridad. RA5: Los egresados tendrán la capacidad de aplicar su conocimiento y comprensión para poder resolver problemas, dirigir investigaciones y diseñar dispositivos o procesos de ingeniería. Estas habilidades incluyen el conocimiento, uso y limitaciones de materiales, modelos informáticos, ingeniería de procesos, equipos, trabajo práctico, bibliografía técnica y fuentes de información. Deben tener conciencia de todas las implicaciones de la práctica de la ingeniería: éticas, medioambientales, comerciales e industriales RA6: Los titulados tendrán las capacidades genéricas necesarias para la práctica de la ingeniería, y que son aplicables de manera amplia. En primer lugar, trabajar de forma efectiva, tanto de forma individual como en equipo, así como comunicarse de forma efectiva. Además, demostrar conciencia sobre la responsabilidad de la práctica de la ingeniería, el impacto social y medioambiental, y compromiso con la ética profesional, responsabilidad y normas de la práctica de la ingeniería. También deben tener conocimiento de las prácticas empresariales y de gestión de proyectos, así como la gestión y control de riesgos, y entender sus limitaciones. Finalmente, tener la capacidad para el aprendizaje continuo.
Descripción de contenidos: Programa
El contenido se divide en dos grandes bloques: 1. Definición, análisis y procesado de formatos genéricos - Definición de alfabeto, cadena y lenguaje - Gramáticas y expresiones regulares - Fases de un compilador - Análisis léxico y sintáctico - Generadores de analizadores - Análisis semántico y generación de código 2. XML como formato interno, de intercambio y presentación en aplicaciones telemáticas - El lenguaje XML - DTD - Procesado de documentos XML con DOM
Actividades formativas, metodología a utilizar y régimen de tutorías
Las actividades que se llevan a cabo en la impartición de la asignatura son: - Clases magistrales. Presentación por parte del profesor de los principales conceptos a modo de resumen. Se fomentan en este tipo de sesiones tanto la interactividad como la discusión de los principales problemas planteados. - Clases de ejercicios prácticos: Sesiones en las que se plantean problemas reales y se permite a los estudiantes su análisis así como el planteamiento de posibles soluciones. - Laboratorios de programación: En estas sesiones los alumnos deberán desarrollar un compilador sencillo así como realizar pequeños desarrollos en los que se trabajará con las tecnologías XML. Con la supervisión de un profesor, se procede a su implementación. Estas sesiones suponen un trabajo adicional del estudiante durante un período de varios días en los que tiene a su disposición a la plantilla docente por múltiples canales para resolver las dudas que se hayan planteado.
Sistema de evaluación
  • Peso porcentual del Examen Final 0
  • Peso porcentual del resto de la evaluación 100

Calendario de Evaluación Continua


Convocatoria extraordinaria: normativa
Bibliografía básica
  • Scott E. Hudson, modificado por Frank Flannery, C. Scott Ananian y Dan Wang, guiados por Andrew W. Appel. CUP User's Manual. http://www.cs.princeton.edu/~appel/modern/java/CUP/manual.html. 1999
  • A.V. Aho, R. Sethi, J.D. Ullman. Compilers: principles, techniques and tools. Pearson Education.
  • Andrew W. Appel. Modern Compiler Implementation in Java. Cambridge University Press.
  • Atul Kahate. XML & Related Technologies. Pearson Education. 2009
  • Carlos Delgado Kloos, Peter T. Breuer. Definición de lenguajes de programación. http://www.it.uc3m.es/luis/fo1/es/parte1.pdf.
  • E.R. Harold, W.S. Means. XML in a Nutshell, Third edition. O'Reilly.
  • Elliot Berk. JLex: A lexical analyzer generator for Java(TM). http://www.cs.princeton.edu/~appel/modern/java/JLex/current/manual.html. 2000
  • Erik T. Ray. Learning XML, Second Edition. O'Reilly. 2003
  • Evan Lenz. XSLT 1.0 Pocket Reference. O'Reilly. 2005
  • Gregorio Fernández Fernández, Fernando Sáez Vacas. Fundamentos de informática: [lógica, autómatas, algoritmos y lenguajes]. Anaya Multimedia.
  • Luis Sánchez Fernández. Introduction to Compiler Development with Java. Apuntes de la asignatura.
  • World Wide Web Consortium. XML Technology. http://www.w3.org/standards/xml/. World Wide Web Consortium.

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.