84401 - SISTEMI CONTEXT-AWARE

Scheda insegnamento

  • Docente Marco Di Felice

  • Crediti formativi 6

  • SSD INF/01

  • Modalità didattica Convenzionale - Lezioni in presenza

  • Lingua di insegnamento Italiano

  • Orario delle lezioni dal 26/02/2019 al 23/05/2019

Anno Accademico 2018/2019

Conoscenze e abilità da conseguire

Al termine del corso, lo studente è in grado di progettare, sviluppare e valutare sistemi ubiqui ed applicazioni operanti su dispositivi mobili in grado di adattarsi alle caratteristiche del contesto ed alla posizione/mobilità dell’utente. Al termine del corso, lo studente: - conosce le basi del context-aware computing e le principali tecniche per la localizzazione di utenti/dispositivi e per il riconoscimento dell’attività; -conosce i principali modelli per la rappresentazione e manipolazione di dati di contesto; -conosce i principali middleware ed architetture software per lo sviluppo di applicazioni e servizi adattivi ed ubiqui.

Programma/Contenuti

Il corso affronta tematiche legate alla progettazione e realizzazione di sistemi ed applicazioni ubiqui e context-aware, resi oggi possibili dalla diffusione pervasiva di dispositivi in grado di fare sensing dell’ambiente e di elaborare i dati raccolti. Il programma del corso è suddiviso in tre blocchi principali. Nel primo blocco, vengono presentate le definizioni di “contesto” e di sistema context-aware, le architetture software di riferimento ed i campi applicativi, soffermandosi in particolare su sistemi location-aware, activity-aware ed emotion-aware: nelll’ambito dei sistemi location-based, vengono illustrate in dettaglio le tecnologie per la localizzazione, visualizzazione di dati geospaziali su mappe, storage e data-fusion. Nel secondo blocco viene discusso il ciclo di vita della progettazione di sistemi context-aware, illustrando le tecnologie abilitanti e framework per ciascuna delle fasi di: context acquisition, context modeling, context reasoning. Infine, il terzo blocco affronta aspetti legati alla realizzazione di servizi ed applicazioni per contesti mobili. Vengono illustrate architetture software e middleware a supporto della mobilità dei servizi: inoltre, vengono presentati nuovi scenari applicativi legati alla mobilità di utenti/terminali (es. reti veicolari o reti autonome di droni/robot).

Segue l'elenco degli argomenti trattati nel corso:

Introduzione e definizione di contesto e di sistema context-aware

Casi d’uso di sistemi context-aware

  • Sistemi location-aware
  • Tecnologie per la localizzazione
  • Mapping APIs
  • Spatial database
  • Location-based services
  • Sistemi activity-aware
  • Sistemi emotion-aware

Componenti di sistemi context-aware

  • Context acquisition mediante sensori primari e secondari
  • Context modeling (context graphs, context languages, approcci semantici)
  • Context reasoning mediante approcci learning-based o inference-based

Servizi per sistemi mobili ed ubiqui

  • Architetture software e middleware a supporto della mobilità dei servizi: pattern, discovery servizi, gestione delle sessioni, messaging e sincronizzazione dati
  • Nuovi scenari applicativi: phone-networks e comunicazione Device-to-Device (D2D)
  • Nuovi scenari applicativi: connected vehicles
  • Nuovi scenari applicativi: sistemi a mobilità autonoma (droni/robot)

Testi/Bibliografia

Slides e dispense rese disponibili sulla pagina Web del corso:

http://www.cs.unibo.it/~difelice/sm/

Letture consigliate:

  • Richard Ferraro, Murat Aktihanoglu, Location Aware Applications, Manning Editions
  • Stefan Posland, Ubiquitous Computing: Smart Devices, Environments And Interactions, Wiley Edition

Metodi didattici

Il corso prevede lezioni frontali ed esercitazioni svolte in aula, mediante l'ausilio di PC e proiettore.


Modalità di verifica dell'apprendimento

Il corso prevede un seminario (obbligatorio) ed un progetto (obbligatorio). Il seminario viene svolto durante l'ultima settimana del corso, e consiste in una presentazione di 20-30 minuti nella quale lo studente presenta un argomento di ricerca legato al programma di corso, prendendo spunto da un articolo scientifico o da un tool esistente. Il progetto consiste nello sviluppo di un sistema software con caratteristiche di context-awareness o di supporto alla mobilità. La traccia del progetto viene proposta dagli studenti ed approvata dal docente, o direttamente proposta dal docente. Il punteggio finale viene calcolato come media delle due prove.

Strumenti a supporto della didattica

Il materiale didattico (slides, codice) presentato a lezione viene messo a disposizione dello studente attraverso la pagina web del corso:

http://www.cs.unibo.it/~difelice/sm

Link ad altre eventuali informazioni

http://www.cs.unibo.it/~difelice/sm/

Orario di ricevimento

Consulta il sito web di Marco Di Felice