Anno Accademico 2018/2019
- Docente: Marco Di Felice
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Informatica (cod. 8028)
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à dellutente. 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 dellattività; -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.
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 e valutazione 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