Publication:
Desarrollo de aplicaciones XML mediante herramientas de construcción de procesadores de lenguaje

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2013-02-01
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Universidad Complutense de Madrid
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
XML (eXtensible Markup Language) es una especificación propuesta por el Word Wide Web Consortium (W3C) para la definición de lenguajes de marcado. Este tipo de lenguajes permite definir documentos electrónicos que se caracterizan porque la estructura de la información contenida en el documento se hace explícita mediante el uso de marcas o etiquetas debidamente anidadas. Esta tecnología resulta especialmente interesante, dado que actualmente muchos de los desarrollos de software que requieren gestionar información, utilizan XML para definir documentos que almacenan la información que se intercambian los componentes de los sistemas informáticos. Un rasgo característico del marcado XML lo constituye la separación explicita entre estructura y procesamiento. En este sentido, el marcado plasma la estructura lógica de la información pero no permite especificar las posibles formas de procesarla. Así, para abordar el problema del procesamiento de documentos XML se han propuesto múltiples tecnologías, que pueden clasificarse en tecnologías específicas, centradas en implementar tareas de procesamiento muy específicas, y tecnologías de propósito general, aplicables a cualquier tarea de procesamiento. En ambos casos, la implementación del procesamiento requiere la programación explicita del mismo en un lenguaje de procesamiento especifico en el primer caso, o en un lenguaje de programación de propósito general en el segundo caso. Esta Tesis ahonda en un enfoque diferente a los especificados anteriormente para el desarrollo de aplicaciones que procesan documentos XML. Este enfoque se basa en la naturaleza lingüística de los lenguajes de marcado, y en el uso de técnicas tradicionales de procesamiento de lenguajes de programación. La especificación sintáctica de un lenguaje de marcado (es decir, cómo se construye el lenguaje y cómo se usan las marcas que permiten crear un documento XML) puede resolverse desde una perspectiva lingüística mediante la definición de una gramática formal que establece la sintaxis del lenguaje. La idea esencial propuesta en esta Tesis consiste en abordar el problema del procesamiento de un lenguaje de marcado siguiendo también un enfoque lingüístico, de una manera similar al problema sintáctico. Dicho enfoque propugna el diseño de gramáticas formales apropiadas para los lenguajes de marcado, equivalentes a las utilizadas en su definición, pero específicamente orientadas a cada tarea de procesamiento. Una vez que se dispone de dichas gramáticas, el enfoque promueve plantear el desarrollo de las aplicaciones de procesamiento como el desarrollo de procesadores para los lenguajes descritos por las gramáticas, pudiendo emplearse, para ello, las mismas herramientas que se utilizan para desarrollar procesadores de lenguajes de programación y de otros lenguajes informáticos. En el trabajo de Tesis se propone el uso de técnicas clásicas para el desarrollo de procesadores de lenguaje informáticos en la realización práctica del enfoque lingüístico: (i) herramientas de generación de traductores convencionales basados en esquemas de traducción, y (ii) gramáticas de atributos. Como resultado se obtienen métodos sistemáticos de desarrollo de aplicaciones de procesamiento de documentos XML, que conciben el proceso de desarrollo como el de un procesador para un lenguaje informático específico. Este método de desarrollo tiene dos ventajas clave para el desarrollador: por una parte (i) el alto grado de madurez alcanzado por las técnica de desarrollo de traductores para lenguajes informáticos y las numerosas herramientas software existentes que soportan el desarrollo de dichos componentes, y por otra parte (ii) la facilidad de mantenimiento de la aplicación de procesamiento desarrollada, ya que dicho procesamiento se especifica como extensiones apropiadas de las gramáticas para los lenguajes de marcado utilizados. La Tesis muestra la factibilidad del enfoque lingüístico mostrando, primeramente, cómo utilizar generadores de traductores convencionales (e.g., YACC, JavaCC, ANTLR,…) en la construcción de aplicaciones de procesamiento de documentos XML. Así mismo, la Tesis muestra cómo facilitar las especificaciones dirigidas por sintaxis de dichas aplicaciones utilizando gramáticas de atributos, y cómo soportar automáticamente la traducción de tales especificaciones a implementaciones eficientes. Para ello, como parte del trabajo de la Tesis se ha implementado un entorno denominado XLOP (XML Language Oriented Processing), que tomando como entrada la especificación de una aplicación de procesamiento de documentos XML en forma de gramática de atributos y un conjunto de componentes software, automatiza el desarrollo de la citada aplicación. Por último la memoria de la Tesis describe la aplicabilidad de los resultados de la misma en diferentes escenarios de uso en los dominios de las aplicaciones intensivas en contenidos y del aprendizaje electrónico (e-Learning), facilitando, de esta forma, casos de estudio para aquellos desarrolladores que opten por implementar este tipo de aplicaciones de procesamiento usando la propuesta lingüística descrita en esta Tesis.
Description
Tesis inédita de la Universidad Complutense de Madrid, Facultad de Informática, Departamento de Ingeniería del Software e Inteligencia Artificial, leída el 21/11/2012
Unesco subjects
Keywords
Citation
Collections