UNIVERSITA’ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria – Sede di Modena Corso di Laurea in Ingegneria Informatica Progetto e sviluppo di un agente hunter per la ricerca e l’archiviazione di nuove sorgenti informative Relatore Chiar.mo Prof. Sonia Bergamaschi Tesi di Laurea di Enrico Natalini Correlatore Ing. Maurizio Vincini Anno Accademico 2001 - 2002 MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per l’integrazione di sorgenti eterogenee e distribuite MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per l’integrazione di sorgenti eterogenee e distribuite Approccio adottato: semantico e virtuale MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per l’integrazione di sorgenti eterogenee e distribuite Approccio adottato: semantico e virtuale Architettura: organizzata in tre livelli: - Livello Mediatore - Livello Wrapper - Livello Utente MOMIS: Mediator envirOnment for Multiple Information Sources MIKS: Mediator Agent for Integration of Knowledge Sources: Obiettivo: Estendere le funzionalità del sistema MOMIS utilizzando le caratteristiche dei sistemi multi-agente MIKS: Mediator Agent for Integration of Knowledge Sources: Obiettivo della tesi: Sviluppo di un agente hunter capace di: - navigare attraverso Internet alla ricerca di sorgenti informative - riconoscere le sorgenti utili al sistema MIKS - archiviarle mettendole a disposizione del sistema MIKS Organizzazione del progetto: - Studio del concetto di agente intelligente - Studio dell’ambiente di sviluppo per agenti JADE proposto dal TILAB ( Telecom Italia Lab) - Implementazione di agenti JADE per mostrarne caratteristiche e funzionalità - Implementazione di un agente hunter utilizzabile da sistema MIKS per ricercare nuove sorgenti informative AGENTI: Entità software autonome intelligenti capaci di muoversi in rete, reperire ed elaborare informazioni e collaborare fra di loro Caratteristiche principali: - Autonomia • Controllo diretto sulle proprie azioni e stato interno • Capacità di comportamenti reattivi e pro-attivi - Mobilità • Capacità di muoversi da un ambiente ad un altro (ad esempio attraverso Internet) verso dati e risorse - Socialità • Capacità di comunicare, interagire e cooperare • Utilizzo di linguaggio e protocolli comuni JADE: Java Agent DEvelopment Framework Struttura di sviluppo software mirata alla gestione di applicazioni e sistemi multi-agente conformi agli standard FIPA ( Foundation for Intelligent Physical Agents ) JADE: Java Agent DEvelopment Framework AGENT PLATFORM AGENT AMS DF MESSAGE TRANSPORT PROTOCOL JADE: Java Agent DEvelopment Framework AMS ( Agent Management System ) - Gestisce il ciclo di vita degli agenti - Mantiene una descrizione aggiornata della piattaforma - Controlla le operazioni legate alla mobilità JADE: Java Agent DEvelopment Framework DF ( Director Facilitator ) - Servizio di pagine gialle - Strumenti per semplificare la gestione di agenti MTP ( Message Transport Protocol ) - Gestisce lo scambio di messaggi all’interno della piattaforma - Gestisce lo scambio di messaggi diretti a piattaforme remote JADE: Java Agent DEvelopment Framework Agente ‘RicercaDescrizione’ - Richiede all’AMS l’elenco degli agenti e lo stato in cui si trovano - Memorizza gli indirizzi relativi agli agenti presenti sulla piattaforma - Estrae gli indirizzi disponibili per comunicare con piattaforme remote JADE: Java Agent DEvelopment Framework Agente ‘GestioneMobilità’ - Individua la locazione di un agente - Richiede all’AMS le locazioni disponibili sulla piattaforma - Sposta l’agente nella locazione desiderata JADE: Java Agent DEvelopment Framework Agente ‘IndividuaHunter’ - Si registra all’interno del DF presente nella piattaforma - Ricerca tra gli agenti esistenti quelli individuati dalla descrizione ‘Hunter’ Agente per la ricerca e l’archiviazione di nuove sorgenti informative - Conserva tutte le caratteristiche generali tipiche degli agenti - Permette di ricercare attraverso la rete Internet, sorgenti dati interessanti - Gestisce le informazioni ottenute creando una struttura ad albero gerarchico e conservando un archivio delle ricerche eseguite - Mette a disposizione dell’utente un’interfaccia grafica per la propria gestione Agente per la ricerca e l’archiviazione di nuove sorgenti informative Richiede come parametri: - L’URL del sito da analizzare - Una o più keyword come parametri di ricerca per identificare i siti che contengono informazioni utili - La modalità della ricerca da svolgere Agente per la ricerca e l’archiviazione di nuove sorgenti informative - Analizza le pagine HTML contenute nel sito ricercando l’esistenza dei parametri di ricerca inseriti e tutti i riferimenti ad altre pagine del sito - Traduce i riferimenti in indirizzi assoluti e li memorizza in una lista - Utilizzando la lista di URL ottenuta naviga attraverso le pagine del sito individuate - Memorizza le informazioni relative ad ogni sito in un file - Costruisce la struttura ad albero gerarchico del sito Agente per la ricerca e l’archiviazione di nuove sorgenti informative Interfaccia inserimento parametri Agente per la ricerca e l’archiviazione di nuove sorgenti informative Struttura ad albero gerarchico relativa al sito ‘www.dbgroup.unimo.it’ Agente per la ricerca e l’archiviazione di nuove sorgenti informative Archivio delle ricerche eseguite Note implementative - Il software è stato implementato presso il dipartimento di Ingegneria dell’Informazione dell’Università di Modena e Reggio Emilia, sede di Modena; -Sono state scritte circa 3500 linee di codice in linguaggio Java versione 1.3; -Piattaforma di sviluppo: Sparc20 (Sun) con sistema Solaris SunOS 5.7 - Ambiente di sviluppo per agenti: JADE 1.4 Conclusioni e possibili sviluppi: - Efficacia nella ricerca ed integrazione di sorgenti informative - Possibilità di creare comunità di agenti caratterizzate dal diverso tipo di attività svolte - Utilizzo del servizio DF per creare “super agenti” dedicati alla ricerca delle informazioni ottenute da attività di agenti hunter