Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Relatore: Tesi di Laurea di: Chiar.mo Prof. Letizia Leonardi Claudio Chiossi Correlatori: Ing. Giacomo Cabri Ing. Luca Ferrari 1 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 2 di 15 Agenti e Ruoli Autonomia Mobilità Piattaforma Piattaforma Piattaforma Piattaforma 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 3 di 15 Il framework BRAIN Correntemente ci sono due implementazioni: BRAIN framework BRAIN framework framework Role-based interaction model Role-basedinteraction Role-based model Role-based interaction model • RoleSystem (2002): basato su registrazione agenti-ruoli XML-based notation notation XML-based XML-based notation XML-based notation • RoleX (2003): basato su RoleX Interaction assunzione dinamica di ruoli da Interaction infrastructure parte di agenti (implementation A) Interaction La nostra applicazione è infrastructure (implementation A) stata sviluppata utilizzando Interaction infrastructure (implementation B) RoleSystem Interaction Interaction infrastructure infrastructure (implementation (implementation B) B) … … RoleX Behavioural B. Role R. Agent A. INteractions IN. RoleX: Le Un un infrastrutture livello modello middleware XML: di interazione di Java interazione: da anteporre basato sui allaruoli: piattaforma definisce ad implementano Interoperabilità agenti mobili. un ruolo ilFornisce fra modello come diversi servizi disistemi BRAIN orientati all’uso dei azioni sfruttando XSL Differenti ruoli forniscono un oltre insieme adviste meccanismo una di capacità della comunicazione stessa di azioni-eventi informazione event-driven. Leggibilità abilitano l’agente comportamenti da parte attesi addegli assumere/usare/rilasciare agenti eeventi dei programmatori un ruolo 4 di 15 gestiscono i ruoli Assunzione dei ruoli in RoleX Ruolo: Interfaccia più Classe Java e descrittore in XML Fusione del bytecode del ruolo con quello dell’agente il ruolo e l’agente diventano una singola entità Agente originale Catalogo dei ruoli Agente manipolato Role Loader role 5 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 6 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. 7 di 15 Il ruolo Data Manager Questo è il primo ruolo usato, viene assunto dallo user agent per acquisire i dati dell’utente user’s data user agent Data manager User role HOME SITE client di posta 8 di 15 Mobilità da client a mail provider user agent mail provider agent user’s data HOME SITE MAIL PROVIDER SITE 9 di 15 I ruoli Subscriber e Administrator La comunicazione fra gli agenti avviene tramite scambio di eventi user’s data parameter mail provider agent user agent Subscriber Administrator M AIL PROVIDER SITE 10 di 15 Mobilità da mail provider a client user agent mail provider agent parameter HOME SITE MAIL PROVIDER SITE 11 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 Parameter user agent Parameter Setter User role HOME SITE client di posta 12 di 15 Configurazione di un client: KMail L’agente configura il client Kmail di Linux 13 di 15 Analisi delle prestazioni Andamenti 120000 Reg manuale 100000 Reg Mail Configurator Traffico di rete 80000 60000 40000 20000 0 1 5 9 13 17 21 25 29 Numero di account 14 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. Sviluppi futuri L’applicazione può essere estesa sia aggiungendo nuovi ruoli sia modificando quelli preesistenti Riduzione traffico di rete Configurazione di altri client sotto Windows e Linux 15 di 15