Chiara Pacchioni Interazioni tra Agenti Mobili: un metodo di valutazione della fiducia 1 di 12 Obiettivo Individuazione di un metodo per la VALUTAZIONE DELLA FIDUCIA nellambito delle interazioni tra agenti mobili
Gli agenti mobili sono… Agenti: entità software in grado di adempiere ai loro compiti senza il bisogno di continue interazioni con gli utenti Agenti Mobili: agenti in grado di spostarsi da un host allaltro 2 di 12 La mobilità ed il ciclo di vita dellagente sono gestiti dalla Piattaforma (M.A.P.) Le interazioni tra gli agenti e con le piattaforme vengono gestite nel codice (ad es. Java) Necessità di renderle sicure
Interazioni sicure...? no alterazioni a codice e stato no violazioni di privacy/secrecy no dubbi sullidentità no attacchi distruttivi... nessun inganno! servizio fornito dati scambiati opinione insegnamento... FIDUCIANELLINTERAZIONE Certezze... Presupposti... 3 di 12
Metodo di valutazione della fiducia Obiettivo: quantificazione del livello di fiducia tra agenti mobili ij F ij 4 di 12 F ij = Livello di Fiducia dellagente i nellagente j Aspetti da considerare - Autenticazione - Firma digitale - Identità del Signer - Host di provenienza - Storia delle operazioni - Fiducia del Ruolo AFIHSRAFIHSR
Metodo di valutazione della fiducia ij F ij Aspetti da considerare - Autenticazione - Firma digitale - Identità del Signer - Host di provenienza - Storia delle operazioni - Fiducia del Ruolo AFIHSRAFIHSR Credenziali o Struttura della classe dellagente F ij = Livello di Fiducia dellagente i nellagente j 4 di 12
Metodo di valutazione della fiducia ij F ij Aspetti da considerare - Autenticazione - Firma digitale - Identità del Signer - Host di provenienza - Storia delle operazioni - Fiducia del Ruolo AFIHSRAFIHSR j class MyAgent {... } Chiara Pacchioni F ij = Livello di Fiducia dellagente i nellagente j 4 di 12
Metodo di valutazione della fiducia ij F ij Aspetti da considerare - Autenticazione - Firma digitale - Identità del Signer - Host di provenienza - Storia delle operazioni - Fiducia del Ruolo Chiara Pacchioni ?? F ij = Livello di Fiducia dellagente i nellagente j AFIHSRAFIHSR 4 di 12
Metodo di valutazione della fiducia ij F ij Aspetti da considerare - Autenticazione - Firma digitale - Identità del Signer - Host di provenienza - Storia delle operazioni - Fiducia del Ruolo F ij = Livello di Fiducia dellagente i nellagente j AFIHSRAFIHSR 4 di 12 unimo.it
Metodo di valutazione della fiducia ij F ij Aspetti da considerare - Autenticazione - Firma digitale - Identità del Signer - Host di provenienza - Storia delle operazioni - Fiducia del Ruolo F ij = Livello di Fiducia dellagente i nellagente j AFIHSRAFIHSR Esiti positivi Consistenza di dati... n OK n TOT 4 di 12
Metodo di valutazione della fiducia ij F ij Aspetti da considerare - Autenticazione - Firma digitale - Identità del Signer - Host di provenienza - Storia delle operazioni - Fiducia del Ruolo i j R role x role y I RUOLI garantiscono la separazione di aspetti di interazione da quelli algoritmico-esecutivi I RUOLI rendono più semplice lapplicazione di politiche locali agli agenti Sistema a ruoli F ij = Livello di Fiducia dellagente i nellagente j AFIHSRAFIHSR 4 di 12
Formula proposta per il calcolo della fiducia Parametri Parametri - I H S R sono voti tra 0 ed F è booleano (0 o 1) - A è un voto oppure è booleano Pesi c i (interi tra 0 e 10) Pesi c i (interi tra 0 e 10) 5 di 12 Essi rappresentano: - limportanza data ai parametri ad essi relativi - lincapacità di calcolarne il relativo parametro c R può essere frutto di un calcolo sul ruolo..... F alternativo ad A F necessario per I F=1 F=0 obiettivo contesto di interazione i role x cRcR
Caratteristiche del metodo di calcolo NECESSITÀ di un valore di sogliaFm DEFINIZIONE DI UNA METRICAFij [0,1] È... GENERALE ADATTABILE ESTENDIBILE 6 di 12 in base a... Contesto di applicazione Obiettivi dellagente Esigenze di chi ha inviato lagente Tecnologie adottate
Implementazione del metodo di valutazione Linguaggio utilizzato: Java (portabile, estendibile,...) Linguaggio utilizzato: Java (portabile, estendibile,...) Parametro e peso sono stati racchiusi in un Term Parametro e peso sono stati racchiusi in un Term Realizzata con interfacce Java Realizzata con interfacce Java Personalizzabile per ogni situazione di utilizzo Personalizzabile per ogni situazione di utilizzo 7 di 12
Due esempi di applicazione del metodo studiato 1. Sistema CBR di information retrieval per la ricerca di immagini: analizzato a livello teorico un possibile approccio alla fiducia 2. Implementazione di alcune classi in ambiente IBM® Robocode allo scopo di simulare lutilizzabilità del metodo implementato 8 di 12
Test simulativo con IBM Robocode I robot agiscono in condizioni del tutto simili ai tipici agenti mobili: si trovano in un ambiente con altri abitanti si trovano in un ambiente con altri abitanti si scambiano informazioni si scambiano informazioni hanno la possibilità di cooperare o competere hanno la possibilità di cooperare o competere hanno la possibilità di essere ingannati hanno la possibilità di essere ingannati 9 di 12
Robocode I robot sono autonomi, realizzati in Java e personalizzabili I robot sono autonomi, realizzati in Java e personalizzabili La Battaglia di Fiducia sfrutta scambi di messaggi ed eventi La Battaglia di Fiducia sfrutta scambi di messaggi ed eventi 10 di 12 Implementazione Robot Valutatore Robot valutati: Non fidati e Fidato
ROBOCODE Battaglia di Fiducia non fidati fidato 11 di 12
Conclusioni 12 di 12 Sviluppi Futuri Approfondire lapproccio in caso di gestione dinamica dei ruoli Sviluppare metodi alternativi per rilevare i parametri in particolare: la storia delle operazioni (parametro S) merita una analisi approfondita Sono state studiate le problematiche relative alla fiducia nelle interazioni È stato sviluppato un set di classi Java per supportare il modello proposto Si è verificato tramite applicazione che il modello è facilmente adattabile ai diversi contesti di utilizzo
.... BoolInitializer fi = new SignatureInitializer(); Term ft = TermFactory.getTerm(TermFactory.F_TERM); ft.initialize(fi,MyAgent"); termine_F = ft.getValue(weight);.... Per il termine F signatures[]=c.getSigners();... Implementazione del metodo di valutazione Smista le chiamate alle classi che gestiscono i singoli parametri in base al tipo segnalato Si occupa della moltipliczione del parametro calcolato per il relativo peso, passato nella getValue(...)... public interface BoolInitializer extends Initializer { } Appendice 1/2
Esempio 1. CBR Content-Based Retrieval Applicazione che sfrutta agenti mobili per la ricerca di immagini nel Web Applicazione che sfrutta agenti mobili per la ricerca di immagini nel Web Gli agenti interagiscono per cercare e recuperare le immagini Gli agenti interagiscono per cercare e recuperare le immagini Si è scelto di considerare i parametri relativi a: Si è scelto di considerare i parametri relativi a: Autenticazione Autenticazione Firma digitale Firma digitale Identità dei signer Identità dei signer Fiducia del ruolo Fiducia del ruolo Appendice 2/2