Propuesta de Tesis Doctoral
Título:
Añadiendo Significado Operacional a los Lenguajes de Marcado: Aplicación en la Generación de Presentaciones Multimediales
Autor:
José Luis Sierra Rodríguez
Directores:
Dr. Alfredo Fernández-Valmayor Crespo
Dr. Baltasar Fernández Manjón
Este documento contiene una propuesta de Tesis Doctoral orientada a la investigación en la descripción y generación de aplicaciones, en el contexto de las presentaciones multimedia, mediante la asignación de significado operacional a lenguajes de marcado generalizados. A tal fin se comienza introduciendo brevemente la filosofía y los objetivos de los lenguajes de marcado. A continuación se presentan dos de los métodos más relevantes, a efectos de la propuesta realizada, de asignación de semántica operacional a lenguajes de marcado generalizado. Por último se describe de manera detallada la propuesta de Tesis, en términos de los objetivos perseguidos, del dominio de aplicación, del plan de trabajo propuesto, y del contexto de realización de la misma.
Los lenguajes de marcado permiten añadir información estructural y/o de proceso a un documento. Tal información (en realidad metainformación) consiste en un conjunto de marcas que se intercalan en el documento de acuerdo a las reglas sintácticas dictadas por el lenguaje. La utilidad de estos lenguajes radica en la atribución de un significado a cada una de las marcas. Dicho significado puede ser procedimental, en cuyo caso las marcas se interpretan como órdenes a un procesador que define un determinado uso para la información marcada (por ejemplo, órdenes de formato para visualizar el documento). El significado atribuido puede ser también estructural o descriptivo, en el sentido de que las marcas se interpretan como el reflejo de la estructura lógica del documento de acuerdo con un determinado dominio de discurso (por ejemplo, un libro consta de un título, un autor, una editorial, una secuencia de capítulos, etc.).
La ventaja del enfoque descriptivo frente al procedimental es que, mientras el segundo limita la utilización del documento a un único uso, el primero es independiente de usos específicos. En cualquier caso, para que dicha ventaja sea efectiva, es necesario que el lenguaje de marcas permita capturar las peculiaridades estructurales del documento marcado. Tal requisito puede satisfacerse disponiendo de la posibilidad de definir lenguajes de marcas específicos para cada clase de documentos y cada dominio de interpretación particular. Esta aproximación recibe el nombre de marcado generalizado. SGML (Standard Generalized Markup Language) [ISO86,Goldfard90] es el metalenguaje estándar de ISO para definir este tipo de lenguajes. XML [W3C98a, Goldfard98] (Extensible Markup Language) es otro metalenguaje de definición de lenguajes de marcado, inspirado en SGML, aunque menos amplio, que se plantea como la futura alternativa de estructuración de documentos en WWW (World Wide Web).
SGML/XML conciben la estructura de un documento como una jerarquía de elementos delimitados por marcas. Los contenidos de los elementos así delimitados pueden, a su vez, estructurarse en términos de otros elementos constituyentes más básicos, adecuadamente marcados, lo que conduce a una organización estructural arborescente. Asimismo es posible asociar, a cada tipo de marca, un conjunto de propiedades, atributos, que toman valores en unos determinados dominios, lo que permite capturar relaciones adicionales entre elementos de información. En SGML/XML tal descripción de la estructura conceptual de un documento constituye lo que se denomina su DTD (Document Type Definition). La inclusión explícita de una DTD en un documento permite la utilización de programas que permitan validar sintácticamente la estructura del contenido marcado del documento con respecto a esta DTD (parsers), así como programas orientados a la edición y manipulación directa de documentos SGML/XML. Dado que SGML/XML no asocia ninguna semántica de proceso específica a las marcas, lo más que estas herramientas software pueden ofrecer, en ausencia de información adicional, son opciones generales de proceso en base a la estructura conceptual genérica de los documentos SGML/XML, pero no implementar usos específicos que cobran sentido para clases particulares de documentos. Tales usos específicos demandan de una descripción explícita sobre como ha de procesarse cada elemento de información. Esta descripción supone dotar de un significado operacional al lenguaje de marcado utilizado. La siguiente sección revisa las propuestas más relevantes en dicha línea.
La utilización de un tipo específico de documentos con un propósito determinado demanda, tal y como se ha indicado, de mecanismos que permitan asociar significado operacional con los elementos del lenguaje utilizado para marcar el documento. La forma más directa de llevar a cabo esta tarea es asociar, con cada tipo de documento y uso posible, un programa que dé soporte a dicho uso. No obstante esta aproximación adolece de múltiples inconvenientes. No se trata ya únicamente del coste asociado a la misma, coste que podría aminorarse mediante la elección apropiada del lenguaje de programación, sino de la carencia de una descripción explícita del uso en sí, que queda enmascarada en el código del programa, con los consiguientes problemas de legibilidad y mantenibilidad. Se precisa, por tanto, de aproximaciones que permitan disponer de una descripción explícita de la semántica operacional requerida para la consecución del uso, así como de programas genéricos que permitan procesar dicha información con el fin de ofrecer la implementación efectiva del mismo. Una línea de investigación especialmente activa en el mundo de los lenguajes de marcado persigue proponer soluciones a estos requerimientos. Las propuestas más relevantes en esta línea son el uso de arquitecturas y el uso de técnicas transformacionales. A continuación se examina brevemente cada una de ellas.
El concepto de arquitecturas y patrones arquitectónicos en el mundo de los lenguajes de marcado es relativamente reciente, y se encuentra estrechamente ligado con el estándar ISO HyTime [ISO97a, Kimber98] para la descripción de aplicaciones hipermedia. La idea subyacente bajo las arquitecturas es abstraer las características relevantes de una determinada clase de aplicaciones (dominio de aplicación) y proporcionar un lenguaje de marcas en términos del cuál puedan describirse la estructura de las aplicaciones particulares en dicho dominio. Los componentes de dichos lenguajes de marcas se denominan patrones arquitectónicos. Como consecuencia de este análisis del dominio, es posible asociar significados operacionales precisos a estos patrones arquitectónicos. Asimismo es posible establecer, en base a criterios puramente sintácticos, un convenio que permita reconocer los componentes sintácticos de otros lenguajes de marcas como casos específicos de los patrones arquitectónicos de una determinada arquitectura (por ejemplo, utilizando atributos con valor fijo asociado a los elementos que introduzcan la correspondencia). Estos lenguajes fijan el vocabulario básico para describir un determinado tipo de aplicaciones en el dominio. Los documentos marcados de acuerdo con estos lenguajes son descripciones, a un nivel independiente de la implementación, de aplicaciones particulares pertenecientes a dicho tipo.
Las arquitecturas permiten asociar significado operacional a un determinado lenguaje de marcado mediante especialización, en sentido de que el lenguaje se deriva siguiendo los patrones arquitectónicos de la arquitectura elegida. Desde este punto de vista existe cierta analogía con esta aproximación y un paradigma orientado a objetos. Conceptualmente puede pensarse que un lenguaje que se ajusta a una arquitectura hereda la semántica y los procesos definidos sobre dicha arquitectura. Tal lenguaje puede pensarse como un refinamiento, orientado a un determinado dominio, de la arquitectura original, así como un lenguaje base para una nueva arquitectura. Esto conduce a una organización jerárquica de arquitecturas, cada vez más específicas.
La aproximación arquitectónica a la asociación de significado operacional a los lenguajes de marcado tiene el inconveniente de imponer restricciones estructurales (en virtud de la estructura definida para los patrones arquitectónicos) y pragmáticos (de uso, en virtud de la semántica asignada a la arquitectura, que, al final, deriva inevitablemente del uso o los usos atribuidos a la arquitectura), convenios que pueden no ser los más apropiados, o incluso entrar en conflicto, con las características estructurales que se requieren en un determinado dominio. A tal fin puede optarse por la solución opuesta: a partir del documento, especificar un conjunto de transformaciones de dicho documento a una representación explícita de su significado operacional (por ejemplo, otro documento para el que se haya definido un significado operacional). En el mundo de los lenguajes de marcado es posible encontrar varias propuestas en esta línea.
SGML incluye un mecanismo sencillo de transformación: los links. Este mecanismo permite especificar, mediante un formalismo basado en reglas de transformación, transformaciones simples sobre los elementos de un documento. Su principal limitación es la incapacidad para especificar transformaciones estructurales complejas. Esta es la razón que fundamenta la aparición de estándares más potentes orientados a describir los tratamientos a los que debe someterse un tipo de documentos que se adapta a un determinado marcado. DSSSL [ISO96] (Document Style Semantics and Specification Language) es un lenguaje orientado a describir el proceso al que ha de verse sometido un documento marcado de acuerdo a un determinado lenguaje de marcas. DSSSL define dos estilos diferentes de asociar significado operacional a un lenguaje de marcado: mediante la transformación de documentos en otros documentos, y mediante la transformación de documentos en descripciones abstractas del proceso a aplicar sobre dichos documentos. En el mundo XML existe un lenguaje análogo a DSSSL: XSL (Extensible Style Language) [W3C98b].
El objetivo central de la Tesis es proponer un esquema computacional que, basándose en la asignación de significado operacional a lenguajes de marcado generalizado, y mediante un enfoque integrado de las aproximaciones arquitectónicas y transformacionales, posibilite la descripción y generación de aplicaciones orientadas a la utilización de la información estructurada en términos de dichos lenguajes de marcado.
La Figura 1 ilustra gráficamente la idea que se persigue con este objetivo. De acuerdo con esta idea, la construcción de una aplicación que posibilite la utilización de documentos marcados de acuerdo con un marcado generalizado depende fuertemente de dos factores:
El esquema depende, en última instancia, de la asociación de significados operacional a lenguajes de marcado generalizado mediante el uso conjunto de un enfoque arquitectónico y transformacional. La descripción de la aplicación surge como consecuencia de la especificación de estos factores arquitectónicos y transformacionales. Bajo la suposición de que tales especificaciones son efectivas (y tal efectividad, junto con una eficiencia razonable, se puede garantizar mediante las aplicaciones de las tecnologías relativas a arquitecturas y transformaciones anteriormente descritas), se presuponen las siguientes ventajas para el esquema propuesto:
Figura 1. Esquema de descripción/generación de aplicaciones mediante combinación de técnicas arquitectónicas y transformacionales.
La naturaleza de la Tesis propuesta es fundamentalmente empírica. A tal fin es de vital importancia elegir un dominio de aplicación sobre el que probar experimentalmente la satisfacibilidad del objetivo propuesto. El dominio de aplicación elegido es el de las presentaciones multimedia. Las principales razones que justifican la elección de este dominio como campo de experimentación son las siguientes:
El plan de trabajo para la Tesis propuesta se basa en los siguientes pasos:
Esta Tesis se llevará a cabo en el seno del Grupo de Investigación en Ingeniería del Software e Inteligencia Artificial (ISIA) del Departamento de Sistemas Informáticos y Programación de la Universidad Complutense de Madrid.
|
[Feather89] |
Feather,M.S. "Reuse in the Context of a Transformation-Based Methodology". En Biggerstaff, T.J., Perlis,A.J. "Software Reusability. Volume I: Concepts and Models". ACM Press, 1989. |
|
[Fernández97] |
Fernandez-Manjon, B., Fernandez-Valmayor, A. "Improving World Wide Web Educational Uses Promoting Hypertext and Standard General Markup Language Content-based Features". Education and Information Technologies, vol 2, no 3. 1997. |
|
[Fernández98] |
Fernández-Manjón, B. Navarro, A. Cigarrán, J. Fernández-Valmayor, A. "Using Standard Mark-up in the Desing and Development of Web Educational Software". En "Proceedings of Teleteaching 98". Book Series of the Austrian Computer Society. 5th IFIP World Computer Congress. 1998. |
|
[Goldfard90] |
Goldfard, C.F. "The SGML Handbook". Oxford University Press 1990 |
|
[Goldfard98] |
Goldfard, C.F. Prescod, P. "The XML Handbook". Prentice-Hall. 1998. |
|
[Halasz94] |
Halasz,F. Mayer,S. "The Dexter Hypertext Reference Model". Communications of the ACM 37(2). 1994. |
|
[Hardman94] |
Hardman,L. Bulterman,D.C.A. van Rossum, G. "The Amsterdam Hypermedia Model: Adding Time and Context to the Dexter Model". Communications of the ACM 37(2). 1994. |
|
[Hix90] |
Hix,D. "Generations of User-Interfaces Management Systems". IEEE Software,7,5. 1990. |
|
[ISO86] |
International Standards Organization. "Standard Generalized Markup Language (SGML)". ISO/IEC IS 8879. 1986. |
|
[ISO96] |
International Standards Organization. "Document Style Semantics and Specification Language (DSSSL)". ISO/IEC 10179. 1996. Disponible on-line en: http://www.oasis-open.org/cover/dsssl.html
|
|
[ISO97a] |
International Standards Organization. "Hypermedia/Time-based Structuring Language (HyTime) 2d Edition". ISO/IEC 10744 . N1920rev. 1997. Disponible on-line en: http://www.ornl.gov/sgml/wg8/docs/n1920/html/n1920.html |
|
[ISO97b] |
International Standards Organization. "PREMO. Presentation Environment for Multimedia Objects". ISO/IEC 14478. 1997. |
|
[ISO99] |
International Standards Organization. "Standard Hypermedia/Multimedia Scripting Language (SMSL)". ISO/IEC 13240 (Draft). 1999. Disponible on-line en: http://www.permwave.com/smsl_cd.ps |
|
[Kimber98] |
Kimber, Eliot. "Practical Hypermedia: An Introduction to HyTime". A ser publicado por Prentice-Hall. 1998. Disponible on-line para revisión en: http://www.drmacro.com/bookrev |
|
[Maybury93] |
Maybury,M.T. "Planning Multimedia Explanations Using Communicative Acts". En "Intelligent Multimedia Interfaces" Maybury,M.T (ed). AAAI/MIT Press. 1993. |
|
[Puerta94] |
Puerta,A. Eriksson, H. Gennari, J.H. Musen,M.A. "Model-Based Automated Generation of User Interfaces". IEEE Multimedia. 1996. |
|
[Puerta97] |
Puerta, A. "Model-based Development Tools". IEEE Software, 14(4). 1997 |
|
[Wahlster93] |
Wahlster, W. André, E. Finkler, W. Profitlich, H-J. Rist, T. "Plan-Based Integration of Natural Language and Graphics Generation". Artificial Intelligence, 63 (1-2). 1993. |
|
[Weitzman96] |
Weitzman,L. Wittenburg, K. "Grammar-Based Articulation for Multimedia Document Design". Multimedia Systems Journal 4. 1996.
|
|
[W3C98a] |
Word Wide Web Consortium. "Extensible Markup Language (XML) 1.0". W3C Recommendation REC-xml-19980210. 1998. Disponible on-line en: http://www.oasis-open.org/cover/xml.html |
|
[W3C98b] |
Word Wide Web Consortium. "Extensible Stylesheet Language (XSL) 1.0". W3C Working Draft WD-xsl-19980818. 1998. Disponible on-line en: http://www.oasis-open.org/cover/xsl.html |