Checking date: 20/01/2025 13:12:15


Course: 2024/2025

Format processing in telematic applications
(13420)
Bachelor in Telematics Engineering (Study Plan 2019) (Plan: 447 - Estudio: 215)


Coordinating teacher: SANCHEZ FERNANDEZ, LUIS

Department assigned to the subject: Telematic Engineering Department

Type: Compulsory
ECTS Credits: 6.0 ECTS

Course:
Semester:




Requirements (Subjects that are assumed to be known)
- Programming - Systems Programming
Objectives
The goal of this subject is that the students acquire the basic knowledge, competences and skills required to process documents exchanged in telematic applications. Both the traditional approach (language processing) and the XML approach are studied. The relation between XML document processing and classical language processing will also be discussed. With respect to the knowledge the students should learn, at the end of the course, the student will be able to: - Know the definitions of alphabet, string and language. - Understand the parts in which a compiler is divided, the tasks that each part performs and the relations between the different parts. - Know some formalisms to define languages: regular expressions and grammars - Know the role of a lexer and how to specify it. - Know the role of a parser and how to specify it. - Know the how an LR(k) parser works. - Know the definitions of attribute and synthesized and inherited attribute. - Know how to specify an attribute. - Know the XML language. - Know the DTD format to define XML applications. - Know the environment to process XML documents DOM. With respect to specific instrumental competences, the students should be able to: - Understand which is the language defined by a given regular expression or grammar. - Write the specification for the lexer and the parser of a given language. - Program the required Java classes that represent the abstract syntax trees corresponding to strings of a given language. - Use analyzer generators. - Implement a symbol table. - Implement a synthesized or an inherited attribute, given its specification. - Implement a type checker. - Implement other checkings required by a semantic analyzer. - Design and implement a code generator in Java. - Decide whether an XML document is valid according to a given DTD. - Write simple programs that process XML documents. With respect to general competences, the student should show ability to: - identify, formulate and solve engineering problems. - use the techniques, skills and modern tools necessary for engineering practice.
Learning Outcomes
CB1: Students have demonstrated possession and understanding of knowledge in an area of study that builds on the foundation of general secondary education, and is usually at a level that, while relying on advanced textbooks, also includes some aspects that involve knowledge from the cutting edge of their field of study CB2: Students are able to apply their knowledge to their work or vocation in a professional manner and possess the competences usually demonstrated through the development and defence of arguments and problem solving within their field of study. CG1: Ability to write, develop and sign projects in the area of telecommunications engineering aimed at the design, development and utilization of telecommunications and electronic networks, services and applications, in accordance with the competences acquired in the degree program, as set out in Section 5 of the corresponding mandate. ECRT1: Ability to learn and acquire autonomously the requisite new knowledge for the design, development and utilization of telecommunication systems and services. ECRT13: Ability to differentiate the concepts of network access and transport, circuit switching and packet switching networks, fixed and mobile networks as well as systems and applications of distributed networks, voice services, audio, data, video and interactive services and multimedia. ETEGT5: Ability to follow transmission, switching and process technological progress to improve telematics networks and services. ETEGT6: Ability to design network architectures and telematics services. ETEGT7: Ability to program telematics services and applications in network and distributed systems RA1: Knowledge and Understanding.  Knowledge and understanding of the general fundamentals of engineering, scientific and mathematical principles, as well as those of their branch or specialty, including some knowledge at the forefront of their field. RA3: Design. Graduates will have the ability to make engineering designs according to their level of knowledge and understanding, working as a team. Design encompasses devices, processes, methods and objects, and specifications that are broader than strictly technical, including social awareness, health and safety, environmental and commercial considerations. RA4: Research. Graduates will be able to use appropriate methods to carry out detailed research and studies of technical aspects, commensurate with their level of knowledge. The research involves bibliographic searches, design and execution of experiments, interpretation of data, selection of the best proposal and computer simulation. May require consultation of databases, standards and security procedures. RA5: Applications. Graduates will have the ability to apply their knowledge and understanding to solve problems, conduct research, and design engineering devices or processes. These skills include knowledge, use and limitations of materials, computer models, process engineering, equipment, practical work, technical literature and information sources. They must be aware of all the implications of engineering practice: ethical, environmental, commercial and industrial. RA6: Generic competences. Graduates will have the generic skills necessary for engineering practice, and which are widely applicable. First, to work effectively, both individually and as a team, as well as to communicate effectively. In addition, demonstrate awareness of the responsibility of engineering practice, social and environmental impact, and commitment to professional ethics, responsibility and standards of engineering practice. They must also have knowledge of business and project management practices, as well as risk management and control, and understand their limitations. Finally, have the capacity for continuous learning.
Description of contents: programme
1. Definition, analysis and processing of generic formats: - Definition of alphabet, string and language - Grammars and regular expressions - Compiler phases - Lexical and sintax analysis - Analyzer generators - Semantic analysis and code generation 2. XML as an internal, exchange and presentation format: - The XML language - DTD - Document processing with DOM
Learning activities and methodology
The activities that will be carried out in this subject are: - Lectures, in which the lecturer will present the main concepts studied in the subject. In this type of sessions interactivity and discussion of problems introduced by the lecturer will be encouraged. - Practice sessions, in which real problems are proposed and the students will have to analyze and propose possible solutions to them. - Labs: in these sessions the students should develop a simple compiler as well as small developments with XML technology. With the supervision of a teacher, the students should procede to the implementation of the required programs. The students should have to do an additional work after each lab session, for several days, to complete the assignment. During these days, the students can ask questions to the teaching team through different channels.
Assessment System
  • % end-of-term-examination/test 0
  • % of continuous assessment (assigments, laboratory, practicals...) 100

Calendar of Continuous assessment


Extraordinary call: regulations
Basic Bibliography
  • 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.

The course syllabus may change due academic events or other reasons.