Università degli Studi di Genova Facoltà di Ingegneria Informatica l . i . d . o . – DIST AgentService in a hand Un’architettura leggera per dispositivi mobili in un contesto SOA Andrea Passadore, Alberto Grosso Mauro Coccoli e Antonio Boccalatte Palermo, 17 novembre 2008 Agenda • • • • • • Obiettivi del progetto Possibili scenari di impiego Architettura del sistema Dinamica del sistema Valutazione delle prestazioni Conclusioni e sviluppi futuri AgentService in a hand 2 Obiettivi del progetto Espandere i confini dell’esecuzione degli agenti di AgentService su periferiche mobili e dalle risorse limitate. In dettaglio: • Fornire i servizi di runtime di una piattaforma server a piattaforme mobili • Sviluppare una versione leggera della piattaforma ad agenti AgentService per PDA / Smartphone / Tablet PC AgentService in a hand 3 Espandere i confini di AgentService UMTS GPRS WLAN AgentService in a hand 4 AgentService (in breve) • Basato su: – Common Language Infrastructure – Framework .NET 3.5 – (Mono) • Giunto alla versione 1.0.14 • Licenza LGPL • Disponibile su: – www.agentservice.it AgentService in a hand 5 AgentService (in breve) • Modello d’agente: – Behaviour – Knowledge • AgentService supporta: K K – Servizi FIPA: • AMS • Pagine gialle • Messaggistica B B B – Moduli aggiuntivi AgentService in a hand 6 Scenari di utilizzo - 1 Rete di sensori Operatore Sistema Informatico Rete Wireless AgentService in a hand 7 Scenari di utilizzo - 2 RFID RFID AgentService in a hand 8 Scenari di utilizzo - 3 AgentService in a hand 9 Scenari di utilizzo - 4 External application External application AgentService in a hand SOA Server 10 Problematiche affrontate • Sviluppo di applicazioni per dispositivi mobili: – Limitate risorse hardware – Limitato ambiente di esecuzione: • Sistema Operativo Windows Mobile / CE • Framework .NET compatto • Limitato supporto a chiamate di metodi remoti ? AgentService in a hand 11 Pubblicazione dei servizi remoti Piattaforma client Mobile Piattaforma server Desktop Componenti SOA Server AgentService in a hand 12 Pubblicazione dei servizi remoti Servizio di registrazione remota • Registrazione e Deregistrazione Servizio di Piattaforme edpagine agenti gialle remoti • Registrazione dei servizi offerti • Controllo credenziali Servizio di messaggistica Ricerca di agenti in gradodidi •• Invio, attesa e ricezione fornire untra particolare servizio messaggi gli agenti Servizio di pagine bianche Registrazione deregistrazione • Gestione delleeconversazioni Servizio di consegna degli eventi del proprio AID (Agent IDentifier) • Inoltro notifiche degli eventi da • Ricerca degli agenti piattaforma server a piattaforme remote AgentService in a hand 13 Diagramma architettura Driver Platform Controller Behaviour Scheduler WCF Controller Events Dispatcher File Loader Main Form AgentService in a hand Backend Configuration Form Load Agents Form Execution Form Frontend Grafico 14 Avvio della piattaforma Platform Controller Driver SOA Client Start() SOA Server AMS Message Module Register() CreateAgents() Loop [for each agent in list] BindToRuntime() StartAgents() StartAgents() Loop [for each agent in list] RegisterAgent() Register() CreateQueue() Loop [for each agent in list] Agent Scheduler Activate() Start() AgentService in a hand 15 Attesa di un messaggio Agent#1 WaitForMessage() Event Dispatcher AutoReset Event MsgClient Remote MsgClient Message Module ReceiveMessage() message Optional [if message == null] Register() WaitOne() Loop Alternative [no message] GetAllEvents() [new message] NewMessage() GetAllEvents() Optional [message for Agent#1] Set() ReceiveMessage() message AgentService in a hand 16 Interfaccia Grafica 1 2 Main Form Configuration Form AgentService in a hand 17 Interfaccia Grafica 3 4 Load Agents Form Execution Form AgentService in a hand 18 Sessione di Benchmark Configurazione di prova PDA HP iPAQ hx2490b Intel PXA270 520 MHz 192 MB ROM / 64 RAM Windows Mobile 5 AgentService Mobile WLAN 802.11b PC Desktop Athlon 64 3200+ 1 GigaByte RAM Windows Vista AgentService • Misurazione tempo fra: – Invio messaggio – Ricezione risposta. • Simulazione di carico computazionale AgentService in a hand 19 Sessione di benchmark Risultati 7000 5700,5 Millisecondi 6000 5000 4000 3000 2000 1000 1495,6 572 626,5 1 2 0 5 10 Numero di Agenti AgentService in a hand 20 Conclusioni e sviluppi futuri Obiettivi raggiunti: • Abbattute le barriere fisiche dell’esecuzione di AgentService • Espansione a concetto di “piattaforma allargata” • Possibilità di eseguire gli agenti sviluppati per Desktop Sviluppi futuri: • Aggiunta supporto alle ontologie • Aggiunto servizio di persistenza degli agenti • Piattaforma ultra leggera: .NET Micro Framework AgentService in a hand 21 Università degli Studi di Genova Facoltà di Ingegneria Informatica l . i . d . o . – DIST Grazie per l’attenzione!