Upload
severino-silvestri
View
221
Download
4
Embed Size (px)
Citation preview
Studio e confronto delle piattaforme Mobile-C e Jade per lo sviluppo di sistemi multi-agente
Università Politecnica delle MarcheCorso di laurea magistrale in Ingegneria Informatica
RelatoreProf. Aldo Franco Dragoni
CorrelatoriDott. Gianluigi BiancucciDott. Luca Palazzo
CandidatoMarco Giuliani
IntroduzioneScenario: valutazione e confronto di framework per
lo sviluppo di sistemi multi-agente
Motivazione: necessità di utilizzare agenti in sistemi embedded in cui le limitazioni hardware impediscono l’esecuzione di una Java Virtual Machine
Obiettivo: ricerca dei vantaggi e svantaggi derivanti dall’utilizzo di Mobile-C e di Jade, sia singolarmente che congiuntamente in un sistema ad agenti ibrido
Stato dell’arte delle piattaforme per lo sviluppo di sistemi multi-agente
Gran parte delle piattaforme basate su Java (Jade, Mole, Aglets, Concordia)
Difficoltà di interfacciamento con hardware di basso livello
Mobile-C è l’unica piattaforma che supporta agenti mobili C/C++ ad adottare uno standard internazionale
Lo standard IEEE FIPA
Organizzazione internazionale no-profit
Fornisce standard per l’interoperatività di agenti eterogenei
Non fornisce alcuna implementazione fisica, i cui dettagli dipendono dalle scelte degli sviluppatori
Standard adottato da Mobile-C e da Jade
Distribuito secondo licenza LGPL
Distribuito secondo licenza BSD
Deve essere designato un “Main Container” come agenzia centrale
Completamente decentralizzato, ogni agenzia è un peer a sé
Libreria scritta completamente in Java
Libreria scritta in C utilizzando le librerie proprietarie embedded CH
Agenti scritti in Java Agenti scritti in C++
Richiede la presenza di una Java Virtual Machine
Java Virtual Machine non necessaria
Confronto qualitativo
VS
Architettura Mobile-C
Due tipi di agenti nel sistema: agenti stazionari (SA) e agenti mobili (MA)
L’agent execution engine serve come ambiente di esecuzione per codice di MA
AEE contiene l’interprete CH per eseguire il codice dell’agente mobile
Le librerie Embedded CH per l’esecuzione di codice CH non sono
gratuite (hanno un costo di 99$ per licenza)
Modello di analisi delle prestazioni di sistemi ad agenti mobili
Viene fatto ricorso a carichi artificiali per l’esecuzione di alcuni test
Misurazioni su singolo host per evitare errori dovuti alle
interconnessioni o ad eterogeneità di caratteristiche dei
calcolatori
Caratteristiche della macchina utilizzata per i test:
CPU Intel Core i7 @1,60GHz architettura X86
RAM 4,00 GB S.O.
Microsoft Windows 7 professional
Confronto quantitativoCarico di memoria del framework in esecuzione
Jade necessita del quintuplo della memoria rispetto a Mobile-
C
Confronto quantitativoTempo di avvio del framework
Mobile-C è quasi 7 volte più veloce in fase di avvio
Confronto quantitativoCreazione di agenti stazionari
Mobile-C circa 10 volte più veloce rispetto a Jade!
Confronto quantitativoCreazione e migrazione di agenti mobili
Comportamento assimilabile per un numero
elevato di agenti
Per ragioni di portabilità e sicurezza, gli agenti mobili C vengono eseguiti all’interno di un interprete CH, perciò il tempo di
migrazione risente del tempo necessario ad interpretare il codice migrato
Comunicazione cross-platformSistema sviluppato
Agente Server
Agente clientAgente client
Mobile-C platform
Jade platform
Jade platform
“pin
g”
REQUEST
“pong”
INFORM
“ping”
REQUEST
“pong”
INFORM
C C
S
Comunicazione cross-platformTempi di comunicazione
Degrado delle prestazioni contenuto
Implementazione semplice anche per piattaforme
eterogenee grazie al rispetto di specifiche FIPA
Agevole costruzione di sistemi multi agente ibridi
Conclusioni
Mobile-C superiore in termini di prestazioni, ma migliorabile nel supporto e nella documentazione
Jade più adatto per applicazioni IT, Mobile-C più adatto per sistemi embedded e real-time
Ragioni economiche, non solo prestazionali
Sviluppi futuri
Migliorare complessivamente la velocità di risposta di sistemi ad agenti esistenti
Possibilità di costruzione di sistemi multi-agente ibridi senza eccessivo degrado di prestazioni
Grazie per l’attenzione