Full text
76 Utilización de NDT y de las Técnicas de Satisfacción de Restricciones para la Generación de Itinerarios Culturales Using NDT and the Restrictions Satisfactions Techniques to Generate Cultural Tours M.J.Escalona, J.A.Ortega, J. Torres, M.Mejías, J.A. Álvarez Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla Av. Reina Mercedes S/N. Sevilla (Spain) {escalona, ortega, jtorres, risoto, juan}@lsi.us.es Resumen El interés por el conocimiento de patrimonio cultural ha crecido en los últimos años. El avance de las comunicaciones y las nuevas tecnologías, así como el uso de Internet, han abierto una nueva vía de difusión en los centros de información turística y en los centros de gestión patrimonial que está provocando la necesidad de desarrollar nuevos sistemas de consulta vía web (Escalona et al., 2002). En este sentido, la expresividad que el conocimiento cualitativo puede ofrecer a la hora de expresar una consulta en este tipo de sistemas resulta muy conveniente. En este trabajo, se presenta un problema real en el que se quiere ofrecer al público el conocimiento del patrimonio cultural de Andalucía, permitiendo que, mediante una interfaz sencilla, pueda seleccionar sus preferencias, para obtener itinerarios culturales que verifiquen determinadas restricciones definidas por el usuario en su visita cultural. Para ello, se propone hacer uso de las tecnologías de razonamiento cualitativo (Kuipers et al., 1994), como soporte adecuado para la resolución del problema de la generación automática de itinerarios culturales, y de restricciones semicualitativas (Kay, 1996) para el diseño de la interfaz, así como de metodologías orientadas al desarrollo de sistemas web que permitan el correcto modelado del mismo. Palabras clave: Razonamiento cualitativo y semicualitativo, técnicas de resolución de restricciones, ingeniería web. Abstract The rise of interest for knowing more about the cultural heritage grew in the last years. The advances of communications and the new technologies, and also the use of Internet, opened a new via to spread out the information in tourist information centres and centres to manage heritage information. This new way is producing the necessity to develop new enquiry systems via Internet (Escalona et al., 2002). In this sense, the power of expression offered by the cualitative knowledge to do queries is very suitable in this kind of systems. In this work, a real problem to offer information to the tourist about the cultural heritage in Andalusia is presented. This system lets the user, with a very easy interface, selects cultural routes adapted to his preferences. These routes are designed using some constraints defined by the user in his cultural visit. In order to get this system, we proposed to apply technologies based on cualitative reasoning (Kuipers et al., 1994) as asuitable base to solve the problem of cultural routes. Also, we propose use semicualitative (Kay, 1996) reasoning techniques to develop the interface more suitable and web methodologies to design the system. Keywords: Cualitative and semicualitative reasoning, techniques to solve constraints, web engineering Computación y Sistemas. Vol. 7 No. 2 pp. 76-91 © 2003, CIC-IPN, ISSN 1405-5546 Impreso en México
77 1. Introducción El interés por el patrimonio cultural y los monumentos ha crecido sorprendentemente en los últimos años. Este interés, unido a las nuevas posibilidades que Internet está ofreciendo como medio de difusión, ha provocado que las organizaciones que gestionan este tipo de información se planteen desarrollar sistemas de consulta vía web. El perfil del público al que se destinan este tipo de sistemas puede ser muy variado, por lo que es necesario que estos sistemas ofrezcan una interfaz adecuada y sencilla de usar, que se asienten sobre un sistema correcto de navegación y sobre un potente motor de realización de consultas, con idea de que el usuario obtenga la información que desee de la manera más rápida y sencilla posible (Martín, 2000). En este trabajo se plantea un problema real en una organización pública española, el Instituto Andaluz de Patrimonio Histórico (IAPH, 2003), que desea ofrecer la posibilidad de generar itinerarios culturales adecuados a cada turista de Andalucía a través de Internet. Para resolverlo, se ofrece una solución basada en el uso de tres tecnologías. 1- La primera tecnología que se propone aplicar es NDT (Navigational Development Techniques) (Escalona et al., 2003). NDT es un entorno metodológico compuesto por un conjunto de técnicas para capturar los requisitos y modelar los aspectos propios de los sistemas web de una manera sencilla, pero a la vez de gran calidad. 2- En una segunda fase, y conociéndose ya los requisitos del sistema, es necesario diseñar una interfaz agradable y sencilla de utilizar para el usuario, que a la vez ofrezca potencia semántica suficiente para la generación de cualquier consulta. En este sentido, se proponen utilizar técnicas de razonamiento cualitativo y semicualitativo y las técnicas desarrolladas para su manipulación 3- Y por último, se propone hacer uso de las tecnologías de la programación basada en restricciones, como herramienta para la ejecución de las consultas que plantee el usuario. Estas tecnologías pueden tener campos de aplicación en muchos ámbitos. Sin embargo, en este trabajo, aunque se hace una breve introducción a cada una de ellas, se centra la aplicación de las mismas a la generación automática de itinerarios culturales en Internet. Para ello, en el apartado segundo se hace una presentación general de la tecnología usada, tanto de NDT como de las técnicas de satisfacción de restricciones. En el tercer apartado se plantea el problema y el modo en que son aplicadas las tecnologías presentadas al mismo. En el apartado cuarto se ofrece la solución al problema y el algoritmo de trabajo diseñado para su resolución. Y por último, en el apartado quinto se plantean las conclusiones y los trabajos futuros. 2. Planteamiento del problema y tecnología utilizada El IAPH se encarga de catalogar y de gestionar la información sobre el patrimonio histórico de Andalucía. Desde sus comienzos, una de las tareas más importante que tiene asignada es la de difundir la información del patrimonio a los grupos de investigación interesados y al público en general (SIPHA, 2003). Hasta ahora, el investigador mandaba por e-mail o teléfono la solicitud de información que era suministrada por el IAPH cuando le era posible. Esta forma de trabajar generaba muchos problemas: poca capacidad de respuestas, los investigadores no obtenían respuestas inmediatas, etc. Problemas que además se van ampliando a medida que crece el número de investigadores y turistas interesados en este tipo de información. Aquí se plantea el resolver este problema ofreciendo un sistema que permita hacer consultas a través de Internet, y que conectado a las bases de datos del IAPH, devuelva las respuestas en tiempo real. De esta forma, la capacidad de respuesta es inmediata y puede ser consultada por un usuario cualquiera desde cualquier punto del mundo. Una vez vista esta necesidad, es necesario plantear cuál es el proceso a seguir para el desarrollo del sistema. El primer punto a tratar es la delimitación del problema. En el IAPH por cada monumento se guarda una gran cantidad de información. Esta información va desde datos sencillos, como el nombre del monumento, hasta algunos más complejos como los datos sobre M.J.Escalona, J.A.Ortega, et al.
78 los estudios de conservación que se le realizan a los monumentos. Para esta delimitación del problema se ha usado NDT, como ya se ha comentado. NDT ha permitido delimitar el problema y diseñar la interfaz, tanto de consulta como de salida. En el desarrollo de esta interfaz, se han aplicado tecnologías de razonamiento semicualitativo. El usuario puede expresar sus consultas usando un lenguaje sencillo, basado en expresiones semicualitativas. Estas expresiones, de manera interna, son traducidas a restricciones. La búsqueda del mejor itinerario para un turista concreto, se consigue aplicando un programa de resolución de restricciones a los intereses concretos que el usuario expresa mediante el razonamiento semicualitativo. En este primer apartado, se presentan las tecnologías usadas en esta solución de manera breve. 2.1. NDT (Navigational Development Techniques) En los últimos años ha surgido un gran interés por los sistemas de información web. Las plataformas de desarrollo y la arquitectura de los nuevos sistemas de información han evolucionado hacia Internet. Todo ello ha provocado que también el campo de la ingeniería del software se mueva en estos entornos y se haya producido el nacimiento de una ingeniería del software orientada a la web que se está pasando a denominar Ingeniería Web (Deshpande et al., 2002). Los sistemas web han sido caracterizados por sus características especiales que dan una gran importancia a aspectos como la navegación y la interfaz, que han pasado a adquirir un papel crítico (Koch, 2001). Por ello, la mayoría de las propuestas metodológicas que surgen en el marco de la ingeniería web, ofrecen guías, modelos y técnicas, que permiten tratar adecuadamente estos nuevos aspectos. La tendencia más generalizada dentro de la ingeniería web es la de separar el modelado de estos aspectos y tratar cada uno de ellos de manera independiente (Koch, 1999; Barry et al., 2001; Escalona, 2003). Esta idea de separación de conceptos, inicialmente propuesta por OOHDM(Rossi, 1996), ha sido aceptada por la gran mayoría de los grupos de investigación y se ha comprobado que ofrece muy buenos resultados. Sin embargo, cuando se aplican estas propuestas metodológicas a sistemas reales, existen muchos puntos abiertos. Por un lado, desde sus comienzos las propuestas para el desarrollo de sistemas web han estado focalizadas en la fase de diseño. Pero, surge la pregunta, ¿cómo hay que interactuar con el usuario a la hora de iniciar el desarrollo de un sitio web?. Por otro lado, la separación en el modelado de los aspectos conceptuales del sistema, navegacionales o de interfaz, es sencillo de entender en la fase de diseño, pero ¿es realmente fácil de conseguir?. Tras realizar un estudio comparativo sobre estos aspectos (Koch, 1999; Barry et al., 2001; Escalona, 2003), se puede concluir que ninguna de las dos respuestas está resuelta. Con la motivación de resolverlas, se ha desarrollado NDT. NDT es una propuesta metodológica compuesta por un proceso en el que se plantean técnicas para capturar, describir y validar los requisitos de un sistema web y, partiendo de esos requisitos, generar de manera sistemática los modelos de análisis del sistema. El proceso de desarrollo de NDT es un proceso que se podría definir como bottom-up. Éste se centra en una detallada fase de ingeniería de requisitos guiada por objetivos, que contempla tanto la captura, como la definición y la verificación de los requisitos (Durán et al., 1999). El ciclo comienza definiendo los objetivos y en base a éstos se describe un proceso por el que se pueden capturar y definir los diferentes requisitos del sistema. Éstos son clasificados y tratados dependiendo de la tipología a la que pertenezca. NDT divide los requisitos en: • Requisitos de almacenamiento de información, que definen qué información se va a manejar en el sistema y cómo se relacionan entre sí. NDT permite también definir nuevas naturalezas de datos que se vayan a utilizar en el sistema. • Requisitos de actores, en los que se definen los roles que podrán interactuar con el sistema y las relaciones que se pueden producir entre ellos. • Requisitos funcionales, que permitirán definir la funcionalidad del sistema. Utilización de NDT y de las técnicas de satisfacción de restricciones para la generación de itinerarios culturales
79 • Requisitos de interacción, que definen la estructura de navegación a alto nivel del sistema, así como los criterios de recuperación que se van a ofrecer a los diferentes actores. • Requisitos no funcionales, que recogen otros requisitos del sistema. Una vez validados estos requisitos, el proceso de NDT propone generar tres modelos: el modelo conceptual, que representa mediante un diagrama de clases la estructura estática del sistema; el modelo de navegación, que representa mediante un conjunto de diagramas con una notación muy similar a la del diagrama de clases la forma en que se podrá navegar en el sistema; y el modelo de interfaz abstracta, que mediante un conjunto de prototipos evaluables, permite mostrar cómo se va a interactuar con el sistema. La característica más destacable del proceso propuesto por NDT es que el paso de especificación de requisitos a estos modelos se hace de una manera sistemática e independiente. Es una manera sistemática porque NDT define algoritmos que indican cómo conseguir cada modelo a partir de la definición de requisitos. Y es independiente porque, a pesar de que existen relaciones entre los modelos, hecho que es imposible de evitar puesto que todos se refieren a un mismo sistema, no es necesario conseguir el modelo conceptual para conseguir el modelo de navegación o el de interfaz abstracta. Desde los requisitos se definen tres procesos que permiten conseguir estos tres modelos. A estos modelos que se consiguen de manera sistemática se les denomina modelos básicos. Así se tiene el modelo básico conceptual, el modelo básico navegacional y el modelo básico de interfaz abstracta. Estos modelos básicos deben ser estudiados por el grupo de analistas y podrán ser modificados si se estima oportuno. Sin embargo, un cambio en alguno de estos modelos puede ser fuente de un error o incongruencia cometida durante la ingeniería de requisitos o puede generar cambios en otros modelos. Por ello, tras los procesos de generación de los modelos básicos, NDT ofrece una guía con todos los cambios que se pueden realizar y en qué medida afectan a otros modelos del sistema o a la propia definición de requisitos. Para dejar más claro el proceso de NDT, en la figura 1 se muestra un diagrama de actividades (Booch et al., 2000) que representa estas ideas. Para terminar con la descripción general de NDT, indicar que se caracteriza por varios aspectos: 1- El proceso de NDT está totalmente basado en la definición de requisitos. Si se profundiza más en él, se verá que a su vez, el proceso de definición de requisitos se basa mucho en los diferentes roles de usuario que puedan aparecer en el sistema. Fig. 1. Actividades de NDT M.J.Escalona, J.A.Ortega, et al.
80 2- NDT no contempla las fases avanzadas del ciclo de vida del proyecto, como podrían ser diseño, implementación o mantenimiento. Es un proceso que permite conseguir el modelo conceptual, el modelo de navegación y el modelo de interfaz abstracta del sistema de una manera sistemática. 3- En NDT estos flujos de trabajo se realizan de una forma sistemática. La generación de los modelos básicos se puede realizar de manera automática si se hace uso de una herramienta CASE que acompaña a NDT: NDT-Tool (Escalona et al., 2003). 4- NDT es una propuesta orientada al proceso, puesto que para cada actividad se define de manera concreta cuál es el proceso a seguir, detallándolo de manera exhaustiva. 5- NDT es también una propuesta orientada al producto. En la figura 1, se muestran los resultados que se obtienen. En la especificación de requisitos se genera un documento de especificación de requisitos y en el análisis, el documento de análisis del sistema y los prototipos que permiten evaluar los resultados a los usuarios y clientes. La estructura que deben tener estos resultados se encuentra detallada de manera concreta. 6- Además, también se puede añadir que NDT es una técnica orientada a la técnica, puesto que define de manera exhaustiva todas las técnicas y los modelos que propone. 2.2 La programación con restricciones y el conocimiento cualitativo Las ideas iniciales sobre la programación con restricciones nacen en los años 70 mediante la forma de resolver problemas de satisfacción de restricciones, normalmente motivados por problemas del campo de procesamiento de imágenes. Las generalidades de la programación con restricciones se pueden encontrar en los trabajos de (Van Hentenryck et al., 1996; Freuder et al., 2000). La programación con restricciones se refiere al proceso de solucionar problemas especificados como un conjunto de restricciones. El método más común de especificar las restricciones es como un problema de satisfacción de restricciones (CSP). Un CSP se define por un conjunto de variables, cada una de las cuales puede tener un conjunto de posibles valores (su dominio), y un conjunto de restricciones (relaciones) entre estas variables. La solución a un CSP es un conjunto de asignaciones variable-valor que satisfacen las restricciones. Los CSP dominantes involucran a variables con dominios discretos y finitos. Los CSP son resueltos usando técnicas llamadas de consistencia en conjunción con Backtracking. Este paradigma de programación permite formular el conocimiento como un conjunto de restricciones sin especificar el método por el cuál estas restricciones se satisfacen. Se ha desarrollado una amplia variedad de técnicas en la bibliografía con el objetivo de encontrar las soluciones parciales o completas para diferentes clases de expresiones de las restricciones. Se ha aplicado esta técnica a diferentes tareas tales como: diseño, diagnosis, mantenimiento de la verdad, planificación, scheduling, razonamiento espacio-temporal, programación lógica e interfaces de usuarios, etc. Muchos de ellos son problemas NP-completos y por tanto requieren un tiempo exponencial en resolverse. En el presente trabajo, se muestra que el razonamiento que realiza el programa para encontrar los itinerarios culturales sujetos a restricciones se basa principalmente en la resolución de un problema CSP mediante la programación con restricciones. Las soluciones obtenidas son soluciones completas, válidas y estables. 2.2.1 Los problemas de satisfacción de restricciones Los CSP introducidos anteriormente, están constituidos por un conjunto de variables, cada una con un dominio determinado (discreto, continuo y conjunto) y un conjunto de restricciones que, en un principio, tienen la misma fuerza (en algunos casos unas restricciones pueden ser más prioritarias que otras), pero que pueden ser de diferente naturaleza: lógica, algebraica, etc. Las restricciones representan los requisitos o condiciones que deben cumplir las soluciones. Una restricción (VanHentenryck et al., 1996) puede pensarse intuitivamente como una relación en un espacio de posibilidades. Matemáticamente son relaciones que se especifican de forma precisa entre variables, cada una pudiendo tomar valores dentro de un dominio predefinido. Las restricciones acotan los posibles valores que las variables pueden tomar y representan alguna información parcial acerca de las variables de interés. Para resolver problemas CSP, se utilizan lo que se define como red de restricciones, definida por: Utilización de NDT y de las técnicas de satisfacción de restricciones para la generación de itinerarios culturales
81 V = {X1,..,Xn} D = {D1,..,Dn} C = {C1,...Cs} donde V es el conjunto de variables de la red, tomando cada Xi valores dentro de un dominio de Di. C, por su parte, representa el conjunto de restricciones de la red. En cada una de las restricciones Ci participan variables del conjunto V. Cada restricción es una relación definida en un subconjunto de V. Las tuplas de esta relación son todas aquellas instancias de las variables que permiten que dicha relación se cumpla. Una restricción es, por tanto una relación que debe ser satisfecha por valores posibles de las variables de la misma. Operadores Unarios Etiqueta cualitativa Operador Intervalo muy bajo/ muy cercano NG [-v∞ -β] moderadamente bajo/ moderadamente cercano NM [-β, -α] ligeramente bajo /ligeramente cercano NP [-α, 0] Medio 0 0 ligeramente alto/ ligeramente lejano PP [0, α] moderadamente alto/ moderadamente lejano PM [α, β] muy alto/ muy lejano PG [β, v∞] Operadores binarios relacionados con la diferencia Etiqueta cualitativa Operador Intervalo mayor o igual > [0, v∞] Igual = 0 menor o igual < [-v∞ ,0] Operadores binarios relacionados con el cociente Etiqueta cualitativa Operador Intervalo mucho menor que/ muy cercano a ‹‹ [0, Pre] moderadamente menor que/ moderadamente cercano a -< [Pre, (1+Pre)-1 ] ligeramente menor que/ ligeramente cercano a ~< [(1+Pre)-1 , 1] aproximadamente igual a = [(1+Pre)-1 , 1+Pre] ligeramente mayor que/ ligeramente lejano a >~ [1, 1+Pre] moderadamente mayor que/ moderadamente lejano a >- [1+Pre, 1/Pre] mucho mayor que/ muy lejano a ›› [1/Pre, v∞] Tabla 1. Etiquetas y operadores definidos 2.2.2 El conocimiento cualitativo La idea del conocimiento cualitativo en este problema permite introducir etiquetas cualitativas que tengan un significado definido en el sistema, de manera que haciendo uso del conocimiento del experto, estas etiquetas puedan ser transformadas en restricciones que permitan definir un CSP para el problema concreto. Para el ejemplo de los monumentos, se ofrecen etiquetas cualitativas que van a definir, de forma transparente al usuario, un intervalo de valores (Vescovi, 1995). El intervalo de valores que define una etiqueta cualitativa lo marca el experto en patrimonio. En la tabla 1 se muestran las etiquetas definidas para el problema tratado. Cada etiqueta define un intervalo que, M.J.Escalona, J.A.Ortega, et al.
82 en la tabla 1, se encuentra parametrizado. Como se ve más adelante, estos parámetros, para cada uno de los campos que se ven afectados por la aplicación de estas etiquetas, toman unos valores concretos que son definidos por los expertos en patrimonio. Las etiquetas definidas se pueden clasificar en función de los operadores que llevan asociados. Así, se tienen los unarios y los binarios, que a su vez se dividen en los relacionados con la diferencia y los relacionados con el cociente. Cada uno de estos operadores llevan asociada una etiqueta cualitativa, que es con lo que trabajará el usuario, y un rango, que estará parametrizado mediante unas variables que se determinarán con ayuda del experto. En la tabla 1 se muestran las etiquetas e intervalos asociados a cada operador de los posibles.Los intervalos de los operadores unarios se han definido de acuerdo a Travé-Massuyès (Travé-Massuyès et al., 2002). En ellos, alfa y beta sirven para diferenciar los rangos donde toman valores las magnitudes cualitativas. Con respecto a los valores binarios, cada uno de ellos se representa también mediante un intervalo (Mavrovouniostis, 1990), que viene dado en función del parámetro de tolerancia Pre, que representa un valor “mucho menor que uno”. En ambos casos, v∞ se refiere al valor infinito. Evidentemente, a la hora de definir estos parámetros, definidos con ayuda de los expertos, hay que tener en cuenta que para que la definición de los operadores sea coherente, es necesario que existan entre los operadores unarios y binarios determinadas relaciones (Travé-Massuyès et al., 2002; Travé-Massuyès et al., 1997). 3. Definición del problema mediante NDT La primera fase en el proceso de resolución es determinar realmente cuál es el problema. Para ello, se aplica la propuesta de NDT. Esta propuesta permite establecer los datos que se deben manejar en el sistema, las relaciones entre ellos y las necesidades de consulta y recuperación de información del sistema. Como resultado de la aplicación de NDT, se concluye que, entre los datos que, para los bienes, se almacenan y se ofrecen al usuario, existe una gran variedad, tanto en significado como en medio de almacenamiento (texto, imágenes, etc.) Los datos se agrupan en diferentes módulos, si bien, dentro del problema planteado, sólo algunos de ellos tienen interés. En concreto, mediante NDT, se establece que los módulos que interesan al universo del discurso del problema de generación de itinerarios culturales son los siguientes: • Módulo de datos de identificación, donde se encuentra información como la denominación y el código oficial del monumento, si es un bien visitable y las horas en las que se puede visitar, así como el precio de acceso para la visita. • Módulo de datos de localización. Es quizás uno de los más interesantes dentro de este trabajo, pues es uno de los que contiene gran parte de la información utilizada en las restricciones. Dentro de los datos de este módulo se encuentran la provincia en la que se encuentra el bien, el municipio en el que se ubica, la dirección en la que se localiza y algo que va a ser esencial en el trabajo, las coordenadas utm. Las coordenadas utm recogen las coordenadas (x, y) de los bienes. De esta forma se tiene un bien ubicado en el plano de Andalucía. • Módulo de datos de descripción. Es el otro gran módulo con información de gran interés dentro del problema planteado. En este módulo se almacenan datos que permiten describir el bien cultural. De ellos, los más destacados para un bien son: § Tipología: indica con qué tipo de bien se está trabajando: un cofre, una caja, etc. § Estilo: un bien puede tener varios estilos artísticos, como barroco o mudéjar. § Período histórico: es el período o períodos históricos en los que se ubica el bien. § Autor: recoge a todos los autores que han participado en su construcción. § Descripción: es un campo de texto en el que se describe de forma documental al bien. § Historia: es también un campo de texto que cuenta la historia que ha tenido ese bien. Utilización de NDT y de las técnicas de satisfacción de restricciones para la generación de itinerarios culturales
83 • Módulo de imágenes: muestra todos los documentos gráficos que están relacionados con el bien. Para este problema es de especial interés, porque en los resultados de las búsquedas se pueden presentar estas imágenes al usuario. Los bienes tienen otros datos interesantes, como pueden ser los datos bibliográficos de libros o revistas que lo han estudiado, los datos sobre el estado de conservación en el que se encuentran y otros módulos que se salen fuera del objetivo de este trabajo. NDT utiliza para la descripción de los requisitos patrones o plantillas con una estructura predefinida (Durán et al., 1999). Toda esta información, se recogió mediante los patrones definidos en NDT para los requisitos de almacenamiento de información. En la tabla 2 se muestra un ejemplo de una de ellas. RA-01 Monumento Objetivos asociados OBJ-01 : Gestionar los monumentos Descripción El sistema deberá almacenar la información correspondiente a los bienes muebles de las provincias de Andalucía. En concreto: Nombre y Descripción Naturaleza Código del bien: Es el número de identificación que recibe el bien según el sistema de información del patrimonio histórico. Código Denominación: Es el título del bien según su catalogador. Cadena Dirección: recoge la dirección en la que se encuentra el bien Cadena Caracterización: Recoge los ámbitos de investigación en los que se puede ubicar el bien. Enumerado Valores: {Artístico Arqueológico, Etnológico} Cardinalidad: 1..3 Provincia: Provincia andaluza en la que se encontró el bien Enumerado Valores:{Almería, Cádiz, Córdoba, Granada, Huelva, Jaén, Málaga, Sevilla} Municipio: Municipio andaluz en el que se encontró el bien Enumerado Visitas: indica si el bien es visitable o no Enumerado Valores:{Sí, No} Horario: describe el horario de visita del bien Cadena Imágenes: Recoge todas las imágenes que se tienen de un bien mueble. Imagen Cardinalidad: 0..n Períodos Históricos: Se refiere a todos los períodos históricos dentro de los que se ubica el bien. Cadena Cardinalidad: 0..n Estilos: Recoge todos los estilos artísticos que se encuentran plasmados en el bien. Cadena Cardinalidad: 0..n Tipologías: Es una lista de todos los tipos de obras dentro de los que se puede ubicar el bien. Cadena Cardinalidad: 0..n Autores: Almacena una lista de todos los autores que han participado en la realización del bien. Cadena Cardinalidad: 0..n Descripción: Es una descripción libre de la pieza dada por el catalogador. Cadena Datos específicos Historia: Es un campo de texto libre en el que se hace un resumen de la historia de la pieza. Cadena Table 2. Ejemplo de patrón de NDT para describir los requisitos de almacenamiento. M.J.Escalona, J.A.Ortega, et al.
84 Con plantillas similares, pero usando las respectivas a las frases, o requisitos que permiten describir en NDT la manera en la que el usuario desea recuperar la información, se define el lenguaje de consulta que se ofrece al usuario. La idea inicial de la solución propuesta es ofrecer la posibilidad de expresar, mediante conocimiento cualitativo y restricciones, los valores para ciertos campos de los descritos anteriormente. A partir de ellos, la idea que se persigue es proporcionar de forma automática un itinerario de visitas, de acuerdo a las restricciones que se planteen. Para ello, haciendo uso de los modelos de NDT, se diseña una interfaz, similar a la mostrada en la figura 2. En esta interfaz, el usuario introduce los valores de los campos que desee restringir, el municipio de Andalucía desde el que va a partir en su itinerario, la cantidad de kilómetros que desea realizar y las restricciones que considere con respecto al tiempo y al coste. Como puede verse, estos parámetros se pueden plantear desde una perspectiva semicualitativa, esto es, mezclando información cualitativa y cuantitativa (Ortega, 2000). Se permite que en los diferentes campos de la consulta se incluyan etiquetas cualitativas conjuntamente con información puramente cuantitativa. Fig. 2. Pantalla para realizar búsquedas En esta ventana, además se debe indicar el resultado de la búsqueda, respecto a qué magnitud se quiere optimizar: tiempo, espacio o coste, dependiendo de lo que sea más prioritario a la hora de establecer el itinerario para el usuario (parte derecha superior de la pantalla). Esta selección indica al algoritmo de satisfacción de restricciones aplicado el criterio de la función objetivo a optimizar. Con respecto a la segunda parte de la pantalla de consulta, la aplicación debe permitir introducir más de un valor dentro de cada campo y hacer consultas avanzadas. Por ejemplo, el usuario puede indicar que a lo sumo desea hacer aproximadamente unos 150 Km y visitar yacimientos arqueológicos del período edad media, pero deben cumplir que su tipología sea de edificios urbanos, todo esto partiendo de la ciudad sevillana de Carmona. Esta es la consulta requerida en la figura 2. Es interesante también comentar que las restricciones entre las provincias y los municipios son disyuntivas, pues no puede haber un mismo bien en dos provincias o dos municipios a la vez. Además de la provincia y el municipio, el usuario puede añadir restricciones dentro de la tipología, el estilo, el período histórico y el autor. Estas restricciones pueden ser disyuntivas (usando el botón “o” que cada campo tiene a su derecha) o conjuntivas (usando el botón “y”) según el criterio de búsqueda deseado por el usuario. Una vez rellena la solicitud de búsqueda, el sistema hace uso del algoritmo de resolución de restricciones, desarrollado mediante técnicas de programación con restricciones. La solución de este algoritmo debe mostrarse en una interfaz adecuada y sencilla, fácil de entender para el usuario. Para ello, mediante el uso de NDT se diseñó Utilización de NDT y de las técnicas de satisfacción de restricciones para la generación de itinerarios culturales
91 Manuel Mejías. Se tituló como ingeniero industrial en 1985 y se doctoró como Ingeniero Industrial en 1997 en la Universidad de Sevilla (España). Ha trabajado como profesor en ingeniería del software en la Universidad de Sevilla desde 1987. El Dr. Mejías ha centrado su actividad investigadora en técnicas de descripción formal, modelado de sistemas orientados a objeto, procesos de desarrollo software, métricas y gestión de proyectos software. Juan Antonio Álvarez. Nació en 1979 y obtuvo la titulación de Ingeniero Superior en Informática en el 2003 en la Universidad de Sevilla en España. Es profesor colaborador desde ese año en el Departamento de Lenguajes y Sistemas Informáticos en la Universidad de Sevilla. Sus temas de investigación son los Lenguajes de programación y la Ingeniería del Software, así como su aplicación a la World Wide Web. M.J.Escalona, J.A.Ortega, et al.