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!
Scarica

talk ppt