v2 presentazione lelli
TRANSCRIPT
Design and Implementation of a Cloud-based Middleware for Persuasive Android ApplicationsCandidato: Matteo LelliRelatore: Chiar.mo Prof. Ing. Paolo BellavistaCorrelatori: Prof. Abdelsalam Helal, Prof. Ing. Antonio Corradi
1
Captology• Deriva dall’acronimo di “Computers As Persuasive Technologies”• Si occupa dello studio dei computer utilizzati come tecnologie di
persuasione
2
Assenza di teorie e di middlewareIn letteratura vi era una mancanza di:•Modelli teorici che potessero aiutare gli sviluppatori software a comprendere ed utilizzare al meglio le conoscenze inerenti lo studio della captology•Middleware che potessero facilitare lo sviluppo di applicazioni su dispositivi Android
3
Action-based Behavior ModelSviluppato all’University of Florida, ABM è un modello per applicazioni persuasive che può essere facilmente compreso ed utilizzato da informatici e da sviluppatori
4
Situation-based Assess TreeStruttura utilizzata per effettuare la valutazione della persuasione (Assess Step di ABM), in cui ogni nodo foglia corrisponde ad un comportamento da monitorare
5
Cicero Middleware• Middleware per dispositivi Android• Basato su ABM• Riduce ABM, adattandolo al mondo Android• Sensing che sfrutta le potenzialità di Google Play Services• Assessment delle modifiche dei comportamenti basata su
Situation-based Assess Tree
6
Criticità di Cicero• Mono-sensing: può essere monitorato un solo comportamento per
ogni applicazione• Mono-device: Cicero può essere eseguito su un solo dispositivo,
perdendo l’opportunità di utilizzare più dispositvi posseduti dall’utente (ad esempio Smartwatch)
• Integrazione con esperto del dominio: l’esperto è coinvolto solo minimamente nella persuasione e non può controllare o modificare l’applicazione
• Espressività e uniformità dell’implementazione di SAT: albero non omogeneo e con lacune espressive
7
Struttura di SensingNuova architettura che permette il sensing contemporaneo di più comportamenti: ogni Sentience Object all’interno del Sentience Pool ha il compito di gestire un comportamento
Sentience Manager
Sentience Manager Service
Sentience Manager Receiver
Sentience Pool
Sentience Objects
Location Scan Motion Scan
Completeness Scan
Request to sense a behavior
Google Play Services API or low-level API
8
Architettura Cloud-basedNuova architettura basata sulla centralizzazione del SAT in una piattaforma cloud (Google App Engine), che offre ai dispositivi delle API remote (Google Endpoints), mentre il sensing rimane distribuito
Cyber Manager
SAT
APIs
Domain Expert
9
Comunicazione con Smartwatch• Gli Smartwatch Android non sono tipicamente in grado di
comunicare direttamente con la piattaforma cloud• È richiesto un protocollo di comunicazione che sfrutti lo
Smartphone collegato allo Smartwatch come ponte verso il cloud
• Il sensing è analogo a quello degli altri dispositivi; è necessario modificare solamente la comunicazione con la piattaforma cloud
10
Smartwatch-to-Cloud Communication ProtocolProtocollo di comunicazione fra smartwatch e cloud che si sviluppa in 7 passaggi, più un ottavo per la terminazione
Handheld Smartwatch
1
SAT
23
4 5
67
8
11
Integrazione dell’esperto del dominio
Grazie alla nuova architettura e ad un’apposita applicazione, l’esperto del dominio può:•Creare nuovi comportamenti da analizzare (aggiunta nodi SAT)•Modificare i valori di riferimento dei comportamenti preesistenti (ad esempio i minuti di camminata giornaliera)•Visualizzare la situazione corrente•Visualizzare un grafico con il dettaglio della storia dell’utente
12
Potenziamenti di SAT• Struttura gerarchica dei nodi che consente l’utilizzo di funzione ricorsive
ed una migliore manipolazione degli stessi• Introduzione di un ID creato a runtime al momento dell’inserimento del
nodo all’interno dell’albero• Aggiunta di due campi facoltativi all’interno dei nodi foglia allo scopo di
specificare informazioni aggiuntive riguardo al contesto o alle azioni di sensing del dispositivo, modificabili successivamente alla creazione del nodo (ad esempio, la posizione della palestra preferita da un utente può avvenire in un secondo momento)
13
Test delle performancePer analizzare le performance della nuova versione di Cicero, ho svolto diversi test utilizzando i dispositivi fisici e gli emulatori riportati nella figura a lato
Router
GAE Development Server
Android Watch Emulator
Users’ smartwatch application
Desktop PC
USB connection
Smartphone
DEMA
Users’ application
LAN connection IEEE 802.11n connection
14
Risultati test App per SmartphoneGrafico dell’utilizzo della CPU nell’applicazione per Smartphone
Utilizzo CPU (%)
Tempo Trascorso (s)
15
Risultati test App per Smartphone
Utilizzo Memoria (MB)
Tempo Trascorso (s)
Grafico dell’utilizzo della memoria nell’applicazione per Smartphone
16
Risultati test App per Smartphone
Traffico di rete (KB/s)
Tempo Trascorso (s)
Grafico del traffico di rete nell’applicazione per Smartphone
17
Risultati test App per Smartwatch
Utilizzo CPU (%)
Tempo Trascorso (s)
Grafico dell’utilizzo della CPU nell’applicazione per Smartwatch
18
Risultati test App per Smartwatch
Utilizzo Memoria (MB)
Tempo Trascorso (s)
Grafico dell’utilizzo della memoria nell’applicazione per Smartwatch
19
ConclusioniLa nuova versione di Cicero è quindi:
•In grado di effettuare il sensing di più comportamenti contemporaneamente e su più dispositivi fisici distinti, compresi Smartwatch
•Organizzata in una nuova struttura orientata al cloud, offrendo un servizio di assess as-a-service
•Impostata verso una maggiore integrazione dell’esperto del dominio, il quale ha il pieno controllo del SAT
Possibili sviluppi futuri possono essere:
•Gestione degli accessi e della sicurezza dei dati sensibili degli utenti conservati nel cloud
•Applicazione web che consenta all’esperto del dominio di interagire con il SAT attraverso un browser web
20