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 larchiviazione di nuove sorgenti informative Relatore Chiar.mo Prof. Sonia Bergamaschi Correlatore Ing. Maurizio Vincini Tesi di Laurea di Enrico Natalini Anno Accademico
MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per lintegrazione di sorgenti eterogenee e distribuite
MOMIS: Mediator envirOnment for Multiple Information Sources Obiettivo: Realizzazione di uno strumento semi-automatico per lintegrazione 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 lintegrazione 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 dellambiente 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 - Autonomia Controllo diretto sulle proprie azioni e stato interno Controllo diretto sulle proprie azioni e stato interno Capacità di comportamenti reattivi e pro-attivi Capacità di comportamenti reattivi e pro-attivi - Mobilità Capacità di muoversi da un ambiente ad un altro Capacità di muoversi da un ambiente ad un altro (ad esempio attraverso Internet) verso dati e risorse (ad esempio attraverso Internet) verso dati e risorse - Socialità Capacità di comunicare, interagire e cooperare Capacità di comunicare, interagire e cooperare Utilizzo di linguaggio e protocolli comuni Utilizzo di linguaggio e protocolli comuni Caratteristiche principali:
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:
JADE: Java Agent DEvelopment Framework MESSAGE TRANSPORT PROTOCOL DF AGENT AMS AGENT PLATFORM
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 JADE: Java Agent DEvelopment Framework MTP ( Message Transport Protocol ) - Gestisce lo scambio di messaggi allinterno della piattaforma - Gestisce lo scambio di messaggi diretti a piattaforme remote
Agente RicercaDescrizione - Richiede allAMS lelenco 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 allAMS le locazioni disponibili sulla piattaforma - Sposta lagente nella locazione desiderata JADE: Java Agent DEvelopment Framework
JADE: - Si registra allinterno del DF presente nella piattaforma - Ricerca tra gli agenti esistenti quelli individuati dalla descrizione Hunter Agente IndividuaHunter
Agente per la ricerca e larchiviazione 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 dellutente uninterfaccia grafica per la propria gestione
Richiede come parametri: - LURL 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 larchiviazione di nuove sorgenti informative
- Analizza le pagine HTML contenute nel sito ricercando lesistenza 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
Interfaccia inserimento parametri Agente per la ricerca e larchiviazione di nuove sorgenti informative
Struttura ad albero gerarchico relativa al sito Agente per la ricerca e larchiviazione di nuove sorgenti informative
Archivio delle ricerche eseguite Agente per la ricerca e larchiviazione di nuove sorgenti informative
Note implementative - Il software è stato implementato presso il dipartimento di Ingegneria dellInformazione dellUniversità 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 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