20
Design and Implementation of a Cloud-based Middleware for Persuasive Android Applications Candidato: Matteo Lelli Relatore: Chiar.mo Prof. Ing. Paolo Bellavista Correlatori: Prof. Abdelsalam Helal, Prof. Ing. Antonio Corradi 1

v2 Presentazione Lelli

Embed Size (px)

Citation preview

Page 1: v2 Presentazione Lelli

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

Page 2: v2 Presentazione Lelli

Captology• Deriva dall’acronimo di “Computers As Persuasive Technologies”• Si occupa dello studio dei computer utilizzati come tecnologie di

persuasione

2

Page 3: v2 Presentazione Lelli

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

Page 4: v2 Presentazione Lelli

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

Page 5: v2 Presentazione Lelli

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

Page 6: v2 Presentazione Lelli

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

Page 7: v2 Presentazione Lelli

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

Page 8: v2 Presentazione Lelli

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

Page 9: v2 Presentazione Lelli

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

Page 10: v2 Presentazione Lelli

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

Page 11: v2 Presentazione Lelli

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

Page 12: v2 Presentazione Lelli

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

Page 13: v2 Presentazione Lelli

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

Page 14: v2 Presentazione Lelli

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

Page 15: v2 Presentazione Lelli

Risultati test App per SmartphoneGrafico dell’utilizzo della CPU nell’applicazione per Smartphone

Utilizzo CPU (%)

Tempo Trascorso (s)

15

Page 16: v2 Presentazione Lelli

Risultati test App per Smartphone

Utilizzo Memoria (MB)

Tempo Trascorso (s)

Grafico dell’utilizzo della memoria nell’applicazione per Smartphone

16

Page 17: v2 Presentazione Lelli

Risultati test App per Smartphone

Traffico di rete (KB/s)

Tempo Trascorso (s)

Grafico del traffico di rete nell’applicazione per Smartphone

17

Page 18: v2 Presentazione Lelli

Risultati test App per Smartwatch

Utilizzo CPU (%)

Tempo Trascorso (s)

Grafico dell’utilizzo della CPU nell’applicazione per Smartwatch

18

Page 19: v2 Presentazione Lelli

Risultati test App per Smartwatch

Utilizzo Memoria (MB)

Tempo Trascorso (s)

Grafico dell’utilizzo della memoria nell’applicazione per Smartwatch

19

Page 20: v2 Presentazione Lelli

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