Desarrollo de aplicaciones XML mediante herramientas de construcción de procesadores de lenguaje
Loading...
Download
Official URL
Full text at PDC
Publication date
2013
Defense date
21/11/2012
Authors
Advisors (or tutors)
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Universidad Complutense de Madrid
Citation
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