Studio e confronto delle piattaforme Mobile-C e Jade per lo sviluppo di sistemi multi-agente

Post on 10-Jan-2016

26 views 0 download

description

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. - PowerPoint PPT Presentation

Transcript of Studio e confronto delle piattaforme Mobile-C e Jade per lo sviluppo di sistemi multi-agente

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