Sistemi context-aware, esercitazione 2 (3 giugno 2009)

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Sistemi context-aware, esercitazione 2 (3 giugno 2009) - Presentation Transcript

    1. Un esempio di Context Awareness Esercitazione 2 del corso di Sistemi Context-aware http://www.siti.disco.unimib.it/didattica/sistemica Marco Loregian loregian@disco.unimib.it
    2. Sommario • Modellazione e uso del contesto • L’infrastruttura di Gaia [ ] http://gaia.cs.uiuc.edu/ • Homework Abb i vi iamo l’a deo • References ltr di vis a v Gaia ser olt to riv ede ve a, rli ?
    3. Introduzione • Un sistema context-aware si adatta/adegua alla situazione in cui è immerso • In generale (“nel mondo”) non c’è un riferimento formale (modello) ufficiale (standard) o universale (condiviso, riusabile) • Né come architettura, né come “idea/ concezione” di contesto
    4. Un sistema context- aware deve • Raccogliere • Elaborare • Produrre informazioni relative al contesto ...ed agire in base ad esse
    5. Tipi di contesto • Fisico (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...
    6. Modellare il contesto Rappresentazione computabile del dominio applicativo • Il problema è trovare un modello • adatto (uniforme) • flessibile • espressivo ...allo stesso tempo
    7. 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]
    8. 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
    9. Esempi • Esprimo i contesti nella forma • Location (chris, entering, room 123) • Temperature (room 123, “=”, 15 C) • Sister (venus, serena) nome del argomenti predicato
    10. 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”
    11. I predicati • Sono 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)
    12. Infrastruttura
    13. 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 • Valutano i predicati su un insieme finito di valori (decidibilità assicurata) • Motore di reasoning: XSB • Ontologia di riferimento in DAML+OIL (evoluto oggi come OWL)
    14. 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...
    15. 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
    16. 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
    17. 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
    18. 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
    19. 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à
    20. Esempio applicazione 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]
    21. 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
    22. Implementazione Organizzazione 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
    23. Implementazione Tagging • 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
    24. Attributi • Location (stanza, ...) • Identity (persona, dispositivo, oggetto) • Activity (riunione, lezione, ...) • Space (privato, condiviso) • Time (validità di un dato) • Device (caratteristiche di un dispositivo)
    25. Uso degli attributi • Creazione di cartelle virtuali (viste) identificate con un path comprensibile (tipo/valore) • Queries sulle tag (con operatori booleani) • ...
    26. Implementazione Conversione • 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
    27. Implementazione Architettura MS = Mount Server FS = File Server (accesso al disco fisico)
    28. 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)
    29. File Server • Gestione dei dati su supporto fisico • Conversione formato documenti • Meccanismo basato su grafi di conversione • Trasparente per chi sviluppa l’applicazione
    30. Deployment del CFS • Il CFS è un servizio di Gaia • Altri servizi: gestione eventi, presenza utenti, autenticazione, ... • Può interagire con altre applicazioni
    31. Applicazioni di test • Data browser • Registro presenze • Juke-box • Archivio articoli • Visore GIF per PDA • Greeting engine
    32. Homework • Leggere i due articoli segnalati come riferimenti • Contribuire al SITI blog www.siti.disco.unimib.it/blog !
    33. 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

    + Marco LoregianMarco Loregian, 5 months ago

    custom

    243 views, 0 favs, 0 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 243
      • 243 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 2
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories