Date post: | 02-Jan-2016 |
Category: |
Documents |
Upload: | stacey-joyner |
View: | 41 times |
Download: | 4 times |
Ontologías y AgentesMáster “Ingeniería del Software, Métodos Formales
y Sistemas de Información”Universidad Politécnica de Valencia
Curso 2013-2014
Eduardo Menahttp://webdiis.unizar.es/~mena/
Dpto. de Informática e Ingeniería de Sistemas
Universidad de Zaragoza
Valencia, Mayo 2014
Eduardo Mena "Ontologías y Agentes"
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 ([email protected])– http://sid.cps.unizar.es/– En cooperación con el Grupo de Bases de Datos
Interoperantes (BDI), Universidad del País Vasco, http://siul02.si.ehu.es/
Eduardo Mena "Ontologías y Agentes"
Á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"
Á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"
Índice (1/2)
• Ontologías– Representación del conocimiento
• Descripciones 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"
Índice (2/2)
• Sistemas de agentes inteligentes– Agentes inteligentes
• Caracterí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"
Ontologías
Eduardo Mena "Ontologías y Agentes"
¿De qué hablaremos?
• Ontologías: desde la IA y BD• Definiciones 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"
Datos, Metadatos, Conocimiento
• Datos– (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"
Metadatos
• Información semántica sobre los datos
• Objetivo– Describir contenidos– Separar datos de significado– Permitir comportamiento “inteligente”
• Problema– Su generación es difícil de automatizar
Eduardo Mena "Ontologías y Agentes"
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"
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"
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 ?
“Especificación de una conceptualización”
(T. Gruber)
¿Qué es una ontología?
Eduardo Mena "Ontologías y Agentes"
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"
Biblio-Thing
Document
Book
Edited-Book
Technical-Report
Periodical-Publication
Journal
Magazine
Newspaper
Miscellaneous-Publication
Technical-Manual
Computer-Program
Multimedia-DocumentArtwork
Cartographic-Map
Thesis
Doctoral-Thesis
Master-Thesis
Proceedings
Conference Agent
PersonAuthor Organization
Publisher University
http://www-ksl.stanford.edu/knowledge-sharing/ontologies/html/bibliographic-data/http://www-ksl.stanford.edu/knowledge-sharing/ontologies/html/bibliographic-data/
Ejemplo: Stanford-I
Eduardo Mena "Ontologías y Agentes"
Print-Media
Press Publication Journalism
Newspaper MagazineBook
Periodical
Trade-Book Brochure TextBook
Reference-BookSongBook
PrayerBook
PictorialSeries
Journals
CookBook
Instruction-BookWordBook HandBook Directory Annual
Encyclopedia
Manual Bible GuideBook
Instructions Reference-Manual
http://www.cogsci.princeton.edu/~wn/w3wn.htmlhttp://www.cogsci.princeton.edu/~wn/w3wn.html
Ejemplo 2: subconjunto de WordNet 1.5
Eduardo Mena "Ontologías y Agentes"
Problemas con las Ontologías
Fuerte 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"
Ontologías Distribuidas vs. Ontología Global
ontología
ontología
ontología
ontología
OntologíaGlobal
Eduardo Mena "Ontologías y Agentes"
Construcción de ontologías
Lenguaje (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"
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"
Lenguajes de Representación del
Conocimiento• RDF (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"
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)
Expresividad
Eduardo Mena "Ontologías y Agentes"
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)
ExpTime OIL
SHIF (D) S, jerarquías de roles (H), roles inversos (I) , roles funcionales (F )
ExpTime 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)
NExpTime DAML+OIL
SROIQ SHOIN + tipos de roles N2ExpTime OWL 2
EL++ ⊤, ⊥, ,⊓ ∃, jerarquías de roles, nominales, dominios
Ptime (ont. biomed.)
OWL 2 EL
Razonadores DL
Eduardo Mena "Ontologías y Agentes"
ClásicosCLASSIC, BACK, FaCT, Loom
Primeros orientados a la Web SemánticaCORBA-FaCT, RACER (servicio web), enlace con DAML y OWL
ActualesPellet
SROIQ(D), SWRL, SPARQL, razonamiento incr., justificaciones, Java, open source & comercial (Clark&Parsia)
HermitSROIQ(D), SWRL, Java, academic (Univ. Oxford)
FaCT++SROIQ(D), C++, academic (Univ. Manchester)
SREL+, 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"
Ejemplo 1: Familia.pl (BACK)
:- backinit, backtell(personas:<anything), backtell(conoce_a:<domain(personas) and range(personas)), backtell(padre:<conoce_a), backtell(conocidos:=trans(conoce_a)), backtell(padre_conocidos:=conocidos.padre), backtell(conocidos_lejanos:=conocidos and trans(padre)), backtell(hijos:=inv(padre)). extension :-
backtell(edu::personas and conoce_a:(josito and jonni) and padre:papaedu),backtell(josito::personas and conoce_a:edu and padre:papajosito),backtell(jonni::personas and padre:papajonni),backtell(papajonni::personas and conoce_a:edu).
Eduardo Mena "Ontologías y Agentes"
Ejemplo 2: Proyectos.pl (1/2)
:- backinit, backstate(verbosity=silent), backtell(personas:<anything), backtell(nombre:<domain(personas) and range(string)), backtell(ocupacion:<domain(personas) and range(string)), backtell(jefes:=personas and ocupacion:'jefe'), backtell(proyectos:<anything), backtell(titulo:<domain(proyectos) and range(string)), backtell(miembros:<domain(proyectos) and range(personas)), backtell(superpro:=proyectos and atleast(3,miembros)), backtell(jefe:=miembros and range(jefes)).
Eduardo Mena "Ontologías y Agentes"
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))).
¿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"
Eduardo Mena "Ontologías y Agentes"
Algunos campos de aplicaciónde las ontologías
• Bases de datos federadas
• Sistemas de información globales
• Agentes inteligentes
Eduardo Mena "Ontologías y Agentes"
Problema
Telnet
IP WWW FTP
Archie
C C++ Java
Formularios
Interfaces ad hoc
Oracle Sybase
Informix
Semántica, formatos,
etc.
Eduardo Mena "Ontologías y Agentes"
Objetivo
SemánticaFormatos
Eduardo Mena "Ontologías y Agentes"
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"
BDF: Arquitectura de 5 niveles
Esquema BD 1
Esq. Exportado 1
Esquema integrado (ont. integrada)
Esquema BD n
Esq. Exportado n
Vista 1 Vista m
Esq. Export. canónico n (ont2)Esq. Export. canónico 1 (ont1)
. . . . .
Traducción
Integración
. . . . .
Eduardo Mena "Ontologías y Agentes"
Sistemas de Información Globales
Muchos depósitos de datos (miles, millones)Gran heterogeneidad a todos los nivelesAltamente dinámico y cambianteUn ejemplo: La Web
Adaptación de las técnicas conocidas a dicho contextoAún es objeto de investigación
Eduardo Mena "Ontologías y Agentes"
Aproximaciones de los 90’s: clasificaciónSistemas de
Acceso a Información
Basados en Ontologías
Basados en palabras clave
Altavista,Yahoo!,Google
Basados en Agentes
TSIMMIS, DISCO
Una Ontología GlobalCarnot,
Information Manifold
Varias Ontologías
SIMS, InfoSleuth,
OBSERVER
Eduardo Mena "Ontologías y Agentes"
Aprox. relevantes de los 90’s
SIMS (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"
Aproximaciones: Comparativa
Depó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
OBSERVER
SIMS
Eduardo Mena "Ontologías y Agentes"
Ejemplo: El sistema OBSERVER
• Sistema 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"
Arquitectura de OBSERVER
Ontology
Based
System
Enhanced with
Relationships for
Vocabulary
hEterogeneity
Resolution
Query Processor
Ontology Server
IRM
Relaciones Interontología
Ontology ServerOntology Server
Enlaces
EnlacesEnlacesEnlaces
Eduardo Mena "Ontologías y Agentes"
Si
Expansión incremental a otra ontología
Acceso a los datos
Construcción de la pregunta
Procesamiento de Preguntas (Query Processor)
Seleccionar Ontología Usuario
Editar pregunta
Acceder datos subyacentes
Correlacionar ymostrar respuesta
Seleccionar ontología destino
Integrar nueva ont. y ont. usuario
Elegir plan con menor pérdida
Generar Planes
Más datos?
Comienzo
FinalNo
Eduardo Mena "Ontologías y Agentes"
Multiples ontologías: Transformaciones de la
pregunta
Pregunta del usuario expresada en términos de la Ontología Usuario
Pregunta expresada en términos de la Ontología Destino
Pregunta expresada en Enlaces Respuesta expresada según la semántica de los depósitos
Respuesta expresada según la semántica de la Ontología Destino
Respuesta expresada según la semántica de la Ontología Usuario
Acceso a los datos subyacentes
Rel. del IRMF. Trans. Inv. del IRM
Traducción a EnlacesF. Trans. Inv. de enlaces
CorrelaciónF. Trans. de enlaces
CorrelaciónF. Trans. del IRM
Query Processor
Ontology Server
Eduardo Mena "Ontologías y Agentes"
Pérdida semántica en respuestas
Respuesta 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"
OBSERVER: aportaciones
• Uso 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"
Problemas de los sistemas de los 90’s• Integració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"
Web Semántica
• Problemas con la Web actual– HTML
– Orientado 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)
Eduardo Mena "Ontologías y Agentes"
Web Semántica• Definición
– Proyecto W3C desde aprox. 1999– Nueva 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"
Objetivos de la Web Semántica
• Permitir 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"
Web Semántica
Evolución de la Web
Web 1.0 Web 2.0
Web 3.0 Web x.x
Evolución de la Web
Web Semántica
OntologíasOntologías
Web Semántica - Modelado
• RDF– Tripletas < a R b > – http://www.w3.org/RDF/
• RDF-S– RDF + taxonomías (is_a)– Existe posibilidad de razonamiento– http://www.w3.org/TR/rdf-schema/
Web Semántica - Modelado
• SKOS– Simple Knowledge Organization System– Ontologías ligeras (taxonomías), vocabularios
organizados– No existe formalización– Gran parecido: Folksonomías– http://www.w3.org/TR/skos-reference/
Web Semántica - Modelado
• OWL– 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
Web Semántica - Consulta
• SPARQL– 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
Web Semántica – Linked Data• Iniciativa convertir la Web en Web of Data
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
Web Semántica
Acceso inteligente a información
Objetivo principal
Queremos que nos respondan exactamente a lo que preguntamos
Actualmente
• Sistemas de gestión de datos– Lenguajes 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
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
QueryGen: Proceso general
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?
Ejemplo de keywords de entrada
person fish
• To discover the user’s information need • Person who works with fishes• Person who eats fishes• Person eaten by a fish
We want from a set of keywords …
Descubriendo el sentido de los keywords
Semantic Keywords
Ontology
Person
Bus
drive
concept
role
concept
Each keyword is matched to a term of an ontology. It can be a Each keyword is matched to a term of an ontology. It can be a concept (C), role (R) or instance (I) concept (C), role (R) or instance (I)
Ejemplo de posibles sentidos para keyword “star”
• To express it formally in a KR language• Person who works with fishes• Person who eats fishes• Person eaten by a fish
Ejemplo de keywords de entrada
person fish
We want from a set of keywords …Person and (some(works_with, Fish))
Person and (some(eats, Fish))
Person and (some(eaten_by, Fish))
Purpose
person fish
• To avoid being tied to a specific KR language• Person eaten by a fish
We want from a set of keywords …
• <and> #Person <some> #eaten_by #Fish </some> </and>Person and (some(eaten_by, Fish))
QueryGen: Generación de
preguntas
Semantic Query Generation
Semantic EnrichmentSemantic Enrichment Insert Virtual TermsInsert Virtual Terms
Virtual Term RenderingVirtual Term Rendering
<Person, Fish, concept><Person, Fish, role>
With <Person, Fish>
And (Person, Some (role, Fish)) And (Person, Some (eaten_by, Fish))
For <Person, Fish, role>
Selección de la semántica de la pregunta del usuario
some (drives, ) and person
For <person, drives>
animalFix
Subsumers level
Subsumees
some( ,fish) and person
For <person, fish>
is_eaten_byFix
Subsumers level
Subsumees
Generación de preguntas: Muchas posibilidades!!
QueryGen: Acceso a datos
QueryGen: Conclusiones
– Traduce 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
Eduardo Mena "Ontologías y Agentes"
Sistemas de Agentes Inteligentes
Eduardo Mena "Ontologías y Agentes"
Agentes inteligentes
• Son programas:– 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"
Agentes móviles• Programa 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"
Movilidad: cómo funciona
• Los 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"
Movilidad fuerte vs. Movilidad débil
• Movilidad fuerte– moveTo(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"
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"
Utilizando agentes móviles
Robustez frente a desconexionesMejor diseño: delegación de tareasFacilidad de programación Plataformas de agentes
• Interoperabilidad• Fiabilidad• Escalabilidad
Eficiencia? RPC
0,1 M 0,2 M 0,45 M 1 M 2 M 4 M 8 M 16 M 33 M
Eduardo Mena "Ontologías y Agentes"
Plataformas de agentes móviles• Aglets
– 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"
Carta a los reyes
• Necesitamos herramientas para– Especificació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"
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
Ejemplos:Ontologías + agentes móviles
• Servicios 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
Eduardo Mena "Ontologías y Agentes"
Procesamiento de preguntas dependientes de la localización
• El 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"
Despliegue de la red de agentes
BS2BS5
BS6
BS4 BS3
BS1
Monitor
BS0
(1)
(3)(3)
(2)
(2)
(3)
(3)
(3)
Eduardo Mena "Ontologías y Agentes"
Eduardo Mena "Ontologías y Agentes"
Generación adaptativa de interfaces gráficos
• GUI’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"
GUIs en Java Swing, HTML y WML
Recopilación de citas bibliográficas
SIUL02.SI.EHU.ES
SIPL17.SI.EHU.ES
VIERNES.CPS.UNIZAR.ESSISF00.SI.EHU.ES
BibTeX
BibTeX
BibTeX
San Sebastián
Zaragoza
BDpublications
ORDENADOR DEL USUARIO
Almagro
Voyager:9900
Voyager:9900
Voyager:9900
Navegador web
Apache Tomcat
Bib2DB
PostScript
ShowPubShowBibTeX
Eduardo Mena "Ontologías y Agentes"
Eduardo Mena "Ontologías y Agentes"
Servicio de Obtención de Software
• Alternativa 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"
Servicio de Obtención de Software
Ventas mundiales de smartphonesVentas mundiales de smartphones
1- Fuente: International Data Corporation (IDC) – Feb. 2012
Ventas 2012 (M Uds.) 2011 (M Uds.) Crecimiento
Total Q1 144.9 99.6 45.4%
Total Q2 153.9 108.3 42.1%
FabricanteVentas 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%
Sensores integrados (I)Sensores integrados (I)
Chips más avanzadosChips más avanzados
Fuente del gráfico: Invensense; Ilustraciones de Gus Wezerek
3 sensores en 1 chip precio más bjo
Sensores integrados (II)Sensores integrados (II)
Dispositivos con sensores integradosDispositivos con sensores integrados
Brújula
GPS
Acelerómetro
Giroscospio
Barómetro Magnetómetro
Cámara frontal
Cámara trasera
NFC
Proximidad
Luz
Wi-Fi
Bluetooth
Pueden ser usados como sensores móviles
GSM/ GPRS/EDGE/HSPA/4G
Nuevos retos
• Redes no estables
• Usuarios móviles
• Dispositivos limitados
• Datos altamente distribuidos
• Nuevos tipos de datos– Dinámicos (posición, batería, etc.)– Multimedia
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
SHERLOCK:Procesamiento de preguntas en
entornos inalambricos basado en la semántica
Caso de Uso 1:Buscando un transporte
• Visitante 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.
Caso de Uso 2:Ayuda a bomberos en incendios
• Incendio 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?
Caso de Uso 3:Gestión de datos Multimedia
• Retransmisió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.
Mobile Multimedia
Caso de uso 4: Gestión de emergencias
• Accidente 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
Problemas comunes
• Semánticos– Entender 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
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.)
Arquitectura general
Procesando una petición
Conocimiento manejado por el sistema
Ayuda a bomberos en incendios
Overview Map
Real GPS data, simulated environment with Google Earth
GUI dependiente del servicio
Peticiones al/del sistema
Gestión del conocimiento
• Necesidad 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
Tecnologías
• Semantic Web
• Geospatial Semantic Web
• Semantic Sensors
• Web of Data / Linked (Open) Data
• Knowledge representation techniques:– Ontologies: OWL, OWL 2.0
• Description Logics-based reasoners– Continuous reasoning
Animando a la gente en estos temas
• Special issue in IEEE Internet Computing
Guest editors: S. IlarriA.Illarramendi E. MenaA. Sheth
November/December 2011
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
Eduardo Mena "Ontologías y Agentes"
¿Futuro inmediato?
• Mucho trabajo por hacer– Mejorar 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"
Fin de la presentación
Graciaspor su atención
http://webdiis.unizar.es/~mena/