1 Ontologías y Agentes Máster “Ingeniería del Software, Métodos Formales y Sistemas de Información” Universidad Politécnica de Valencia Curso Eduardo Mena Dpto. de Informática e Ingeniería de Sistemas Universidad de Zaragoza Valencia, Mayo 2014
2 Grupo de Sistemas de Información Distribuidos (SID)Desarrollo de proyectos I+D en el área de gestión de datos Bases de datos distribuidas y heterogéneas Sistemas de información globales, Web Semántica Servicios de datos en entornos móviles Contacto: Eduardo Mena En cooperación con el Grupo de Bases de Datos Interoperantes (BDI), Universidad del País Vasco, Eduardo Mena "Ontologías y Agentes"
3 Áreas de Aplicación (1/2)Bases de datos distribuidas y federadas Sistemas de información globales, Web semántica Eduardo Mena "Ontologías y Agentes"
4 Áreas de Aplicación (2/2)Servicios de datos en entornos móviles Sistemas de agentes inteligentes (móviles) Eduardo Mena "Ontologías y Agentes"
5 Índice (1/2) Ontologías Representación del conocimientoDescripciones semánticas Lenguajes de representación del conocimiento Sistemas Terminológicos Lógica de descripciones Ejemplos de sistemas Aplicación de las ontologías Bases de datos federadas Sistemas de información globales Web Semántica Eduardo Mena "Ontologías y Agentes"
6 Índice (2/2) Sistemas de agentes inteligentes Agentes inteligentesCaracterísticas Agentes móviles Aplicación de los agentes a sistemas de información A nivel de diseño A nivel de comunicaciones remotas Ejemplos de sistemas basados en agentes Eduardo Mena "Ontologías y Agentes"
7 Ontologías Eduardo Mena "Ontologías y Agentes"
8 ¿De qué hablaremos? Ontologías: desde la IA y BDDefiniciones y estado del arte Reglas prácticas para la creación de ontologías Ejemplos de aplicación de las ontologías Distintos campos de aplicación Distintos sistemas Uso de ontologías: Problemas principales Eduardo Mena "Ontologías y Agentes"
9 Datos, Metadatos, Conocimiento(BD) Hechos, estado de las cosas Metadatos Datos sobre los datos Información Datos + semántica Conocimiento (Epistemología, Chisholm 1977) C sabe k k es cierto C acepta k k es evidente para C (IA) Permite comportamiento inteligente Eduardo Mena "Ontologías y Agentes"
10 Metadatos Información semántica sobre los datos Objetivo ProblemaDescribir contenidos Separar datos de significado Permitir comportamiento “inteligente” Problema Su generación es difícil de automatizar Eduardo Mena "Ontologías y Agentes"
11 Información Es la representación del conocimiento, comunica la estructura del conocimiento a través de datos, la información es la forma tangible y comunicable del conocimiento Las escuelas y universidades tienen como actividad central propiciar el conocimiento a partir de la información Eduardo Mena "Ontologías y Agentes"
12 Conocimiento Es todo lo que se ha aprendido y organizado de acuerdo a aquellos conceptos, imágenes o relaciones que ha podido dominar; el conocimiento es una abstracción mental Supone cierto razonamiento y enjuiciamiento que organiza la información mediante su comparación y clasificación Eduardo Mena "Ontologías y Agentes"
13 “Especificación de una conceptualización”¿Qué es una ontología? “Especificación de una conceptualización” (T. Gruber) También es: Conocimiento Descripciones semánticas Metainformación ¿ Base de conocimientos ? ¿ Taxonomía ? ¿ Jerarquía de clases ? Sistema de gestión del conocimiento Representación ¿ Expresividad ? ¿ Lenguaje interrogación ? ¿ Capacidades Deductivas ? Eduardo Mena "Ontologías y Agentes"
14 Ventajas Depende del contexto, en sistemas de información:Mejor consultar una ontología que los depósitos de datos Visión homogénea de toda la información (heterogénea) disponible Alto nivel semántico Conocimiento compartido Metainformación sobre los datos Ej. Ontología biblioteca Eduardo Mena "Ontologías y Agentes"
15 Ejemplo: Stanford-I Biblio-Thing Document Conference Agent PersonOrganization Author Technical-Report Book Publisher University Miscellaneous-Publication Proceedings Edited-Book Thesis Technical-Manual Periodical-Publication Cartographic-Map Computer-Program Doctoral-Thesis Multimedia-Document Journal Newspaper Artwork Master-Thesis Magazine Eduardo Mena "Ontologías y Agentes"
16 Ejemplo 2: subconjunto de WordNet 1.5Print-Media Journalism Press Publication Periodical Newspaper Magazine Book Journals Pictorial Series Trade-Book Brochure TextBook SongBook Reference-Book PrayerBook CookBook Encyclopedia WordBook HandBook Directory Instruction-Book Annual GuideBook Manual Bible Instructions Reference-Manual Eduardo Mena "Ontologías y Agentes"
17 Problemas con las OntologíasFuerte carga filosófica No olvidar contexto aplicación Difícil definición/explotación Elegir bien el sistema de representación del conocimiento Ingeniería del conocimiento, no automatizable Experiencia Complejidad del sistema ¿Realmente necesitamos una ontología? Tamaño (Ej: Cyc) Conocimiento distribuido: ontologías especializadas en dominios Eduardo Mena "Ontologías y Agentes"
18 Ontologías Distribuidas vs. Ontología GlobalEduardo Mena "Ontologías y Agentes"
19 Construcción de ontologíasLenguaje (signos + semántica) Términos (conceptos, atributos), relaciones, reglas, instancias Representan un punto de vista/dominio No hay lugar para la redundancia Eduardo Mena "Ontologías y Agentes"
20 Sistemas de Representación del conocimientoPermiten: Crear ontologías/bases de conocimiento Y algunos: Manipular/interrogar ontologías Incluso otros: Introducir/recuperar instancias (datos) Lenguajes Ontolingua, KIF, KQML, DL, DAML, OWL ¿Cuál necesitamos? ¿qué esperamos de él? Expresividad Razonadores Protégé : editor de ontologías (RDF, DAML, OWL) Eduardo Mena "Ontologías y Agentes"
21 Lenguajes de Representación del ConocimientoRDF (Resource Description Framework): XML, herencia de clases (RDF-class, RDF-property) Expresividad similar a OO OIL (Ontology Inference Layer) No XML, API basado en Lisp DAML (DARPA Agent Markup Language) RDF+OIL, XML, lógica SHOIQ (roles inversos, roles transitivos, cjtos.) Pensado para Lógica Descriptiva (enlace con razonador) DAML-S OWL (Ontology Web Language) Pensado para la Web Semántica, estándar de W3C (Febrero 2004) Nivel Lite (similar RDF), DL (SHOIN), OWL full (autoextensible) OWL-S OWL2 (2009): OWL2 EL (ptime), OWL2 QL (BDs), OWL2 RL (reglas) Eduardo Mena "Ontologías y Agentes"
22 Sistemas Basados en Lógica Descriptiva (Sistemas Terminológicos)Distintas expresividades Operadores muy expresivos: ALL, jerarquías de roles, roles inversos, roles transitivos, disjoint Mundo abierto vs. mundo cerrado Tbox (conceptos y roles) Términos primitivos (cond. necesarias) Términos definidos (cond. necesarias y suficientes) Subsumisión. Mecanismo de clasificación detección de inconsistencias simplificación de expresiones Abox (instancias) Rbox (reglas, C ⇒ D) Las preguntas son expresiones (clasificables) Eduardo Mena "Ontologías y Agentes"
23 Expresividad AL ⊤, ⊥, ⊓, ∀ (A, ∃R.⊤) PTime ALC (=ALUE)⊤, ⊥, ⊓, ∀, , ∃, ⊔ ExpTime SHIQ (S=) ALC + roles transitivos, jerarquías de roles (H), roles inversos (I) , restricciones numéricas cualificadas (Q) OIL SHIF (D) S, jerarquías de roles (H), roles inversos (I) , roles funcionales (F ) OWL Lite SHOIN(D) SHIQ + restricciones numéricas no cualificadas (N) + dominios concretos (D) NExpTime OWL DL SHOIQ(D) SHIQ + nominales , objetos (O) + dominios concretos (D) DAML+OIL SROIQ SHOIN + tipos de roles N2ExpTime OWL 2 EL++ ⊤, ⊥, ⊓, ∃, jerarquías de roles, nominales, dominios Ptime (ont. biomed.) OWL 2 EL Eduardo Mena "Ontologías y Agentes"
24 Razonadores DL Clásicos CLASSIC, BACK, FaCT, LoomPrimeros orientados a la Web Semántica CORBA-FaCT, RACER (servicio web), enlace con DAML y OWL Actuales Pellet SROIQ(D), SWRL, SPARQL, razonamiento incr., justificaciones, Java, open source & comercial (Clark&Parsia) Hermit SROIQ(D), SWRL, Java, academic (Univ. Oxford) FaCT++ SROIQ(D), C++, academic (Univ. Manchester) SR EL+, Java, gubernamental (CSIRO’s Health Informatics, Australia) [Fuente: K. Dentler et al, “Comparison of Reasoners for large Ontologies in the OWL 2 EL Profile”, Semantic Web 1(5), 2011] Eduardo Mena "Ontologías y Agentes"
25 Ejemplo 1: Familia.pl (BACK):- backinit, backtell(personas:
26 Ejemplo 2: Proyectos.pl (1/2):- backinit, backstate(verbosity=silent), backtell(personas:
27 Ejemplo 2: Proyectos.pl (2/2)extension :- backtell(jonni::personas and nombre:jonni and ocupacion:currito), backtell(josito::personas and nombre:josito and ocupacion:currito), backtell(nestor::personas and nombre:nestor and ocupacion:especialista), backtell(edu::personas and nombre:edu and ocupacion:jefe), backtell(josemi::personas and nombre:josemi and ocupacion:encargado). backtell(aims::proyectos and titulo:aims and miembros:allknown(personas and nombre:(edu or josito or josemi))). Eduardo Mena "Ontologías y Agentes"
28 ¿Para qué sirve todo esto?Ontologías únicamente Para casi nada!! ¿Quien analizará las definiciones formales de los términos? Mejor guardar esa información en una BD Ontología + razonador Detección de inconsistencias Simplificación de expresiones Clasificación En sistemas de información Buscar en ontología vs. depósitos de datos Vista homogénea (sobre datos heterogéneos) Eduardo Mena "Ontologías y Agentes"
29 Algunos campos de aplicación de las ontologíasBases de datos federadas Sistemas de información globales Agentes inteligentes Eduardo Mena "Ontologías y Agentes"
30 Semántica, formatos, etc.Problema Datos Semántica, formatos, etc. Telnet IP WWW FTP Archie C C++ Java Formularios Interfaces ad hoc Oracle Sybase Informix Eduardo Mena "Ontologías y Agentes"
31 Objetivo Formatos Semántica Datos Eduardo Mena "Ontologías y Agentes"
32 Bases de Datos Federadas (BDF)? Esquema global (ontología) Datos Bases de datos autónomas, diseño bottom-up Enlace BDs – Ontología (GAV vs. LAV) Eduardo Mena "Ontologías y Agentes"
33 BDF: Arquitectura de 5 niveles Vista 1 Vista m Esquema integrado (ont. integrada) Integración Esq. Export. canónico 1 (ont1) Esq. Export. canónico n (ont2) Traducción Esq. Exportado 1 Esq. Exportado n Esquema BD 1 Esquema BD n Eduardo Mena "Ontologías y Agentes"
34 Sistemas de Información GlobalesMuchos depósitos de datos (miles, millones) Gran heterogeneidad a todos los niveles Altamente dinámico y cambiante Un ejemplo: La Web Adaptación de las técnicas conocidas a dicho contexto Aún es objeto de investigación Eduardo Mena "Ontologías y Agentes"
35 Aproximaciones de los 90’s: clasificaciónSistemas de Acceso a Información Basados en palabras clave Altavista, Yahoo!, Google Basados en Agentes TSIMMIS, DISCO Basados en Ontologías Una Ontología Global Carnot, Information Manifold Varias Ontologías SIMS, InfoSleuth, OBSERVER Eduardo Mena "Ontologías y Agentes"
36 Aprox. relevantes de los 90’sSIMS (Univ. de California del Sur, 1992) TSIMMIS (Univ. de Stanford & IBM, 1993) Information Manifold (AT&T Bell Lab., 1994) OBSERVER (Univ. Pais Vasco & UGA, 1995) InfoSleuth (MCC, 1996) Eduardo Mena "Ontologías y Agentes"
37 Aproximaciones: ComparativaDepósitos heterogéneos Generación de wrappers Capacidad de respuesta Descr. semántica de datos Interop. entre ontologías Vocabulario compartido Respuestas imprecisas TSIMMIS InfoSleuth IM SIMS OBSERVER Eduardo Mena "Ontologías y Agentes"
38 Ejemplo: El sistema OBSERVERSistema de Información Global gran numero de fuentes de datos (con cualquier organización de datos) múltiples ontologías (indepen. del sistema DL) depósitos de datos y ontologías reales Interoperación entre ontologías (división del espacio de información) relaciones semánticas interontología traducción de preguntas con o sin cambio de semántica estimación del cambio de semántica Eduardo Mena "Ontologías y Agentes"
39 Arquitectura de OBSERVERIRM Relaciones Interontología Ontology Based System Enhanced with Relationships for Vocabulary hEterogeneity Resolution Query Processor Ontology Server Ontology Server Ontology Server Enlaces Enlaces Enlaces Eduardo Mena "Ontologías y Agentes"
40 Procesamiento de Preguntas (Query Processor)Construcción de la pregunta Seleccionar Ontología Usuario Comienzo Editar pregunta Si Expansión incremental a otra ontología Acceso a los datos Elegir plan con menor pérdida Acceder datos subyacentes Generar Planes Correlacionar y mostrar respuesta Integrar nueva ont. y ont. usuario Más datos? Seleccionar ontología destino Final No Eduardo Mena "Ontologías y Agentes"
41 Multiples ontologías: Transformaciones de la preguntaQuery Processor Pregunta del usuario expresada en términos de la Ontología Usuario Respuesta expresada según la semántica de la Ontología Usuario Rel. del IRM F. Trans. Inv. del IRM Correlación F. Trans. del IRM Pregunta expresada en términos de la Ontología Destino Respuesta expresada según la semántica de la Ontología Destino Traducción a Enlaces F. Trans. Inv. de enlaces Correlación F. Trans. de enlaces Respuesta expresada según la semántica de los depósitos Pregunta expresada en Enlaces Acceso a los datos subyacentes Ontology Server Eduardo Mena "Ontologías y Agentes"
42 Pérdida semántica en respuestasRespuesta relevante Pérdida semántica Pérdida en Precision Pérdida en Recall Respuesta obtenida Respuesta relevante y obtenida Eduardo Mena "Ontologías y Agentes"
43 OBSERVER: aportacionesUso de ontologías pre-existentes Descripción de los depósitos de datos Manejo de relaciones interontología Manejo de distintos vocabularios Procesamiento incremental Acceso a gran número de depósitos Respuestas con pérdida de información Estimación de la pérdida Eduardo Mena "Ontologías y Agentes"
44 Problemas de los sistemas de los 90’sIntegración estática de fuentes de datos La traducción e integración se hace “a mano” por humanos y cuesta bastante tiempo Generación no automática de la información de enlace Hay que definir a mano el camino hacia los datos Generación no automática de las relaciones interontología Hay que definir a mano las propiedades semánticas entre ontologías Sensible a nuevas ontologías/depósitos de datos No relaciones entre los datos (constantes) Ej. (tema=“Marte”) (tema=“sistema solar”) Métodos de interrogación no adecuados para usuarios finales Selección de la(s) ontología(s) para preguntar Pregunta en DL ¿palabras clave, lenguaje natural? Imposibles de aplicar directamente a contextos altamente dinámicos (como la Web) Eduardo Mena "Ontologías y Agentes"
45 Web Semántica Problemas con la Web actual Objetivos HTMLOrientado a humanos Búsquedas sintácticas (palabras clave) Objetivos Separar contenido de visualización Orientado a humanos y a programas (servicios) Búsquedas semánticas (expresar qué se está buscando) Objetivo de, entre otros, el creador de la Web Tim Berners-Lee (http://www.w3.org/People/Berners-Lee/) Eduardo Mena "Ontologías y Agentes"
46 Web Semántica Definición Claves Proyecto W3C desde aprox. 1999Nueva filosofía Red de ordenadores Espacio compartido Documentos autodescritos Procesable por máquinas (ni lenguaje natural, ni GUIs) Enlaces indirectos (independencia de la localización) Claves XML Ontologías Servicios Web Eduardo Mena "Ontologías y Agentes"
47 Objetivos de la Web SemánticaPermitir un procesamiento de preguntas guiado por la semántica Obtener sólo lo que el usuario busca Descubrir automáticamente información semántica en las ontologías disponibles en el sistema de información Descubrir automáticamente fuentes de datos relevantes Eduardo Mena "Ontologías y Agentes"
48 Web Semántica Eduardo Mena "Ontologías y Agentes"
49 Evolución de la Web Web 3.0 Web x.x Web 1.0 Web 2.0Introduction: we will see what we understand for location granule in its simplest definition and the implications of using them in location based queries. Then we’ll move to the sematic extension of them, the semantic location granules. We advocate using ontologies to model them. We will revisit the semantics of inside queries from the point of view of this newly added semantic extension and finally I’ll draw some conclusions about this work. Web 1.0 Web 2.0
50 Evolución de la Web Introduction: we will see what we understand for location granule in its simplest definition and the implications of using them in location based queries. Then we’ll move to the sematic extension of them, the semantic location granules. We advocate using ontologies to model them. We will revisit the semantics of inside queries from the point of view of this newly added semantic extension and finally I’ll draw some conclusions about this work.
51 Web Semántica Ontologías
52 Web Semántica - ModeladoRDF Tripletas < a R b > RDF-S RDF + taxonomías (is_a) Existe posibilidad de razonamiento Introduction: we will see what we understand for location granule in its simplest definition and the implications of using them in location based queries. Then we’ll move to the sematic extension of them, the semantic location granules. We advocate using ontologies to model them. We will revisit the semantics of inside queries from the point of view of this newly added semantic extension and finally I’ll draw some conclusions about this work.
53 Web Semántica - ModeladoSKOS Simple Knowledge Organization System Ontologías ligeras (taxonomías), vocabularios organizados No existe formalización Gran parecido: Folksonomías Introduction: we will see what we understand for location granule in its simplest definition and the implications of using them in location based queries. Then we’ll move to the sematic extension of them, the semantic location granules. We advocate using ontologies to model them. We will revisit the semantics of inside queries from the point of view of this newly added semantic extension and finally I’ll draw some conclusions about this work.
54 Web Semántica - ModeladoOWL Basado en DL (description logics) Mediante el uso de razonadores: Inferir nuevos datos y relaciones Detectar inconsistencias Clasificación Ofrece tres perfiles en función de la expresividad requerida: EL, QL, RL SWRL Lenguaje de reglas (FOL) Complementa a OWL Introduction: we will see what we understand for location granule in its simplest definition and the implications of using them in location based queries. Then we’ll move to the sematic extension of them, the semantic location granules. We advocate using ontologies to model them. We will revisit the semantics of inside queries from the point of view of this newly added semantic extension and finally I’ll draw some conclusions about this work.
55 Web Semántica - ConsultaSPARQL Basado en pattern matching Orientado a tripletas RDF La semántica la monta el que consulta Se utiliza sobre todo en repositorios donde el volumen de datos es muy grande (billones de tuplas) Otros lenguajes: DIG SPARQL-DL, TERP, nRQL Introduction: we will see what we understand for location granule in its simplest definition and the implications of using them in location based queries. Then we’ll move to the sematic extension of them, the semantic location granules. We advocate using ontologies to model them. We will revisit the semantics of inside queries from the point of view of this newly added semantic extension and finally I’ll draw some conclusions about this work.
56 Web Semántica – Linked DataIniciativa convertir la Web en Web of Data Introduction: we will see what we understand for location granule in its simplest definition and the implications of using them in location based queries. Then we’ll move to the sematic extension of them, the semantic location granules. We advocate using ontologies to model them. We will revisit the semantics of inside queries from the point of view of this newly added semantic extension and finally I’ll draw some conclusions about this work.
57 Pero… ¿todo esto para qué sirve?Ontologías en la Web gran cantidad de conocimiento Linked data gran cantidad de datos estructurados Podemos explotar todo ello para hacer sistemas inteligentes que acceden a los datos que buscamos
58 Web Semántica Acceso inteligente a información
59 Queremos que nos respondan exactamente a lo que preguntamosObjetivo principal Queremos que nos respondan exactamente a lo que preguntamos
60 Actualmente Sistemas de gestión de datos Motores de búsqueda WebLenguajes de interrogación (SQL, SparQL, etc.) Semántica bien definida No orientados a usuarios finales Motores de búsqueda Web Búsquedas sintácticas (palabras clave) Muy populares Al final el usuario debe buscar la respuesta a mano
61 Retos generales ¿Qué lenguaje usar para expresar lo que queremos?Asequible a cualquiera, preciso, no ambiguo Flexible para expresar cualquier idea ¿Cómo obtener y mostrar las respuestas de la forma más adecuada? Rapidez vs. precisión Automático vs. semiautomático
62 QueryGen: Proceso general
63 QueryGen: resumen Cjto. de palabras clave pregunta formal (semántica bien definida) ¿Significados de cada palabra? pool de ontologías ¿Desambiguación de una palabra? contexto (el resto de palabras) ¿Traducción a un lenguaje de representación del conocimiento? combinaciones según operadores de los posibles lenguajes Pregunta formal datos Descubrimiento de ontologías relevantes Descubrimiento de fuentes de datos Aplicación técnicas de sistemas de información federados Procesamiento incremental Aproximación peer to peer?
64 Ejemplo de keywords de entradaperson fish We want from a set of keywords … To discover the user’s information need Person who works with fishes Person who eats fishes Person eaten by a fish
65 Descubriendo el sentido de los keywords
66 Semantic Keywords OntologyPerson Drives Bus Keywords concept Person role The first step to know what is behind a set of plain keywords is to know their exact meaning. This is, to obtain what we call semantic keywords, the keyword with Its meaning attached (an ontological term) to it. To know how to obtain these semantic keywords I must refer the interested reader to …. However, knowing the meaning of each keyword is not the same as knowing the intended meaning of the set. drive Bus concept Each keyword is matched to a term of an ontology. It can be a concept (C), role (R) or instance (I) 66
67 Ejemplo de posibles sentidos para keyword “star”
68 Ejemplo de keywords de entradaperson fish We want from a set of keywords … To express it formally in a KR language Person who works with fishes Person who eats fishes Person eaten by a fish Person and (some(works_with, Fish)) Person and (some(eats, Fish)) Person and (some(eaten_by, Fish))
69 Purpose person fish We want from a set of keywords …Poner en el popup We want from a set of keywords … To avoid being tied to a specific KR language Person eaten by a fish
70 QueryGen: Generación de preguntas
71 Semantic Query GenerationSemantic Enrichment Insert Virtual Terms Virtual Term Rendering With
72 Selección de la semántica de la pregunta del usuarioFor
73 Generación de preguntas: Muchas posibilidades!!
74 QueryGen: Acceso a datos
75 QueryGen: ConclusionesTraduce automáticamente keywords en preguntas formales Independiente del lenguaje de repr. del conocimiento (considera varios a la vez!!) Filtra preguntas inconsistentes Enriquecimiento semántico de las preguntas Reduce el número de preguntas Presenta las alternativas de forma compacta Pregunta generada elegida Datos
76 Sistemas de Agentes InteligentesEduardo Mena "Ontologías y Agentes"
77 Agentes inteligentes Son programas: Pueden también ser:Autónomos Actúan en representación de alguien Tienen una agenda de objetivos “Inteligentes”, aprenden Pueden también ser: Cooperativos Móviles Nuevo paradigma de diseño de software Eduardo Mena "Ontologías y Agentes"
78 Agentes móviles Alternativa a RPCPrograma que se ejecuta en un cierto contexto de ejecución o place, y viaja de place a place Capaces de transportarse a sí mismos entre ordenadores Necesita cierta infraestructura (plataforma de agentes) Agentes móviles código móvil Alternativa a RPC Eduardo Mena "Ontologías y Agentes"
79 Movilidad: cómo funcionaLos agentes móviles se crean en places Viajan entre places moveTo(newHost) Se interrumpe la ejecución del thread Se serializa el código y el estado del agente El agente se reconstruye en el place destino Se continúa la ejecución a partir de donde se interrumpió Eduardo Mena "Ontologías y Agentes"
80 Movilidad fuerte vs. Movilidad débilmoveTo(newHost) En el destino se continúa con la siguiente instrucción La JVM no permite continuar a mitad de un método Alternativa: cambiar la JVM incompatibilidad con otras JVM Movilidad débil moveTo(newHost, callback) En el destino se continúa con el método callback Se recomienda que el moveTo sea la última instr. del método Permitido por la JVM Eduardo Mena "Ontologías y Agentes"
81 Control de los saltos Problemas con el moveTo (red, permisos, etc.)excepción place origen (política de reintento) Notificación de movimiento (Ej: Voyager) preDeparture() En el origen, antes de iniciar el viaje preArrival() En el destino, antes de la reconstrucción postArrival() En el destino, agente reconstruido correctamente, justo antes del callback postDeparture() En el origen, en paralelo con el callback del destino Eduardo Mena "Ontologías y Agentes"
82 Utilizando agentes móviles0,1 M ,2 M ,45 M M M M M M M Utilizando agentes móviles Eficiencia? RPC Robustez frente a desconexiones Mejor diseño: delegación de tareas Facilidad de programación Plataformas de agentes Interoperabilidad Fiabilidad Escalabilidad Eduardo Mena "Ontologías y Agentes"
83 Plataformas de agentes móvilesAglets Buen API para agentes móviles, JDK 1.1 código abierto Java 2 Voyager CORBA + movilidad + activación + agentes, problemas con los clones Grasshopper Problemas de escalabilidad en el modelo de comunicación Tryllian Miles de agentes (en la misma máquina), muy lento SPRINGS Alta escalabilidad (miles de agentes en distintas máquinas) JADE (Java Agent DEvelopment framework) Creado en 2000 por Telecom Italia Lab, muy extendido, usado, y actualizado (v4.3 en marzo 2013 Mororola y Telecom Italia: JADE Governing Board) Eduardo Mena "Ontologías y Agentes"
84 Carta a los reyes Necesitamos herramientas paraEspecificación formal de sistemas móviles Especificación de comportamiento complejo y sensible a distintos entornos (imprevisibles) Mejores plataformas de agentes Más robustas Para dispositivos móviles Para redes inalámbricas (Bluetooth, WiFi) Interoperables Eduardo Mena "Ontologías y Agentes"
85 Referencias S. Franklin et al, “Is it an Agent or just a Program?: a Taxonomy for Autonomous Agents”, 3rd Workshop on Agent Theories, Architectures and Languages, 1996 C. Harrison et al, “Mobile Agents: Are They a good idea?”, research report IBM (desclasificado como confidencial en 1995) J. Altman et al, “Using Mobile Agents in Real World: A Survey and Evaluation of Agent Platforms”, 5th Int. Conf. on Autonomous Agents, 2001 Eduardo Mena "Ontologías y Agentes"
86 Ejemplos: Ontologías + agentes móvilesServicios basados en agentes móviles Procesamiento de preguntas dependientes de la localización Generación adaptativa de interfaces gráficos Recopilación de citas bibliográficas Servicios con ontologías + agentes móviles Servicio de obtención de Software (SRS) SHERLOCK
87 Procesamiento de preguntas dependientes de la localizaciónEl usuario se mueve Los objetos relevantes se mueven Ej: “Muestrame los taxis más cercanos” (formulada mientras andamos por la ciudad) La pregunta depende de la posición de algunos objetos móviles La respuesta se debe actualizar periodicamente Eduardo Mena "Ontologías y Agentes"
88 Despliegue de la red de agentesBS3 BS4 BS6 (3) BS1 (3) BS2 BS5 (3) (3) (2) (2) (3) BS0 (1) Monitor Eduardo Mena "Ontologías y Agentes"
89 Eduardo Mena "Ontologías y Agentes"
90 Generación adaptativa de interfaces gráficosGUI’s distintos para dispositivos distintos Descripciones XML del GUI Prototipo: agente móvil que genera GUI’s Java Swing, HTML, y WML Eduardo Mena "Ontologías y Agentes"
91 GUIs en Java Swing, HTML y WMLEduardo Mena "Ontologías y Agentes"
92 Recopilación de citas bibliográficasSan Sebastián Almagro SIUL02.SI.EHU.ES ORDENADOR DEL USUARIO Navegador web SIPL17.SI.EHU.ES PostScript ShowPub ShowBibTeX BD publications BibTeX Apache Tomcat Bib2DB Voyager:9900 Zaragoza SISF00.SI.EHU.ES VIERNES.CPS.UNIZAR.ES BibTeX BibTeX Voyager:9900 Voyager:9900
93 Eduardo Mena "Ontologías y Agentes"
94 Servicio de Obtención de SoftwareAlternativa a sistemas tipo Tucows Uso de una ontología de software Construida automáticamente Vista común al usuario del software disponible Sensible a las necesidades de distintos usuarios Tecnología de agentes: creación, explotación (gestión del conocimiento) Eduardo Mena "Ontologías y Agentes"
95 Servicio de Obtención de SoftwareEduardo Mena "Ontologías y Agentes"
96 Ventas mundiales de smartphonesFabricante Ventas 2011 (M Uds.) Mercado 2011 Crecimiento Samsung 94.0 19.1% 310.5% Apple 93.2 19.0% 96.2% Nokia 77.3 15.7% -22.8% RIM 51.1 10.4% 4.7% HTC 43.5 8.9% 100.5% Otros 132.3 26.9% 107.7% Total 491.4 100.0% 61.3% Ventas 2012 (M Uds.) 2011 (M Uds.) Crecimiento Total Q1 144.9 99.6 45.4% Total Q2 153.9 108.3 42.1% 1- Fuente: International Data Corporation (IDC) – Feb. 2012
97 Sensores integrados (I)Chips más avanzados 3 sensores en 1 chip precio más bjo Fuente del gráfico: Invensense; Ilustraciones de Gus Wezerek
98 Sensores integrados (II)Dispositivos con sensores integrados Cámara frontal Brújula Cámara trasera Giroscospio Wi-Fi Acelerómetro Bluetooth GPS GSM/ GPRS/EDGE/HSPA/4G Luz Proximidad NFC Barómetro Magnetómetro Pueden ser usados como sensores móviles
99 Nuevos retos Redes no estables Usuarios móviles Dispositivos limitadosDatos altamente distribuidos Nuevos tipos de datos Dinámicos (posición, batería, etc.) Multimedia
100 Location Based Services (LBS)Los servicios de datos basados en la localización están creciendo exponencialmente. Existen muchas soluciones para posicionamiento, publicidad, rastreo, etc. …Pero no existe una plataforma común para todos ellos Acceso a datos de todo tipo a/de objetos móviles Considerando cualquier infraestrutura
101 SHERLOCK: Procesamiento de preguntas en entornos inalambricos basado en la semántica
102 Caso de Uso 1: Buscando un transporteVisitante extranjero ir a cierto hotel ¿Medios de transporte de la ciudad, rutas , horarios, precios? Preferencias: transporte privado vs. compartido, precio vs. tiempo Seria muy interesante mostrarle en un mapa alrededor de su posición los mejores transportes para su propósito Información actualizada sobre todo tipo de transportes, en tiempo real, etc.
103 Caso de Uso 2: Ayuda a bomberos en incendiosIncendio en un área forestal alejada Coordinador gestionar bomberos y vehículos, para extinguir el fuego lo antes posible seguridad de las personas!! Infraestructura de red inexistente walkie-talkies (posición de cada bombero, evolución del fuego) Difícil describir la situación real por voz en tiempo real Interesante ver en un mapa la posición de cada bombero y la evolución del incendio en tiempo real Detección de cambios del incendio alerta a los bomberos afectados para escapar a un sitio seguro ¿Cómo hacerlo sin una buena red de comunicaciones?
104 Caso de Uso 3: Gestión de datos MultimediaRetransmisión en directo de una carrera de traineras en San Sebastián El realizador debe seleccionar en tiempo real las imágenes de múltiples cámaras. por ejemplo, un primer plano desde atrás de la trainera ganadora justo cuando cruza la línea de meta ¿Cómo seleccionar , en tiempo real, entre las distintas cámaras que dan el plano deseado, aquella que ofrece ua mejor toma? Sería útil que el sistema le indicara las cámaras que mejor obtienen lo buscado Implica entender lo que quiere el realizador, obtener imágenes y analizarlas en tiempo real.
105 Mobile Multimedia
106 Caso de uso 4: Gestión de emergenciasAccidente en carretera secundaria El equipo de emergencia debe ser contactado cuanto antes, por la víctima o cualquiera que sepa del accidente. Cualquier información obtenida mientras se dirigen allí puede ser vital (fotos, videos, estado de las víctimas) Deseable detectar el accidente autom. y alertar a los servicios de emergencia, dándoles toda información sobre el accidente, obtenida de distintas fuentes
107 Problemas comunes Semánticos DistribuciónEntender correctamente las peticiones del usuario al sistema Conocer los diferentes objetos implicados en el escenario, sus capacidades, así como información geográfica sobre el mismo Distribución Datos y objetos distribuidos Ausencia de infraestructuras de red ideales Gestionar peticiones que hay que actualizar continuamente, de forma escalable y tolerante a fallos Despliegue de la computación a los sitios mas adecuados
108 Nuestra solución Problemas semánticos:Ontologías representar conocimiento distribuido sobre objetos y áreas interesantes del escenario. Razonadores Los objetos/dispositivos móviles del escenario cooperan e intercambian datos y conocimiento necesidades de información de los usuarios (descritas de forma intuitiva) Problemas de datos distribuidos: Agentes móviles para distribuir tareas donde se necesiten en la red inalámbrica Consideración de todo tipo de redes disponibles en cada momento (fijas, wifi, 3G, ad hoc, etc.)
109 Arquitectura general
110 Procesando una petición
111 Conocimiento manejado por el sistema
112 Ayuda a bomberos en incendios
113 GUI dependiente del servicioReal GPS data, simulated environment with Google Earth Overview Map
114 Peticiones al/del sistema
115 Gestión del conocimientoNecesidad de gestionar conocimiento sobre: Preguntas intención del usuario Datos tipos de objetos móviles y sus características Escenarios/aplicaciones Conocimiento distribuido Intercambio dinámico de conocimiento
116 Tecnologías Semantic Web Geospatial Semantic Web Semantic SensorsWeb of Data / Linked (Open) Data Knowledge representation techniques: Ontologies: OWL, OWL 2.0 Description Logics-based reasoners Continuous reasoning
117 Animando a la gente en estos temasSpecial issue in IEEE Internet Computing Guest editors: S. Ilarri Illarramendi E. Mena A. Sheth November/December 2011
118 Conclusiones Sistemas inteligentes = conocimiento = ontologías (+razonador) Datos: ¿en ontología o en BD? No me sirve un SGBD SGC Son tecnologías complementarias Sistemas de gestión de datos con acceso a conocimiento plug&play No olvidemos los usuarios móviles entornos inalámbricos
119 ¿Futuro inmediato? Mucho trabajo por hacerMejorar aproximaciones tipo SIMS, OBSERVER Papel de las ontologías DAML OWL ??? Contexto complejo tecnológicamente Dificultad para quien empieza La Web Nuevos dominios (computación móvil) Nueva tecnología software (agentes, OWL, etc.) Equipos multidisciplinares Nuestro gran objetivo: Web semántica Sin olvidar a los usuarios móviles Eduardo Mena "Ontologías y Agentes"
120 Fin de la presentación Gracias por su atención Eduardo Mena "Ontologías y Agentes"