Università Politecnica delle Marche
Corso di laurea magistrale in Ingegneria Informatica
Relatore
Prof. Aldo Franco Dragoni
Correlatori
Dott. Gianluigi Biancucci
Dott. Luca Palazzo
Candidato
Marco Giuliani
Introduzione
 Scenario: 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
Confronto qualitativo
VS
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
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
 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
 Viene fatto ricorso a carichi artificiali per
l’esecuzione di alcuni test
Confronto quantitativo
Carico di memoria del framework in esecuzione
Jade necessita del quintuplo della
memoria rispetto a Mobile-C
Confronto quantitativo
Tempo di avvio del framework
Mobile-C è quasi 7 volte più
veloce in fase di avvio
Confronto quantitativo
Creazione di agenti stazionari
Mobile-C circa 10 volte più veloce
rispetto a Jade!
Confronto quantitativo
Creazione 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-platform
Sistema sviluppato
Jade platform
S
Agente Server
C
Agente client
Mobile-C platform
C
Agente client
Jade platform
Comunicazione cross-platform
Tempi 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
Scarica

Studio e confronto delle piattaforme Mobile-C e Jade per