160 likes | 267 Views
Studio e confronto delle piattaforme Mobile-C e Jade per lo sviluppo di sistemi multi-agente. Università Politecnica delle Marche Corso di laurea magistrale in Ingegneria Informatica. Relatore Prof. Aldo Franco Dragoni. Correlatori Dott. Gianluigi Biancucci Dott. Luca Palazzo.
E N D
Studio e confronto delle piattaforme Mobile-C e Jade per lo sviluppo di sistemi multi-agente 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 VirtualMachine • 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
Architettura Mobile-C • Due tipi di agenti nel sistema: agenti stazionari (SA) e agenti mobili (MA) • L’agentexecutionengine 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 hostper 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 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 Jadeplatform Agente Server S “pong” INFORM “ping” REQUEST “pong” INFORM “ping” REQUEST Agente client Agente client C C Mobile-C platform Jadeplatform
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 embeddede 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