1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing. Giacomo Cabri Ing. Luca Ferrari Tesi di Laurea di: Claudio Chiossi Relatore: Chiar.mo Prof. Letizia Leonardi
2 di 15 Scopo della tesi Realizzazione di un’applicazione che consenta la registrazione automatica di account di posta elettronica utilizzando la tecnologia ad agenti mobili e una infrastruttura di interazione basata su ruoli dinamici
3 di 15 Agenti e Ruoli Piattaforma Autonomia Mobilità Eterogeneità Un ruolo rappresenta un’insieme di capacità e di comportamenti che un agente assume al fine di portare a termine i suoi compiti. Vantaggi: Riusabilità: i ruoli permettono di separare gli aspetti algoritmici da quelli di interazione Sicurezza: i ruoli permettono di applicare in modo semplice agli agenti politiche locali e quindi specifiche per ogni piattaforma
4 di 15 Agent INteractions Le infrastrutture di interazione: implementano il modello di BRAIN forniscono meccanismo di azioni-eventi abilitano l’agente ad assumere/usare/rilasciare un ruolo gestiscono i ruoli Un modello di interazione basato sui ruoli: definisce un ruolo come un insieme di capacità comportamenti attesi un livello XML: Interoperabilità fra diversi sistemi Differenti viste della stessa informazione sfruttando XSL Leggibilità da parte degli agenti e dei programmatori B. R. A. IN. BehaviouralRole Correntemente ci sono due implementazioni: RoleSystem (2002): basato su registrazione agenti-ruoli RoleX (2003): basato su assunzione dinamica di ruoli da parte di agenti La nostra applicazione è stata sviluppata utilizzando RoleX Il framework BRAIN RoleX: middleware Java da anteporre alla piattaforma ad agenti mobili. Fornisce servizi orientati all’uso dei ruoli oltre ad una comunicazione event-driven. azioni eventi
5 di 15 Assunzione dei ruoli in RoleX Agente manipolato Agente originale Catalogo dei ruoli Fusione del bytecode del ruolo con quello dell’agente il ruolo e l’agente diventano una singola entità Ruolo: Interfaccia più Classe Java e descrittore in XML
6 di 15 L’applicazione Mail Configurator L’utente fornisce le proprie preferenze all’applicazione riguardo alla posta elettronica. L’applicazione si occupa di registrare presso un mail provider un account che le soddisfi. In caso di successo, il client di posta dell’utente viene automaticamente configurato. Requisiti Soluzioni Autonomia di esecuzione Agenti: user agent e mail provider agent Necessità di interazione Mobilità dello user agent Diversificazione operazioni/interazioni Ruoli assunti dinamicamente: lo user agent assume tre ruoli diversi
7 di 15 Agenti utilizzati User Agent: si occupa della sottoscrizione dell’account utente. Porta con sé le preferenze dell’utente e i parametri dell’account sottoscritto. Mail Provider Agent: si occupa di amministrare il sistema mail provider. Riceve le richieste dagli user agent ed eventualmente sottoscrive gli account.
8 di 15 Il ruolo Data Manager Questo è il primo ruolo usato, viene assunto dallo user agent per acquisire i dati dell’utente client di posta user’s data
9 di 15 Mobilità da client a mail provider HOME SITE MAIL PROVIDER SITE user agentmail provider agent user’s data
10 di 15 I ruoli Subscriber e Administrator La comunicazione fra gli agenti avviene tramite scambio di eventi user’s dataparameter
11 di 15 Mobilità da mail provider a client HOME SITE MAIL PROVIDER SITE user agent mail provider agent parameter
12 di 15 Il ruolo Parameter Setter Mediante questo ruolo lo user agent configura il client di posta dell’utente mostrandogli anche i parametri dell’account sottoscritto client di posta
13 di 15 Configurazione di un client: KMail L’agente configura il client Kmail di Linux
14 di 15 Analisi delle prestazioni
15 di 15 Conclusioni È stato realizzato un programma per la gestione automatica degli account di posta dell’utente. La tecnologia ad agenti mobili ha permesso di dotare l’applicazione di un’elevata autonomia. L’utilizzo dei ruoli ha fornito capacità di adattamento, dinamicità e riutilizzabilità del codice. Riduzione traffico di rete Configurazione di altri client sotto Windows e Linux Sviluppi futuri L’applicazione può essere estesa sia aggiungendo nuovi ruoli sia modificando quelli preesistenti