1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad...

15
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

Transcript of 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad...

Page 1: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

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

Page 2: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

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

Page 3: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

3 di 15

Agenti e Ruoli

PiattaformaPiattaformaPiattaforma 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

Page 4: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

4 di 15

XML-based notation

Role-based interaction model

BRAIN framework

Interaction infrastructure

(implementation A)

Interaction infrastructure

(implementation B)

XML-based notation

Role-based interaction model

BRAIN framework

Interaction infrastructure

(implementation A)

Interaction infrastructure

(implementation B)

XML-based notation

Role-based interaction model

BRAIN framework

Interaction infrastructure

(implementation A)

Interaction infrastructure

(implementation B)

XML-based notation

Role-based interaction model

BRAIN framework

Interaction infrastructure

(implementation A)

Interaction infrastructure

(implementation B)

XML-based notation

Role-based interaction model

BRAIN framework

RoleX RoleSystem …

AgentINteractionsLe 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:RoleX: middleware Java da anteporre alla piattaforma middleware Java da anteporre alla piattaforma ad agenti mobili. Fornisce servizi orientati all’uso dei ad agenti mobili. Fornisce servizi orientati all’uso dei ruoli oltre ad una comunicazione event-driven.ruoli oltre ad una comunicazione event-driven.azioni

eventi

Page 5: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

5 di 15

Assunzione dei ruoli in RoleX

Role Loader

role

Agente manipolato

Agente originaleCatalogo 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

Page 6: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

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 ruolidiversi

Page 7: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

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.

Page 8: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

8 di 15

Il ruolo Data Manager

Questo è il primo ruolo usato, viene assunto dallo user agent per acquisire i dati dell’utente

Data manager

HOME SITEUser

user agent

role

client di posta

user’s data

Page 9: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

9 di 15

Mobilità da client a mail provider

HOME SITE MAIL PROVIDER SITE

user agent mail provider agent

user’s data

Page 10: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

10 di 15

I ruoli Subscriber e Administrator

La comunicazione fra gli agenti avviene tramite scambio di eventi

MAIL PROVIDER SITE

AdministratorSubscriber

user agent mail provider agent

user’s dataparameter

Page 11: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

11 di 15

Mobilità da mail provider a client

HOME SITE MAIL PROVIDER SITE

user agent mail provider agent

parameter

Page 12: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

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

Parameter Setter

HOME SITEUser

Parameter

user agent

role

client di posta

Page 13: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

13 di 15

Configurazione di un client: KMail

L’agente configura il client Kmail di Linux

Page 14: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

14 di 15

Analisi delle prestazioni

Andamenti

0

20000

40000

60000

80000

100000

120000

1 5 9 13 17 21 25 29

Numero di account

Tra

ffic

o d

i re

te

Reg manuale

Reg Mail Configurator

Page 15: 1 di 15 Università degli studi di Modena e Reggio Emilia Mail Configurator: un’applicazione ad agenti mobili basata su ruoli dinamici Correlatori: Ing.

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