+ All Categories

Cac Es2

Date post: 29-Jun-2015
Category:
Upload: marco-loregian
View: 650 times
Download: 3 times
Share this document with a friend
Description:
Esercitazione 2 del corso di Sistemi-Context Aware: panoramica sul sistema Gaia
33
Un esempio di Context Awareness Esercitazione 2 del corso di Sistemi Context-aware http://www.siti.disco.unimib.it/didattica/sistemica Marco Loregian [email protected]
Transcript
Page 1: Cac Es2

Un esempio di Context Awareness

Esercitazione 2 del corso di Sistemi Context-awarehttp://www.siti.disco.unimib.it/didattica/sistemica

Marco [email protected]

Page 2: Cac Es2

Sommario

Esempio di modellazione e uso del contesto

L’infrastruttura di Gaia [http://gaia.cs.uiuc.edu/]

Homework

References

Page 3: Cac Es2

Un sistema context-aware si adatta alla situazione

In generale non c’è un modello ufficiale (standard) o universale (condiviso, riusabile) di riferimento

Né come architettura, né come “idea” di contesto

Introduzione

Page 4: Cac Es2

Un sistema context-aware deve

Raccogliere

Elaborare

Produrre

informazioni relative al contesto

Page 5: Cac Es2

Tipi di contestoFisico (spazio/tempo)

Ambientale (clima, illuminazione, ...)

Informativo (listino azionario, notizie del giorno, ...)

Personale (salute, umore, ...)

Sociale (relazioni, co-presenza, ...)

Applicativo (email, siti Web visitati, ...)

Sistema (stato delle periferiche, ...)

...eccetera...

Page 6: Cac Es2

Modellare il contesto

Il problema è trovare un modello

adatto (uniforme)

flessibile

espressivo

...allo stesso tempo

Rappresentazione computabile del

dominio applicativo

Page 7: Cac Es2

L’infrastruttura di Gaia

Architettura basata su:

context providers (sensori), consumers e synthesizers

meccanismo subscribe-notify

predicati nella logica del primo ordine

sistema a regole

Dettagli in [1]

Page 8: Cac Es2

Logica del primo ordine

Predicati su individui di un insieme ma non sui sottoinsiemi

Congiunzione, disgiunzione, negazione

Quantificazione esistenziale e universale

Per un ripasso veloce:http://plato.stanford.edu/entries/logic-classical/http://www.fecundity.com/codex/forallx.pdf

http://en.wikipedia.org/wiki/First-order_logic (con beneficio d’inventario)http://it.wikipedia.org/wiki/Linguaggio_del_primo_ordine

Page 9: Cac Es2

Esempi

Esprimo i contesti nella forma

Location (chris, entering, room 123)

Temperature (room 123, “=”, 15 C)

Sister (venus, serena)nome del predicato argomenti

Page 10: Cac Es2

Ontologia di Gaia

I predicati variano, e coinvolgono parametri di tipo diverso

Un’ontologia di riferimento permette di controllare la validità (correttezza della forma) dei predicati

Viene fornita una semantica dei predicati condivisa tra i componenti del sistema, ed “esportabile”

Page 11: Cac Es2

I predicatiSono consentite tutte le operazioni della logica del primo ordine

I componenti del sistema possono invocare funzioni programmate (in C)

∃Person s Location (s, Entering, currentRoom())

Posso derivare contesti

Sound (Room 3234, ‘‘>’’, 40 dB) ∧ Lighting (Room 3234, Stroboscopic) ∧ #People (Room 3234, ‘‘ >’’, 6) ⇒ Social Activity (Room 3234, Party)

Page 12: Cac Es2

Infrastruttura

Page 13: Cac Es2

Context Providers

Consentono alle applicazioni di avere informazioni complesse sui contesti, esprimendole ancora come predicati

Possono inviare informazioni periodicamente, in risposta ad un evento (cambiamento), e/o se interrogati

Tutti i CP hanno la stessa interfaccia generica

Valutao i predicati su un insieme finito di valori (decidibilità assicurata)

Motore di reasoning: XSB

Ontologia di riferimento in DAML+OIL (evoluto come OWL)

Page 14: Cac Es2

Context Consumers

Context-aware applications (parti del sistema complesso)

Ottengono informazioni dai Context Producers

Ricevono e/o richiedono

Possono lavorare direttamente coi contesti di base, dei Context Providers, ma spesso può servire qualcosa di più ricco...

Page 15: Cac Es2

Context Synthesizers

Elaborano informazioni da uno o più Context Providers per generare (inferendo) qualcosa di più complesso

Basati su regole

Più di una regola può risultare vera nello stesso momento

Conflitti generati nel sistema risolti (se possibile) in base a priorità

Rischio di comportamenti inattesi o impredicibili, caratteristica “classica” dei sistemi a regole

Page 16: Cac Es2

Apprendimento

I sintetizzatori possono essere migliorati utilizzando tecniche di apprendimento

Vengono sottoposti a training (ad esempio) monitorando i comportamenti degli utenti e chiedendo feedback sul loro operato

Page 17: Cac Es2

CP Lookup Service

Data l’architettura scelta, questo servizio permette ad un Consumer di cercare un Provider (o un Synthesizer) che sia in grado di fornirgli i dati che gli servono

Page 18: Cac Es2

Context History

Le applicazioni possono sfruttare l’evoluzione dei contesti per riuscire ad adattarsi meglio

Esempio: correlazione tra i cambiamenti d’umore di un utente e i cambiamenti di contesto

Utilizzata per l’apprendimento

Page 19: Cac Es2

Definire le applicazioni

Le applicazioni hanno comportamenti diversi in contesti diversi

Il collegamento contesto → comportamento viene descritto in un file di configurazione che specifica quale metodo invocare quando si verifica un contesto

Gestione delle priorità

Page 20: Cac Es2

Esempioapplicazione di file system context-aware

Organizzazione dei dati di un’applicazione in base al contesto

apertura dei files di un utente (sessione: data cloud) in base alla presenza fisica

conversione del formato dei files aperti in base allo stato dei dispositivi disponibili

http://gaia.cs.uiuc.edu/html/videos.htm

Dettagli in [2]

Page 21: Cac Es2

Caratteristiche del CFS

mobile users to make their data available to the local space

context to define what information is important for an activity

automatically launched applications to find data

users to inject data into running applications

users to import application configurations into specific spaces

data to be accessed in different formats

Page 22: Cac Es2

ImplementazioneOrganizzazione dei dati

Un namespace per ogni active space (“stanza”), con dentro una cartella per ogni utente localizzato

Gestione tramite formato XML

Accesso: File mode vs. Context mode

vista per navigazione vs. vista filtrata / limitata dal contesto

su tutto lo spazio

Page 23: Cac Es2

ImplementazioneTagging

File e directories sono descritte da metadati, usati dalle applicazioni

File System + DB

Possibile fare ricerche (velocemente) per trovare i dati necessari

Definizione condivisa degli attributi

Es. taggo un file con informazioni sulla location in cui deve essere accessibile

Page 24: Cac Es2

Attributi

Location (stanza, ...)

Identity (persona, dispositivo, oggetto)

Activity (riunione, lezione, ...)

Space (privato, condiviso)

Time (validità di un dato)

Device (caratteristiche di un dispositivo)

Page 25: Cac Es2

Uso degli attributi

Creazione di cartelle virtuali (viste) identificate con un path comprensibile (tipo/valore)

Queries sulle tag (con operatori booleani)

...

Page 26: Cac Es2

ImplementazioneConversione

Dispositivi eterogenei ⇒ Tipi dinamici

Principale fattore: limitazioni nella presentazione

Il software scritto per un dispositivo “sa” che tipi di documenti può manipolare

Possibile prevedere funzioni di conversione

Page 27: Cac Es2

ImplementazioneArchitettura

MS = Mount Server

FS = File Server (accesso al disco fisico)

Page 28: Cac Es2

Mount Server

Implementa le funzionalità sul database (merge, queries, ...)

Tabelle di references ai dati distribuiti sui vari dischi (gestiti da FS)

Vista sul contesto corrente (allegata alle / usata per gestire le richieste), in modo da poter processare

Gestione temporale dei dati (vd. attributi)

Page 29: Cac Es2

File Server

Gestione dei dati su supporto fisico

Conversione formato documenti

Meccanismo basato su grafi di conversione

Trasparente per chi sviluppa l’applicazione

Page 30: Cac Es2

Deployment del CFS

Il CFS è un servizio di Gaia

Altri servizi: gestione eventi, presenza utenti, autenticazione, ...

Può interagire con altre applicazioni

Page 31: Cac Es2

Applicazioni di test

Data browser

Registro presenze

Juke-box

Archivio articoli

Visore GIF per PDA

Greeting engine

Page 32: Cac Es2

Homework

Leggere i due articoli segnalati come riferimenti

Contribuire al SITI blogwww.siti.disco.unimib.it/blog !

Page 33: Cac Es2

Riferimenti

1. Anand Ranganathan, Roy H. Campbell: An infrastructure for context-awareness based on first order logic. Personal and Ubiquitous Computing 7(6): 353-364 (2003) http://dx.doi.org/10.1007/s00779-003-0251-x

2. Christopher K. Hess, Roy H. Campbell: An application of a context-aware file system. Personal and Ubiquitous Computing 7(6): 339-352 (2003) http://dx.doi.org/10.1007/s00779-003-0250-y


Recommended